From 030fa1435755fc91798187f75ab7ce9688f3510e Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 21 Oct 2019 09:42:00 -0700 Subject: [PATCH 01/41] adding function scope reference --- src/js/plugins/menu_toggle/plugin.menu_toggle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index 84b05db06..0c49a612a 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -34,7 +34,7 @@ function alwaysShowNav(br) { hideArrow(br); - removeToggleFromNav(); + removeToggleFromNav(br); br.showNavigation(); } From 388b3b03d026aa7ea0323e8137a1f1de78663110 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 21 Oct 2019 13:02:41 -0700 Subject: [PATCH 02/41] core: update show/hide navigation - new main controller that sets `animation` config - current `showNavigation` & `hideNavigation` functions now point to new control ler --- BookReader/BookReader.js | 46 ++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index aeb556e19..8fdaaacf2 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -3924,16 +3924,51 @@ BookReader.prototype.navigationIsVisible = function() { return tooltop == 0; }; +/** + * Main controller that toggles navigation. + * Defaults to SHOW the navigation chrome + */ +BookReader.prototype.toggleNavigation = function brToggleNavigation(hide) { + var animationLength = 300; + var animationType = 'linear'; + var resizePageContainer = function resizePageContainer () { + /* main container fills whole container */ + this.resizeBRcontainer(); + if (this.constMode2up == this.mode) { + /* 2 page view has another layer of re-sizing. + Let's make sure that it happens. */ + this.prepareTwoPageView(); + } + }.bind(this); + + var toolbarHeight = 0; + var navbarHeight = 0; + if (hide) { + toolbarHeight = this.getToolBarHeight() * -1; + navbarHeight = this.getNavHeight() * -1; + } + + this.refs.$BRtoolbar.animate( + { top: toolbarHeight }, + animationLength, + animationType, + resizePageContainer + ); + this.refs.$BRnav.animate( + { bottom: navbarHeight }, + animationLength, + animationType, + resizePageContainer + ); +}; /** * Hide navigation elements, if visible */ BookReader.prototype.hideNavigation = function() { // Check if navigation is showing if (this.navigationIsVisible()) { - var toolbarHeight = this.getToolBarHeight(); - var navbarHeight = this.getFooterHeight(); - this.refs.$BRtoolbar.animate({top: toolbarHeight * -1}); - this.refs.$BRfooter.animate({bottom: navbarHeight * -1}); + var hide = true; + this.toggleNavigation(hide); } }; @@ -3943,8 +3978,7 @@ BookReader.prototype.hideNavigation = function() { BookReader.prototype.showNavigation = function() { // Check if navigation is hidden if (!this.navigationIsVisible()) { - this.refs.$BRtoolbar.animate({top:0}); - this.refs.$BRfooter.animate({bottom:0}); + this.toggleNavigation(); } }; From f74a21cca2ff44841b6732b04722a6dd0f3e814b Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Tue, 22 Oct 2019 03:25:23 -0700 Subject: [PATCH 03/41] core: when toggling navigation, ONLY resize when 1 page or tile view --- BookReader/BookReader.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index 8fdaaacf2..7fb1d3e91 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -3933,11 +3933,8 @@ BookReader.prototype.toggleNavigation = function brToggleNavigation(hide) { var animationType = 'linear'; var resizePageContainer = function resizePageContainer () { /* main container fills whole container */ - this.resizeBRcontainer(); - if (this.constMode2up == this.mode) { - /* 2 page view has another layer of re-sizing. - Let's make sure that it happens. */ - this.prepareTwoPageView(); + if (this.constMode2up !== this.mode) { + this.resizeBRcontainer(); } }.bind(this); From 252a5edc4ad18699f5bb4172e0ef6d2622da0212 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Tue, 22 Oct 2019 03:28:50 -0700 Subject: [PATCH 04/41] css: removing arrow cursor for 1up view --- BookReader/BookReader.css | 1 - 1 file changed, 1 deletion(-) diff --git a/BookReader/BookReader.css b/BookReader/BookReader.css index 7a9ccec2e..bd21ea2bb 100644 --- a/BookReader/BookReader.css +++ b/BookReader/BookReader.css @@ -515,7 +515,6 @@ body.BRfullscreenActive .mm-menu { .BRpagediv1up { overflow: hidden; - cursor: move; background-color: #FEFDEB; box-shadow: 1px 1px 2px #333; } From f5e2e48030534fb1f6402e24a1a67199537785fd Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Thu, 24 Oct 2019 18:28:41 -0700 Subject: [PATCH 05/41] core: refactor nav animation & extend `resizeBRcontainer` to optionally animate resizing Nav animation: - add explicit timing for nav animation - this ensures that animation is a bit more snappy - refactored out behavior logic to a new function: `toggleNavigation` - new event: `navToggled` - new nav post-animation callback that fires new event & fires resizing if 2up mode --- BookReader/BookReader.js | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index 7fb1d3e91..e89087064 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -86,6 +86,10 @@ BookReader.constMode1up = 1; BookReader.constMode2up = 2; BookReader.constModeThumb = 3; +// Animation constants +BookReader.constNavAnimationDuration = 300; +BookReader.constResizeAnimationDuration = 100; + // Names of events that can be triggered via BookReader.prototype.trigger() BookReader.eventNames = { // Indicates that the fragment (a serialization of the reader state) @@ -94,6 +98,8 @@ BookReader.eventNames = { PostInit: 'PostInit', stop: 'stop', resize: 'resize', + // nav events: + navToggled: 'navToggled', // menu click events fullscreenToggled: 'fullscreenToggled', zoomOut: 'zoomOut', @@ -1289,12 +1295,23 @@ BookReader.prototype.zoom1up = function(direction) { /** * Resizes the inner container to fit within the visible space to prevent * the top toolbar and bottom navbar from clipping the visible book + * + * @param { boolean } fillMainContainer - optional + * When used, BookReader will fill the main container with the book's content. + * This is primarily for 1up view - a follow up animation to the nav animation + * So resize isn't perceived sharp/jerky */ -BookReader.prototype.resizeBRcontainer = function() { - this.refs.$brContainer.css({ - top: this.getToolBarHeight(), - bottom: this.getFooterHeight(), - }); +BookReader.prototype.resizeBRcontainer = function(fillMainContainer) { + if (!fillMainContainer) { + return this.refs.$brContainer.css({ + top: this.getToolBarHeight(), + bottom: this.getNavHeight() + }); + } + this.refs.$brContainer.animate({ + top: this.getToolBarHeight(), + bottom: this.getNavHeight() + }, this.constResizeAnimationDuration, 'linear'); } /** @@ -3929,13 +3946,15 @@ BookReader.prototype.navigationIsVisible = function() { * Defaults to SHOW the navigation chrome */ BookReader.prototype.toggleNavigation = function brToggleNavigation(hide) { - var animationLength = 300; + var animationLength = this.constNavAnimationDuration; var animationType = 'linear'; var resizePageContainer = function resizePageContainer () { - /* main container fills whole container */ + /* main page container fills whole container */ if (this.constMode2up !== this.mode) { - this.resizeBRcontainer(); + var fillContainerWithBook = true; + this.resizeBRcontainer(fillContainerWithBook); } + this.trigger(BookReader.eventNames.navToggled); }.bind(this); var toolbarHeight = 0; From 45dfd92baa4f9b8ec9719d4e4110ef8dd01f513a Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Thu, 24 Oct 2019 23:00:35 -0700 Subject: [PATCH 06/41] plugin: menu toggle simplification & better event handling performance On a single click, `captured` click events fire multiple times due to the phase's DOM drill down We now only toggle nav at the first occasion. This fixes the current nav's animation slowing down. + clearer separation of responsibility of functions + better naming --- .../plugins/menu_toggle/plugin.menu_toggle.js | 201 +++++++++++++----- 1 file changed, 144 insertions(+), 57 deletions(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index 0c49a612a..0edd0c87a 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -1,17 +1,19 @@ -/* global: $ */ +/* global: $, BookReader */ /** - * Plugin for managing menu in full screen - * Enabling this plug-in removes the "menu tab" triangle - * and uses center touch/click to show/hide the menu below - * Behavior is predicated on custom event: `brFullScreenToggled` - * This is fired when user clicks on the fullscreen button on the menu + * Plugin for managing menu visibility + * Enabling this plug-in: + * + removes the "menu tab" triangle + * + toggles nav at: book center tap/click + * + toggles nav at: black background tap/click * - * This uses BookReader native functions and parameters to check its UI state. - * This includes: + * This uses core BookReader functions and parameters to check its UI state: * - br.refs = (at best) ui references that are present at any given time * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence + * - br.showNavigation() & br.hideNavigation() * + * The list of BookReader custom events this plugin taps into are mainly + * listed in the `.init` function */ (function addMenuToggler() { @@ -19,44 +21,75 @@ enableMenuToggle: true }); + /** + * Hides Nav arrow tab + * + * @param { object } br - BookReader instance + */ function hideArrow(br) { if (!br.refs || !br.refs.$BRnav) { return; } - var $menuTab = br.refs.$BRnav.children('.js-tooltip'); + var $menuTab = br.refs.$BRnav.children('.BRnavCntl'); $menuTab.css('display', 'none'); } + /** + * Sets up nav - hides arrow tab & adds click events + * + * @param { object } br - BookReader instance + */ function setupNavForToggle(br) { hideArrow(br); - registerEventHandlers(br); + registerClickHandlers(br); } + /** + * Resets nav to always show + * hides arrow tab, removes click events, shows nav chrome + * + * @param { object } br - BookReader instance + */ function alwaysShowNav(br) { hideArrow(br); - removeToggleFromNav(br); - br.showNavigation(); - } - - var removeToggleFromNav = function removeToggleFromNav(br) { - if (!br.refs || !br.refs.$BRnav) { - return; - } - var $menuTab = br.refs.$BRnav.children('.js-tooltip'); - $menuTab.css('display', 'block'); removeEventHandlers(br); + br.showNavigation(); } + /** + * Removes click handlers on elements that house the book pages + * + * @param { object } br - BookReader instance + */ var removeEventHandlers = function removeEventHandlers(br) { if (br.refs.$brPageViewEl) { - br.refs.$brPageViewEl[0].removeEventListener('click', toggleMenuIfCenterClick, true); + br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true); } if (br.refs.$brTwoPageView) { - br.refs.$brTwoPageView[0].removeEventListener('click', toggleMenuIfCenterClick, true); + br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true); } } + /** + * Toggle functionality + * Responsible for calling native functions `hideNavigation` & `showNavigation` + * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch. + * + * @params { object } br - bookreader instance + */ + var togglingNav = false; /* flag to make sure animations only fire once */ var toggleNav = function toggleNav(br) { + if (togglingNav) { + return; + } + + togglingNav = true; + const navToggled = function navToggled() { + togglingNav = false; + window.removeEventListener('BookReader:navToggled', navToggled); + }; + $(document).on('BookReader:navToggled', navToggled); + var menuIsShowing = br.navigationIsVisible(); if (menuIsShowing) { br.hideNavigation(); @@ -64,50 +97,98 @@ br.showNavigation(); } } - - var toggleMenuIfCenterClick = function toggleMenuIfCenterClick(br, e) { - var book = e.currentTarget; - if (!book) { - return; - } + + /** + * Confirms whether or not the click happened in the nav toggle zone + * + * @param { object } event - JS event object + */ + var isCenterClick = function isCenterClick(event) { + var book = event.currentTarget; var bookWidth = book.offsetWidth; var leftOffset = book.offsetLeft var bookEndPageFlipArea = Math.round(bookWidth / 3); var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset); - var isCenterClick = (e.clientX > leftThreshold) && (e.clientX < rightThreshold); - - if (isCenterClick) { - toggleNav(br); - event.stopPropagation(); - } + var isCenterClick = (event.clientX > leftThreshold) && (event.clientX < rightThreshold); + + return isCenterClick; } - function registerEventHandlers(br) { + /** + * Confirms whether or not the click happened in the background + * + * @param { object } event - JS event object + */ + var isBackground = function isBackground(event) { + return $(event.target).hasClass('BookReader') + || $(event.target).hasClass('BRcontainer') /* main black theatre */ + || $(event.target).hasClass('BRemptypage') /* empty page placeholder */ + || $(event.target).hasClass('BRpageview'); /* empty page placeholder */ + }; - var brContainer = document.querySelector('.BRcontainer') || {}; - var mainBRWrapper = document.querySelector('.BookReader') || {}; - var firstChild = brContainer.firstChild; - - if (firstChild) { - firstChild.addEventListener('click', function(e) { - toggleMenuIfCenterClick(br, e); - }, true); - } + /** + * Main hook into toggle functionality + * This is the only function that should be called by the event handlers + * + * @param { object } br - BookReader instance + * @param { object } e - JS event object + * @param { boolean } atBookCenter - optional + */ + var toggleRouter = function toggleRouter (br, e, atBookCenter) { + var isValidClickArea = atBookCenter ? isCenterClick(e) : isBackground(e); - var toggleAtBackgroundClick = function toggleAtBackgroundClick(e) { - var isBackground = $(event.target).hasClass('BookReader') - || $(event.target).hasClass('BRcontainer') /* main black theatre */ - || $(event.target).hasClass('BRemptypage') /* empty page placeholder */ - || $(event.target).hasClass('BRpageview'); /* empty page placeholder */ - if (isBackground) { - toggleNav(br); + if (isValidClickArea) { + toggleNav(br, atBookCenter); + + if (atBookCenter) { + e.stopPropagation(); // don't turn the page. this takes prescendence } - }; - mainBRWrapper.addEventListener('click', toggleAtBackgroundClick, true); + } + } + + /** + * background click event handler + * @param { object } br - BookReader instance + * @param { object } e - JS event object + */ + function onBackgroundClick(br, e) { + toggleRouter(br, e); + } + + /** + * actual book container click event handler + * + * @param { object } br - BookReader instance + * @param { object } e - JS event object + */ + function onBookClick(br, e) { + + var atBookCenter = true; + toggleRouter(br, e, atBookCenter); } - BookReader.prototype.initMenuToggle = function brInitMenuToggle(e) { + /** + * attaches click handlers to background & book + * @param { object } br - BookReader instance + */ + function registerClickHandlers(br) { + var background = document.querySelector('.BookReader') || {}; + background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true }); + + var desk = document.querySelector('.BRcontainer') || {}; + var book = desk.firstChild; + + if (book) { + book.addEventListener('click', onBookClick.bind(null, br), true); + } + } + + /** + * Install menu toggle + * attaches event handlers, sets up DOM on load + */ + BookReader.prototype.install = function installMenuToggle(e) { var br = this; var hasNav = false; @@ -122,7 +203,7 @@ } var menuToggleEventRegister = function menuToggleEventRegister(e) { - registerEventHandlers(br); + registerClickHandlers(br); }; var setupDOMandHandlers = function setupDOMandHandlers(e) { @@ -134,6 +215,7 @@ }; var whenToToggleNav = [ + 'BookReader:1PageViewSelected', 'BookReader:2PageViewSelected', 'BookReader:zoomIn', 'BookReader:zoomOut', @@ -141,7 +223,6 @@ ]; var whenTolwaysShowNavWhen = [ - 'BookReader:1PageViewSelected', 'BookReader:3PageViewSelected' ]; @@ -153,17 +234,23 @@ setupDOMandHandlers(); }; + /** + * Add to BookReader + */ BookReader.prototype.setup = (function(super_) { return function(options) { super_.call(this, options); }; })(BookReader.prototype.setup); + /** + * Initialize plugin + */ BookReader.prototype.init = (function(super_) { return function() { super_.call(this); if (this.options.enableMenuToggle) { - this.initMenuToggle(); + this.install(); } }; })(BookReader.prototype.init); From b16d251876635079e31a2427eca6ce3ce8765720 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Thu, 24 Oct 2019 23:10:05 -0700 Subject: [PATCH 07/41] Revert "css: removing arrow cursor for 1up view" This reverts commit ad083e6680443b405260417446998a93e8fce251. --- BookReader/BookReader.css | 1 + 1 file changed, 1 insertion(+) diff --git a/BookReader/BookReader.css b/BookReader/BookReader.css index bd21ea2bb..7a9ccec2e 100644 --- a/BookReader/BookReader.css +++ b/BookReader/BookReader.css @@ -515,6 +515,7 @@ body.BRfullscreenActive .mm-menu { .BRpagediv1up { overflow: hidden; + cursor: move; background-color: #FEFDEB; box-shadow: 1px 1px 2px #333; } From 86f65f255e4e09887fcb537a0e7ef5501c1cacf0 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Sat, 26 Oct 2019 22:18:52 -0700 Subject: [PATCH 08/41] code review changes --- BookReader/BookReader.js | 15 +++++++------ .../plugins/menu_toggle/plugin.menu_toggle.js | 22 +++++++++---------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index e89087064..4acbeaaa8 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -1302,16 +1302,17 @@ BookReader.prototype.zoom1up = function(direction) { * So resize isn't perceived sharp/jerky */ BookReader.prototype.resizeBRcontainer = function(fillMainContainer) { - if (!fillMainContainer) { - return this.refs.$brContainer.css({ + if (fillMainContainer) { + this.refs.$brContainer.animate({ top: this.getToolBarHeight(), bottom: this.getNavHeight() - }); + }, this.constResizeAnimationDuration, 'linear'); + } else { + this.refs.$brContainer.css({ + top: this.getToolBarHeight(), + bottom: this.getNavHeight() + }); } - this.refs.$brContainer.animate({ - top: this.getToolBarHeight(), - bottom: this.getNavHeight() - }, this.constResizeAnimationDuration, 'linear'); } /** diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index 0edd0c87a..b7b15ce17 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -52,7 +52,7 @@ */ function alwaysShowNav(br) { hideArrow(br); - removeEventHandlers(br); + removeClickHandlers(br); br.showNavigation(); } @@ -61,7 +61,7 @@ * * @param { object } br - BookReader instance */ - var removeEventHandlers = function removeEventHandlers(br) { + var removeClickHandlers = function removeClickHandlers(br) { if (br.refs.$brPageViewEl) { br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true); } @@ -118,13 +118,13 @@ /** * Confirms whether or not the click happened in the background * - * @param { object } event - JS event object + * @param { DOM } element */ - var isBackground = function isBackground(event) { - return $(event.target).hasClass('BookReader') - || $(event.target).hasClass('BRcontainer') /* main black theatre */ - || $(event.target).hasClass('BRemptypage') /* empty page placeholder */ - || $(event.target).hasClass('BRpageview'); /* empty page placeholder */ + var isBackground = function isBackground(element) { + return $(element).hasClass('BookReader') + || $(element).hasClass('BRcontainer') /* main black theatre */ + || $(element).hasClass('BRemptypage') /* empty page placeholder */ + || $(element).hasClass('BRpageview'); /* empty page placeholder */ }; /** @@ -136,7 +136,7 @@ * @param { boolean } atBookCenter - optional */ var toggleRouter = function toggleRouter (br, e, atBookCenter) { - var isValidClickArea = atBookCenter ? isCenterClick(e) : isBackground(e); + var isValidClickArea = atBookCenter ? isCenterClick(e) : isBackground(e.target); if (isValidClickArea) { toggleNav(br, atBookCenter); @@ -188,7 +188,7 @@ * Install menu toggle * attaches event handlers, sets up DOM on load */ - BookReader.prototype.install = function installMenuToggle(e) { + BookReader.prototype.installMenuToggle = function installMenuToggle(e) { var br = this; var hasNav = false; @@ -250,7 +250,7 @@ return function() { super_.call(this); if (this.options.enableMenuToggle) { - this.install(); + this.installMenuToggle(); } }; })(BookReader.prototype.init); From d2287cc74707a3bc549731ab4043b1ed2d9cf460 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 09:59:48 -0700 Subject: [PATCH 09/41] `resizeBRcontainer` now has animate flag --- BookReader/BookReader.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index 4acbeaaa8..4197c4636 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -1296,13 +1296,13 @@ BookReader.prototype.zoom1up = function(direction) { * Resizes the inner container to fit within the visible space to prevent * the top toolbar and bottom navbar from clipping the visible book * - * @param { boolean } fillMainContainer - optional + * @param { boolean } animate - optional * When used, BookReader will fill the main container with the book's content. * This is primarily for 1up view - a follow up animation to the nav animation * So resize isn't perceived sharp/jerky */ -BookReader.prototype.resizeBRcontainer = function(fillMainContainer) { - if (fillMainContainer) { +BookReader.prototype.resizeBRcontainer = function(animate) { + if (animate) { this.refs.$brContainer.animate({ top: this.getToolBarHeight(), bottom: this.getNavHeight() From f09ee6c3b86bbd82e1b96a8469b05f54cd1f935d Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 14:45:30 -0700 Subject: [PATCH 10/41] code review updates, better naming --- BookReader/BookReader.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index 4197c4636..4339ec742 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -3943,17 +3943,17 @@ BookReader.prototype.navigationIsVisible = function() { }; /** - * Main controller that toggles navigation. + * Main controller that sets navigation into view. * Defaults to SHOW the navigation chrome */ -BookReader.prototype.toggleNavigation = function brToggleNavigation(hide) { +BookReader.prototype.setNavigationView = function brSetNavigationView(hide) { var animationLength = this.constNavAnimationDuration; var animationType = 'linear'; var resizePageContainer = function resizePageContainer () { /* main page container fills whole container */ if (this.constMode2up !== this.mode) { - var fillContainerWithBook = true; - this.resizeBRcontainer(fillContainerWithBook); + var animate = true; + this.resizeBRcontainer(animate); } this.trigger(BookReader.eventNames.navToggled); }.bind(this); @@ -3985,7 +3985,7 @@ BookReader.prototype.hideNavigation = function() { // Check if navigation is showing if (this.navigationIsVisible()) { var hide = true; - this.toggleNavigation(hide); + this.setNavigationView(hide); } }; @@ -3995,7 +3995,7 @@ BookReader.prototype.hideNavigation = function() { BookReader.prototype.showNavigation = function() { // Check if navigation is hidden if (!this.navigationIsVisible()) { - this.toggleNavigation(); + this.setNavigationView(); } }; From e7b2a2d416eb0ad4246c70d6db548f2eb6239d9c Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 15:47:11 -0700 Subject: [PATCH 11/41] code review: more fixes & optimizations --- BookReader/BookReader.js | 6 +++--- src/js/plugins/menu_toggle/plugin.menu_toggle.js | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index 4339ec742..ebf025363 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -1305,12 +1305,12 @@ BookReader.prototype.resizeBRcontainer = function(animate) { if (animate) { this.refs.$brContainer.animate({ top: this.getToolBarHeight(), - bottom: this.getNavHeight() + bottom: this.getFooterHeight() }, this.constResizeAnimationDuration, 'linear'); } else { this.refs.$brContainer.css({ top: this.getToolBarHeight(), - bottom: this.getNavHeight() + bottom: this.getFooterHeight() }); } } @@ -3962,7 +3962,7 @@ BookReader.prototype.setNavigationView = function brSetNavigationView(hide) { var navbarHeight = 0; if (hide) { toolbarHeight = this.getToolBarHeight() * -1; - navbarHeight = this.getNavHeight() * -1; + navbarHeight = this.getFooterHeight() * -1; } this.refs.$BRtoolbar.animate( diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index b7b15ce17..b3c441c39 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -124,7 +124,8 @@ return $(element).hasClass('BookReader') || $(element).hasClass('BRcontainer') /* main black theatre */ || $(element).hasClass('BRemptypage') /* empty page placeholder */ - || $(element).hasClass('BRpageview'); /* empty page placeholder */ + || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */ + || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */ }; /** @@ -132,7 +133,7 @@ * This is the only function that should be called by the event handlers * * @param { object } br - BookReader instance - * @param { object } e - JS event object + * @param { MouseEvent } e - JS event object * @param { boolean } atBookCenter - optional */ var toggleRouter = function toggleRouter (br, e, atBookCenter) { @@ -150,7 +151,7 @@ /** * background click event handler * @param { object } br - BookReader instance - * @param { object } e - JS event object + * @param { MouseEvent } e - JS event object */ function onBackgroundClick(br, e) { toggleRouter(br, e); @@ -160,7 +161,7 @@ * actual book container click event handler * * @param { object } br - BookReader instance - * @param { object } e - JS event object + * @param { MouseEvent } e - JS event object */ function onBookClick(br, e) { @@ -188,8 +189,7 @@ * Install menu toggle * attaches event handlers, sets up DOM on load */ - BookReader.prototype.installMenuToggle = function installMenuToggle(e) { - var br = this; + var installMenuToggle = function installMenuToggle(br) { var hasNav = false; try { @@ -250,7 +250,7 @@ return function() { super_.call(this); if (this.options.enableMenuToggle) { - this.installMenuToggle(); + installMenuToggle(this); } }; })(BookReader.prototype.init); From 9adbefc9af566c0f932792ebd0757f730088f032 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 16:38:18 -0700 Subject: [PATCH 12/41] remove test reference --- .../menu_toggle/plugin.menu_toggle.test.js | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js index 0a93b1bcb..59865b407 100644 --- a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +++ b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js @@ -5,27 +5,8 @@ let initializeSpy; beforeEach(() => { document.querySelector = jest.fn(() => true); document.body.innerHTML = '
'; - - BookReader.prototype.initToolbar = jest.fn(); - BookReader.prototype.initNavbar = jest.fn(); - BookReader.prototype.prepareOnePageView = jest.fn(); - BookReader.prototype.enterFullScreen = jest.fn(); - BookReader.prototype.bindNavigationHandlers = jest.fn(); - - initializeSpy = jest.spyOn(BookReader.prototype, 'initMenuToggle'); -}) - -afterEach(() => { - jest.clearAllMocks(); - initializeSpy = null; }) test('Plugin: Fullscreen Menu Toggle - successfully initializes', () => { expect(BookReader.defaultOptions.enableMenuToggle).toEqual(true); - expect(BookReader.prototype.initMenuToggle).toBeDefined(); - - const bookrdr = new BookReader(); - bookrdr.init(); - - expect(initializeSpy).toHaveBeenCalled(); }); From cc32f2caba886782b7ae10a63f3e20070735dc8f Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 17:07:28 -0700 Subject: [PATCH 13/41] update reference from rebase --- BookReader/BookReader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index ebf025363..57aa96fd5 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -3971,7 +3971,7 @@ BookReader.prototype.setNavigationView = function brSetNavigationView(hide) { animationType, resizePageContainer ); - this.refs.$BRnav.animate( + this.refs.$BRfooter.animate( { bottom: navbarHeight }, animationLength, animationType, From 4dd19e3b2e76ea101213f4c6965228449988f5b4 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 13:40:46 -0700 Subject: [PATCH 14/41] core: removed `move` cursor, deprecated `twoPageSetCursor` method --- BookReader/BookReader.css | 1 - BookReader/BookReader.js | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/BookReader/BookReader.css b/BookReader/BookReader.css index 7a9ccec2e..bd21ea2bb 100644 --- a/BookReader/BookReader.css +++ b/BookReader/BookReader.css @@ -515,7 +515,6 @@ body.BRfullscreenActive .mm-menu { .BRpagediv1up { overflow: hidden; - cursor: move; background-color: #FEFDEB; box-shadow: 1px 1px 2px #333; } diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index 57aa96fd5..0730da794 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -1225,7 +1225,6 @@ BookReader.prototype.drawLeafsTwoPage = function() { this.displayedIndices = [this.twoPage.currentIndexL, this.twoPage.currentIndexR]; this.setMouseHandlers2UP(); - this.twoPageSetCursor(); this.updateToolbarZoom(this.reduce); }; @@ -2294,6 +2293,7 @@ BookReader.prototype.twoPageCalculateReductionFactors = function() { /** * Set the cursor for two page view + * @deprecated Since version 4.3.3. Will be deleted in version 5.0 */ BookReader.prototype.twoPageSetCursor = function() { var $twoPageViewEl = this.refs.$brTwoPageView; @@ -2639,7 +2639,6 @@ BookReader.prototype.flipLeftToRight = function(newIndexL, newIndexR) { if (self.enableSearch) self.updateSearchHilites2UP(); self.setMouseHandlers2UP(); - self.twoPageSetCursor(); if (self.animationFinishedCallback) { self.animationFinishedCallback(); @@ -2770,7 +2769,6 @@ BookReader.prototype.flipRightToLeft = function(newIndexL, newIndexR) { if (self.enableSearch) self.updateSearchHilites2UP(); self.setMouseHandlers2UP(); - self.twoPageSetCursor(); if (self.animationFinishedCallback) { self.animationFinishedCallback(); From 99a1043a03e4fb14fcb5f1fa8ba5ea931ee8a2ec Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 13:44:52 -0700 Subject: [PATCH 15/41] core: 2 page view - user now can click on book page edges to turn page --- BookReader/BookReader.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index 0730da794..20b805d2c 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -2211,6 +2211,7 @@ BookReader.prototype.twoPageGetAutofitReduce = function() { /** * Returns true if the pages extend past the edge of the view + * @deprecated Since version 4.3.3. Will be deleted in version 5.0 * @return {boolean} */ BookReader.prototype.twoPageIsZoomedIn = function() { @@ -2790,10 +2791,8 @@ BookReader.prototype.setMouseHandlers2UP = function() { return true; } - if (! e.data.self.twoPageIsZoomedIn()) { - e.data.self.trigger(BookReader.eventNames.stop); - e.data.self.left(); - } + e.data.self.trigger(BookReader.eventNames.stop); + e.data.self.left(); e.preventDefault(); } ); @@ -2806,10 +2805,8 @@ BookReader.prototype.setMouseHandlers2UP = function() { return !e.data.self.protected; } - if (! e.data.self.twoPageIsZoomedIn()) { - e.data.self.trigger(BookReader.eventNames.stop); - e.data.self.right(); - } + e.data.self.trigger(BookReader.eventNames.stop); + e.data.self.right(); e.preventDefault(); } ); From d8fca74b05bb02eee42341000db1b5265dfca853 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 13:51:27 -0700 Subject: [PATCH 16/41] plugin: menu toggle update to accommodate zoomed in view --- .../plugins/menu_toggle/plugin.menu_toggle.js | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index b3c441c39..d447162e8 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -84,7 +84,7 @@ } togglingNav = true; - const navToggled = function navToggled() { + var navToggled = function navToggled() { togglingNav = false; window.removeEventListener('BookReader:navToggled', navToggled); }; @@ -98,19 +98,35 @@ } } + /** + * Check if div `BRcontainer` is scrollable. + * This normally happens when bookreader is zoomed in. + * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible. + */ + var isBRcontainerScrollable = function isBRcontainerScrollable() { + var brContainer = document.querySelector('.BRcontainer'); + var scrollWidth = brContainer.scrollWidth; + var offsetWidth = brContainer.offsetWidth; + + return scrollWidth > offsetWidth; + } + /** * Confirms whether or not the click happened in the nav toggle zone * - * @param { object } event - JS event object + * @param { object } event - JS click event object + * @param { DOM } book - DOM element that represents book */ - var isCenterClick = function isCenterClick(event) { - var book = event.currentTarget; + var isCenterClick = function isCenterClick(event, book) { + var clickPosition = event.clientX; var bookWidth = book.offsetWidth; var leftOffset = book.offsetLeft var bookEndPageFlipArea = Math.round(bookWidth / 3); var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset); - var isCenterClick = (event.clientX > leftThreshold) && (event.clientX < rightThreshold); + var isOkOnRight = clickPosition > leftThreshold; + var isOkOnLeft = clickPosition < rightThreshold; + var isCenterClick = isOkOnRight && isOkOnLeft; return isCenterClick; } @@ -121,11 +137,12 @@ * @param { DOM } element */ var isBackground = function isBackground(element) { - return $(element).hasClass('BookReader') + var isBackground = $(element).hasClass('BookReader') || $(element).hasClass('BRcontainer') /* main black theatre */ || $(element).hasClass('BRemptypage') /* empty page placeholder */ || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */ || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */ + return isBackground; }; /** @@ -137,7 +154,8 @@ * @param { boolean } atBookCenter - optional */ var toggleRouter = function toggleRouter (br, e, atBookCenter) { - var isValidClickArea = atBookCenter ? isCenterClick(e) : isBackground(e.target); + var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget; + var isValidClickArea = atBookCenter ? isCenterClick(e, book) : isBackground(e.target); if (isValidClickArea) { toggleNav(br, atBookCenter); From c224756a63a28409f7c5e1d667622711d659f7ab Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 14:30:57 -0700 Subject: [PATCH 17/41] style: remove `move` cursor --- src/css/_BRpages.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/src/css/_BRpages.scss b/src/css/_BRpages.scss index fbbd84685..89e2b4bac 100644 --- a/src/css/_BRpages.scss +++ b/src/css/_BRpages.scss @@ -4,7 +4,6 @@ } .BRpagediv1up { overflow: hidden; - cursor: move; background-color: $brColorPlaceholderBg; box-shadow: 1px 1px 2px #333; } From 157b15c41b6ab8cc9888ee8cdc324cbd26a374b1 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 14:32:25 -0700 Subject: [PATCH 18/41] plugin: update menu toggle minified files --- BookReader/plugins/plugin.menu_toggle.js | 2 +- BookReader/plugins/plugin.menu_toggle.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BookReader/plugins/plugin.menu_toggle.js b/BookReader/plugins/plugin.menu_toggle.js index eff88fcce..df71569d4 100644 --- a/BookReader/plugins/plugin.menu_toggle.js +++ b/BookReader/plugins/plugin.menu_toggle.js @@ -1,2 +1,2 @@ -!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),f=e(2),a=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),a)try{return s(t,n)}catch(t){}if(f(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".js-tooltip").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n,e=function(t){t.refs&&t.refs.$BRnav&&(t.refs.$BRnav.children(".js-tooltip").css("display","block"),r(t))},r=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},o=function(t){t.navigationIsVisible()?t.hideNavigation():t.showNavigation()},i=function(t,n){var e=n.currentTarget;if(e){var r=e.offsetWidth,i=e.offsetLeft,u=Math.round(r/3),c=Math.round(u+i),f=Math.round(r-u+i);n.clientX>c&&n.clientXf;)r(c,e=n[f++])&&(~i(a,e)||a.push(e));return a}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,f=r(n),a=o(f.length),s=i(u,a);if(t&&e!=e){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==a||e!=f&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},f=i.NATIVE="N",a=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); +!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},e=!1,r=function(t,n,r){var o,i=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?t.refs.$brContainer[0]:event.currentTarget;(r?function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&ea;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); //# sourceMappingURL=plugin.menu_toggle.js.map \ No newline at end of file diff --git a/BookReader/plugins/plugin.menu_toggle.js.map b/BookReader/plugins/plugin.menu_toggle.js.map index f6d2a75d8..64349e87e 100644 --- a/BookReader/plugins/plugin.menu_toggle.js.map +++ b/BookReader/plugins/plugin.menu_toggle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","super_","removeToggleFromNav","removeEventHandlers","$brPageViewEl","removeEventListener","toggleMenuIfCenterClick","$brTwoPageView","toggleNav","navigationIsVisible","hideNavigation","showNavigation","e","book","currentTarget","bookWidth","offsetWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","clientX","event","stopPropagation","registerEventHandlers","brContainer","document","querySelector","mainBRWrapper","firstChild","addEventListener","$","target","hasClass","initMenuToggle","this","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","on","join","alwaysShowNav","setup","options","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $ */\n/**\n * Plugin for managing menu in full screen\n * Enabling this plug-in removes the \"menu tab\" triangle\n * and uses center touch/click to show/hide the menu below\n * Behavior is predicated on custom event: `brFullScreenToggled`\n * This is fired when user clicks on the fullscreen button on the menu\n *\n * This uses BookReader native functions and parameters to check its UI state.\n * This includes:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n *\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.js-tooltip');\n $menuTab.css('display', 'none');\n }\n\n function setupNavForToggle(br) {\n hideArrow(br);\n registerEventHandlers(br);\n }\n\n function alwaysShowNav(br) {\n hideArrow(br);\n removeToggleFromNav();\n br.showNavigation();\n }\n \n var removeToggleFromNav = function removeToggleFromNav(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.js-tooltip');\n $menuTab.css('display', 'block');\n removeEventHandlers(br);\n }\n \n var removeEventHandlers = function removeEventHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', toggleMenuIfCenterClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', toggleMenuIfCenterClick, true);\n }\n }\n\n var toggleNav = function toggleNav(br) {\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n \n var toggleMenuIfCenterClick = function toggleMenuIfCenterClick(br, e) {\n var book = e.currentTarget;\n if (!book) {\n return;\n }\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isCenterClick = (e.clientX > leftThreshold) && (e.clientX < rightThreshold);\n \n if (isCenterClick) {\n toggleNav(br);\n event.stopPropagation();\n }\n }\n\n function registerEventHandlers(br) {\n\n var brContainer = document.querySelector('.BRcontainer') || {};\n var mainBRWrapper = document.querySelector('.BookReader') || {};\n var firstChild = brContainer.firstChild;\n \n if (firstChild) {\n firstChild.addEventListener('click', function(e) {\n toggleMenuIfCenterClick(br, e);\n }, true);\n }\n\n var toggleAtBackgroundClick = function toggleAtBackgroundClick(e) {\n var isBackground = $(event.target).hasClass('BookReader')\n || $(event.target).hasClass('BRcontainer') /* main black theatre */\n || $(event.target).hasClass('BRemptypage') /* empty page placeholder */\n || $(event.target).hasClass('BRpageview'); /* empty page placeholder */\n if (isBackground) {\n toggleNav(br);\n }\n };\n mainBRWrapper.addEventListener('click', toggleAtBackgroundClick, true);\n }\n\n BookReader.prototype.initMenuToggle = function brInitMenuToggle(e) {\n var br = this;\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerEventHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:1PageViewSelected',\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n this.initMenuToggle();\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","event","currentTarget","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","element","isBackground","$","hasClass","target","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { object } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackground = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackground;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget;\n var isValidClickArea = atBookCenter ? isCenterClick(e, book) : isBackground(e.target);\n\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file From 7e6fcf6409ddf0293e6a00074d8f26171f187b11 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 16:42:36 -0700 Subject: [PATCH 19/41] update JSDOC event reference to be `MouseEvent` --- src/js/plugins/menu_toggle/plugin.menu_toggle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index d447162e8..60fa4c00c 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -114,7 +114,7 @@ /** * Confirms whether or not the click happened in the nav toggle zone * - * @param { object } event - JS click event object + * @param { MouseEvent } event - JS click event object * @param { DOM } book - DOM element that represents book */ var isCenterClick = function isCenterClick(event, book) { From f3bab72e0f095f2b561dbfc4183a86fc92cba5c8 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 17:15:59 -0700 Subject: [PATCH 20/41] on 1up mode, allow for menu toggle on any part of page --- src/js/plugins/menu_toggle/plugin.menu_toggle.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index 60fa4c00c..97826ad86 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -155,8 +155,9 @@ */ var toggleRouter = function toggleRouter (br, e, atBookCenter) { var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget; - var isValidClickArea = atBookCenter ? isCenterClick(e, book) : isBackground(e.target); - + var is1UpMode = br.constMode1up === br.mode; + var validBookClick = is1UpMode ? true : isCenterClick(e, book); + var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target); if (isValidClickArea) { toggleNav(br, atBookCenter); From ff30ae19b8c1ada818181ff8367b4c93813d09aa Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Mon, 28 Oct 2019 17:12:05 -0700 Subject: [PATCH 21/41] update built files --- BookReader/plugins/plugin.menu_toggle.js | 2 +- BookReader/plugins/plugin.menu_toggle.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BookReader/plugins/plugin.menu_toggle.js b/BookReader/plugins/plugin.menu_toggle.js index df71569d4..b1a23824d 100644 --- a/BookReader/plugins/plugin.menu_toggle.js +++ b/BookReader/plugins/plugin.menu_toggle.js @@ -1,2 +1,2 @@ -!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},e=!1,r=function(t,n,r){var o,i=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?t.refs.$brContainer[0]:event.currentTarget;(r?function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&ea;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); +!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},e=!1,r=function(t,n,r){var o,i=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?t.refs.$brContainer[0]:event.currentTarget,u=!!(t.constMode1up===t.mode)||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&ea;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); //# sourceMappingURL=plugin.menu_toggle.js.map \ No newline at end of file diff --git a/BookReader/plugins/plugin.menu_toggle.js.map b/BookReader/plugins/plugin.menu_toggle.js.map index 64349e87e..d2beb492c 100644 --- a/BookReader/plugins/plugin.menu_toggle.js.map +++ b/BookReader/plugins/plugin.menu_toggle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","event","currentTarget","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","element","isBackground","$","hasClass","target","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { object } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackground = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackground;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget;\n var isValidClickArea = atBookCenter ? isCenterClick(e, book) : isBackground(e.target);\n\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","event","currentTarget","validBookClick","constMode1up","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","element","isBackground","$","hasClass","target","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackground = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackground;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode ? true : isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file From 3a83677a51438e7e455a32652602b3a3de972d7f Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Tue, 29 Oct 2019 15:31:44 -0700 Subject: [PATCH 22/41] code review changes --- src/js/plugins/menu_toggle/plugin.menu_toggle.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index 97826ad86..a3be3292e 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -137,12 +137,12 @@ * @param { DOM } element */ var isBackground = function isBackground(element) { - var isBackground = $(element).hasClass('BookReader') + var isBackgroundClick = $(element).hasClass('BookReader') || $(element).hasClass('BRcontainer') /* main black theatre */ || $(element).hasClass('BRemptypage') /* empty page placeholder */ || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */ || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */ - return isBackground; + return isBackgroundClick; }; /** @@ -156,7 +156,7 @@ var toggleRouter = function toggleRouter (br, e, atBookCenter) { var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget; var is1UpMode = br.constMode1up === br.mode; - var validBookClick = is1UpMode ? true : isCenterClick(e, book); + var validBookClick = is1UpMode || isCenterClick(e, book); var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target); if (isValidClickArea) { toggleNav(br, atBookCenter); From b12743b897ce1020a9ee2b0c116ae298b18388bf Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Tue, 29 Oct 2019 15:33:10 -0700 Subject: [PATCH 23/41] update built files --- BookReader/plugins/plugin.menu_toggle.js | 2 +- BookReader/plugins/plugin.menu_toggle.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BookReader/plugins/plugin.menu_toggle.js b/BookReader/plugins/plugin.menu_toggle.js index b1a23824d..39d6a6a69 100644 --- a/BookReader/plugins/plugin.menu_toggle.js +++ b/BookReader/plugins/plugin.menu_toggle.js @@ -1,2 +1,2 @@ -!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},e=!1,r=function(t,n,r){var o,i=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?t.refs.$brContainer[0]:event.currentTarget,u=!!(t.constMode1up===t.mode)||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&ea;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); +!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},e=!1,r=function(t,n,r){var o,i,u=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?t.refs.$brContainer[0]:event.currentTarget,c=t.constMode1up===t.mode||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&ea;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); //# sourceMappingURL=plugin.menu_toggle.js.map \ No newline at end of file diff --git a/BookReader/plugins/plugin.menu_toggle.js.map b/BookReader/plugins/plugin.menu_toggle.js.map index d2beb492c..21d0049fd 100644 --- a/BookReader/plugins/plugin.menu_toggle.js.map +++ b/BookReader/plugins/plugin.menu_toggle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","event","currentTarget","validBookClick","constMode1up","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","element","isBackground","$","hasClass","target","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackground = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackground;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode ? true : isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","event","currentTarget","validBookClick","constMode1up","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file From a8a1dba7d0dabd0b47b8e2b679c8f69001d164cc Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Tue, 29 Oct 2019 22:26:41 -0700 Subject: [PATCH 24/41] Plugin, search: hide search results pins when menu toggles Add custom event listener to new ambient event `BookReader:navToggled` where the pins hide when the menu hides --- BookReader/plugins/plugin.search.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/BookReader/plugins/plugin.search.js b/BookReader/plugins/plugin.search.js index 60b55e503..8affd6fdb 100644 --- a/BookReader/plugins/plugin.search.js +++ b/BookReader/plugins/plugin.search.js @@ -41,6 +41,12 @@ BookReader.prototype.init = (function (super_) { goToFirstResult: true }); } + + var br = this; + $(document).on('BookReader:navToggled', function() { + var nextVisibleState = br.navigationIsVisible() ? 'visible' : 'hidden'; + br.refs.$BRfooter.find('.BRsearch').css({ visibility: nextVisibleState }); + }) }; })(BookReader.prototype.init); From bf6034b855a2d3a8cfb61374f7d906926095179d Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Tue, 29 Oct 2019 23:00:14 -0700 Subject: [PATCH 25/41] update variable name --- BookReader/plugins/plugin.search.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BookReader/plugins/plugin.search.js b/BookReader/plugins/plugin.search.js index 8affd6fdb..2180c1fc9 100644 --- a/BookReader/plugins/plugin.search.js +++ b/BookReader/plugins/plugin.search.js @@ -44,8 +44,8 @@ BookReader.prototype.init = (function (super_) { var br = this; $(document).on('BookReader:navToggled', function() { - var nextVisibleState = br.navigationIsVisible() ? 'visible' : 'hidden'; - br.refs.$BRfooter.find('.BRsearch').css({ visibility: nextVisibleState }); + var pinsVisibleState = br.navigationIsVisible() ? 'visible' : 'hidden'; + br.refs.$BRfooter.find('.BRsearch').css({ visibility: pinsVisibleState }); }) }; })(BookReader.prototype.init); From d846e0f29ba7866b717ada847576f1d394578d38 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Tue, 29 Oct 2019 23:06:56 -0700 Subject: [PATCH 26/41] linting --- BookReader/plugins/plugin.search.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BookReader/plugins/plugin.search.js b/BookReader/plugins/plugin.search.js index 2180c1fc9..7ead0ea63 100644 --- a/BookReader/plugins/plugin.search.js +++ b/BookReader/plugins/plugin.search.js @@ -46,7 +46,7 @@ BookReader.prototype.init = (function (super_) { $(document).on('BookReader:navToggled', function() { var pinsVisibleState = br.navigationIsVisible() ? 'visible' : 'hidden'; br.refs.$BRfooter.find('.BRsearch').css({ visibility: pinsVisibleState }); - }) + }); }; })(BookReader.prototype.init); @@ -71,7 +71,7 @@ BookReader.prototype.buildMobileDrawerElement = (function (super_) { +"
" +" " )); - }; + } return $el; }; })(BookReader.prototype.buildMobileDrawerElement); From 67d9f69e2349a5ea878bf02170748dc76b6fb3a7 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 09:42:51 -0700 Subject: [PATCH 27/41] update event reference --- src/js/plugins/menu_toggle/plugin.menu_toggle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index a3be3292e..e7d5b0a3f 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -154,7 +154,7 @@ * @param { boolean } atBookCenter - optional */ var toggleRouter = function toggleRouter (br, e, atBookCenter) { - var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget; + var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget; var is1UpMode = br.constMode1up === br.mode; var validBookClick = is1UpMode || isCenterClick(e, book); var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target); From 0053ad047163eac88199ee255820c207c92d3471 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 09:43:17 -0700 Subject: [PATCH 28/41] update built files --- BookReader/plugins/plugin.menu_toggle.js | 2 +- BookReader/plugins/plugin.menu_toggle.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BookReader/plugins/plugin.menu_toggle.js b/BookReader/plugins/plugin.menu_toggle.js index 39d6a6a69..cfbf59098 100644 --- a/BookReader/plugins/plugin.menu_toggle.js +++ b/BookReader/plugins/plugin.menu_toggle.js @@ -1,2 +1,2 @@ -!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},e=!1,r=function(t,n,r){var o,i,u=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?t.refs.$brContainer[0]:event.currentTarget,c=t.constMode1up===t.mode||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&ea;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); +!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},e=!1,r=function(t,n,r){var o,i,u=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?t.refs.$brContainer[0]:n.currentTarget,c=t.constMode1up===t.mode||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&ea;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); //# sourceMappingURL=plugin.menu_toggle.js.map \ No newline at end of file diff --git a/BookReader/plugins/plugin.menu_toggle.js.map b/BookReader/plugins/plugin.menu_toggle.js.map index 21d0049fd..63eca7fa3 100644 --- a/BookReader/plugins/plugin.menu_toggle.js.map +++ b/BookReader/plugins/plugin.menu_toggle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","event","currentTarget","validBookClick","constMode1up","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : event.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","currentTarget","validBookClick","constMode1up","event","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file From 774e44dcf69b9906bc4af56029bdc0badf582dc3 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 11:06:58 -0700 Subject: [PATCH 29/41] updating spacing --- src/js/plugins/menu_toggle/plugin.menu_toggle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index e7d5b0a3f..75dbb1d2e 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -142,7 +142,7 @@ || $(element).hasClass('BRemptypage') /* empty page placeholder */ || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */ || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */ - return isBackgroundClick; + return isBackgroundClick; }; /** From 3c01453b69482a9106a6b603ad286ec9c42307fe Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 10:49:40 -0700 Subject: [PATCH 30/41] update `addSelf` => `addBack` in jquery.bt.min.js --- BookReader/jquery.bt.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BookReader/jquery.bt.min.js b/BookReader/jquery.bt.min.js index 15857c16e..d1b3cdf4b 100644 --- a/BookReader/jquery.bt.min.js +++ b/BookReader/jquery.bt.min.js @@ -5,4 +5,4 @@ * @author Jeff Robbins - Lullabot - http://www.lullabot.com * @version 0.9.5-rc1 (5/20/2009) */ -jQuery.bt={version:"0.9.5-rc1"};(function($){jQuery.fn.bt=function(content,options){if(typeof content!="string"){var contentSelect=true;options=content;content=false;}else{var contentSelect=false;}if(jQuery.fn.hoverIntent&&jQuery.bt.defaults.trigger=="hover"){jQuery.bt.defaults.trigger="hoverIntent";}return this.each(function(index){var opts=jQuery.extend(false,jQuery.bt.defaults,jQuery.bt.options,options);opts.spikeLength=numb(opts.spikeLength);opts.spikeGirth=numb(opts.spikeGirth);opts.overlap=numb(opts.overlap);var ajaxTimeout=false;if(opts.killTitle){$(this).find("[title]").andSelf().each(function(){if(!$(this).attr("bt-xTitle")){$(this).attr("bt-xTitle",$(this).attr("title")).attr("title","");}});}if(typeof opts.trigger=="string"){opts.trigger=[opts.trigger];}if(opts.trigger[0]=="hoverIntent"){var hoverOpts=jQuery.extend(opts.hoverIntentOpts,{over:function(){this.btOn();},out:function(){this.btOff();}});$(this).hoverIntent(hoverOpts);}else{if(opts.trigger[0]=="hover"){$(this).hover(function(){this.btOn();},function(){this.btOff();});}else{if(opts.trigger[0]=="now"){if($(this).hasClass("bt-active")){this.btOff();}else{this.btOn();}}else{if(opts.trigger[0]=="none"){}else{if(opts.trigger.length>1&&opts.trigger[0]!=opts.trigger[1]){$(this).bind(opts.trigger[0],function(){this.btOn();}).bind(opts.trigger[1],function(){this.btOff();});}else{$(this).bind(opts.trigger[0],function(){if($(this).hasClass("bt-active")){this.btOff();}else{this.btOn();}});}}}}}this.btOn=function(){if(typeof $(this).data("bt-box")=="object"){this.btOff();}opts.preBuild.apply(this);$(jQuery.bt.vars.closeWhenOpenStack).btOff();$(this).addClass("bt-active "+opts.activeClass);if(contentSelect&&opts.ajaxPath==null){if(opts.killTitle){$(this).attr("title",$(this).attr("bt-xTitle"));}content=$.isFunction(opts.contentSelector)?opts.contentSelector.apply(this):eval(opts.contentSelector);if(opts.killTitle){$(this).attr("title","");}}if(opts.ajaxPath!=null&&content==false){if(typeof opts.ajaxPath=="object"){var url=eval(opts.ajaxPath[0]);url+=opts.ajaxPath[1]?" "+opts.ajaxPath[1]:"";}else{var url=opts.ajaxPath;}var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}var cacheData=opts.ajaxCache?$(document.body).data("btCache-"+url.replace(/\./g,"")):null;if(typeof cacheData=="string"){content=selector?$("
").append(cacheData.replace(//g,"")).find(selector):cacheData;}else{var target=this;var ajaxOpts=jQuery.extend(false,{type:opts.ajaxType,data:opts.ajaxData,cache:opts.ajaxCache,url:url,complete:function(XMLHttpRequest,textStatus){if(textStatus=="success"||textStatus=="notmodified"){if(opts.ajaxCache){$(document.body).data("btCache-"+url.replace(/\./g,""),XMLHttpRequest.responseText);}ajaxTimeout=false;content=selector?$("
").append(XMLHttpRequest.responseText.replace(//g,"")).find(selector):XMLHttpRequest.responseText;}else{if(textStatus=="timeout"){ajaxTimeout=true;}content=opts.ajaxError.replace(/%error/g,XMLHttpRequest.statusText);}if($(target).hasClass("bt-active")){target.btOn();}}},opts.ajaxOpts);jQuery.ajax(ajaxOpts);content=opts.ajaxLoading;}}var shadowMarginX=0;var shadowMarginY=0;var shadowShiftX=0;var shadowShiftY=0;if(opts.shadow&&!shadowSupport()){opts.shadow=false;jQuery.extend(opts,opts.noShadowOpts);}if(opts.shadow){if(opts.shadowBlur>Math.abs(opts.shadowOffsetX)){shadowMarginX=opts.shadowBlur*2;}else{shadowMarginX=opts.shadowBlur+Math.abs(opts.shadowOffsetX);}shadowShiftX=(opts.shadowBlur-opts.shadowOffsetX)>0?opts.shadowBlur-opts.shadowOffsetX:0;if(opts.shadowBlur>Math.abs(opts.shadowOffsetY)){shadowMarginY=opts.shadowBlur*2;}else{shadowMarginY=opts.shadowBlur+Math.abs(opts.shadowOffsetY);}shadowShiftY=(opts.shadowBlur-opts.shadowOffsetY)>0?opts.shadowBlur-opts.shadowOffsetY:0;}if(opts.offsetParent){var offsetParent=$(opts.offsetParent);var offsetParentPos=offsetParent.offset();var pos=$(this).offset();var top=numb(pos.top)-numb(offsetParentPos.top)+numb($(this).css("margin-top"))-shadowShiftY;var left=numb(pos.left)-numb(offsetParentPos.left)+numb($(this).css("margin-left"))-shadowShiftX;}else{var offsetParent=($(this).css("position")=="absolute")?$(this).parents().eq(0).offsetParent():$(this).offsetParent();var pos=$(this).btPosition();var top=numb(pos.top)+numb($(this).css("margin-top"))-shadowShiftY;var left=numb(pos.left)+numb($(this).css("margin-left"))-shadowShiftX;}var width=$(this).btOuterWidth();var height=$(this).outerHeight();if(typeof content=="object"){var original=content;var clone=$(original).clone(true).show();var origClones=$(original).data("bt-clones")||[];origClones.push(clone);$(original).data("bt-clones",origClones);$(clone).data("bt-orig",original);$(this).data("bt-content-orig",{original:original,clone:clone});content=clone;}if(typeof content=="null"||content==""){return;}var $text=$('
').append(content).css({padding:opts.padding,position:"absolute",width:(opts.shrinkToFit?"auto":opts.width),zIndex:opts.textzIndex,left:shadowShiftX,top:shadowShiftY}).css(opts.cssStyles);var $box=$('
').append($text).addClass(opts.cssClass).css({position:"absolute",width:opts.width,zIndex:opts.wrapperzIndex,visibility:"hidden"}).appendTo(offsetParent);if(jQuery.fn.bgiframe){$text.bgiframe();$box.bgiframe();}$(this).data("bt-box",$box);var scrollTop=numb($(document).scrollTop());var scrollLeft=numb($(document).scrollLeft());var docWidth=numb($(window).width());var docHeight=numb($(window).height());var winRight=scrollLeft+docWidth;var winBottom=scrollTop+docHeight;var space=new Object();var thisOffset=$(this).offset();space.top=thisOffset.top-scrollTop;space.bottom=docHeight-((thisOffset+height)-scrollTop);space.left=thisOffset.left-scrollLeft;space.right=docWidth-((thisOffset.left+width)-scrollLeft);var textOutHeight=numb($text.outerHeight());var textOutWidth=numb($text.btOuterWidth());if(opts.positions.constructor==String){opts.positions=opts.positions.replace(/ /,"").split(",");}if(opts.positions[0]=="most"){var position="top";for(var pig in space){position=space[pig]>space[position]?pig:position;}}else{for(var x in opts.positions){var position=opts.positions[x];if((position=="left"||position=="right")&&space[position]>textOutWidth+opts.spikeLength){break;}else{if((position=="top"||position=="bottom")&&space[position]>textOutHeight+opts.spikeLength){break;}}}}var horiz=left+((width-textOutWidth)*0.5);var vert=top+((height-textOutHeight)*0.5);var points=new Array();var textTop,textLeft,textRight,textBottom,textTopSpace,textBottomSpace,textLeftSpace,textRightSpace,crossPoint,textCenter,spikePoint;switch(position){case"top":$text.css("margin-bottom",opts.spikeLength+"px");$box.css({top:(top-$text.outerHeight(true))+opts.overlap,left:horiz});textRightSpace=(winRight-opts.windowMargin)-($text.offset().left+$text.btOuterWidth(true));var xShift=shadowShiftX;if(textRightSpace<0){$box.css("left",(numb($box.css("left"))+textRightSpace)+"px");xShift-=textRightSpace;}textLeftSpace=($text.offset().left+numb($text.css("margin-left")))-(scrollLeft+opts.windowMargin);if(textLeftSpace<0){$box.css("left",(numb($box.css("left"))-textLeftSpace)+"px");xShift+=textLeftSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={y:textBottom+opts.spikeLength,x:((textRight-textLeft)*0.5)+xShift,type:"spike"};crossPoint=findIntersectX(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textBottom);crossPoint.x=crossPoint.x(textRight-opts.spikeGirth/2)-opts.cornerRadius?(textRight-opts.spikeGirth/2)-opts.CornerRadius:crossPoint.x;points[points.length]={x:crossPoint.x-(opts.spikeGirth/2),y:textBottom,type:"join"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:crossPoint.x+(opts.spikeGirth/2),y:textBottom,type:"join"};points[points.length]=spikePoint;break;case"left":$text.css("margin-right",opts.spikeLength+"px");$box.css({top:vert+"px",left:((left-$text.btOuterWidth(true))+opts.overlap)+"px"});textBottomSpace=(winBottom-opts.windowMargin)-($text.offset().top+$text.outerHeight(true));var yShift=shadowShiftY;if(textBottomSpace<0){$box.css("top",(numb($box.css("top"))+textBottomSpace)+"px");yShift-=textBottomSpace;}textTopSpace=($text.offset().top+numb($text.css("margin-top")))-(scrollTop+opts.windowMargin);if(textTopSpace<0){$box.css("top",(numb($box.css("top"))-textTopSpace)+"px");yShift+=textTopSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:textRight+opts.spikeLength,y:((textBottom-textTop)*0.5)+yShift,type:"spike"};crossPoint=findIntersectY(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textRight);crossPoint.y=crossPoint.y(textBottom-opts.spikeGirth/2)-opts.cornerRadius?(textBottom-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.y;points[points.length]={x:textRight,y:crossPoint.y+opts.spikeGirth/2,type:"join"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:crossPoint.y-opts.spikeGirth/2,type:"join"};points[points.length]=spikePoint;break;case"bottom":$text.css("margin-top",opts.spikeLength+"px");$box.css({top:(top+height)-opts.overlap,left:horiz});textRightSpace=(winRight-opts.windowMargin)-($text.offset().left+$text.btOuterWidth(true));var xShift=shadowShiftX;if(textRightSpace<0){$box.css("left",(numb($box.css("left"))+textRightSpace)+"px");xShift-=textRightSpace;}textLeftSpace=($text.offset().left+numb($text.css("margin-left")))-(scrollLeft+opts.windowMargin);if(textLeftSpace<0){$box.css("left",(numb($box.css("left"))-textLeftSpace)+"px");xShift+=textLeftSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:((textRight-textLeft)*0.5)+xShift,y:shadowShiftY,type:"spike"};crossPoint=findIntersectX(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textTop);crossPoint.x=crossPoint.x(textRight-opts.spikeGirth/2)-opts.cornerRadius?(textRight-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.x;points[points.length]={x:crossPoint.x+opts.spikeGirth/2,y:textTop,type:"join"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:crossPoint.x-(opts.spikeGirth/2),y:textTop,type:"join"};points[points.length]=spikePoint;break;case"right":$text.css("margin-left",(opts.spikeLength+"px"));$box.css({top:vert+"px",left:((left+width)-opts.overlap)+"px"});textBottomSpace=(winBottom-opts.windowMargin)-($text.offset().top+$text.outerHeight(true));var yShift=shadowShiftY;if(textBottomSpace<0){$box.css("top",(numb($box.css("top"))+textBottomSpace)+"px");yShift-=textBottomSpace;}textTopSpace=($text.offset().top+numb($text.css("margin-top")))-(scrollTop+opts.windowMargin);if(textTopSpace<0){$box.css("top",(numb($box.css("top"))-textTopSpace)+"px");yShift+=textTopSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:shadowShiftX,y:((textBottom-textTop)*0.5)+yShift,type:"spike"};crossPoint=findIntersectY(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textLeft);crossPoint.y=crossPoint.y(textBottom-opts.spikeGirth/2)-opts.cornerRadius?(textBottom-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.y;points[points.length]={x:textLeft,y:crossPoint.y-opts.spikeGirth/2,type:"join"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:crossPoint.y+opts.spikeGirth/2,type:"join"};points[points.length]=spikePoint;break;}var canvas=document.createElement("canvas");$(canvas).attr("width",(numb($text.btOuterWidth(true))+opts.strokeWidth*2+shadowMarginX)).attr("height",(numb($text.outerHeight(true))+opts.strokeWidth*2+shadowMarginY)).appendTo($box).css({position:"absolute",zIndex:opts.boxzIndex});if(typeof G_vmlCanvasManager!="undefined"){canvas=G_vmlCanvasManager.initElement(canvas);}if(opts.cornerRadius>0){var newPoints=new Array();var newPoint;for(var i=0;i0){$box.css("top",(numb($box.css("top"))-(opts.shadowOffsetX+opts.shadowBlur-shadowOverlap)));}break;case"right":if(shadowShiftX-shadowOverlap>0){$box.css("left",(numb($box.css("left"))+shadowShiftX-shadowOverlap));}break;case"bottom":if(shadowShiftY-shadowOverlap>0){$box.css("top",(numb($box.css("top"))+shadowShiftY-shadowOverlap));}break;case"left":if(opts.shadowOffsetY+opts.shadowBlur-shadowOverlap>0){$box.css("left",(numb($box.css("left"))-(opts.shadowOffsetY+opts.shadowBlur-shadowOverlap)));}break;}}drawIt.apply(ctx,[points],opts.strokeWidth);ctx.fillStyle=opts.fill;if(opts.shadow){ctx.shadowOffsetX=opts.shadowOffsetX;ctx.shadowOffsetY=opts.shadowOffsetY;ctx.shadowBlur=opts.shadowBlur;ctx.shadowColor=opts.shadowColor;}ctx.closePath();ctx.fill();if(opts.strokeWidth>0){ctx.shadowColor="rgba(0, 0, 0, 0)";ctx.lineWidth=opts.strokeWidth;ctx.strokeStyle=opts.strokeStyle;ctx.beginPath();drawIt.apply(ctx,[points],opts.strokeWidth);ctx.closePath();ctx.stroke();}opts.preShow.apply(this,[$box[0]]);$box.css({display:"none",visibility:"visible"});opts.showTip.apply(this,[$box[0]]);if(opts.overlay){var overlay=$('
').css({position:"absolute",backgroundColor:"blue",top:top,left:left,width:width,height:height,opacity:".2"}).appendTo(offsetParent);$(this).data("overlay",overlay);}if((opts.ajaxPath!=null&&opts.ajaxCache==false)||ajaxTimeout){content=false;}if(opts.clickAnywhereToClose){jQuery.bt.vars.clickAnywhereStack.push(this);$(document).click(jQuery.bt.docClick);}if(opts.closeWhenOthersOpen){jQuery.bt.vars.closeWhenOpenStack.push(this);}opts.postShow.apply(this,[$box[0]]);};this.btOff=function(){var box=$(this).data("bt-box");opts.preHide.apply(this,[box]);var i=this;i.btCleanup=function(){var box=$(i).data("bt-box");var contentOrig=$(i).data("bt-content-orig");var overlay=$(i).data("bt-overlay");if(typeof box=="object"){$(box).remove();$(i).removeData("bt-box");}if(typeof contentOrig=="object"){var clones=$(contentOrig.original).data("bt-clones");$(contentOrig).data("bt-clones",arrayRemove(clones,contentOrig.clone));}if(typeof overlay=="object"){$(overlay).remove();$(i).removeData("bt-overlay");}jQuery.bt.vars.clickAnywhereStack=arrayRemove(jQuery.bt.vars.clickAnywhereStack,i);jQuery.bt.vars.closeWhenOpenStack=arrayRemove(jQuery.bt.vars.closeWhenOpenStack,i);$(i).removeClass("bt-active "+opts.activeClass);opts.postHide.apply(i);};opts.hideTip.apply(this,[box,i.btCleanup]);};var refresh=this.btRefresh=function(){this.btOff();this.btOn();};});function drawIt(points,strokeWidth){this.moveTo(points[0].x,points[0].y);for(var i=1;i=3.1){return true;}}}catch(err){}return false;}function betweenPoint(point1,point2,dist){var y,x;if(point1.x==point2.x){y=point1.yarcEnd.y){startAngle=(Math.PI/180)*180;endAngle=(Math.PI/180)*90;}else{startAngle=(Math.PI/180)*90;endAngle=0;}}else{if(arcStart.y>arcEnd.y){startAngle=(Math.PI/180)*270;endAngle=(Math.PI/180)*180;}else{startAngle=0;endAngle=(Math.PI/180)*270;}}return{x:x,y:y,type:"center",startAngle:startAngle,endAngle:endAngle};}function findIntersect(r1x1,r1y1,r1x2,r1y2,r2x1,r2y1,r2x2,r2y2){if(r2x1==r2x2){return findIntersectY(r1x1,r1y1,r1x2,r1y2,r2x1);}if(r2y1==r2y2){return findIntersectX(r1x1,r1y1,r1x2,r1y2,r2y1);}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var r2m=(r2y1-r2y2)/(r2x1-r2x2);var r2b=r2y1-(r2m*r2x1);var x=(r2b-r1b)/(r1m-r2m);var y=r1m*x+r1b;return{x:x,y:y};}function findIntersectY(r1x1,r1y1,r1x2,r1y2,x){if(r1y1==r1y2){return{x:x,y:r1y1};}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var y=r1m*x+r1b;return{x:x,y:y};}function findIntersectX(r1x1,r1y1,r1x2,r1y2,y){if(r1x1==r1x2){return{x:r1x1,y:y};}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var x=(y-r1b)/r1m;return{x:x,y:y};}};jQuery.fn.btPosition=function(){function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,"marginTop");offset.left-=num(this,"marginLeft");parentOffset.top+=num(offsetParent,"borderTopWidth");parentOffset.left+=num(offsetParent,"borderLeftWidth");results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;};jQuery.fn.btOuterWidth=function(margin){function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}return this["innerWidth"]()+num(this,"borderLeftWidth")+num(this,"borderRightWidth")+(margin?num(this,"marginLeft")+num(this,"marginRight"):0);};jQuery.fn.btOn=function(){return this.each(function(index){if(jQuery.isFunction(this.btOn)){this.btOn();}});};jQuery.fn.btOff=function(){return this.each(function(index){if(jQuery.isFunction(this.btOff)){this.btOff();}});};jQuery.bt.vars={clickAnywhereStack:[],closeWhenOpenStack:[]};jQuery.bt.docClick=function(e){if(!e){var e=window.event;}if(!$(e.target).parents().andSelf().filter(".bt-wrapper, .bt-active").length&&jQuery.bt.vars.clickAnywhereStack.length){$(jQuery.bt.vars.clickAnywhereStack).btOff();$(document).unbind("click",jQuery.bt.docClick);}};jQuery.bt.defaults={trigger:"hover",clickAnywhereToClose:true,closeWhenOthersOpen:false,shrinkToFit:false,width:"200px",padding:"10px",spikeGirth:10,spikeLength:15,overlap:0,overlay:false,killTitle:true,textzIndex:9999,boxzIndex:9998,wrapperzIndex:9997,offsetParent:null,positions:["most"],fill:"rgb(255, 255, 102)",windowMargin:10,strokeWidth:1,strokeStyle:"#000",cornerRadius:5,centerPointX:0.5,centerPointY:0.5,shadow:false,shadowOffsetX:2,shadowOffsetY:2,shadowBlur:3,shadowColor:"#000",shadowOverlap:false,noShadowOpts:{strokeStyle:"#999"},cssClass:"",cssStyles:{},activeClass:"bt-active",contentSelector:"$(this).attr('title')",ajaxPath:null,ajaxError:"ERROR: %error",ajaxLoading:"Loading...",ajaxData:{},ajaxType:"GET",ajaxCache:true,ajaxOpts:{},preBuild:function(){},preShow:function(box){},showTip:function(box){$(box).show();},postShow:function(box){},preHide:function(box){},hideTip:function(box,callback){$(box).hide();callback();},postHide:function(){},hoverIntentOpts:{interval:300,timeout:500}};jQuery.bt.options={};})(jQuery); \ No newline at end of file +jQuery.bt={version:"0.9.5-rc1"};(function($){jQuery.fn.bt=function(content,options){if(typeof content!="string"){var contentSelect=true;options=content;content=false;}else{var contentSelect=false;}if(jQuery.fn.hoverIntent&&jQuery.bt.defaults.trigger=="hover"){jQuery.bt.defaults.trigger="hoverIntent";}return this.each(function(index){var opts=jQuery.extend(false,jQuery.bt.defaults,jQuery.bt.options,options);opts.spikeLength=numb(opts.spikeLength);opts.spikeGirth=numb(opts.spikeGirth);opts.overlap=numb(opts.overlap);var ajaxTimeout=false;if(opts.killTitle){$(this).find("[title]").addBack().each(function(){if(!$(this).attr("bt-xTitle")){$(this).attr("bt-xTitle",$(this).attr("title")).attr("title","");}});}if(typeof opts.trigger=="string"){opts.trigger=[opts.trigger];}if(opts.trigger[0]=="hoverIntent"){var hoverOpts=jQuery.extend(opts.hoverIntentOpts,{over:function(){this.btOn();},out:function(){this.btOff();}});$(this).hoverIntent(hoverOpts);}else{if(opts.trigger[0]=="hover"){$(this).hover(function(){this.btOn();},function(){this.btOff();});}else{if(opts.trigger[0]=="now"){if($(this).hasClass("bt-active")){this.btOff();}else{this.btOn();}}else{if(opts.trigger[0]=="none"){}else{if(opts.trigger.length>1&&opts.trigger[0]!=opts.trigger[1]){$(this).bind(opts.trigger[0],function(){this.btOn();}).bind(opts.trigger[1],function(){this.btOff();});}else{$(this).bind(opts.trigger[0],function(){if($(this).hasClass("bt-active")){this.btOff();}else{this.btOn();}});}}}}}this.btOn=function(){if(typeof $(this).data("bt-box")=="object"){this.btOff();}opts.preBuild.apply(this);$(jQuery.bt.vars.closeWhenOpenStack).btOff();$(this).addClass("bt-active "+opts.activeClass);if(contentSelect&&opts.ajaxPath==null){if(opts.killTitle){$(this).attr("title",$(this).attr("bt-xTitle"));}content=$.isFunction(opts.contentSelector)?opts.contentSelector.apply(this):eval(opts.contentSelector);if(opts.killTitle){$(this).attr("title","");}}if(opts.ajaxPath!=null&&content==false){if(typeof opts.ajaxPath=="object"){var url=eval(opts.ajaxPath[0]);url+=opts.ajaxPath[1]?" "+opts.ajaxPath[1]:"";}else{var url=opts.ajaxPath;}var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}var cacheData=opts.ajaxCache?$(document.body).data("btCache-"+url.replace(/\./g,"")):null;if(typeof cacheData=="string"){content=selector?$("
").append(cacheData.replace(//g,"")).find(selector):cacheData;}else{var target=this;var ajaxOpts=jQuery.extend(false,{type:opts.ajaxType,data:opts.ajaxData,cache:opts.ajaxCache,url:url,complete:function(XMLHttpRequest,textStatus){if(textStatus=="success"||textStatus=="notmodified"){if(opts.ajaxCache){$(document.body).data("btCache-"+url.replace(/\./g,""),XMLHttpRequest.responseText);}ajaxTimeout=false;content=selector?$("
").append(XMLHttpRequest.responseText.replace(//g,"")).find(selector):XMLHttpRequest.responseText;}else{if(textStatus=="timeout"){ajaxTimeout=true;}content=opts.ajaxError.replace(/%error/g,XMLHttpRequest.statusText);}if($(target).hasClass("bt-active")){target.btOn();}}},opts.ajaxOpts);jQuery.ajax(ajaxOpts);content=opts.ajaxLoading;}}var shadowMarginX=0;var shadowMarginY=0;var shadowShiftX=0;var shadowShiftY=0;if(opts.shadow&&!shadowSupport()){opts.shadow=false;jQuery.extend(opts,opts.noShadowOpts);}if(opts.shadow){if(opts.shadowBlur>Math.abs(opts.shadowOffsetX)){shadowMarginX=opts.shadowBlur*2;}else{shadowMarginX=opts.shadowBlur+Math.abs(opts.shadowOffsetX);}shadowShiftX=(opts.shadowBlur-opts.shadowOffsetX)>0?opts.shadowBlur-opts.shadowOffsetX:0;if(opts.shadowBlur>Math.abs(opts.shadowOffsetY)){shadowMarginY=opts.shadowBlur*2;}else{shadowMarginY=opts.shadowBlur+Math.abs(opts.shadowOffsetY);}shadowShiftY=(opts.shadowBlur-opts.shadowOffsetY)>0?opts.shadowBlur-opts.shadowOffsetY:0;}if(opts.offsetParent){var offsetParent=$(opts.offsetParent);var offsetParentPos=offsetParent.offset();var pos=$(this).offset();var top=numb(pos.top)-numb(offsetParentPos.top)+numb($(this).css("margin-top"))-shadowShiftY;var left=numb(pos.left)-numb(offsetParentPos.left)+numb($(this).css("margin-left"))-shadowShiftX;}else{var offsetParent=($(this).css("position")=="absolute")?$(this).parents().eq(0).offsetParent():$(this).offsetParent();var pos=$(this).btPosition();var top=numb(pos.top)+numb($(this).css("margin-top"))-shadowShiftY;var left=numb(pos.left)+numb($(this).css("margin-left"))-shadowShiftX;}var width=$(this).btOuterWidth();var height=$(this).outerHeight();if(typeof content=="object"){var original=content;var clone=$(original).clone(true).show();var origClones=$(original).data("bt-clones")||[];origClones.push(clone);$(original).data("bt-clones",origClones);$(clone).data("bt-orig",original);$(this).data("bt-content-orig",{original:original,clone:clone});content=clone;}if(typeof content=="null"||content==""){return;}var $text=$('
').append(content).css({padding:opts.padding,position:"absolute",width:(opts.shrinkToFit?"auto":opts.width),zIndex:opts.textzIndex,left:shadowShiftX,top:shadowShiftY}).css(opts.cssStyles);var $box=$('
').append($text).addClass(opts.cssClass).css({position:"absolute",width:opts.width,zIndex:opts.wrapperzIndex,visibility:"hidden"}).appendTo(offsetParent);if(jQuery.fn.bgiframe){$text.bgiframe();$box.bgiframe();}$(this).data("bt-box",$box);var scrollTop=numb($(document).scrollTop());var scrollLeft=numb($(document).scrollLeft());var docWidth=numb($(window).width());var docHeight=numb($(window).height());var winRight=scrollLeft+docWidth;var winBottom=scrollTop+docHeight;var space=new Object();var thisOffset=$(this).offset();space.top=thisOffset.top-scrollTop;space.bottom=docHeight-((thisOffset+height)-scrollTop);space.left=thisOffset.left-scrollLeft;space.right=docWidth-((thisOffset.left+width)-scrollLeft);var textOutHeight=numb($text.outerHeight());var textOutWidth=numb($text.btOuterWidth());if(opts.positions.constructor==String){opts.positions=opts.positions.replace(/ /,"").split(",");}if(opts.positions[0]=="most"){var position="top";for(var pig in space){position=space[pig]>space[position]?pig:position;}}else{for(var x in opts.positions){var position=opts.positions[x];if((position=="left"||position=="right")&&space[position]>textOutWidth+opts.spikeLength){break;}else{if((position=="top"||position=="bottom")&&space[position]>textOutHeight+opts.spikeLength){break;}}}}var horiz=left+((width-textOutWidth)*0.5);var vert=top+((height-textOutHeight)*0.5);var points=new Array();var textTop,textLeft,textRight,textBottom,textTopSpace,textBottomSpace,textLeftSpace,textRightSpace,crossPoint,textCenter,spikePoint;switch(position){case"top":$text.css("margin-bottom",opts.spikeLength+"px");$box.css({top:(top-$text.outerHeight(true))+opts.overlap,left:horiz});textRightSpace=(winRight-opts.windowMargin)-($text.offset().left+$text.btOuterWidth(true));var xShift=shadowShiftX;if(textRightSpace<0){$box.css("left",(numb($box.css("left"))+textRightSpace)+"px");xShift-=textRightSpace;}textLeftSpace=($text.offset().left+numb($text.css("margin-left")))-(scrollLeft+opts.windowMargin);if(textLeftSpace<0){$box.css("left",(numb($box.css("left"))-textLeftSpace)+"px");xShift+=textLeftSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={y:textBottom+opts.spikeLength,x:((textRight-textLeft)*0.5)+xShift,type:"spike"};crossPoint=findIntersectX(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textBottom);crossPoint.x=crossPoint.x(textRight-opts.spikeGirth/2)-opts.cornerRadius?(textRight-opts.spikeGirth/2)-opts.CornerRadius:crossPoint.x;points[points.length]={x:crossPoint.x-(opts.spikeGirth/2),y:textBottom,type:"join"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:crossPoint.x+(opts.spikeGirth/2),y:textBottom,type:"join"};points[points.length]=spikePoint;break;case"left":$text.css("margin-right",opts.spikeLength+"px");$box.css({top:vert+"px",left:((left-$text.btOuterWidth(true))+opts.overlap)+"px"});textBottomSpace=(winBottom-opts.windowMargin)-($text.offset().top+$text.outerHeight(true));var yShift=shadowShiftY;if(textBottomSpace<0){$box.css("top",(numb($box.css("top"))+textBottomSpace)+"px");yShift-=textBottomSpace;}textTopSpace=($text.offset().top+numb($text.css("margin-top")))-(scrollTop+opts.windowMargin);if(textTopSpace<0){$box.css("top",(numb($box.css("top"))-textTopSpace)+"px");yShift+=textTopSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:textRight+opts.spikeLength,y:((textBottom-textTop)*0.5)+yShift,type:"spike"};crossPoint=findIntersectY(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textRight);crossPoint.y=crossPoint.y(textBottom-opts.spikeGirth/2)-opts.cornerRadius?(textBottom-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.y;points[points.length]={x:textRight,y:crossPoint.y+opts.spikeGirth/2,type:"join"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:crossPoint.y-opts.spikeGirth/2,type:"join"};points[points.length]=spikePoint;break;case"bottom":$text.css("margin-top",opts.spikeLength+"px");$box.css({top:(top+height)-opts.overlap,left:horiz});textRightSpace=(winRight-opts.windowMargin)-($text.offset().left+$text.btOuterWidth(true));var xShift=shadowShiftX;if(textRightSpace<0){$box.css("left",(numb($box.css("left"))+textRightSpace)+"px");xShift-=textRightSpace;}textLeftSpace=($text.offset().left+numb($text.css("margin-left")))-(scrollLeft+opts.windowMargin);if(textLeftSpace<0){$box.css("left",(numb($box.css("left"))-textLeftSpace)+"px");xShift+=textLeftSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:((textRight-textLeft)*0.5)+xShift,y:shadowShiftY,type:"spike"};crossPoint=findIntersectX(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textTop);crossPoint.x=crossPoint.x(textRight-opts.spikeGirth/2)-opts.cornerRadius?(textRight-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.x;points[points.length]={x:crossPoint.x+opts.spikeGirth/2,y:textTop,type:"join"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:crossPoint.x-(opts.spikeGirth/2),y:textTop,type:"join"};points[points.length]=spikePoint;break;case"right":$text.css("margin-left",(opts.spikeLength+"px"));$box.css({top:vert+"px",left:((left+width)-opts.overlap)+"px"});textBottomSpace=(winBottom-opts.windowMargin)-($text.offset().top+$text.outerHeight(true));var yShift=shadowShiftY;if(textBottomSpace<0){$box.css("top",(numb($box.css("top"))+textBottomSpace)+"px");yShift-=textBottomSpace;}textTopSpace=($text.offset().top+numb($text.css("margin-top")))-(scrollTop+opts.windowMargin);if(textTopSpace<0){$box.css("top",(numb($box.css("top"))-textTopSpace)+"px");yShift+=textTopSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:shadowShiftX,y:((textBottom-textTop)*0.5)+yShift,type:"spike"};crossPoint=findIntersectY(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textLeft);crossPoint.y=crossPoint.y(textBottom-opts.spikeGirth/2)-opts.cornerRadius?(textBottom-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.y;points[points.length]={x:textLeft,y:crossPoint.y-opts.spikeGirth/2,type:"join"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:crossPoint.y+opts.spikeGirth/2,type:"join"};points[points.length]=spikePoint;break;}var canvas=document.createElement("canvas");$(canvas).attr("width",(numb($text.btOuterWidth(true))+opts.strokeWidth*2+shadowMarginX)).attr("height",(numb($text.outerHeight(true))+opts.strokeWidth*2+shadowMarginY)).appendTo($box).css({position:"absolute",zIndex:opts.boxzIndex});if(typeof G_vmlCanvasManager!="undefined"){canvas=G_vmlCanvasManager.initElement(canvas);}if(opts.cornerRadius>0){var newPoints=new Array();var newPoint;for(var i=0;i0){$box.css("top",(numb($box.css("top"))-(opts.shadowOffsetX+opts.shadowBlur-shadowOverlap)));}break;case"right":if(shadowShiftX-shadowOverlap>0){$box.css("left",(numb($box.css("left"))+shadowShiftX-shadowOverlap));}break;case"bottom":if(shadowShiftY-shadowOverlap>0){$box.css("top",(numb($box.css("top"))+shadowShiftY-shadowOverlap));}break;case"left":if(opts.shadowOffsetY+opts.shadowBlur-shadowOverlap>0){$box.css("left",(numb($box.css("left"))-(opts.shadowOffsetY+opts.shadowBlur-shadowOverlap)));}break;}}drawIt.apply(ctx,[points],opts.strokeWidth);ctx.fillStyle=opts.fill;if(opts.shadow){ctx.shadowOffsetX=opts.shadowOffsetX;ctx.shadowOffsetY=opts.shadowOffsetY;ctx.shadowBlur=opts.shadowBlur;ctx.shadowColor=opts.shadowColor;}ctx.closePath();ctx.fill();if(opts.strokeWidth>0){ctx.shadowColor="rgba(0, 0, 0, 0)";ctx.lineWidth=opts.strokeWidth;ctx.strokeStyle=opts.strokeStyle;ctx.beginPath();drawIt.apply(ctx,[points],opts.strokeWidth);ctx.closePath();ctx.stroke();}opts.preShow.apply(this,[$box[0]]);$box.css({display:"none",visibility:"visible"});opts.showTip.apply(this,[$box[0]]);if(opts.overlay){var overlay=$('
').css({position:"absolute",backgroundColor:"blue",top:top,left:left,width:width,height:height,opacity:".2"}).appendTo(offsetParent);$(this).data("overlay",overlay);}if((opts.ajaxPath!=null&&opts.ajaxCache==false)||ajaxTimeout){content=false;}if(opts.clickAnywhereToClose){jQuery.bt.vars.clickAnywhereStack.push(this);$(document).click(jQuery.bt.docClick);}if(opts.closeWhenOthersOpen){jQuery.bt.vars.closeWhenOpenStack.push(this);}opts.postShow.apply(this,[$box[0]]);};this.btOff=function(){var box=$(this).data("bt-box");opts.preHide.apply(this,[box]);var i=this;i.btCleanup=function(){var box=$(i).data("bt-box");var contentOrig=$(i).data("bt-content-orig");var overlay=$(i).data("bt-overlay");if(typeof box=="object"){$(box).remove();$(i).removeData("bt-box");}if(typeof contentOrig=="object"){var clones=$(contentOrig.original).data("bt-clones");$(contentOrig).data("bt-clones",arrayRemove(clones,contentOrig.clone));}if(typeof overlay=="object"){$(overlay).remove();$(i).removeData("bt-overlay");}jQuery.bt.vars.clickAnywhereStack=arrayRemove(jQuery.bt.vars.clickAnywhereStack,i);jQuery.bt.vars.closeWhenOpenStack=arrayRemove(jQuery.bt.vars.closeWhenOpenStack,i);$(i).removeClass("bt-active "+opts.activeClass);opts.postHide.apply(i);};opts.hideTip.apply(this,[box,i.btCleanup]);};var refresh=this.btRefresh=function(){this.btOff();this.btOn();};});function drawIt(points,strokeWidth){this.moveTo(points[0].x,points[0].y);for(var i=1;i=3.1){return true;}}}catch(err){}return false;}function betweenPoint(point1,point2,dist){var y,x;if(point1.x==point2.x){y=point1.yarcEnd.y){startAngle=(Math.PI/180)*180;endAngle=(Math.PI/180)*90;}else{startAngle=(Math.PI/180)*90;endAngle=0;}}else{if(arcStart.y>arcEnd.y){startAngle=(Math.PI/180)*270;endAngle=(Math.PI/180)*180;}else{startAngle=0;endAngle=(Math.PI/180)*270;}}return{x:x,y:y,type:"center",startAngle:startAngle,endAngle:endAngle};}function findIntersect(r1x1,r1y1,r1x2,r1y2,r2x1,r2y1,r2x2,r2y2){if(r2x1==r2x2){return findIntersectY(r1x1,r1y1,r1x2,r1y2,r2x1);}if(r2y1==r2y2){return findIntersectX(r1x1,r1y1,r1x2,r1y2,r2y1);}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var r2m=(r2y1-r2y2)/(r2x1-r2x2);var r2b=r2y1-(r2m*r2x1);var x=(r2b-r1b)/(r1m-r2m);var y=r1m*x+r1b;return{x:x,y:y};}function findIntersectY(r1x1,r1y1,r1x2,r1y2,x){if(r1y1==r1y2){return{x:x,y:r1y1};}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var y=r1m*x+r1b;return{x:x,y:y};}function findIntersectX(r1x1,r1y1,r1x2,r1y2,y){if(r1x1==r1x2){return{x:r1x1,y:y};}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var x=(y-r1b)/r1m;return{x:x,y:y};}};jQuery.fn.btPosition=function(){function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,"marginTop");offset.left-=num(this,"marginLeft");parentOffset.top+=num(offsetParent,"borderTopWidth");parentOffset.left+=num(offsetParent,"borderLeftWidth");results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;};jQuery.fn.btOuterWidth=function(margin){function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}return this["innerWidth"]()+num(this,"borderLeftWidth")+num(this,"borderRightWidth")+(margin?num(this,"marginLeft")+num(this,"marginRight"):0);};jQuery.fn.btOn=function(){return this.each(function(index){if(jQuery.isFunction(this.btOn)){this.btOn();}});};jQuery.fn.btOff=function(){return this.each(function(index){if(jQuery.isFunction(this.btOff)){this.btOff();}});};jQuery.bt.vars={clickAnywhereStack:[],closeWhenOpenStack:[]};jQuery.bt.docClick=function(e){if(!e){var e=window.event;}if(!$(e.target).parents().addBack().filter(".bt-wrapper, .bt-active").length&&jQuery.bt.vars.clickAnywhereStack.length){$(jQuery.bt.vars.clickAnywhereStack).btOff();$(document).unbind("click",jQuery.bt.docClick);}};jQuery.bt.defaults={trigger:"hover",clickAnywhereToClose:true,closeWhenOthersOpen:false,shrinkToFit:false,width:"200px",padding:"10px",spikeGirth:10,spikeLength:15,overlap:0,overlay:false,killTitle:true,textzIndex:9999,boxzIndex:9998,wrapperzIndex:9997,offsetParent:null,positions:["most"],fill:"rgb(255, 255, 102)",windowMargin:10,strokeWidth:1,strokeStyle:"#000",cornerRadius:5,centerPointX:0.5,centerPointY:0.5,shadow:false,shadowOffsetX:2,shadowOffsetY:2,shadowBlur:3,shadowColor:"#000",shadowOverlap:false,noShadowOpts:{strokeStyle:"#999"},cssClass:"",cssStyles:{},activeClass:"bt-active",contentSelector:"$(this).attr('title')",ajaxPath:null,ajaxError:"ERROR: %error",ajaxLoading:"Loading...",ajaxData:{},ajaxType:"GET",ajaxCache:true,ajaxOpts:{},preBuild:function(){},preShow:function(box){},showTip:function(box){$(box).show();},postShow:function(box){},preHide:function(box){},hideTip:function(box,callback){$(box).hide();callback();},postHide:function(){},hoverIntentOpts:{interval:300,timeout:500}};jQuery.bt.options={};})(jQuery); \ No newline at end of file From ff32e592242d12221f06d28c08cc8251db8cfb43 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 10:51:01 -0700 Subject: [PATCH 31/41] core: update `setNavigationView` to add/remove `js-menu-hide` class when toggling menu --- BookReader/BookReader.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index 20b805d2c..f7ebe5af0 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -3958,6 +3958,12 @@ BookReader.prototype.setNavigationView = function brSetNavigationView(hide) { if (hide) { toolbarHeight = this.getToolBarHeight() * -1; navbarHeight = this.getFooterHeight() * -1; + + this.refs.$BRtoolbar.addClass('js-menu-hide'); + this.refs.$BRfooter.addClass('js-menu-hide'); + } else { + this.refs.$BRtoolbar.removeClass('js-menu-hide'); + this.refs.$BRfooter.removeClass('js-menu-hide'); } this.refs.$BRtoolbar.animate( From f4ac79b5ac6eb0c3897c357b16e72474a355908c Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 11:00:29 -0700 Subject: [PATCH 32/41] initial tests --- .../menu_toggle/plugin.menu_toggle.test.js | 47 ++++++++++++++++--- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js index 59865b407..1ce4518ce 100644 --- a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +++ b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js @@ -1,12 +1,47 @@ +const $ = require('../../../BookReader/jquery-1.10.1.js'); +require('../../../BookReader/jquery-ui-1.12.0.min.js'); +require('../../../BookReader/jquery.browser.min.js'); +require('../../../BookReader/dragscrollable-br.js'); +require('../../../BookReader/jquery.colorbox-min.js'); +require('../../../BookReader/jquery.bt.min.js'); + require('../../../BookReader/BookReader.js'); require('../../../src/js/plugins/menu_toggle/plugin.menu_toggle.js'); -let initializeSpy; -beforeEach(() => { - document.querySelector = jest.fn(() => true); - document.body.innerHTML = '
'; -}) -test('Plugin: Fullscreen Menu Toggle - successfully initializes', () => { +let br; +beforeAll(() => { + $.fx.off = true; + const OGSpeed = $.speed; + $.speed = function(_speed, easing, callback) { + console.log('speed'); + return OGSpeed(0, easing, callback); + }; + document.body.innerHTML = '
'; + br = new BookReader(); + br.init(); +}); + +afterEach(() => { + $.fx.off = false; + jest.clearAllMocks(); +}); + +describe('Plugin: Menu Toggle', () => { + test('has option flag', () => { expect(BookReader.defaultOptions.enableMenuToggle).toEqual(true); + }); + + test('when bookreader loads, the menu shows', () => { + expect($('.BRfooter').hasClass('js-menu-hide')).toEqual(false); + expect($('.BRtoolbar').hasClass('js-menu-hide')).toEqual(false); + }) + + test('clicking on background hides the menu', () => { + expect($('.BRfooter').hasClass('js-menu-hide')).toEqual(false); + expect($('.BRtoolbar').hasClass('js-menu-hide')).toEqual(false); + $('.BRcontainer').click(); + expect($('.BRfooter').hasClass('js-menu-hide')).toEqual(true); + expect($('.BRtoolbar').hasClass('js-menu-hide')).toEqual(true); + }); }); From e5189ceb451af7fdd16e866179967000db1d5acc Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 11:29:28 -0700 Subject: [PATCH 33/41] update built files --- BookReader/plugins/plugin.menu_toggle.js.map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BookReader/plugins/plugin.menu_toggle.js.map b/BookReader/plugins/plugin.menu_toggle.js.map index 63eca7fa3..f82f8b3ec 100644 --- a/BookReader/plugins/plugin.menu_toggle.js.map +++ b/BookReader/plugins/plugin.menu_toggle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","currentTarget","validBookClick","constMode1up","event","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","currentTarget","validBookClick","constMode1up","event","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file From 42d74c60d0b4a3579e464a91adcee7f6a2ef6123 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 12:02:02 -0700 Subject: [PATCH 34/41] more tests around core navigation toggles - is inside menu toggle tests bc of DOM & jQuery dependecies needed to check --- .../menu_toggle/plugin.menu_toggle.test.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js index 1ce4518ce..68cb52189 100644 --- a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +++ b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js @@ -10,6 +10,7 @@ require('../../../src/js/plugins/menu_toggle/plugin.menu_toggle.js'); let br; +let hideFlag; beforeAll(() => { $.fx.off = true; const OGSpeed = $.speed; @@ -44,4 +45,22 @@ describe('Plugin: Menu Toggle', () => { expect($('.BRfooter').hasClass('js-menu-hide')).toEqual(true); expect($('.BRtoolbar').hasClass('js-menu-hide')).toEqual(true); }); + + test('core function `setNavigationView` is called `hideNavigation` is called', () => { + br.setNavigationView = jest.fn((arg) => hideFlag = arg); + + br.hideNavigation(); + expect(br.setNavigationView).toHaveBeenCalled(); + expect(hideFlag).toEqual(true); + }); + + test('core function `setNavigationView` is called `showNavigation` is called', () => { + br.setNavigationView = jest.fn((arg) => hideFlag = arg); + br.navigationIsVisible = jest.fn(() => false); + + br.showNavigation(); + expect(br.setNavigationView).toHaveBeenCalled(); + expect(br.navigationIsVisible).toHaveBeenCalled(); + expect(hideFlag).toEqual(undefined); + }); }); From b23a78bf05b69d5f4ff4cf3ff3248f65f8fd11a5 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 12:10:11 -0700 Subject: [PATCH 35/41] add test to check for new animation consts --- tests/plugins/menu_toggle/plugin.menu_toggle.test.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js index 68cb52189..ec4b0f7eb 100644 --- a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +++ b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js @@ -33,6 +33,11 @@ describe('Plugin: Menu Toggle', () => { expect(BookReader.defaultOptions.enableMenuToggle).toEqual(true); }); + test('core code has animation consts', () => { + expect(BookReader.constNavAnimationDuration).toEqual(300); + expect(BookReader.constResizeAnimationDuration).toEqual(100); + }) + test('when bookreader loads, the menu shows', () => { expect($('.BRfooter').hasClass('js-menu-hide')).toEqual(false); expect($('.BRtoolbar').hasClass('js-menu-hide')).toEqual(false); From 7eeb8fc6be70eeb235a59f309272471572d4eb33 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 12:15:57 -0700 Subject: [PATCH 36/41] more tests around registered events --- tests/BookReader.test.js | 18 ++++++++++++++++++ .../menu_toggle/plugin.menu_toggle.test.js | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/tests/BookReader.test.js b/tests/BookReader.test.js index 40648ea26..1cf671c85 100644 --- a/tests/BookReader.test.js +++ b/tests/BookReader.test.js @@ -56,3 +56,21 @@ test('testing debounce', () => { expect(func).toHaveBeenCalledTimes(1); // func called }); +test('has registered PostInit events', () => { + expect(BookReader.eventNames.PostInit).toBeTruthy(); +}); + +test('has registered zoom events', () => { + expect(BookReader.eventNames.zoomIn).toBeTruthy(); + expect(BookReader.eventNames.zoomOut).toBeTruthy(); +}); + +test('has registered view type selected events', () => { + expect(BookReader.eventNames['1PageViewSelected']).toBeTruthy(); + expect(BookReader.eventNames['2PageViewSelected']).toBeTruthy(); + expect(BookReader.eventNames['3PageViewSelected']).toBeTruthy(); +}); + +test('has registered fullscreen toggle event', () => { + expect(BookReader.eventNames.fullscreenToggled).toBeTruthy(); +}); \ No newline at end of file diff --git a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js index ec4b0f7eb..99ef8cd6e 100644 --- a/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +++ b/tests/plugins/menu_toggle/plugin.menu_toggle.test.js @@ -38,6 +38,10 @@ describe('Plugin: Menu Toggle', () => { expect(BookReader.constResizeAnimationDuration).toEqual(100); }) + test('core code has registered event: `navToggled`', () => { + expect(BookReader.eventNames.navToggled).toBeTruthy(); + }) + test('when bookreader loads, the menu shows', () => { expect($('.BRfooter').hasClass('js-menu-hide')).toEqual(false); expect($('.BRtoolbar').hasClass('js-menu-hide')).toEqual(false); From 5d4cd84702a3aff74790ea7b8e623ea56eda0b40 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 14:45:59 -0700 Subject: [PATCH 37/41] plugin, menu toggle: adding check for user drag can be candidate for util function if others need --- .../plugins/menu_toggle/plugin.menu_toggle.js | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index 75dbb1d2e..448276d73 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -154,6 +154,10 @@ * @param { boolean } atBookCenter - optional */ var toggleRouter = function toggleRouter (br, e, atBookCenter) { + if (holdOffOnToggle) { + return; + } + var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget; var is1UpMode = br.constMode1up === br.mode; var validBookClick = is1UpMode || isCenterClick(e, book); @@ -188,6 +192,35 @@ toggleRouter(br, e, atBookCenter); } + var initialX; + var initialY; + var holdOffOnToggle = false; + /** + * attaches mouseup & mousedown event handlers to assess if user is dragging + * sets `initialX`, `initialY`, and `holdOffOnToggle` + * + * `holdOffOnToggle` is used in fn `toggleRouter` + * to determine if menu toggle should happen + */ + var registerDragHandlers = function registerDragHandlers() { + var background = document.querySelector('.BookReader') || {}; + background.addEventListener('mousedown', function (e) { + initialX = e.screenX; + initialY = e.screenY; + + holdOffOnToggle = true; + }, true); + background.addEventListener('mouseup', function (e) { + var isDrag = (Math.abs(initialX - e.screenX) > 5 || Math.abs(initialY - e.screenY) > 5); + + if (!isDrag) { + holdOffOnToggle = false; + initialX = 0; + initialY = 0; + } + }, true); + } + /** * attaches click handlers to background & book * @param { object } br - BookReader instance @@ -201,6 +234,7 @@ if (book) { book.addEventListener('click', onBookClick.bind(null, br), true); + registerDragHandlers(); } } From 1db82e18db43f556da729dfcd23ffc2c06d9afbe Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Wed, 30 Oct 2019 14:58:31 -0700 Subject: [PATCH 38/41] update built files --- BookReader/plugins/plugin.menu_toggle.js | 2 +- BookReader/plugins/plugin.menu_toggle.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BookReader/plugins/plugin.menu_toggle.js b/BookReader/plugins/plugin.menu_toggle.js index cfbf59098..752fe200a 100644 --- a/BookReader/plugins/plugin.menu_toggle.js +++ b/BookReader/plugins/plugin.menu_toggle.js @@ -1,2 +1,2 @@ -!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",i,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",i,!0)},e=!1,r=function(t,n,r){var o,i,u=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?t.refs.$brContainer[0]:n.currentTarget,c=t.constMode1up===t.mode||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&ea;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); +!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n,e,r=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",c,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",c,!0)},o=!1,i=function(t,n,e){if(!a){var r,i,u=(r=document.querySelector(".BRcontainer")).scrollWidth>r.offsetWidth?t.refs.$brContainer[0]:n.currentTarget,c=t.constMode1up===t.mode||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&e5||Math.abs(e-t.screenY)>5||(a=!1,n=0,e=0)}),!0)};function s(t){(document.querySelector(".BookReader")||{}).addEventListener("click",u.bind(null,t),{capture:!0,passive:!0});var n=(document.querySelector(".BRcontainer")||{}).firstChild;n&&(n.addEventListener("click",c.bind(null,t),!0),f())}var l,p=function(n){var e=!1;try{e=n.navigationIsVisible()}catch(t){e=!1}if(e){var o=function(t){s(n)},i=function(e){!function(n){t(n),s(n)}(n)};$(document).on(["BookReader:3PageViewSelected"].join(" "),(function(e){!function(n){t(n),r(n),n.showNavigation()}(n)})),$(document).on(["BookReader:1PageViewSelected","BookReader:2PageViewSelected","BookReader:zoomIn","BookReader:zoomOut","BookReader:resize"].join(" "),o),$(window).on("orientationchange",o),$(document).on("BookReader:fullscreenToggled",i),$(window).on("DOMContentLoaded",i),i()}};BookReader.prototype.setup=(l=BookReader.prototype.setup,function(t){l.call(this,t)}),BookReader.prototype.init=function(t){return function(){t.call(this),this.options.enableMenuToggle&&p(this)}}(BookReader.prototype.init)}()},function(t,n,e){"use strict";var r=e(21),o=e(11),i=e(4),u=e(45),c=[].join,a=o!=Object,f=u("join",",");r({target:"Array",proto:!0,forced:a||f},{join:function(t){return c.call(i(this),void 0===t?",":t)}})},function(t,n,e){var r=e(0),o=e(9).f,i=e(6),u=e(27),c=e(8),a=e(33),f=e(44);t.exports=function(t,n){var e,s,l,p,v,d=t.target,g=t.global,y=t.stat;if(e=g?r:y?r[d]||c(d,{}):(r[d]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(v=o(e,s))&&v.value:e[s],!f(g?s:d+(y?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;a(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),u(e,s,p,t)}}},function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(0),o=e(5),i=r.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n,e){var r=e(0),o=e(7),i=e(6),u=e(2),c=e(8),a=e(16),f=e(29),s=f.get,l=f.enforce,p=String(a).split("toString");o("inspectSource",(function(t){return a.call(t)})),(t.exports=function(t,n,e,o){var a=!!o&&!!o.unsafe,f=!!o&&!!o.enumerable,s=!!o&&!!o.noTargetGet;"function"==typeof e&&("string"!=typeof n||u(e,"name")||i(e,"name",n),l(e).source=p.join("string"==typeof n?n:"")),t!==r?(a?!s&&t[n]&&(f=!0):delete t[n],f?t[n]=e:i(t,n,e)):f?t[n]=e:c(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||a.call(this)}))},function(t,n){t.exports=!1},function(t,n,e){var r,o,i,u=e(30),c=e(0),a=e(5),f=e(6),s=e(2),l=e(31),p=e(17),v=c.WeakMap;if(u){var d=new v,g=d.get,y=d.has,h=d.set;r=function(t,n){return h.call(d,t,n),n},o=function(t){return g.call(d,t)||{}},i=function(t){return y.call(d,t)}}else{var b=l("state");p[b]=!0,r=function(t,n){return f(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!a(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(0),o=e(16),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o.call(i))},function(t,n,e){var r=e(7),o=e(32),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(2),o=e(34),i=e(9),u=e(14);t.exports=function(t,n){for(var e=o(n),c=u.f,a=i.f,f=0;fa;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); //# sourceMappingURL=plugin.menu_toggle.js.map \ No newline at end of file diff --git a/BookReader/plugins/plugin.menu_toggle.js.map b/BookReader/plugins/plugin.menu_toggle.js.map index f82f8b3ec..d6183b740 100644 --- a/BookReader/plugins/plugin.menu_toggle.js.map +++ b/BookReader/plugins/plugin.menu_toggle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","currentTarget","validBookClick","constMode1up","event","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","addEventListener","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","initialX","initialY","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","holdOffOnToggle","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","currentTarget","validBookClick","constMode1up","event","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerDragHandlers","background","addEventListener","screenX","screenY","abs","registerClickHandlers","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n if (holdOffOnToggle) {\n return;\n }\n\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n var initialX;\n var initialY;\n var holdOffOnToggle = false;\n /**\n * attaches mouseup & mousedown event handlers to assess if user is dragging\n * sets `initialX`, `initialY`, and `holdOffOnToggle`\n *\n * `holdOffOnToggle` is used in fn `toggleRouter`\n * to determine if menu toggle should happen\n */\n var registerDragHandlers = function registerDragHandlers() {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('mousedown', function (e) {\n initialX = e.screenX;\n initialY = e.screenY;\n\n holdOffOnToggle = true;\n }, true);\n background.addEventListener('mouseup', function (e) {\n var isDrag = (Math.abs(initialX - e.screenX) > 5 || Math.abs(initialY - e.screenY) > 5);\n\n if (!isDrag) {\n holdOffOnToggle = false;\n initialX = 0;\n initialY = 0;\n }\n }, true);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n registerDragHandlers();\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file From e40480e9910839a8e05ac495d1aa5ab6de8485b9 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Thu, 31 Oct 2019 08:57:53 -0700 Subject: [PATCH 39/41] make `holdOffOnToggle` more prominent --- src/js/plugins/menu_toggle/plugin.menu_toggle.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index 448276d73..5e1194c18 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -21,6 +21,13 @@ enableMenuToggle: true }); + /** + * `holdOffOnToggle` is used in fn `toggleRouter` + * to determine if menu toggle should happen + * set by `registerDragHandlers` + */ + var holdOffOnToggle = false; + /** * Hides Nav arrow tab * @@ -194,13 +201,9 @@ var initialX; var initialY; - var holdOffOnToggle = false; /** * attaches mouseup & mousedown event handlers to assess if user is dragging * sets `initialX`, `initialY`, and `holdOffOnToggle` - * - * `holdOffOnToggle` is used in fn `toggleRouter` - * to determine if menu toggle should happen */ var registerDragHandlers = function registerDragHandlers() { var background = document.querySelector('.BookReader') || {}; From 73a2ec6066762aabcf742cef26cf5df58936c41c Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Thu, 31 Oct 2019 09:12:46 -0700 Subject: [PATCH 40/41] code review updates + more JSDoc --- .../plugins/menu_toggle/plugin.menu_toggle.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/js/plugins/menu_toggle/plugin.menu_toggle.js b/src/js/plugins/menu_toggle/plugin.menu_toggle.js index 5e1194c18..05ca20fa6 100644 --- a/src/js/plugins/menu_toggle/plugin.menu_toggle.js +++ b/src/js/plugins/menu_toggle/plugin.menu_toggle.js @@ -7,10 +7,13 @@ * + toggles nav at: book center tap/click * + toggles nav at: black background tap/click * + * Handles to events at CAPTURE phase + * * This uses core BookReader functions and parameters to check its UI state: * - br.refs = (at best) ui references that are present at any given time * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence * - br.showNavigation() & br.hideNavigation() + * - br.constMode1up checks against br.mode; * * The list of BookReader custom events this plugin taps into are mainly * listed in the `.init` function @@ -205,8 +208,12 @@ * attaches mouseup & mousedown event handlers to assess if user is dragging * sets `initialX`, `initialY`, and `holdOffOnToggle` */ - var registerDragHandlers = function registerDragHandlers() { - var background = document.querySelector('.BookReader') || {}; + function registerDragHandlers() { + var background = document.querySelector('.BookReader'); + if (!background) { + return; + } + background.addEventListener('mousedown', function (e) { initialX = e.screenX; initialY = e.screenY; @@ -229,7 +236,11 @@ * @param { object } br - BookReader instance */ function registerClickHandlers(br) { - var background = document.querySelector('.BookReader') || {}; + var background = document.querySelector('.BookReader'); + if (!background) { + return; + } + background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true }); var desk = document.querySelector('.BRcontainer') || {}; From 589099845fadf68014c1ac57c8e2f04d074930a0 Mon Sep 17 00:00:00 2001 From: Isa Herico-Velasco Date: Thu, 31 Oct 2019 09:23:28 -0700 Subject: [PATCH 41/41] update built files --- BookReader/plugins/plugin.menu_toggle.js | 2 +- BookReader/plugins/plugin.menu_toggle.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BookReader/plugins/plugin.menu_toggle.js b/BookReader/plugins/plugin.menu_toggle.js index 752fe200a..7738dee99 100644 --- a/BookReader/plugins/plugin.menu_toggle.js +++ b/BookReader/plugins/plugin.menu_toggle.js @@ -1,2 +1,2 @@ -!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){function t(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var n,e,r=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",c,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",c,!0)},o=!1,i=function(t,n,e){if(!a){var r,i,u=(r=document.querySelector(".BRcontainer")).scrollWidth>r.offsetWidth?t.refs.$brContainer[0]:n.currentTarget,c=t.constMode1up===t.mode||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&e5||Math.abs(e-t.screenY)>5||(a=!1,n=0,e=0)}),!0)};function s(t){(document.querySelector(".BookReader")||{}).addEventListener("click",u.bind(null,t),{capture:!0,passive:!0});var n=(document.querySelector(".BRcontainer")||{}).firstChild;n&&(n.addEventListener("click",c.bind(null,t),!0),f())}var l,p=function(n){var e=!1;try{e=n.navigationIsVisible()}catch(t){e=!1}if(e){var o=function(t){s(n)},i=function(e){!function(n){t(n),s(n)}(n)};$(document).on(["BookReader:3PageViewSelected"].join(" "),(function(e){!function(n){t(n),r(n),n.showNavigation()}(n)})),$(document).on(["BookReader:1PageViewSelected","BookReader:2PageViewSelected","BookReader:zoomIn","BookReader:zoomOut","BookReader:resize"].join(" "),o),$(window).on("orientationchange",o),$(document).on("BookReader:fullscreenToggled",i),$(window).on("DOMContentLoaded",i),i()}};BookReader.prototype.setup=(l=BookReader.prototype.setup,function(t){l.call(this,t)}),BookReader.prototype.init=function(t){return function(){t.call(this),this.options.enableMenuToggle&&p(this)}}(BookReader.prototype.init)}()},function(t,n,e){"use strict";var r=e(21),o=e(11),i=e(4),u=e(45),c=[].join,a=o!=Object,f=u("join",",");r({target:"Array",proto:!0,forced:a||f},{join:function(t){return c.call(i(this),void 0===t?",":t)}})},function(t,n,e){var r=e(0),o=e(9).f,i=e(6),u=e(27),c=e(8),a=e(33),f=e(44);t.exports=function(t,n){var e,s,l,p,v,d=t.target,g=t.global,y=t.stat;if(e=g?r:y?r[d]||c(d,{}):(r[d]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(v=o(e,s))&&v.value:e[s],!f(g?s:d+(y?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;a(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),u(e,s,p,t)}}},function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(0),o=e(5),i=r.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n,e){var r=e(0),o=e(7),i=e(6),u=e(2),c=e(8),a=e(16),f=e(29),s=f.get,l=f.enforce,p=String(a).split("toString");o("inspectSource",(function(t){return a.call(t)})),(t.exports=function(t,n,e,o){var a=!!o&&!!o.unsafe,f=!!o&&!!o.enumerable,s=!!o&&!!o.noTargetGet;"function"==typeof e&&("string"!=typeof n||u(e,"name")||i(e,"name",n),l(e).source=p.join("string"==typeof n?n:"")),t!==r?(a?!s&&t[n]&&(f=!0):delete t[n],f?t[n]=e:i(t,n,e)):f?t[n]=e:c(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||a.call(this)}))},function(t,n){t.exports=!1},function(t,n,e){var r,o,i,u=e(30),c=e(0),a=e(5),f=e(6),s=e(2),l=e(31),p=e(17),v=c.WeakMap;if(u){var d=new v,g=d.get,y=d.has,h=d.set;r=function(t,n){return h.call(d,t,n),n},o=function(t){return g.call(d,t)||{}},i=function(t){return y.call(d,t)}}else{var b=l("state");p[b]=!0,r=function(t,n){return f(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!a(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(0),o=e(16),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o.call(i))},function(t,n,e){var r=e(7),o=e(32),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(2),o=e(34),i=e(9),u=e(14);t.exports=function(t,n){for(var e=o(n),c=u.f,a=i.f,f=0;fa;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); +!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=19)}([function(t,n,e){(function(n){var e="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==e&&globalThis)||r(typeof window==e&&window)||r(typeof self==e&&self)||r(typeof n==e&&n)||Function("return this")()}).call(this,e(22))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(1);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(11),o=e(25);t.exports=function(t){return r(o(t))}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(3),o=e(14),i=e(10);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(0),o=e(8),i=e(28),u=r["__core-js_shared__"]||o("__core-js_shared__",{});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.2.1",mode:i?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(0),o=e(6);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(3),o=e(23),i=e(10),u=e(4),c=e(12),a=e(2),f=e(13),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=u(t),n=c(n,!0),f)try{return s(t,n)}catch(t){}if(a(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(1),o=e(24),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n,e){var r=e(5);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(3),o=e(1),i=e(26);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(13),i=e(15),u=e(12),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(i(t),n=u(n,!0),i(e),o)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(5);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(7);t.exports=r("native-function-to-string",Function.toString)},function(t,n){t.exports={}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){"use strict";e.r(n);e(20);!function(){jQuery.extend(BookReader.defaultOptions,{enableMenuToggle:!0});var t=!1;function n(t){t.refs&&t.refs.$BRnav&&t.refs.$BRnav.children(".BRnavCntl").css("display","none")}var e,r,o=function(t){t.refs.$brPageViewEl&&t.refs.$brPageViewEl[0].removeEventListener("click",a,!0),t.refs.$brTwoPageView&&t.refs.$brTwoPageView[0].removeEventListener("click",a,!0)},i=!1,u=function(n,e,r){if(!t){var o,u,c=(o=document.querySelector(".BRcontainer")).scrollWidth>o.offsetWidth?n.refs.$brContainer[0]:e.currentTarget,a=n.constMode1up===n.mode||function(t,n){var e=t.clientX,r=n.offsetWidth,o=n.offsetLeft,i=Math.round(r/3),u=Math.round(i+o),c=Math.round(r-i+o),a=e>u&&e5||Math.abs(r-n.screenY)>5||(t=!1,e=0,r=0)}),!0))}())}}var s,l=function(t){var e=!1;try{e=t.navigationIsVisible()}catch(t){e=!1}if(e){var r=function(n){f(t)},i=function(e){!function(t){n(t),f(t)}(t)};$(document).on(["BookReader:3PageViewSelected"].join(" "),(function(e){!function(t){n(t),o(t),t.showNavigation()}(t)})),$(document).on(["BookReader:1PageViewSelected","BookReader:2PageViewSelected","BookReader:zoomIn","BookReader:zoomOut","BookReader:resize"].join(" "),r),$(window).on("orientationchange",r),$(document).on("BookReader:fullscreenToggled",i),$(window).on("DOMContentLoaded",i),i()}};BookReader.prototype.setup=(s=BookReader.prototype.setup,function(t){s.call(this,t)}),BookReader.prototype.init=function(t){return function(){t.call(this),this.options.enableMenuToggle&&l(this)}}(BookReader.prototype.init)}()},function(t,n,e){"use strict";var r=e(21),o=e(11),i=e(4),u=e(45),c=[].join,a=o!=Object,f=u("join",",");r({target:"Array",proto:!0,forced:a||f},{join:function(t){return c.call(i(this),void 0===t?",":t)}})},function(t,n,e){var r=e(0),o=e(9).f,i=e(6),u=e(27),c=e(8),a=e(33),f=e(44);t.exports=function(t,n){var e,s,l,p,v,d=t.target,g=t.global,y=t.stat;if(e=g?r:y?r[d]||c(d,{}):(r[d]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(v=o(e,s))&&v.value:e[s],!f(g?s:d+(y?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;a(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),u(e,s,p,t)}}},function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(0),o=e(5),i=r.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n,e){var r=e(0),o=e(7),i=e(6),u=e(2),c=e(8),a=e(16),f=e(29),s=f.get,l=f.enforce,p=String(a).split("toString");o("inspectSource",(function(t){return a.call(t)})),(t.exports=function(t,n,e,o){var a=!!o&&!!o.unsafe,f=!!o&&!!o.enumerable,s=!!o&&!!o.noTargetGet;"function"==typeof e&&("string"!=typeof n||u(e,"name")||i(e,"name",n),l(e).source=p.join("string"==typeof n?n:"")),t!==r?(a?!s&&t[n]&&(f=!0):delete t[n],f?t[n]=e:i(t,n,e)):f?t[n]=e:c(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||a.call(this)}))},function(t,n){t.exports=!1},function(t,n,e){var r,o,i,u=e(30),c=e(0),a=e(5),f=e(6),s=e(2),l=e(31),p=e(17),v=c.WeakMap;if(u){var d=new v,g=d.get,y=d.has,h=d.set;r=function(t,n){return h.call(d,t,n),n},o=function(t){return g.call(d,t)||{}},i=function(t){return y.call(d,t)}}else{var b=l("state");p[b]=!0,r=function(t,n){return f(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!a(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(0),o=e(16),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o.call(i))},function(t,n,e){var r=e(7),o=e(32),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(2),o=e(34),i=e(9),u=e(14);t.exports=function(t,n){for(var e=o(n),c=u.f,a=i.f,f=0;fa;)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(4),o=e(40),i=e(41),u=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,n,e){var r=e(18),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n,e){var r=e(18),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(1),o=/#|\.prototype\./,i=function(t,n){var e=c[u(t)];return e==f||e!=a&&("function"==typeof n?r(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){"use strict";var r=e(1);t.exports=function(t,n){var e=[][t];return!e||!r((function(){e.call(null,n||function(){throw 1},1)}))}}]); //# sourceMappingURL=plugin.menu_toggle.js.map \ No newline at end of file diff --git a/BookReader/plugins/plugin.menu_toggle.js.map b/BookReader/plugins/plugin.menu_toggle.js.map index d6183b740..e05a27314 100644 --- a/BookReader/plugins/plugin.menu_toggle.js.map +++ b/BookReader/plugins/plugin.menu_toggle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","hideArrow","br","refs","$BRnav","children","css","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","initialX","initialY","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","holdOffOnToggle","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","currentTarget","validBookClick","constMode1up","event","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerDragHandlers","background","addEventListener","screenX","screenY","abs","registerClickHandlers","capture","passive","firstChild","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n if (holdOffOnToggle) {\n return;\n }\n\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n var initialX;\n var initialY;\n var holdOffOnToggle = false;\n /**\n * attaches mouseup & mousedown event handlers to assess if user is dragging\n * sets `initialX`, `initialY`, and `holdOffOnToggle`\n *\n * `holdOffOnToggle` is used in fn `toggleRouter`\n * to determine if menu toggle should happen\n */\n var registerDragHandlers = function registerDragHandlers() {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('mousedown', function (e) {\n initialX = e.screenX;\n initialY = e.screenY;\n\n holdOffOnToggle = true;\n }, true);\n background.addEventListener('mouseup', function (e) {\n var isDrag = (Math.abs(initialX - e.screenX) > 5 || Math.abs(initialY - e.screenY) > 5);\n\n if (!isDrag) {\n holdOffOnToggle = false;\n initialX = 0;\n initialY = 0;\n }\n }, true);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader') || {};\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n registerDragHandlers();\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/hide.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/function-to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/js/plugins/menu_toggle/plugin.menu_toggle.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/sloppy-array-method.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","check","it","Math","globalThis","O","window","self","global","Function","exec","error","fails","a","IndexedObject","requireObjectCoercible","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","f","setGlobal","IS_PURE","store","undefined","push","version","copyright","hide","propertyIsEnumerableModule","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","P","bitmap","configurable","writable","classof","split","propertyIsEnumerable","isObject","input","PREFERRED_STRING","fn","val","toString","valueOf","TypeError","createElement","anObject","nativeDefineProperty","Attributes","String","shared","ceil","floor","argument","isNaN","jQuery","extend","BookReader","defaultOptions","enableMenuToggle","holdOffOnToggle","hideArrow","br","refs","$BRnav","children","css","initialX","initialY","removeClickHandlers","$brPageViewEl","removeEventListener","onBookClick","$brTwoPageView","togglingNav","toggleRouter","e","atBookCenter","brContainer","element","book","document","querySelector","scrollWidth","offsetWidth","$brContainer","currentTarget","validBookClick","constMode1up","event","clickPosition","clientX","bookWidth","leftOffset","offsetLeft","bookEndPageFlipArea","round","leftThreshold","rightThreshold","isCenterClick","target","$","hasClass","on","navToggled","navigationIsVisible","hideNavigation","showNavigation","toggleNav","stopPropagation","onBackgroundClick","registerClickHandlers","background","addEventListener","capture","passive","firstChild","screenX","screenY","abs","registerDragHandlers","super_","installMenuToggle","hasNav","menuToggleEventRegister","setupDOMandHandlers","setupNavForToggle","join","alwaysShowNav","setup","options","this","init","sloppyArrayMethod","nativeJoin","ES3_STRINGS","SLOPPY_METHOD","proto","forced","separator","redefine","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","g","nativePropertyIsEnumerable","NASHORN_BUG","1","V","slice","EXISTS","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","set","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","type","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","length","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","arguments","internalObjectKeys","getOwnPropertyNames","indexOf","names","result","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","max","integer","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","METHOD_NAME"],"mappings":"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","file":"plugin.menu_toggle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","\n/* global: $, BookReader */\n/**\n * Plugin for managing menu visibility\n * Enabling this plug-in:\n * + removes the \"menu tab\" triangle\n * + toggles nav at: book center tap/click\n * + toggles nav at: black background tap/click\n *\n * Handles to events at CAPTURE phase\n *\n * This uses core BookReader functions and parameters to check its UI state:\n * - br.refs = (at best) ui references that are present at any given time\n * - br.navigationIsVisible() - checks using refs to confirm the navbar's presence\n * - br.showNavigation() & br.hideNavigation()\n * - br.constMode1up checks against br.mode;\n *\n * The list of BookReader custom events this plugin taps into are mainly\n * listed in the `.init` function\n */\n\n(function addMenuToggler() {\n jQuery.extend(BookReader.defaultOptions, {\n enableMenuToggle: true\n });\n\n /**\n * `holdOffOnToggle` is used in fn `toggleRouter`\n * to determine if menu toggle should happen\n * set by `registerDragHandlers`\n */\n var holdOffOnToggle = false;\n\n /**\n * Hides Nav arrow tab\n *\n * @param { object } br - BookReader instance\n */\n function hideArrow(br) {\n if (!br.refs || !br.refs.$BRnav) {\n return;\n }\n var $menuTab = br.refs.$BRnav.children('.BRnavCntl');\n $menuTab.css('display', 'none');\n }\n\n /**\n * Sets up nav - hides arrow tab & adds click events\n *\n * @param { object } br - BookReader instance\n */\n function setupNavForToggle(br) {\n hideArrow(br);\n registerClickHandlers(br);\n }\n\n /**\n * Resets nav to always show\n * hides arrow tab, removes click events, shows nav chrome\n *\n * @param { object } br - BookReader instance\n */\n function alwaysShowNav(br) {\n hideArrow(br);\n removeClickHandlers(br);\n br.showNavigation();\n }\n \n /**\n * Removes click handlers on elements that house the book pages\n *\n * @param { object } br - BookReader instance\n */\n var removeClickHandlers = function removeClickHandlers(br) {\n if (br.refs.$brPageViewEl) {\n br.refs.$brPageViewEl[0].removeEventListener('click', onBookClick, true);\n }\n if (br.refs.$brTwoPageView) {\n br.refs.$brTwoPageView[0].removeEventListener('click', onBookClick, true);\n }\n }\n\n /**\n * Toggle functionality\n * Responsible for calling native functions `hideNavigation` & `showNavigation`\n * Makes sure only 1 toggle action is taken at a time using `togglingNav` switch.\n *\n * @params { object } br - bookreader instance\n */\n var togglingNav = false; /* flag to make sure animations only fire once */\n var toggleNav = function toggleNav(br) {\n if (togglingNav) {\n return;\n }\n\n togglingNav = true;\n var navToggled = function navToggled() {\n togglingNav = false;\n window.removeEventListener('BookReader:navToggled', navToggled);\n };\n $(document).on('BookReader:navToggled', navToggled);\n\n var menuIsShowing = br.navigationIsVisible();\n if (menuIsShowing) {\n br.hideNavigation();\n } else {\n br.showNavigation();\n }\n }\n\n /**\n * Check if div `BRcontainer` is scrollable.\n * This normally happens when bookreader is zoomed in.\n * not using br.refs, because `scrollWidth` & `offsetWidth` is not easily accessible.\n */\n var isBRcontainerScrollable = function isBRcontainerScrollable() {\n var brContainer = document.querySelector('.BRcontainer');\n var scrollWidth = brContainer.scrollWidth;\n var offsetWidth = brContainer.offsetWidth;\n\n return scrollWidth > offsetWidth;\n }\n\n /**\n * Confirms whether or not the click happened in the nav toggle zone\n *\n * @param { MouseEvent } event - JS click event object\n * @param { DOM } book - DOM element that represents book\n */\n var isCenterClick = function isCenterClick(event, book) {\n var clickPosition = event.clientX;\n var bookWidth = book.offsetWidth;\n var leftOffset = book.offsetLeft\n var bookEndPageFlipArea = Math.round(bookWidth / 3);\n var leftThreshold = Math.round(bookEndPageFlipArea + leftOffset); // without it, the click area is small\n var rightThreshold = Math.round(bookWidth - bookEndPageFlipArea + leftOffset);\n var isOkOnRight = clickPosition > leftThreshold;\n var isOkOnLeft = clickPosition < rightThreshold;\n var isCenterClick = isOkOnRight && isOkOnLeft;\n\n return isCenterClick;\n }\n\n /**\n * Confirms whether or not the click happened in the background\n *\n * @param { DOM } element\n */\n var isBackground = function isBackground(element) {\n var isBackgroundClick = $(element).hasClass('BookReader')\n || $(element).hasClass('BRcontainer') /* main black theatre */\n || $(element).hasClass('BRemptypage') /* empty page placeholder */\n || $(element).hasClass('BRpageview') /* empty page placeholder, 1up */\n || $(element).hasClass('BRtwopageview'); /* empty page placeholder, 2up */\n return isBackgroundClick;\n };\n\n /**\n * Main hook into toggle functionality\n * This is the only function that should be called by the event handlers\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n * @param { boolean } atBookCenter - optional\n */\n var toggleRouter = function toggleRouter (br, e, atBookCenter) {\n if (holdOffOnToggle) {\n return;\n }\n\n var book = isBRcontainerScrollable() ? br.refs.$brContainer[0] : e.currentTarget;\n var is1UpMode = br.constMode1up === br.mode;\n var validBookClick = is1UpMode || isCenterClick(e, book);\n var isValidClickArea = atBookCenter ? validBookClick : isBackground(e.target);\n if (isValidClickArea) {\n toggleNav(br, atBookCenter);\n\n if (atBookCenter) {\n e.stopPropagation(); // don't turn the page. this takes prescendence\n }\n }\n }\n\n /**\n * background click event handler\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBackgroundClick(br, e) {\n toggleRouter(br, e);\n }\n\n /**\n * actual book container click event handler\n *\n * @param { object } br - BookReader instance\n * @param { MouseEvent } e - JS event object\n */\n function onBookClick(br, e) {\n\n var atBookCenter = true;\n toggleRouter(br, e, atBookCenter);\n }\n\n var initialX;\n var initialY;\n /**\n * attaches mouseup & mousedown event handlers to assess if user is dragging\n * sets `initialX`, `initialY`, and `holdOffOnToggle`\n */\n function registerDragHandlers() {\n var background = document.querySelector('.BookReader');\n if (!background) {\n return;\n }\n\n background.addEventListener('mousedown', function (e) {\n initialX = e.screenX;\n initialY = e.screenY;\n\n holdOffOnToggle = true;\n }, true);\n background.addEventListener('mouseup', function (e) {\n var isDrag = (Math.abs(initialX - e.screenX) > 5 || Math.abs(initialY - e.screenY) > 5);\n\n if (!isDrag) {\n holdOffOnToggle = false;\n initialX = 0;\n initialY = 0;\n }\n }, true);\n }\n\n /**\n * attaches click handlers to background & book\n * @param { object } br - BookReader instance\n */\n function registerClickHandlers(br) {\n var background = document.querySelector('.BookReader');\n if (!background) {\n return;\n }\n\n background.addEventListener('click', onBackgroundClick.bind(null, br), { capture: true, passive: true });\n\n var desk = document.querySelector('.BRcontainer') || {};\n var book = desk.firstChild;\n\n if (book) {\n book.addEventListener('click', onBookClick.bind(null, br), true);\n registerDragHandlers();\n }\n }\n\n /**\n * Install menu toggle\n * attaches event handlers, sets up DOM on load\n */\n var installMenuToggle = function installMenuToggle(br) {\n var hasNav = false;\n\n try {\n hasNav = br.navigationIsVisible();\n } catch(error) {\n hasNav = false;\n }\n\n if (!hasNav) {\n return;\n }\n\n var menuToggleEventRegister = function menuToggleEventRegister(e) {\n registerClickHandlers(br);\n };\n\n var setupDOMandHandlers = function setupDOMandHandlers(e) {\n setupNavForToggle(br);\n };\n\n var persistNav = function persistNav(e) {\n alwaysShowNav(br);\n };\n \n var whenToToggleNav = [\n 'BookReader:1PageViewSelected',\n 'BookReader:2PageViewSelected',\n 'BookReader:zoomIn',\n 'BookReader:zoomOut',\n 'BookReader:resize'\n ];\n\n var whenTolwaysShowNavWhen = [\n 'BookReader:3PageViewSelected'\n ];\n\n $(document).on(whenTolwaysShowNavWhen.join(' '), persistNav);\n $(document).on(whenToToggleNav.join(' '), menuToggleEventRegister);\n $(window).on('orientationchange', menuToggleEventRegister);\n $(document).on('BookReader:fullscreenToggled', setupDOMandHandlers);\n $(window).on('DOMContentLoaded', setupDOMandHandlers);\n setupDOMandHandlers();\n };\n\n /**\n * Add to BookReader\n */\n BookReader.prototype.setup = (function(super_) {\n return function(options) {\n super_.call(this, options);\n };\n })(BookReader.prototype.setup);\n\n /**\n * Initialize plugin\n */\n BookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableMenuToggle) {\n installMenuToggle(this);\n }\n };\n })(BookReader.prototype.init);\n })();\n ","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar SLOPPY_METHOD = sloppyArrayMethod('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !method || !fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n"],"sourceRoot":""} \ No newline at end of file