@internetarchive/bookreader 5.0.0-24-sortingstate-11 → 5.0.0-26

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/BookReader/BookReader.css +4 -0
  2. package/BookReader/BookReader.js +2 -32145
  3. package/BookReader/BookReader.js.map +1 -1
  4. package/BookReader/bookreader-component-bundle.js +1286 -11256
  5. package/BookReader/bookreader-component-bundle.js.map +1 -1
  6. package/BookReader/icons/1up.svg +1 -12
  7. package/BookReader/icons/2up.svg +1 -15
  8. package/BookReader/icons/advance.svg +3 -26
  9. package/BookReader/icons/chevron-right.svg +1 -1
  10. package/BookReader/icons/close-circle-dark.svg +1 -1
  11. package/BookReader/icons/close-circle.svg +1 -1
  12. package/BookReader/icons/fullscreen.svg +1 -17
  13. package/BookReader/icons/fullscreen_exit.svg +1 -17
  14. package/BookReader/icons/hamburger.svg +1 -15
  15. package/BookReader/icons/left-arrow.svg +1 -12
  16. package/BookReader/icons/magnify-minus.svg +1 -16
  17. package/BookReader/icons/magnify-plus.svg +1 -17
  18. package/BookReader/icons/magnify.svg +1 -15
  19. package/BookReader/icons/pause.svg +1 -23
  20. package/BookReader/icons/play.svg +1 -22
  21. package/BookReader/icons/playback-speed.svg +1 -34
  22. package/BookReader/icons/read-aloud.svg +1 -22
  23. package/BookReader/icons/review.svg +3 -22
  24. package/BookReader/icons/thumbnails.svg +1 -17
  25. package/BookReader/icons/voice.svg +1 -1
  26. package/BookReader/icons/volume-full.svg +1 -22
  27. package/BookReader/images/BRicons.svg +5 -94
  28. package/BookReader/images/books_graphic.svg +1 -177
  29. package/BookReader/images/icon_book.svg +1 -12
  30. package/BookReader/images/icon_bookmark.svg +1 -12
  31. package/BookReader/images/icon_gear.svg +1 -14
  32. package/BookReader/images/icon_hamburger.svg +1 -20
  33. package/BookReader/images/icon_home.svg +1 -21
  34. package/BookReader/images/icon_info.svg +1 -11
  35. package/BookReader/images/icon_one_page.svg +1 -8
  36. package/BookReader/images/icon_pause.svg +1 -1
  37. package/BookReader/images/icon_play.svg +1 -1
  38. package/BookReader/images/icon_playback-rate.svg +1 -15
  39. package/BookReader/images/icon_search_button.svg +1 -8
  40. package/BookReader/images/icon_share.svg +1 -9
  41. package/BookReader/images/icon_skip-ahead.svg +1 -6
  42. package/BookReader/images/icon_skip-back.svg +2 -13
  43. package/BookReader/images/icon_speaker.svg +1 -18
  44. package/BookReader/images/icon_speaker_open.svg +1 -10
  45. package/BookReader/images/icon_thumbnails.svg +1 -12
  46. package/BookReader/images/icon_toc.svg +1 -5
  47. package/BookReader/images/icon_two_pages.svg +1 -9
  48. package/BookReader/images/marker_chap-off.svg +1 -11
  49. package/BookReader/images/marker_chap-on.svg +1 -11
  50. package/BookReader/images/marker_srch-on.svg +1 -11
  51. package/BookReader/jquery-1.10.1.js +2 -108
  52. package/BookReader/plugins/plugin.archive_analytics.js +1 -170
  53. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  54. package/BookReader/plugins/plugin.autoplay.js +1 -163
  55. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  56. package/BookReader/plugins/plugin.chapters.js +1 -333
  57. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  58. package/BookReader/plugins/plugin.iframe.js +1 -72
  59. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  60. package/BookReader/plugins/plugin.mobile_nav.js +1 -332
  61. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  62. package/BookReader/plugins/plugin.resume.js +1 -241
  63. package/BookReader/plugins/plugin.resume.js.map +1 -1
  64. package/BookReader/plugins/plugin.search.js +1 -1263
  65. package/BookReader/plugins/plugin.search.js.map +1 -1
  66. package/BookReader/plugins/plugin.text_selection.js +1 -839
  67. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  68. package/BookReader/plugins/plugin.tts.js +2 -9114
  69. package/BookReader/plugins/plugin.tts.js.map +1 -1
  70. package/BookReader/plugins/plugin.url.js +1 -768
  71. package/BookReader/plugins/plugin.url.js.map +1 -1
  72. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -326
  73. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  74. package/BookReader/webcomponents-bundle.js +2 -411
  75. package/BookReader/webcomponents-bundle.js.map +1 -1
  76. package/BookReaderDemo/demo-internetarchive.html +86 -4
  77. package/CHANGELOG.md +5 -0
  78. package/package.json +1 -1
  79. package/src/BookNavigator/bookmarks/ia-bookmarks.js +1 -0
  80. package/src/BookNavigator/volumes/volumes-provider.js +9 -40
  81. package/src/BookReader.js +102 -64
  82. package/src/css/_controls.scss +4 -0
  83. package/src/plugins/plugin.url.js +2 -218
  84. package/tests/jest/BookReader.keyboard.test.js +190 -0
  85. package/tests/jest/plugins/plugin.url.test.js +1 -151
  86. package/.nvmrc +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plugins/plugin.mobile_nav.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./src/plugins/plugin.mobile_nav.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/js/jquery.mmenu.min.js"],"sourcesContent":["/* global BookReader */\n/**\n * Adds mobile navigation at responsive breakpoint\n */\n\nimport * as utils from '../BookReader/utils.js';\nimport 'jquery.mmenu/dist/js/jquery.mmenu.min.js';\nimport 'jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js';\n\n//contains all filters and labels for checkboxs\nconst FILTERLIST = [\n {\n filter: \"grayscale(100%)\",\n label: \"Grayscale\"\n },\n {\n filter: \"brightness(120%)\",\n label: \"High brightness\"\n },\n {\n filter: \"invert(100%)\",\n label: \"Inverted (dark mode)\"\n },\n {\n filter: \"contrast(120%)\",\n label: \"High contrast\"\n },\n];\n\njQuery.extend(BookReader.defaultOptions, {\n enableMobileNav: true,\n mobileNavTitle: 'Internet Archive',\n mobileNavFullscreenOnly: false,\n});\n\nBookReader.prototype.setup = (function(super_) {\n return function (options) {\n super_.call(this, options);\n\n this.enableMobileNav = options.enableMobileNav;\n this.mobileNavTitle = options.mobileNavTitle;\n this.mobileNavFullscreenOnly = options.mobileNavFullscreenOnly;\n\n this.refs.$mmenu = null;\n };\n})(BookReader.prototype.setup);\n\n\n// Extend initToolbar\nBookReader.prototype.initToolbar = (function (super_) {\n return function (mode, ui) {\n let $mmenuEl;\n if (this.enableMobileNav) {\n const $drawerEl = this.buildMobileDrawerElement();\n this.refs.$br.append($drawerEl);\n\n // Render info into mobile info before mmenu\n this.buildInfoDiv(this.$('.BRmobileInfo'));\n this.buildShareDiv(this.$('.BRmobileShare'));\n\n $mmenuEl = $drawerEl;\n $mmenuEl.mmenu({\n navbars: [\n { \"position\": \"top\" },\n ],\n navbar: {\n add: true,\n title: this.mobileNavTitle,\n titleLink: 'panel'\n },\n extensions: [ \"panelshadow\" ],\n }, {\n offCanvas: {\n wrapPageIfNeeded: false,\n zposition: 'next',\n pageSelector: this.el,\n }\n });\n\n const $BRpageviewField = $mmenuEl.find('.BRpageviewValue');\n $mmenuEl.data('mmenu').bind('opened', () => {\n // Update \"Link to this page view\" link\n if ($BRpageviewField.length) {\n $BRpageviewField.val(window.location.href);\n }\n });\n\n //apply filters when checkboxs clicked\n $drawerEl.find('.BRcheckbox-filters')\n .on(\"click\", () => applyFilters($drawerEl, this));\n\n // Bind mobile switch buttons\n $drawerEl.find('.DrawerLayoutButton.one_page_mode')\n .on(\"click\", () => this.switchMode(this.constMode1up));\n $drawerEl.find('.DrawerLayoutButton.two_page_mode')\n .on(\"click\", () => this.switchMode(this.constMode2up));\n $drawerEl.find('.DrawerLayoutButton.thumbnail_mode')\n .on(\"click\", () => this.switchMode(this.constModeThumb));\n\n if (this.mobileNavFullscreenOnly) {\n $(document.body).addClass('BRbodyMobileNavEnabledFullscreen');\n } else {\n $(document.body).addClass('BRbodyMobileNavEnabled');\n }\n\n this.refs.$mmenu = $mmenuEl;\n\n }\n\n // Call the parent method at the end, because it binds events to DOM\n super_.apply(this, arguments);\n\n\n if (this.enableMobileNav) {\n // Need to bind more, console after toolbar is initialized\n this.$('.BRmobileHamburger').click(() => {\n if ($mmenuEl.data('mmenu').getInstance().vars.opened) {\n $mmenuEl.data('mmenu').close();\n } else {\n $mmenuEl.data('mmenu').open();\n this.trigger(\"mobileNavOpen\");\n }\n });\n\n\n const closeMobileMenu = (e) => {\n // Need to close the mobile menu to reset DOM & Style\n // driven by menu plugin\n const width = $( window ).width();\n const mobileMenuIsOpen = $mmenuEl.data('mmenu').getInstance().vars.opened;\n // $brBreakPointMobile: 800px;\n if (mobileMenuIsOpen && (width >= 800)) {\n $mmenuEl.data('mmenu').close ();\n }\n };\n\n window.addEventListener('resize', utils.debounce(closeMobileMenu, 900));\n }\n };\n})(BookReader.prototype.initToolbar);\n\n\nBookReader.prototype.buildToolbarElement = (function (super_) {\n return function () {\n const $el = super_.call(this);\n if (this.enableMobileNav) {\n const escapedTitle = BookReader.util.escapeHTML(this.bookTitle);\n const toolbar = `\n <span class=\"BRmobileHamburgerWrapper\">\n <button class=\"BRmobileHamburger\"></button>\n <span class=\"BRtoolbarMobileTitle\" title=\"${escapedTitle}\">${escapedTitle}</span>\n </span>\n `;\n $el\n .addClass('responsive')\n .prepend($(toolbar));\n }\n return $el;\n };\n})(BookReader.prototype.buildToolbarElement);\n\n/**\n * This method builds the html for the mobile drawer. It can be decorated to\n * extend the default drawer.\n * @return {jqueryElement}\n */\nBookReader.prototype.buildMobileDrawerElement = function() {\n let experimentalHtml = '';\n //builds filters checkbox html\n if (this.enableExperimentalControls) {\n experimentalHtml = `\n <p class=\"DrawerSettingsTitle\">Visual Adjustment</p>\n <div class=\"BRcheckbox-group-filters\">\n `;\n FILTERLIST.forEach( (el, i) => {\n const checkboxHtml = `\n <input type=\"checkbox\" class=\"BRcheckbox-filters\" id=\"filter${i}\">\n <label for=\"filter${i}\" class=\"BRcheckbox-label-filters\">${el.label}</label><br>\n \n `;\n experimentalHtml = experimentalHtml.concat(checkboxHtml);\n });\n experimentalHtml = experimentalHtml.concat(\"</div>\");\n }\n\n\n const settingsSection = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${`${this.imagesBaseURL}icon_gear.svg`}\" alt=\"settings-icon\"/>\n </span>\n Settings\n </span>\n <div class=DrawerSettingsWrapper>\n <div class=\"DrawerSettingsLayoutWrapper\">\n <button class=\"DrawerLayoutButton one_page_mode\">\n <img src=\"${this.imagesBaseURL}icon_one_page.svg\" alt=\"Single Page\"/>\n <br>\n One Page\n </button>\n <button class=\"DrawerLayoutButton two_page_mode TwoPagesButton\">\n <img src=\"${this.imagesBaseURL}icon_two_pages.svg\" alt=\"Two Pages\"/>\n <br>\n Two Pages\n </button>\n <button class=\"DrawerLayoutButton thumbnail_mode\">\n <img src=\"${this.imagesBaseURL}icon_thumbnails.svg\" alt=\"Thumbnails\"/>\n <br>\n Thumbnails\n </button>\n </div>\n <br>\n <div class=\"DrawerSettingsTitle\">Zoom</div>\n <button class='BRicon zoom_out'></button>\n <button class='BRicon zoom_in'></button>\n <br style=\"clear:both\"><br><br>\n ${experimentalHtml}\n </div>\n `;\n const moreInfo = `\n <span>\n <span class=\"DrawerIconWrapper \">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_info.svg\" alt=\"info-icon\"/>\n </span>\n About This Book\n </span>\n <div class=\"BRmobileInfo\"></div>\n `;\n const share = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_share.svg\" alt=\"info-share\"/>\n </span>\n Share This Book\n </span>\n <div class=\"BRmobileShare\"></div>\n `;\n const navMenu = `\n <nav id=\"BRmobileMenu\" class=\"BRmobileMenu\">\n <ul>\n <li class=\"BRmobileMenu__settings\">${settingsSection}</li>\n <li class=\"BRmobileMenu__moreInfoRow\">${moreInfo}</li>\n <li class=\"BRmobileMenu__share\">${share}</li>\n </ul>\n </nav>\n `;\n\n const $el = $(navMenu);\n return $el;\n};\n\n/**\n * Mmenu moves itself out side of the root BookReader element, so we need to\n * include it in the scoped $ function.\n */\nBookReader.prototype.$ = (function (super_) {\n return function (arg) {\n let $results = super_.call(this, arg);\n if (this.refs.$mmenu) {\n $results = $results.add(this.refs.$mmenu.find(arg));\n }\n return $results;\n };\n})(BookReader.prototype.$);\n\n/**\n* Dynamically creates styles combining different filters for BookReaders imgs\n* based on filters checkbox\n*/\nconst applyFilters = (drawerEl, br) => {\n let filterStr = \"\";\n\n $('.BRcheckbox-filters').each(\n (i, el) => {\n br.refs.$br.removeClass(\"filter-applied\");\n if ($(el).is(':checked')) {\n br.refs.$br.addClass($(el).attr(\"filter-applied\"));\n filterStr = filterStr + FILTERLIST[i].filter;\n }\n }\n );\n const filtersSheet = $(\"#filtersStyle\")[0] || document.createElement('style');\n filtersSheet.id = \"filtersStyle\";\n filtersSheet.innerHTML = `.BRpagecontainer img {\n filter: ${filterStr};\n -webkit-filter: ${filterStr};}`;\n document.body.appendChild(filtersSheet);\n};\n","/*\t\n * jQuery mmenu navbar addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\n!function(n){var a=\"mmenu\",t=\"navbars\";n[a].addons[t]={setup:function(){var r=this,s=this.opts[t],c=this.conf[t];if(i=n[a].glbl,\"undefined\"!=typeof s){s instanceof Array||(s=[s]);var o={};n.each(s,function(i){var d=s[i];\"boolean\"==typeof d&&d&&(d={}),\"object\"!=typeof d&&(d={}),\"undefined\"==typeof d.content&&(d.content=[\"prev\",\"title\"]),d.content instanceof Array||(d.content=[d.content]),d=n.extend(!0,{},r.opts.navbar,d);var l=d.position,h=d.height;\"number\"!=typeof h&&(h=1),h=Math.min(4,Math.max(1,h)),\"bottom\"!=l&&(l=\"top\"),o[l]||(o[l]=0),o[l]++;var f=n(\"<div />\").addClass(e.navbar+\" \"+e.navbar+\"-\"+l+\" \"+e.navbar+\"-\"+l+\"-\"+o[l]+\" \"+e.navbar+\"-size-\"+h);o[l]+=h-1;for(var u=0,v=0,p=d.content.length;p>v;v++){var b=n[a].addons[t][d.content[v]]||!1;b?u+=b.call(r,f,d,c):(b=d.content[v],b instanceof n||(b=n(d.content[v])),f.append(b))}u+=Math.ceil(f.children().not(\".\"+e.btn).length/h),u>1&&f.addClass(e.navbar+\"-content-\"+u),f.children(\".\"+e.btn).length&&f.addClass(e.hasbtns),f.prependTo(r.$menu)});for(var d in o)r.$menu.addClass(e.hasnavbar+\"-\"+d+\"-\"+o[d])}},add:function(){e=n[a]._c,r=n[a]._d,s=n[a]._e,e.add(\"close hasbtns\")},clickAnchor:function(n,a){}},n[a].configuration[t]={breadcrumbSeparator:\"/\"},n[a].configuration.classNames[t]={};var e,r,s,i}(jQuery),/*\t\n * jQuery mmenu navbar addon breadcrumbs content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"breadcrumbs\";n[a].addons[t][e]=function(t,e,r){var s=n[a]._c,i=n[a]._d;s.add(\"breadcrumbs separator\");var c=n('<span class=\"'+s.breadcrumbs+'\" />').appendTo(t);this.bind(\"init\",function(a){a.removeClass(s.hasnavbar).each(function(){for(var a=[],t=n(this),e=n('<span class=\"'+s.breadcrumbs+'\"></span>'),c=n(this).children().first(),o=!0;c&&c.length;){c.is(\".\"+s.panel)||(c=c.closest(\".\"+s.panel));var d=c.children(\".\"+s.navbar).children(\".\"+s.title).text();a.unshift(o?\"<span>\"+d+\"</span>\":'<a href=\"#'+c.attr(\"id\")+'\">'+d+\"</a>\"),o=!1,c=c.data(i.parent)}e.append(a.join('<span class=\"'+s.separator+'\">'+r.breadcrumbSeparator+\"</span>\")).appendTo(t.children(\".\"+s.navbar))})});var o=function(){c.html(this.$pnls.children(\".\"+s.current).children(\".\"+s.navbar).children(\".\"+s.breadcrumbs).html())};return this.bind(\"openPanel\",o),this.bind(\"init\",o),0}}(jQuery),/*\t\n * jQuery mmenu navbar addon close content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"close\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n[a].glbl,i=n('<a class=\"'+r.close+\" \"+r.btn+'\" href=\"#\" />').appendTo(t),c=function(n){i.attr(\"href\",\"#\"+n.attr(\"id\"))};return c.call(this,s.$page),this.bind(\"setPage\",c),-1}}(jQuery),/*\t\n * jQuery mmenu navbar addon next content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"next\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.next+\" \"+c.btn+'\" href=\"#\" />').appendTo(e),d=function(n){n=n||this.$pnls.children(\".\"+c.current);var a=n.find(\".\"+this.conf.classNames[t].panelNext);s=a.attr(\"href\"),i=a.html(),o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelNext=\"Next\"}(jQuery),/*\t\n * jQuery mmenu navbar addon prev content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"prev\";n[a].addons[t][e]=function(e,r){var s=n[a]._c,i=n('<a class=\"'+s.prev+\" \"+s.btn+'\" href=\"#\" />').appendTo(e);this.bind(\"init\",function(n){n.removeClass(s.hasnavbar).children(\".\"+s.navbar).addClass(s.hidden)});var c,o,d=function(n){if(n=n||this.$pnls.children(\".\"+s.current),!n.hasClass(s.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelPrev);a.length||(a=n.children(\".\"+s.navbar).children(\".\"+s.prev)),c=a.attr(\"href\"),o=a.html(),i[c?\"attr\":\"removeAttr\"](\"href\",c),i[c||o?\"removeClass\":\"addClass\"](s.hidden),i.html(o)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelPrev=\"Prev\"}(jQuery),/*\t\n * jQuery mmenu navbar addon searchfield content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"searchfield\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n('<div class=\"'+r.search+'\" />').appendTo(t);return\"object\"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=s,0}}(jQuery),/*\t\n * jQuery mmenu navbar addon title content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"title\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.title+'\" />').appendTo(e),d=function(n){if(n=n||this.$pnls.children(\".\"+c.current),!n.hasClass(c.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelTitle);a.length||(a=n.children(\".\"+c.navbar).children(\".\"+c.title)),s=a.attr(\"href\"),i=a.html()||r.title,o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(n){d.call(this)}),0},n[a].configuration.classNames[t].panelTitle=\"Title\"}(jQuery);","/*\n * jQuery mmenu v5.6.5\n * @requires jQuery 1.7.0 or later\n *\n * mmenu.frebsite.nl\n *\t\n * Copyright (c) Fred Heusschen\n * www.frebsite.nl\n *\n * License: CC-BY-NC-4.0\n * http://creativecommons.org/licenses/by-nc/4.0/\n */\n!function(e){function t(){e[n].glbl||(r={$wndw:e(window),$docu:e(document),$html:e(\"html\"),$body:e(\"body\")},i={},a={},o={},e.each([i,a,o],function(e,t){t.add=function(e){e=e.split(\" \");for(var n=0,s=e.length;s>n;n++)t[e[n]]=t.mm(e[n])}}),i.mm=function(e){return\"mm-\"+e},i.add(\"wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen\"),i.umm=function(e){return\"mm-\"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return\"mm-\"+e},a.add(\"parent sub\"),o.mm=function(e){return e+\".mm\"},o.add(\"transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange\"),e[n]._c=i,e[n]._d=a,e[n]._e=o,e[n].glbl=r)}var n=\"mmenu\",s=\"5.6.4\";if(!(e[n]&&e[n].version>s)){e[n]=function(e,t,n){this.$menu=e,this._api=[\"bind\",\"init\",\"update\",\"setSelected\",\"getInstance\",\"openPanel\",\"closePanel\",\"closeAllPanels\"],this.opts=t,this.conf=n,this.vars={},this.cbck={},\"function\"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),\"function\"==typeof this.___debug&&this.___debug(),this},e[n].version=s,e[n].addons={},e[n].uniqueId=0,e[n].defaults={extensions:[],navbar:{add:!0,title:\"Menu\",titleLink:\"panel\"},onClick:{setSelected:!0},slidingSubmenus:!0},e[n].configuration={classNames:{divider:\"Divider\",inset:\"Inset\",panel:\"Panel\",selected:\"Selected\",spacer:\"Spacer\",vertical:\"Vertical\"},clone:!1,openingInterval:25,panelNodetype:\"ul, ol, div\",transitionDuration:400},e[n].prototype={init:function(e){e=e.not(\".\"+i.nopanel),e=this._initPanels(e),this.trigger(\"init\",e),this.trigger(\"update\")},update:function(){this.trigger(\"update\")},setSelected:function(e){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected),e.addClass(i.selected),this.trigger(\"setSelected\",e)},openPanel:function(t){var s=t.parent(),a=this;if(s.hasClass(i.vertical)){var o=s.parents(\".\"+i.subopened);if(o.length)return void this.openPanel(o.first());s.addClass(i.opened),this.trigger(\"openPanel\",t),this.trigger(\"openingPanel\",t),this.trigger(\"openedPanel\",t)}else{if(t.hasClass(i.current))return;var r=this.$pnls.children(\".\"+i.panel),l=r.filter(\".\"+i.current);r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not(\".\"+i.vertical).addClass(i.hidden),e[n].support.csstransitions||l.addClass(i.hidden),t.hasClass(i.opened)?t.nextAll(\".\"+i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(t.addClass(i.highest),l.addClass(i.subopened)),t.removeClass(i.hidden).addClass(i.current),a.trigger(\"openPanel\",t),setTimeout(function(){t.removeClass(i.subopened).addClass(i.opened),a.trigger(\"openingPanel\",t),a.__transitionend(t,function(){a.trigger(\"openedPanel\",t)},a.conf.transitionDuration)},this.conf.openingInterval)}},closePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&(t.removeClass(i.opened),this.trigger(\"closePanel\",e),this.trigger(\"closingPanel\",e),this.trigger(\"closedPanel\",e))},closeAllPanels:function(){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected).filter(\".\"+i.vertical).removeClass(i.opened);var e=this.$pnls.children(\".\"+i.panel),t=e.first();this.$pnls.children(\".\"+i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden),this.openPanel(t)},togglePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&this[t.hasClass(i.opened)?\"closePanel\":\"openPanel\"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=this,t=Array.prototype.slice.call(arguments),n=t.shift();if(this.cbck[n])for(var s=0,i=this.cbck[n].length;i>s;s++)this.cbck[n][s].apply(e,t)},_initMenu:function(){this.$menu.attr(\"id\",this.$menu.attr(\"id\")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find(\"[id]\")).filter(\"[id]\").each(function(){e(this).attr(\"id\",i.mm(e(this).attr(\"id\")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$pnls=e('<div class=\"'+i.panels+'\" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(i.wrapper);var t=[i.menu];this.opts.slidingSubmenus||t.push(i.vertical),this.opts.extensions=this.opts.extensions.length?\"mm-\"+this.opts.extensions.join(\" mm-\"):\"\",this.opts.extensions&&t.push(this.opts.extensions),this.$menu.addClass(t.join(\" \"))},_initPanels:function(t){var n=this,s=this.__findAddBack(t,\"ul, ol\");this.__refactorClass(s,this.conf.classNames.inset,\"inset\").addClass(i.nolistview+\" \"+i.nopanel),s.not(\".\"+i.nolistview).addClass(i.listview);var o=this.__findAddBack(t,\".\"+i.listview).children();this.__refactorClass(o,this.conf.classNames.selected,\"selected\"),this.__refactorClass(o,this.conf.classNames.divider,\"divider\"),this.__refactorClass(o,this.conf.classNames.spacer,\"spacer\"),this.__refactorClass(this.__findAddBack(t,\".\"+this.conf.classNames.panel),this.conf.classNames.panel,\"panel\");var r=e(),l=t.add(t.find(\".\"+i.panel)).add(this.__findAddBack(t,\".\"+i.listview).children().children(this.conf.panelNodetype)).not(\".\"+i.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,\"vertical\"),this.opts.slidingSubmenus||l.addClass(i.vertical),l.each(function(){var t=e(this),s=t;t.is(\"ul, ol\")?(t.wrap('<div class=\"'+i.panel+'\" />'),s=t.parent()):s.addClass(i.panel);var a=t.attr(\"id\");t.removeAttr(\"id\"),s.attr(\"id\",a||n.__getUniqueId()),t.hasClass(i.vertical)&&(t.removeClass(n.conf.classNames.vertical),s.add(s.parent()).addClass(i.vertical)),r=r.add(s)});var d=e(\".\"+i.panel,this.$menu);r.each(function(t){var s,o,r=e(this),l=r.parent(),d=l.children(\"a, span\").first();if(l.is(\".\"+i.panels)||(l.data(a.sub,r),r.data(a.parent,l)),l.children(\".\"+i.next).length||l.parent().is(\".\"+i.listview)&&(s=r.attr(\"id\"),o=e('<a class=\"'+i.next+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').insertBefore(d),d.is(\"span\")&&o.addClass(i.fullsubopen)),!r.children(\".\"+i.navbar).length&&!l.hasClass(i.vertical)){l.parent().is(\".\"+i.listview)?l=l.closest(\".\"+i.panel):(d=l.closest(\".\"+i.panel).find('a[href=\"#'+r.attr(\"id\")+'\"]').first(),l=d.closest(\".\"+i.panel));var c=!1,p=e('<div class=\"'+i.navbar+'\" />');if(n.opts.navbar.add&&r.addClass(i.hasnavbar),l.length){switch(s=l.attr(\"id\"),n.opts.navbar.titleLink){case\"anchor\":c=d.attr(\"href\");break;case\"panel\":case\"parent\":c=\"#\"+s;break;default:c=!1}p.append('<a class=\"'+i.btn+\" \"+i.prev+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').append(e('<a class=\"'+i.title+'\"'+(c?' href=\"'+c+'\"':\"\")+\" />\").text(d.text())).prependTo(r)}else n.opts.navbar.title&&p.append('<a class=\"'+i.title+'\">'+n.opts.navbar.title+\"</a>\").prependTo(r)}});var c=this.__findAddBack(t,\".\"+i.listview).children(\".\"+i.selected).removeClass(i.selected).last().addClass(i.selected);c.add(c.parentsUntil(\".\"+i.menu,\"li\")).filter(\".\"+i.vertical).addClass(i.opened).end().each(function(){e(this).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened)}),c.children(\".\"+i.panel).not(\".\"+i.vertical).addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened);var p=d.filter(\".\"+i.opened);return p.length||(p=r.first()),p.addClass(i.opened).last().addClass(i.current),r.not(\".\"+i.vertical).not(p.last()).addClass(i.hidden).end().filter(function(){return!e(this).parent().hasClass(i.panels)}).appendTo(this.$pnls),r},_initAnchors:function(){var t=this;r.$body.on(o.click+\"-oncanvas\",\"a[href]\",function(s){var a=e(this),o=!1,r=t.$menu.find(a).length;for(var l in e[n].addons)if(e[n].addons[l].clickAnchor.call(t,a,r)){o=!0;break}var d=a.attr(\"href\");if(!o&&r&&d.length>1&&\"#\"==d.slice(0,1))try{var c=e(d,t.$menu);c.is(\".\"+i.panel)&&(o=!0,t[a.parent().hasClass(i.vertical)?\"togglePanel\":\"openPanel\"](c))}catch(p){}if(o&&s.preventDefault(),!o&&r&&a.is(\".\"+i.listview+\" > li > a\")&&!a.is('[rel=\"external\"]')&&!a.is('[target=\"_blank\"]')){t.__valueOrFn(t.opts.onClick.setSelected,a)&&t.setSelected(e(s.target).parent());var h=t.__valueOrFn(t.opts.onClick.preventDefault,a,\"#\"==d.slice(0,1));h&&s.preventDefault(),t.__valueOrFn(t.opts.onClick.close,a,h)&&t.close()}})},_initAddons:function(){var t;for(t in e[n].addons)e[n].addons[t].add.call(this),e[n].addons[t].add=function(){};for(t in e[n].addons)e[n].addons[t].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr(\"id\");return e&&e.length&&this.conf.clone&&(e=i.umm(e)),e},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return\"undefined\"==typeof e?n:e}}),n},__valueOrFn:function(e,t,n){return\"function\"==typeof e?e.call(t[0]):\"undefined\"==typeof e&&\"undefined\"!=typeof n?n:e},__refactorClass:function(e,t,n){return e.filter(\".\"+t).removeClass(t).addClass(i[n])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not(\".\"+i.divider).not(\".\"+i.hidden)},__transitionend:function(e,t,n){var s=!1,i=function(){s||t.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return i.mm(e[n].uniqueId++)}},e.fn[n]=function(s,i){return t(),s=e.extend(!0,{},e[n].defaults,s),i=e.extend(!0,{},e[n].configuration,i),this.each(function(){var t=e(this);if(!t.data(n)){var a=new e[n](t,s,i);a.$menu.data(n,a.__api())}})},e[n].support={touch:\"ontouchstart\"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if(\"undefined\"!=typeof Modernizr&&\"undefined\"!=typeof Modernizr.csstransitions)return Modernizr.csstransitions;var e=document.body||document.documentElement,t=e.style,n=\"transition\";if(\"string\"==typeof t[n])return!0;var s=[\"Moz\",\"webkit\",\"Webkit\",\"Khtml\",\"O\",\"ms\"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var i=0;i<s.length;i++)if(\"string\"==typeof t[s[i]+n])return!0;return!1}()};var i,a,o,r}}(jQuery),/*\t\n * jQuery mmenu offCanvas addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"offCanvas\";e[t].addons[n]={setup:function(){if(this.opts[n]){var i=this.opts[n],a=this.conf[n];o=e[t].glbl,this._api=e.merge(this._api,[\"open\",\"close\",\"setPage\"]),(\"top\"==i.position||\"bottom\"==i.position)&&(i.zposition=\"front\"),\"string\"!=typeof a.pageSelector&&(a.pageSelector=\"> \"+a.pageNodetype),o.$allMenus=(o.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];\"left\"!=i.position&&r.push(s.mm(i.position)),\"back\"!=i.zposition&&r.push(s.mm(i.zposition)),this.$menu.addClass(r.join(\" \")).parent().removeClass(s.wrapper),this.setPage(o.$page),this._initBlocker(),this[\"_initWindow_\"+n](),this.$menu[a.menuInjectMethod+\"To\"](a.menuWrapperSelector);var l=window.location.hash;if(l){var d=this._getOriginalMenuId();d&&d==l.slice(1)&&this.open()}}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e,s.add(\"offcanvas slideout blocking modal background opening blocker page\"),i.add(\"style\"),a.add(\"resize\")},clickAnchor:function(e,t){if(!this.opts[n])return!1;var s=this._getOriginalMenuId();if(s&&e.is('[href=\"#'+s+'\"]'))return this.open(),!0;if(o.$page)return s=o.$page.first().attr(\"id\"),s&&e.is('[href=\"#'+s+'\"]')?(this.close(),!0):!1}},e[t].defaults[n]={position:\"left\",zposition:\"back\",blockUI:!0,moveBackground:!0},e[t].configuration[n]={pageNodetype:\"div\",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:\"body\",menuInjectMethod:\"prepend\"},e[t].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),this.trigger(\"open\")}},e[t].prototype._openSetup=function(){var t=this,r=this.opts[n];this.closeAllOthers(),o.$page.each(function(){e(this).data(i.style,e(this).attr(\"style\")||\"\")}),o.$wndw.trigger(a.resize+\"-\"+n,[!0]);var l=[s.opened];r.blockUI&&l.push(s.blocking),\"modal\"==r.blockUI&&l.push(s.modal),r.moveBackground&&l.push(s.background),\"left\"!=r.position&&l.push(s.mm(this.opts[n].position)),\"back\"!=r.zposition&&l.push(s.mm(this.opts[n].zposition)),this.opts.extensions&&l.push(this.opts.extensions),o.$html.addClass(l.join(\" \")),setTimeout(function(){t.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+\" \"+s.opened)},e[t].prototype._openFinish=function(){var e=this;this.__transitionend(o.$page.first(),function(){e.trigger(\"opened\")},this.conf.transitionDuration),o.$html.addClass(s.opening),this.trigger(\"opening\")},e[t].prototype.close=function(){if(this.vars.opened){var t=this;this.__transitionend(o.$page.first(),function(){t.$menu.removeClass(s.current).removeClass(s.opened),o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)),t.opts.extensions&&o.$html.removeClass(t.opts.extensions),o.$page.each(function(){e(this).attr(\"style\",e(this).data(i.style))}),t.vars.opened=!1,t.trigger(\"closed\")},this.conf.transitionDuration),o.$html.removeClass(s.opening),this.trigger(\"close\"),this.trigger(\"closing\")}},e[t].prototype.closeAllOthers=function(){o.$allMenus.not(this.$menu).each(function(){var n=e(this).data(t);n&&n.close&&n.close()})},e[t].prototype.setPage=function(t){var i=this,a=this.conf[n];t&&t.length||(t=o.$body.find(a.pageSelector),a.noPageSelector.length&&(t=t.not(a.noPageSelector.join(\", \"))),t.length>1&&a.wrapPageIfNeeded&&(t=t.wrapAll(\"<\"+this.conf[n].pageNodetype+\" />\").parent())),t.each(function(){e(this).attr(\"id\",e(this).attr(\"id\")||i.__getUniqueId())}),t.addClass(s.page+\" \"+s.slideout),o.$page=t,this.trigger(\"setPage\",t)},e[t].prototype[\"_initWindow_\"+n]=function(){o.$wndw.off(a.keydown+\"-\"+n).on(a.keydown+\"-\"+n,function(e){return o.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var e=0;o.$wndw.off(a.resize+\"-\"+n).on(a.resize+\"-\"+n,function(t,n){if(1==o.$page.length&&(n||o.$html.hasClass(s.opened))){var i=o.$wndw.height();(n||i!=e)&&(e=i,o.$page.css(\"minHeight\",i))}})},e[t].prototype._initBlocker=function(){var t=this;this.opts[n].blockUI&&(o.$blck||(o.$blck=e('<div id=\"'+s.blocker+'\" class=\"'+s.slideout+'\" />')),o.$blck.appendTo(o.$body).off(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n).on(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n,function(e){e.preventDefault(),e.stopPropagation(),o.$blck.trigger(a.mousedown+\"-\"+n)}).off(a.mousedown+\"-\"+n).on(a.mousedown+\"-\"+n,function(e){e.preventDefault(),o.$html.hasClass(s.modal)||(t.closeAllOthers(),t.close())}))};var s,i,a,o}(jQuery),/*\t\n * jQuery mmenu scrollBugFix addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"scrollBugFix\";e[t].addons[n]={setup:function(){var i=this,r=this.opts[n];this.conf[n];if(o=e[t].glbl,e[t].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&(\"boolean\"==typeof r&&(r={fix:r}),\"object\"!=typeof r&&(r={}),r=this.opts[n]=e.extend(!0,{},e[t].defaults[n],r),r.fix)){var l=this.$menu.attr(\"id\"),d=!1;this.bind(\"opening\",function(){this.$pnls.children(\".\"+s.current).scrollTop(0)}),o.$docu.on(a.touchmove,function(e){i.vars.opened&&e.preventDefault()}),o.$body.on(a.touchstart,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(e){i.vars.opened&&(d||(d=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),d=!1))}).on(a.touchmove,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(t){i.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&t.stopPropagation()}),o.$wndw.on(a.orientationchange,function(){i.$pnls.children(\".\"+s.current).scrollTop(0).css({\"-webkit-overflow-scrolling\":\"auto\"}).css({\"-webkit-overflow-scrolling\":\"touch\"})})}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e},clickAnchor:function(e,t){}},e[t].defaults[n]={fix:!0};var s,i,a,o}(jQuery);"],"names":["utils","FILTERLIST","filter","label","jQuery","extend","BookReader","defaultOptions","enableMobileNav","mobileNavTitle","mobileNavFullscreenOnly","prototype","setup","super_","options","call","refs","$mmenu","initToolbar","mode","ui","$mmenuEl","$drawerEl","buildMobileDrawerElement","$br","append","buildInfoDiv","$","buildShareDiv","mmenu","navbars","navbar","add","title","titleLink","extensions","offCanvas","wrapPageIfNeeded","zposition","pageSelector","el","$BRpageviewField","find","data","bind","length","val","window","location","href","on","applyFilters","switchMode","constMode1up","constMode2up","constModeThumb","document","body","addClass","apply","arguments","click","getInstance","vars","opened","close","open","trigger","closeMobileMenu","e","width","mobileMenuIsOpen","addEventListener","debounce","buildToolbarElement","$el","escapedTitle","util","escapeHTML","bookTitle","toolbar","prepend","experimentalHtml","enableExperimentalControls","forEach","i","checkboxHtml","concat","settingsSection","imagesBaseURL","moreInfo","share","navMenu","arg","$results","drawerEl","br","filterStr","each","removeClass","is","attr","filtersSheet","createElement","id","innerHTML","appendChild"],"sourceRoot":""}
1
+ {"version":3,"file":"plugins/plugin.mobile_nav.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./src/plugins/plugin.mobile_nav.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/js/jquery.mmenu.min.js"],"sourcesContent":["/* global BookReader */\n/**\n * Adds mobile navigation at responsive breakpoint\n */\n\nimport * as utils from '../BookReader/utils.js';\nimport 'jquery.mmenu/dist/js/jquery.mmenu.min.js';\nimport 'jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js';\n\n//contains all filters and labels for checkboxs\nconst FILTERLIST = [\n {\n filter: \"grayscale(100%)\",\n label: \"Grayscale\"\n },\n {\n filter: \"brightness(120%)\",\n label: \"High brightness\"\n },\n {\n filter: \"invert(100%)\",\n label: \"Inverted (dark mode)\"\n },\n {\n filter: \"contrast(120%)\",\n label: \"High contrast\"\n },\n];\n\njQuery.extend(BookReader.defaultOptions, {\n enableMobileNav: true,\n mobileNavTitle: 'Internet Archive',\n mobileNavFullscreenOnly: false,\n});\n\nBookReader.prototype.setup = (function(super_) {\n return function (options) {\n super_.call(this, options);\n\n this.enableMobileNav = options.enableMobileNav;\n this.mobileNavTitle = options.mobileNavTitle;\n this.mobileNavFullscreenOnly = options.mobileNavFullscreenOnly;\n\n this.refs.$mmenu = null;\n };\n})(BookReader.prototype.setup);\n\n\n// Extend initToolbar\nBookReader.prototype.initToolbar = (function (super_) {\n return function (mode, ui) {\n let $mmenuEl;\n if (this.enableMobileNav) {\n const $drawerEl = this.buildMobileDrawerElement();\n this.refs.$br.append($drawerEl);\n\n // Render info into mobile info before mmenu\n this.buildInfoDiv(this.$('.BRmobileInfo'));\n this.buildShareDiv(this.$('.BRmobileShare'));\n\n $mmenuEl = $drawerEl;\n $mmenuEl.mmenu({\n navbars: [\n { \"position\": \"top\" },\n ],\n navbar: {\n add: true,\n title: this.mobileNavTitle,\n titleLink: 'panel'\n },\n extensions: [ \"panelshadow\" ],\n }, {\n offCanvas: {\n wrapPageIfNeeded: false,\n zposition: 'next',\n pageSelector: this.el,\n }\n });\n\n const $BRpageviewField = $mmenuEl.find('.BRpageviewValue');\n $mmenuEl.data('mmenu').bind('opened', () => {\n // Update \"Link to this page view\" link\n if ($BRpageviewField.length) {\n $BRpageviewField.val(window.location.href);\n }\n });\n\n //apply filters when checkboxs clicked\n $drawerEl.find('.BRcheckbox-filters')\n .on(\"click\", () => applyFilters($drawerEl, this));\n\n // Bind mobile switch buttons\n $drawerEl.find('.DrawerLayoutButton.one_page_mode')\n .on(\"click\", () => this.switchMode(this.constMode1up));\n $drawerEl.find('.DrawerLayoutButton.two_page_mode')\n .on(\"click\", () => this.switchMode(this.constMode2up));\n $drawerEl.find('.DrawerLayoutButton.thumbnail_mode')\n .on(\"click\", () => this.switchMode(this.constModeThumb));\n\n if (this.mobileNavFullscreenOnly) {\n $(document.body).addClass('BRbodyMobileNavEnabledFullscreen');\n } else {\n $(document.body).addClass('BRbodyMobileNavEnabled');\n }\n\n this.refs.$mmenu = $mmenuEl;\n\n }\n\n // Call the parent method at the end, because it binds events to DOM\n super_.apply(this, arguments);\n\n\n if (this.enableMobileNav) {\n // Need to bind more, console after toolbar is initialized\n this.$('.BRmobileHamburger').click(() => {\n if ($mmenuEl.data('mmenu').getInstance().vars.opened) {\n $mmenuEl.data('mmenu').close();\n } else {\n $mmenuEl.data('mmenu').open();\n this.trigger(\"mobileNavOpen\");\n }\n });\n\n\n const closeMobileMenu = (e) => {\n // Need to close the mobile menu to reset DOM & Style\n // driven by menu plugin\n const width = $( window ).width();\n const mobileMenuIsOpen = $mmenuEl.data('mmenu').getInstance().vars.opened;\n // $brBreakPointMobile: 800px;\n if (mobileMenuIsOpen && (width >= 800)) {\n $mmenuEl.data('mmenu').close ();\n }\n };\n\n window.addEventListener('resize', utils.debounce(closeMobileMenu, 900));\n }\n };\n})(BookReader.prototype.initToolbar);\n\n\nBookReader.prototype.buildToolbarElement = (function (super_) {\n return function () {\n const $el = super_.call(this);\n if (this.enableMobileNav) {\n const escapedTitle = BookReader.util.escapeHTML(this.bookTitle);\n const toolbar = `\n <span class=\"BRmobileHamburgerWrapper\">\n <button class=\"BRmobileHamburger\"></button>\n <span class=\"BRtoolbarMobileTitle\" title=\"${escapedTitle}\">${escapedTitle}</span>\n </span>\n `;\n $el\n .addClass('responsive')\n .prepend($(toolbar));\n }\n return $el;\n };\n})(BookReader.prototype.buildToolbarElement);\n\n/**\n * This method builds the html for the mobile drawer. It can be decorated to\n * extend the default drawer.\n * @return {jqueryElement}\n */\nBookReader.prototype.buildMobileDrawerElement = function() {\n let experimentalHtml = '';\n //builds filters checkbox html\n if (this.enableExperimentalControls) {\n experimentalHtml = `\n <p class=\"DrawerSettingsTitle\">Visual Adjustment</p>\n <div class=\"BRcheckbox-group-filters\">\n `;\n FILTERLIST.forEach( (el, i) => {\n const checkboxHtml = `\n <input type=\"checkbox\" class=\"BRcheckbox-filters\" id=\"filter${i}\">\n <label for=\"filter${i}\" class=\"BRcheckbox-label-filters\">${el.label}</label><br>\n \n `;\n experimentalHtml = experimentalHtml.concat(checkboxHtml);\n });\n experimentalHtml = experimentalHtml.concat(\"</div>\");\n }\n\n\n const settingsSection = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${`${this.imagesBaseURL}icon_gear.svg`}\" alt=\"settings-icon\"/>\n </span>\n Settings\n </span>\n <div class=DrawerSettingsWrapper>\n <div class=\"DrawerSettingsLayoutWrapper\">\n <button class=\"DrawerLayoutButton one_page_mode\">\n <img src=\"${this.imagesBaseURL}icon_one_page.svg\" alt=\"Single Page\"/>\n <br>\n One Page\n </button>\n <button class=\"DrawerLayoutButton two_page_mode TwoPagesButton\">\n <img src=\"${this.imagesBaseURL}icon_two_pages.svg\" alt=\"Two Pages\"/>\n <br>\n Two Pages\n </button>\n <button class=\"DrawerLayoutButton thumbnail_mode\">\n <img src=\"${this.imagesBaseURL}icon_thumbnails.svg\" alt=\"Thumbnails\"/>\n <br>\n Thumbnails\n </button>\n </div>\n <br>\n <div class=\"DrawerSettingsTitle\">Zoom</div>\n <button class='BRicon zoom_out'></button>\n <button class='BRicon zoom_in'></button>\n <br style=\"clear:both\"><br><br>\n ${experimentalHtml}\n </div>\n `;\n const moreInfo = `\n <span>\n <span class=\"DrawerIconWrapper \">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_info.svg\" alt=\"info-icon\"/>\n </span>\n About This Book\n </span>\n <div class=\"BRmobileInfo\"></div>\n `;\n const share = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_share.svg\" alt=\"info-share\"/>\n </span>\n Share This Book\n </span>\n <div class=\"BRmobileShare\"></div>\n `;\n const navMenu = `\n <nav id=\"BRmobileMenu\" class=\"BRmobileMenu\">\n <ul>\n <li class=\"BRmobileMenu__settings\">${settingsSection}</li>\n <li class=\"BRmobileMenu__moreInfoRow\">${moreInfo}</li>\n <li class=\"BRmobileMenu__share\">${share}</li>\n </ul>\n </nav>\n `;\n\n const $el = $(navMenu);\n return $el;\n};\n\n/**\n * Mmenu moves itself out side of the root BookReader element, so we need to\n * include it in the scoped $ function.\n */\nBookReader.prototype.$ = (function (super_) {\n return function (arg) {\n let $results = super_.call(this, arg);\n if (this.refs.$mmenu) {\n $results = $results.add(this.refs.$mmenu.find(arg));\n }\n return $results;\n };\n})(BookReader.prototype.$);\n\n/**\n* Dynamically creates styles combining different filters for BookReaders imgs\n* based on filters checkbox\n*/\nconst applyFilters = (drawerEl, br) => {\n let filterStr = \"\";\n\n $('.BRcheckbox-filters').each(\n (i, el) => {\n br.refs.$br.removeClass(\"filter-applied\");\n if ($(el).is(':checked')) {\n br.refs.$br.addClass($(el).attr(\"filter-applied\"));\n filterStr = filterStr + FILTERLIST[i].filter;\n }\n }\n );\n const filtersSheet = $(\"#filtersStyle\")[0] || document.createElement('style');\n filtersSheet.id = \"filtersStyle\";\n filtersSheet.innerHTML = `.BRpagecontainer img {\n filter: ${filterStr};\n -webkit-filter: ${filterStr};}`;\n document.body.appendChild(filtersSheet);\n};\n","/*\t\n * jQuery mmenu navbar addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\n!function(n){var a=\"mmenu\",t=\"navbars\";n[a].addons[t]={setup:function(){var r=this,s=this.opts[t],c=this.conf[t];if(i=n[a].glbl,\"undefined\"!=typeof s){s instanceof Array||(s=[s]);var o={};n.each(s,function(i){var d=s[i];\"boolean\"==typeof d&&d&&(d={}),\"object\"!=typeof d&&(d={}),\"undefined\"==typeof d.content&&(d.content=[\"prev\",\"title\"]),d.content instanceof Array||(d.content=[d.content]),d=n.extend(!0,{},r.opts.navbar,d);var l=d.position,h=d.height;\"number\"!=typeof h&&(h=1),h=Math.min(4,Math.max(1,h)),\"bottom\"!=l&&(l=\"top\"),o[l]||(o[l]=0),o[l]++;var f=n(\"<div />\").addClass(e.navbar+\" \"+e.navbar+\"-\"+l+\" \"+e.navbar+\"-\"+l+\"-\"+o[l]+\" \"+e.navbar+\"-size-\"+h);o[l]+=h-1;for(var u=0,v=0,p=d.content.length;p>v;v++){var b=n[a].addons[t][d.content[v]]||!1;b?u+=b.call(r,f,d,c):(b=d.content[v],b instanceof n||(b=n(d.content[v])),f.append(b))}u+=Math.ceil(f.children().not(\".\"+e.btn).length/h),u>1&&f.addClass(e.navbar+\"-content-\"+u),f.children(\".\"+e.btn).length&&f.addClass(e.hasbtns),f.prependTo(r.$menu)});for(var d in o)r.$menu.addClass(e.hasnavbar+\"-\"+d+\"-\"+o[d])}},add:function(){e=n[a]._c,r=n[a]._d,s=n[a]._e,e.add(\"close hasbtns\")},clickAnchor:function(n,a){}},n[a].configuration[t]={breadcrumbSeparator:\"/\"},n[a].configuration.classNames[t]={};var e,r,s,i}(jQuery),/*\t\n * jQuery mmenu navbar addon breadcrumbs content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"breadcrumbs\";n[a].addons[t][e]=function(t,e,r){var s=n[a]._c,i=n[a]._d;s.add(\"breadcrumbs separator\");var c=n('<span class=\"'+s.breadcrumbs+'\" />').appendTo(t);this.bind(\"init\",function(a){a.removeClass(s.hasnavbar).each(function(){for(var a=[],t=n(this),e=n('<span class=\"'+s.breadcrumbs+'\"></span>'),c=n(this).children().first(),o=!0;c&&c.length;){c.is(\".\"+s.panel)||(c=c.closest(\".\"+s.panel));var d=c.children(\".\"+s.navbar).children(\".\"+s.title).text();a.unshift(o?\"<span>\"+d+\"</span>\":'<a href=\"#'+c.attr(\"id\")+'\">'+d+\"</a>\"),o=!1,c=c.data(i.parent)}e.append(a.join('<span class=\"'+s.separator+'\">'+r.breadcrumbSeparator+\"</span>\")).appendTo(t.children(\".\"+s.navbar))})});var o=function(){c.html(this.$pnls.children(\".\"+s.current).children(\".\"+s.navbar).children(\".\"+s.breadcrumbs).html())};return this.bind(\"openPanel\",o),this.bind(\"init\",o),0}}(jQuery),/*\t\n * jQuery mmenu navbar addon close content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"close\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n[a].glbl,i=n('<a class=\"'+r.close+\" \"+r.btn+'\" href=\"#\" />').appendTo(t),c=function(n){i.attr(\"href\",\"#\"+n.attr(\"id\"))};return c.call(this,s.$page),this.bind(\"setPage\",c),-1}}(jQuery),/*\t\n * jQuery mmenu navbar addon next content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"next\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.next+\" \"+c.btn+'\" href=\"#\" />').appendTo(e),d=function(n){n=n||this.$pnls.children(\".\"+c.current);var a=n.find(\".\"+this.conf.classNames[t].panelNext);s=a.attr(\"href\"),i=a.html(),o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelNext=\"Next\"}(jQuery),/*\t\n * jQuery mmenu navbar addon prev content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"prev\";n[a].addons[t][e]=function(e,r){var s=n[a]._c,i=n('<a class=\"'+s.prev+\" \"+s.btn+'\" href=\"#\" />').appendTo(e);this.bind(\"init\",function(n){n.removeClass(s.hasnavbar).children(\".\"+s.navbar).addClass(s.hidden)});var c,o,d=function(n){if(n=n||this.$pnls.children(\".\"+s.current),!n.hasClass(s.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelPrev);a.length||(a=n.children(\".\"+s.navbar).children(\".\"+s.prev)),c=a.attr(\"href\"),o=a.html(),i[c?\"attr\":\"removeAttr\"](\"href\",c),i[c||o?\"removeClass\":\"addClass\"](s.hidden),i.html(o)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelPrev=\"Prev\"}(jQuery),/*\t\n * jQuery mmenu navbar addon searchfield content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"searchfield\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n('<div class=\"'+r.search+'\" />').appendTo(t);return\"object\"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=s,0}}(jQuery),/*\t\n * jQuery mmenu navbar addon title content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"title\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.title+'\" />').appendTo(e),d=function(n){if(n=n||this.$pnls.children(\".\"+c.current),!n.hasClass(c.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelTitle);a.length||(a=n.children(\".\"+c.navbar).children(\".\"+c.title)),s=a.attr(\"href\"),i=a.html()||r.title,o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(n){d.call(this)}),0},n[a].configuration.classNames[t].panelTitle=\"Title\"}(jQuery);","/*\n * jQuery mmenu v5.6.5\n * @requires jQuery 1.7.0 or later\n *\n * mmenu.frebsite.nl\n *\t\n * Copyright (c) Fred Heusschen\n * www.frebsite.nl\n *\n * License: CC-BY-NC-4.0\n * http://creativecommons.org/licenses/by-nc/4.0/\n */\n!function(e){function t(){e[n].glbl||(r={$wndw:e(window),$docu:e(document),$html:e(\"html\"),$body:e(\"body\")},i={},a={},o={},e.each([i,a,o],function(e,t){t.add=function(e){e=e.split(\" \");for(var n=0,s=e.length;s>n;n++)t[e[n]]=t.mm(e[n])}}),i.mm=function(e){return\"mm-\"+e},i.add(\"wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen\"),i.umm=function(e){return\"mm-\"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return\"mm-\"+e},a.add(\"parent sub\"),o.mm=function(e){return e+\".mm\"},o.add(\"transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange\"),e[n]._c=i,e[n]._d=a,e[n]._e=o,e[n].glbl=r)}var n=\"mmenu\",s=\"5.6.4\";if(!(e[n]&&e[n].version>s)){e[n]=function(e,t,n){this.$menu=e,this._api=[\"bind\",\"init\",\"update\",\"setSelected\",\"getInstance\",\"openPanel\",\"closePanel\",\"closeAllPanels\"],this.opts=t,this.conf=n,this.vars={},this.cbck={},\"function\"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),\"function\"==typeof this.___debug&&this.___debug(),this},e[n].version=s,e[n].addons={},e[n].uniqueId=0,e[n].defaults={extensions:[],navbar:{add:!0,title:\"Menu\",titleLink:\"panel\"},onClick:{setSelected:!0},slidingSubmenus:!0},e[n].configuration={classNames:{divider:\"Divider\",inset:\"Inset\",panel:\"Panel\",selected:\"Selected\",spacer:\"Spacer\",vertical:\"Vertical\"},clone:!1,openingInterval:25,panelNodetype:\"ul, ol, div\",transitionDuration:400},e[n].prototype={init:function(e){e=e.not(\".\"+i.nopanel),e=this._initPanels(e),this.trigger(\"init\",e),this.trigger(\"update\")},update:function(){this.trigger(\"update\")},setSelected:function(e){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected),e.addClass(i.selected),this.trigger(\"setSelected\",e)},openPanel:function(t){var s=t.parent(),a=this;if(s.hasClass(i.vertical)){var o=s.parents(\".\"+i.subopened);if(o.length)return void this.openPanel(o.first());s.addClass(i.opened),this.trigger(\"openPanel\",t),this.trigger(\"openingPanel\",t),this.trigger(\"openedPanel\",t)}else{if(t.hasClass(i.current))return;var r=this.$pnls.children(\".\"+i.panel),l=r.filter(\".\"+i.current);r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not(\".\"+i.vertical).addClass(i.hidden),e[n].support.csstransitions||l.addClass(i.hidden),t.hasClass(i.opened)?t.nextAll(\".\"+i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(t.addClass(i.highest),l.addClass(i.subopened)),t.removeClass(i.hidden).addClass(i.current),a.trigger(\"openPanel\",t),setTimeout(function(){t.removeClass(i.subopened).addClass(i.opened),a.trigger(\"openingPanel\",t),a.__transitionend(t,function(){a.trigger(\"openedPanel\",t)},a.conf.transitionDuration)},this.conf.openingInterval)}},closePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&(t.removeClass(i.opened),this.trigger(\"closePanel\",e),this.trigger(\"closingPanel\",e),this.trigger(\"closedPanel\",e))},closeAllPanels:function(){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected).filter(\".\"+i.vertical).removeClass(i.opened);var e=this.$pnls.children(\".\"+i.panel),t=e.first();this.$pnls.children(\".\"+i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden),this.openPanel(t)},togglePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&this[t.hasClass(i.opened)?\"closePanel\":\"openPanel\"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=this,t=Array.prototype.slice.call(arguments),n=t.shift();if(this.cbck[n])for(var s=0,i=this.cbck[n].length;i>s;s++)this.cbck[n][s].apply(e,t)},_initMenu:function(){this.$menu.attr(\"id\",this.$menu.attr(\"id\")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find(\"[id]\")).filter(\"[id]\").each(function(){e(this).attr(\"id\",i.mm(e(this).attr(\"id\")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$pnls=e('<div class=\"'+i.panels+'\" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(i.wrapper);var t=[i.menu];this.opts.slidingSubmenus||t.push(i.vertical),this.opts.extensions=this.opts.extensions.length?\"mm-\"+this.opts.extensions.join(\" mm-\"):\"\",this.opts.extensions&&t.push(this.opts.extensions),this.$menu.addClass(t.join(\" \"))},_initPanels:function(t){var n=this,s=this.__findAddBack(t,\"ul, ol\");this.__refactorClass(s,this.conf.classNames.inset,\"inset\").addClass(i.nolistview+\" \"+i.nopanel),s.not(\".\"+i.nolistview).addClass(i.listview);var o=this.__findAddBack(t,\".\"+i.listview).children();this.__refactorClass(o,this.conf.classNames.selected,\"selected\"),this.__refactorClass(o,this.conf.classNames.divider,\"divider\"),this.__refactorClass(o,this.conf.classNames.spacer,\"spacer\"),this.__refactorClass(this.__findAddBack(t,\".\"+this.conf.classNames.panel),this.conf.classNames.panel,\"panel\");var r=e(),l=t.add(t.find(\".\"+i.panel)).add(this.__findAddBack(t,\".\"+i.listview).children().children(this.conf.panelNodetype)).not(\".\"+i.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,\"vertical\"),this.opts.slidingSubmenus||l.addClass(i.vertical),l.each(function(){var t=e(this),s=t;t.is(\"ul, ol\")?(t.wrap('<div class=\"'+i.panel+'\" />'),s=t.parent()):s.addClass(i.panel);var a=t.attr(\"id\");t.removeAttr(\"id\"),s.attr(\"id\",a||n.__getUniqueId()),t.hasClass(i.vertical)&&(t.removeClass(n.conf.classNames.vertical),s.add(s.parent()).addClass(i.vertical)),r=r.add(s)});var d=e(\".\"+i.panel,this.$menu);r.each(function(t){var s,o,r=e(this),l=r.parent(),d=l.children(\"a, span\").first();if(l.is(\".\"+i.panels)||(l.data(a.sub,r),r.data(a.parent,l)),l.children(\".\"+i.next).length||l.parent().is(\".\"+i.listview)&&(s=r.attr(\"id\"),o=e('<a class=\"'+i.next+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').insertBefore(d),d.is(\"span\")&&o.addClass(i.fullsubopen)),!r.children(\".\"+i.navbar).length&&!l.hasClass(i.vertical)){l.parent().is(\".\"+i.listview)?l=l.closest(\".\"+i.panel):(d=l.closest(\".\"+i.panel).find('a[href=\"#'+r.attr(\"id\")+'\"]').first(),l=d.closest(\".\"+i.panel));var c=!1,p=e('<div class=\"'+i.navbar+'\" />');if(n.opts.navbar.add&&r.addClass(i.hasnavbar),l.length){switch(s=l.attr(\"id\"),n.opts.navbar.titleLink){case\"anchor\":c=d.attr(\"href\");break;case\"panel\":case\"parent\":c=\"#\"+s;break;default:c=!1}p.append('<a class=\"'+i.btn+\" \"+i.prev+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').append(e('<a class=\"'+i.title+'\"'+(c?' href=\"'+c+'\"':\"\")+\" />\").text(d.text())).prependTo(r)}else n.opts.navbar.title&&p.append('<a class=\"'+i.title+'\">'+n.opts.navbar.title+\"</a>\").prependTo(r)}});var c=this.__findAddBack(t,\".\"+i.listview).children(\".\"+i.selected).removeClass(i.selected).last().addClass(i.selected);c.add(c.parentsUntil(\".\"+i.menu,\"li\")).filter(\".\"+i.vertical).addClass(i.opened).end().each(function(){e(this).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened)}),c.children(\".\"+i.panel).not(\".\"+i.vertical).addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened);var p=d.filter(\".\"+i.opened);return p.length||(p=r.first()),p.addClass(i.opened).last().addClass(i.current),r.not(\".\"+i.vertical).not(p.last()).addClass(i.hidden).end().filter(function(){return!e(this).parent().hasClass(i.panels)}).appendTo(this.$pnls),r},_initAnchors:function(){var t=this;r.$body.on(o.click+\"-oncanvas\",\"a[href]\",function(s){var a=e(this),o=!1,r=t.$menu.find(a).length;for(var l in e[n].addons)if(e[n].addons[l].clickAnchor.call(t,a,r)){o=!0;break}var d=a.attr(\"href\");if(!o&&r&&d.length>1&&\"#\"==d.slice(0,1))try{var c=e(d,t.$menu);c.is(\".\"+i.panel)&&(o=!0,t[a.parent().hasClass(i.vertical)?\"togglePanel\":\"openPanel\"](c))}catch(p){}if(o&&s.preventDefault(),!o&&r&&a.is(\".\"+i.listview+\" > li > a\")&&!a.is('[rel=\"external\"]')&&!a.is('[target=\"_blank\"]')){t.__valueOrFn(t.opts.onClick.setSelected,a)&&t.setSelected(e(s.target).parent());var h=t.__valueOrFn(t.opts.onClick.preventDefault,a,\"#\"==d.slice(0,1));h&&s.preventDefault(),t.__valueOrFn(t.opts.onClick.close,a,h)&&t.close()}})},_initAddons:function(){var t;for(t in e[n].addons)e[n].addons[t].add.call(this),e[n].addons[t].add=function(){};for(t in e[n].addons)e[n].addons[t].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr(\"id\");return e&&e.length&&this.conf.clone&&(e=i.umm(e)),e},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return\"undefined\"==typeof e?n:e}}),n},__valueOrFn:function(e,t,n){return\"function\"==typeof e?e.call(t[0]):\"undefined\"==typeof e&&\"undefined\"!=typeof n?n:e},__refactorClass:function(e,t,n){return e.filter(\".\"+t).removeClass(t).addClass(i[n])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not(\".\"+i.divider).not(\".\"+i.hidden)},__transitionend:function(e,t,n){var s=!1,i=function(){s||t.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return i.mm(e[n].uniqueId++)}},e.fn[n]=function(s,i){return t(),s=e.extend(!0,{},e[n].defaults,s),i=e.extend(!0,{},e[n].configuration,i),this.each(function(){var t=e(this);if(!t.data(n)){var a=new e[n](t,s,i);a.$menu.data(n,a.__api())}})},e[n].support={touch:\"ontouchstart\"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if(\"undefined\"!=typeof Modernizr&&\"undefined\"!=typeof Modernizr.csstransitions)return Modernizr.csstransitions;var e=document.body||document.documentElement,t=e.style,n=\"transition\";if(\"string\"==typeof t[n])return!0;var s=[\"Moz\",\"webkit\",\"Webkit\",\"Khtml\",\"O\",\"ms\"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var i=0;i<s.length;i++)if(\"string\"==typeof t[s[i]+n])return!0;return!1}()};var i,a,o,r}}(jQuery),/*\t\n * jQuery mmenu offCanvas addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"offCanvas\";e[t].addons[n]={setup:function(){if(this.opts[n]){var i=this.opts[n],a=this.conf[n];o=e[t].glbl,this._api=e.merge(this._api,[\"open\",\"close\",\"setPage\"]),(\"top\"==i.position||\"bottom\"==i.position)&&(i.zposition=\"front\"),\"string\"!=typeof a.pageSelector&&(a.pageSelector=\"> \"+a.pageNodetype),o.$allMenus=(o.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];\"left\"!=i.position&&r.push(s.mm(i.position)),\"back\"!=i.zposition&&r.push(s.mm(i.zposition)),this.$menu.addClass(r.join(\" \")).parent().removeClass(s.wrapper),this.setPage(o.$page),this._initBlocker(),this[\"_initWindow_\"+n](),this.$menu[a.menuInjectMethod+\"To\"](a.menuWrapperSelector);var l=window.location.hash;if(l){var d=this._getOriginalMenuId();d&&d==l.slice(1)&&this.open()}}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e,s.add(\"offcanvas slideout blocking modal background opening blocker page\"),i.add(\"style\"),a.add(\"resize\")},clickAnchor:function(e,t){if(!this.opts[n])return!1;var s=this._getOriginalMenuId();if(s&&e.is('[href=\"#'+s+'\"]'))return this.open(),!0;if(o.$page)return s=o.$page.first().attr(\"id\"),s&&e.is('[href=\"#'+s+'\"]')?(this.close(),!0):!1}},e[t].defaults[n]={position:\"left\",zposition:\"back\",blockUI:!0,moveBackground:!0},e[t].configuration[n]={pageNodetype:\"div\",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:\"body\",menuInjectMethod:\"prepend\"},e[t].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),this.trigger(\"open\")}},e[t].prototype._openSetup=function(){var t=this,r=this.opts[n];this.closeAllOthers(),o.$page.each(function(){e(this).data(i.style,e(this).attr(\"style\")||\"\")}),o.$wndw.trigger(a.resize+\"-\"+n,[!0]);var l=[s.opened];r.blockUI&&l.push(s.blocking),\"modal\"==r.blockUI&&l.push(s.modal),r.moveBackground&&l.push(s.background),\"left\"!=r.position&&l.push(s.mm(this.opts[n].position)),\"back\"!=r.zposition&&l.push(s.mm(this.opts[n].zposition)),this.opts.extensions&&l.push(this.opts.extensions),o.$html.addClass(l.join(\" \")),setTimeout(function(){t.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+\" \"+s.opened)},e[t].prototype._openFinish=function(){var e=this;this.__transitionend(o.$page.first(),function(){e.trigger(\"opened\")},this.conf.transitionDuration),o.$html.addClass(s.opening),this.trigger(\"opening\")},e[t].prototype.close=function(){if(this.vars.opened){var t=this;this.__transitionend(o.$page.first(),function(){t.$menu.removeClass(s.current).removeClass(s.opened),o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)),t.opts.extensions&&o.$html.removeClass(t.opts.extensions),o.$page.each(function(){e(this).attr(\"style\",e(this).data(i.style))}),t.vars.opened=!1,t.trigger(\"closed\")},this.conf.transitionDuration),o.$html.removeClass(s.opening),this.trigger(\"close\"),this.trigger(\"closing\")}},e[t].prototype.closeAllOthers=function(){o.$allMenus.not(this.$menu).each(function(){var n=e(this).data(t);n&&n.close&&n.close()})},e[t].prototype.setPage=function(t){var i=this,a=this.conf[n];t&&t.length||(t=o.$body.find(a.pageSelector),a.noPageSelector.length&&(t=t.not(a.noPageSelector.join(\", \"))),t.length>1&&a.wrapPageIfNeeded&&(t=t.wrapAll(\"<\"+this.conf[n].pageNodetype+\" />\").parent())),t.each(function(){e(this).attr(\"id\",e(this).attr(\"id\")||i.__getUniqueId())}),t.addClass(s.page+\" \"+s.slideout),o.$page=t,this.trigger(\"setPage\",t)},e[t].prototype[\"_initWindow_\"+n]=function(){o.$wndw.off(a.keydown+\"-\"+n).on(a.keydown+\"-\"+n,function(e){return o.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var e=0;o.$wndw.off(a.resize+\"-\"+n).on(a.resize+\"-\"+n,function(t,n){if(1==o.$page.length&&(n||o.$html.hasClass(s.opened))){var i=o.$wndw.height();(n||i!=e)&&(e=i,o.$page.css(\"minHeight\",i))}})},e[t].prototype._initBlocker=function(){var t=this;this.opts[n].blockUI&&(o.$blck||(o.$blck=e('<div id=\"'+s.blocker+'\" class=\"'+s.slideout+'\" />')),o.$blck.appendTo(o.$body).off(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n).on(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n,function(e){e.preventDefault(),e.stopPropagation(),o.$blck.trigger(a.mousedown+\"-\"+n)}).off(a.mousedown+\"-\"+n).on(a.mousedown+\"-\"+n,function(e){e.preventDefault(),o.$html.hasClass(s.modal)||(t.closeAllOthers(),t.close())}))};var s,i,a,o}(jQuery),/*\t\n * jQuery mmenu scrollBugFix addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"scrollBugFix\";e[t].addons[n]={setup:function(){var i=this,r=this.opts[n];this.conf[n];if(o=e[t].glbl,e[t].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&(\"boolean\"==typeof r&&(r={fix:r}),\"object\"!=typeof r&&(r={}),r=this.opts[n]=e.extend(!0,{},e[t].defaults[n],r),r.fix)){var l=this.$menu.attr(\"id\"),d=!1;this.bind(\"opening\",function(){this.$pnls.children(\".\"+s.current).scrollTop(0)}),o.$docu.on(a.touchmove,function(e){i.vars.opened&&e.preventDefault()}),o.$body.on(a.touchstart,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(e){i.vars.opened&&(d||(d=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),d=!1))}).on(a.touchmove,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(t){i.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&t.stopPropagation()}),o.$wndw.on(a.orientationchange,function(){i.$pnls.children(\".\"+s.current).scrollTop(0).css({\"-webkit-overflow-scrolling\":\"auto\"}).css({\"-webkit-overflow-scrolling\":\"touch\"})})}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e},clickAnchor:function(e,t){}},e[t].defaults[n]={fix:!0};var s,i,a,o}(jQuery);"],"names":["super_","FILTERLIST","filter","label","jQuery","extend","BookReader","defaultOptions","enableMobileNav","mobileNavTitle","mobileNavFullscreenOnly","prototype","setup","options","call","this","refs","$mmenu","initToolbar","mode","ui","$mmenuEl","$drawerEl","buildMobileDrawerElement","$br","append","buildInfoDiv","$","buildShareDiv","mmenu","navbars","navbar","add","title","titleLink","extensions","offCanvas","wrapPageIfNeeded","zposition","pageSelector","el","$BRpageviewField","find","data","bind","length","val","window","location","href","on","applyFilters","switchMode","constMode1up","constMode2up","constModeThumb","document","body","addClass","apply","arguments","click","getInstance","vars","opened","close","open","trigger","closeMobileMenu","e","width","addEventListener","utils","buildToolbarElement","$el","escapedTitle","util","escapeHTML","bookTitle","toolbar","prepend","experimentalHtml","enableExperimentalControls","forEach","i","checkboxHtml","concat","settingsSection","imagesBaseURL","moreInfo","share","navMenu","arg","$results","drawerEl","br","filterStr","each","removeClass","is","attr","filtersSheet","createElement","id","innerHTML","appendChild","n","a","t","addons","r","s","opts","c","conf","glbl","Array","o","d","content","l","position","h","height","Math","min","max","f","u","v","p","b","ceil","children","not","btn","hasbtns","prependTo","$menu","hasnavbar","_c","_d","_e","clickAnchor","configuration","breadcrumbSeparator","classNames","breadcrumbs","appendTo","first","panel","closest","text","unshift","parent","join","separator","html","$pnls","current","$page","next","panelNext","hidden","prev","hasClass","vertical","panelPrev","search","searchfield","addTo","panelTitle","$wndw","$docu","$html","$body","split","mm","umm","slice","version","_api","cbck","___deprecated","_initMenu","_initAnchors","_initAddons","init","___debug","uniqueId","defaults","onClick","setSelected","slidingSubmenus","divider","inset","selected","spacer","clone","openingInterval","panelNodetype","transitionDuration","nopanel","_initPanels","update","listview","openPanel","parents","subopened","highest","support","csstransitions","nextAll","setTimeout","__transitionend","closePanel","closeAllPanels","togglePanel","push","shift","__getUniqueId","contents","nodeType","remove","panels","wrapper","menu","__findAddBack","__refactorClass","nolistview","wrap","removeAttr","sub","insertBefore","fullsubopen","last","parentsUntil","end","preventDefault","__valueOrFn","target","_getOriginalMenuId","__api","__filterListItems","one","transitionend","webkitTransitionEnd","fn","touch","navigator","msMaxTouchPoints","Modernizr","documentElement","style","charAt","toUpperCase","substr","merge","pageNodetype","$allMenus","offcanvas","setPage","_initBlocker","menuInjectMethod","menuWrapperSelector","hash","blockUI","moveBackground","noPageSelector","_openSetup","_openFinish","closeAllOthers","resize","blocking","modal","background","opening","wrapAll","page","slideout","off","keydown","keyCode","css","$blck","blocker","touchstart","touchmove","stopPropagation","mousedown","fix","scrollTop","currentTarget","scrollHeight","offsetHeight","innerHeight","orientationchange"],"sourceRoot":""}
@@ -1,242 +1,2 @@
1
- "use strict";
2
- (self["webpackChunk_internetarchive_bookreader"] = self["webpackChunk_internetarchive_bookreader"] || []).push([["plugins/plugin.resume.js"],{
3
-
4
- /***/ "./src/plugins/plugin.resume.js":
5
- /*!**************************************!*\
6
- !*** ./src/plugins/plugin.resume.js ***!
7
- \**************************************/
8
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9
-
10
- __webpack_require__.r(__webpack_exports__);
11
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
12
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);
13
- /* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ "./node_modules/core-js/modules/es.string.match.js");
14
- /* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1__);
15
- /* harmony import */ var _util_docCookies_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/docCookies.js */ "./src/util/docCookies.js");
16
- /* provided dependency */ var jQuery = __webpack_require__(/*! jquery */ "jquery");
17
-
18
-
19
-
20
- /* global BookReader */
21
-
22
- /** @deprecated Exposed for backward compatibility */
23
-
24
- BookReader.docCookies = _util_docCookies_js__WEBPACK_IMPORTED_MODULE_2__;
25
- /**
26
- * Plugin to remember the current page number in a cookie
27
- */
28
-
29
- jQuery.extend(BookReader.defaultOptions, {
30
- enablePageResume: true,
31
-
32
- /** @type {string|null} eg '/', '/details/id' */
33
- resumeCookiePath: null
34
- });
35
- /** @override */
36
-
37
- BookReader.prototype.init = function (super_) {
38
- return function () {
39
- var _this = this;
40
-
41
- super_.call(this);
42
-
43
- if (this.options.enablePageResume) {
44
- this.bind(BookReader.eventNames.fragmentChange, function () {
45
- var params = _this.paramsFromCurrent();
46
-
47
- _this.updateResumeValue(params.index);
48
- });
49
- }
50
- };
51
- }(BookReader.prototype.init);
52
- /**
53
- * Gets page resume value, for remembering reader's page
54
- * Can be overridden for different implementation
55
- *
56
- * @return {number|null}
57
- */
58
-
59
-
60
- BookReader.prototype.getResumeValue = function () {
61
- var val = BookReader.docCookies.getItem('br-resume');
62
- if (val !== null) return parseInt(val);else return null;
63
- };
64
- /**
65
- * Return cookie path using pathname up to /page/... or /mode/...
66
- * using window.location.pathname for urlPathPart:
67
- * - matches encoding
68
- * - ignores querystring part
69
- * - ignores fragment part (after #)
70
- * @param {string} urlPathPart - window.location.pathname
71
- */
72
-
73
-
74
- BookReader.prototype.getCookiePath = function (urlPathPart) {
75
- return urlPathPart.match('.+?(?=/page/|/mode/|$)')[0];
76
- };
77
- /**
78
- * Sets page resume value, for remembering reader's page
79
- * Can be overridden for different implementation
80
- *
81
- * @param {Number} index leaf index
82
- * @param {string} [cookieName]
83
- */
84
-
85
-
86
- BookReader.prototype.updateResumeValue = function (index, cookieName) {
87
- var ttl = new Date(+new Date() + 12096e5); // 2 weeks
88
- // For multiple files in item, leave resumeCookiePath blank
89
- // It's likely we can remove resumeCookiePath using getCookiePath()
90
-
91
- var path = this.options.resumeCookiePath || this.getCookiePath(window.location.pathname);
92
- BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);
93
- };
94
-
95
- /***/ }),
96
-
97
- /***/ "./src/util/docCookies.js":
98
- /*!********************************!*\
99
- !*** ./src/util/docCookies.js ***!
100
- \********************************/
101
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
102
-
103
- __webpack_require__.r(__webpack_exports__);
104
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
105
- /* harmony export */ "getItem": function() { return /* binding */ getItem; },
106
- /* harmony export */ "setItem": function() { return /* binding */ setItem; },
107
- /* harmony export */ "removeItem": function() { return /* binding */ removeItem; }
108
- /* harmony export */ });
109
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
110
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);
111
- /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
112
- /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__);
113
- /* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ "./node_modules/core-js/modules/es.regexp.constructor.js");
114
- /* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_2__);
115
- /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js");
116
- /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3__);
117
-
118
-
119
-
120
-
121
-
122
- /**
123
- * Helper module use to get, set and remove item from cookie
124
- *
125
- * See more:
126
- * https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
127
- * https://developer.mozilla.org/User:fusionchess
128
- * https://github.com/madmurphy/cookies.js
129
- * This framework is released under the GNU Public License, version 3 or later.
130
- * http://www.gnu.org/licenses/gpl-3.0-standalone.html
131
- */
132
-
133
- /**
134
- * Get specific key's value stored in cookie
135
- *
136
- * @param {string} sKey
137
- *
138
- * @returns {string|null}
139
- */
140
- function getItem(sKey) {
141
- if (!sKey) return null;
142
- return decodeURIComponent( // eslint-disable-next-line no-useless-escape
143
- document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1')) || null;
144
- }
145
- /**
146
- * Set specific key's value in cookie
147
- *
148
- * @param {string} sKey cookie name
149
- * @param {string} sValue cookie value
150
- * @param {string} [vEnd] expire|max-age
151
- * @param {string} [sPath] path of current item
152
- * @param {string} [sDomain] domain name
153
- * @param {boolean} [bSecure]
154
- *
155
- * @returns {true}
156
- */
157
-
158
- function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {
159
- document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue) + (vEnd ? "; expires=".concat(vEnd.toUTCString()) : '') + (sDomain ? "; domain=".concat(sDomain) : '') + (sPath ? "; path=".concat(sPath) : '') + (bSecure ? "; secure" : '');
160
- return true;
161
- }
162
- /**
163
- * BROKEN Remove specific key's value from cookie
164
- * @fixme hasItem isn't even implemented! This will always error.
165
- * @param {string} sKey cookie name
166
- * @param {string} [sPath] path of current item
167
- * @param {string} [sDomain]
168
- *
169
- * @returns {boolean}
170
- */
171
-
172
- function removeItem(sKey, sPath, sDomain) {
173
- // eslint-disable-next-line
174
- if (!hasItem(sKey)) return false;
175
- document.cookie = encodeURIComponent(sKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + (sDomain ? "; domain=".concat(sDomain) : '') + (sPath ? "; path=".concat(sPath) : '');
176
- return true;
177
- }
178
-
179
- /***/ }),
180
-
181
- /***/ "./node_modules/core-js/modules/es.string.match.js":
182
- /*!*********************************************************!*\
183
- !*** ./node_modules/core-js/modules/es.string.match.js ***!
184
- \*********************************************************/
185
- /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
186
-
187
-
188
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
189
- var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
190
- var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
191
- var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js");
192
- var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
193
- var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
194
- var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
195
-
196
- // @@match logic
197
- fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {
198
- return [
199
- // `String.prototype.match` method
200
- // https://tc39.es/ecma262/#sec-string.prototype.match
201
- function match(regexp) {
202
- var O = requireObjectCoercible(this);
203
- var matcher = regexp == undefined ? undefined : regexp[MATCH];
204
- return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));
205
- },
206
- // `RegExp.prototype[@@match]` method
207
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
208
- function (string) {
209
- var rx = anObject(this);
210
- var S = toString(string);
211
- var res = maybeCallNative(nativeMatch, rx, S);
212
-
213
- if (res.done) return res.value;
214
-
215
- if (!rx.global) return regExpExec(rx, S);
216
-
217
- var fullUnicode = rx.unicode;
218
- rx.lastIndex = 0;
219
- var A = [];
220
- var n = 0;
221
- var result;
222
- while ((result = regExpExec(rx, S)) !== null) {
223
- var matchStr = toString(result[0]);
224
- A[n] = matchStr;
225
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
226
- n++;
227
- }
228
- return n === 0 ? null : A;
229
- }
230
- ];
231
- });
232
-
233
-
234
- /***/ })
235
-
236
- },
237
- /******/ function(__webpack_require__) { // webpackRuntimeModules
238
- /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
239
- /******/ var __webpack_exports__ = (__webpack_exec__("./src/plugins/plugin.resume.js"));
240
- /******/ }
241
- ]);
1
+ "use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[951],{5842:function(e,o,n){var t={};function r(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null}function a(e,o,n,t,r,a){return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(o)+(n?"; expires=".concat(n.toUTCString()):"")+(r?"; domain=".concat(r):"")+(t?"; path=".concat(t):"")+(a?"; secure":""),!0}function u(e,o,n){return!!hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain=".concat(n):"")+(o?"; path=".concat(o):""),!0)}n.r(t),n.d(t,{getItem:function(){return r},removeItem:function(){return u},setItem:function(){return a}}),n(4916),n(4723),n(5306),n(4603),n(9714);var i,c=n(3609);BookReader.docCookies=t,c.extend(BookReader.defaultOptions,{enablePageResume:!0,resumeCookiePath:null}),BookReader.prototype.init=(i=BookReader.prototype.init,function(){var e=this;i.call(this),this.options.enablePageResume&&this.bind(BookReader.eventNames.fragmentChange,(function(){var o=e.paramsFromCurrent();e.updateResumeValue(o.index)}))}),BookReader.prototype.getResumeValue=function(){var e=BookReader.docCookies.getItem("br-resume");return null!==e?parseInt(e):null},BookReader.prototype.getCookiePath=function(e){return e.match(".+?(?=/page/|/mode/|$)")[0]},BookReader.prototype.updateResumeValue=function(e,o){var n=new Date(+new Date+12096e5),t=this.options.resumeCookiePath||this.getCookiePath(window.location.pathname);BookReader.docCookies.setItem(o||"br-resume",e,n,t,null,!1)}},4723:function(e,o,n){var t=n(7007),r=n(9670),a=n(7466),u=n(1340),i=n(4488),c=n(1530),s=n(7651);t("match",(function(e,o,n){return[function(o){var n=i(this),t=null==o?void 0:o[e];return void 0!==t?t.call(o,n):new RegExp(o)[e](u(n))},function(e){var t=r(this),i=u(e),d=n(o,t,i);if(d.done)return d.value;if(!t.global)return s(t,i);var l=t.unicode;t.lastIndex=0;for(var p,m=[],k=0;null!==(p=s(t,i));){var h=u(p[0]);m[k]=h,""===h&&(t.lastIndex=c(i,a(t.lastIndex),l)),k++}return 0===k?null:m}]}))}},function(e){e(e.s=5842)}]);
242
2
  //# sourceMappingURL=plugin.resume.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins/plugin.resume.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./src/plugins/plugin.resume.js","webpack://@internetarchive/bookreader/./src/util/docCookies.js","webpack://@internetarchive/bookreader/./node_modules/core-js/modules/es.string.match.js"],"sourcesContent":["import * as docCookies from '../util/docCookies.js';\n\n/* global BookReader */\n\n/** @deprecated Exposed for backward compatibility */\nBookReader.docCookies = docCookies;\n\n/**\n * Plugin to remember the current page number in a cookie\n */\njQuery.extend(BookReader.defaultOptions, {\n enablePageResume: true,\n /** @type {string|null} eg '/', '/details/id' */\n resumeCookiePath: null,\n});\n\n/** @override */\nBookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enablePageResume) {\n this.bind(BookReader.eventNames.fragmentChange, () => {\n const params = this.paramsFromCurrent();\n this.updateResumeValue(params.index);\n });\n }\n };\n})(BookReader.prototype.init);\n\n/**\n * Gets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @return {number|null}\n */\nBookReader.prototype.getResumeValue = function() {\n const val = BookReader.docCookies.getItem('br-resume');\n if (val !== null) return parseInt(val);\n else return null;\n};\n\n/**\n * Return cookie path using pathname up to /page/... or /mode/...\n * using window.location.pathname for urlPathPart:\n * - matches encoding\n * - ignores querystring part\n * - ignores fragment part (after #)\n * @param {string} urlPathPart - window.location.pathname\n */\nBookReader.prototype.getCookiePath = function(urlPathPart) {\n return urlPathPart.match('.+?(?=/page/|/mode/|$)')[0];\n};\n\n/**\n * Sets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @param {Number} index leaf index\n * @param {string} [cookieName]\n */\nBookReader.prototype.updateResumeValue = function(index, cookieName) {\n const ttl = new Date(+new Date + 12096e5); // 2 weeks\n // For multiple files in item, leave resumeCookiePath blank\n // It's likely we can remove resumeCookiePath using getCookiePath()\n const path = this.options.resumeCookiePath\n || this.getCookiePath(window.location.pathname);\n BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);\n};\n","/**\n * Helper module use to get, set and remove item from cookie\n *\n * See more:\n * https://developer.mozilla.org/en-US/docs/Web/API/document.cookie\n * https://developer.mozilla.org/User:fusionchess\n * https://github.com/madmurphy/cookies.js\n * This framework is released under the GNU Public License, version 3 or later.\n * http://www.gnu.org/licenses/gpl-3.0-standalone.html\n */\n\n/**\n * Get specific key's value stored in cookie\n *\n * @param {string} sKey\n *\n * @returns {string|null}\n */\nexport function getItem(sKey) {\n if (!sKey) return null;\n\n return decodeURIComponent(\n // eslint-disable-next-line no-useless-escape\n document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\n}\n\n/**\n * Set specific key's value in cookie\n *\n * @param {string} sKey cookie name\n * @param {string} sValue cookie value\n * @param {string} [vEnd] expire|max-age\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain] domain name\n * @param {boolean} [bSecure]\n *\n * @returns {true}\n */\nexport function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue)\n + (vEnd ? `; expires=${vEnd.toUTCString()}` : '')\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '')\n + (bSecure ? `; secure` : '');\n\n return true;\n}\n\n/**\n * BROKEN Remove specific key's value from cookie\n * @fixme hasItem isn't even implemented! This will always error.\n * @param {string} sKey cookie name\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain]\n *\n * @returns {boolean}\n */\nexport function removeItem(sKey, sPath, sDomain) {\n // eslint-disable-next-line\n if (!hasItem(sKey)) return false;\n\n document.cookie = encodeURIComponent(sKey) + `=; expires=Thu, 01 Jan 1970 00:00:00 GMT`\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '');\n\n return true;\n}\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n"],"names":["docCookies","BookReader","jQuery","extend","defaultOptions","enablePageResume","resumeCookiePath","prototype","init","super_","call","options","bind","eventNames","fragmentChange","params","paramsFromCurrent","updateResumeValue","index","getResumeValue","val","getItem","parseInt","getCookiePath","urlPathPart","match","cookieName","ttl","Date","path","window","location","pathname","setItem","sKey","decodeURIComponent","document","cookie","replace","RegExp","encodeURIComponent","sValue","vEnd","sPath","sDomain","bSecure","toUTCString","removeItem","hasItem"],"sourceRoot":""}
1
+ {"version":3,"file":"plugins/plugin.resume.js","mappings":"wJAkBO,SAASA,EAAQC,GACtB,OAAKA,GAEEC,mBAELC,SAASC,OAAOC,QAAQ,IAAIC,OAAO,mBAAqBC,mBAAmBN,GAAMI,QAAQ,cAAe,QAAU,+BAAgC,QAJlI,KAmBb,SAASG,EAAQP,EAAMQ,EAAQC,EAAMC,EAAOC,EAASC,GAO1D,OANAV,SAASC,OAASG,mBAAmBN,GAAQ,IAAMM,mBAAmBE,IACnEC,EAAO,aAAH,OAAgBA,EAAKI,eAAkB,KAC3CF,EAAU,YAAH,OAAeA,GAAY,KAClCD,EAAQ,UAAH,OAAaA,GAAU,KAC5BE,EAAU,WAAa,KAEnB,EAYF,SAASE,EAAWd,EAAMU,EAAOC,GAEtC,QAAKI,QAAQf,KAEbE,SAASC,OAASG,mBAAmBN,GAAnB,4CACfW,EAAU,YAAH,OAAeA,GAAY,KAClCD,EAAQ,UAAH,OAAaA,GAAU,KAExB,G,sJChD6BM,E,UAZtCC,WAAWC,WAAaA,EAKxBC,EAAOC,OAAOH,WAAWI,eAAgB,CACvCC,kBAAkB,EAElBC,iBAAkB,OAIpBN,WAAWO,UAAUC,MAAiBT,EAUnCC,WAAWO,UAAUC,KATf,WAAW,WAChBT,EAAOU,KAAKC,MACRA,KAAKC,QAAQN,kBACfK,KAAKE,KAAKZ,WAAWa,WAAWC,gBAAgB,WAC9C,IAAMC,EAAS,EAAKC,oBACpB,EAAKC,kBAAkBF,EAAOG,YAYtClB,WAAWO,UAAUY,eAAiB,WACpC,IAAMC,EAAMpB,WAAWC,WAAWnB,QAAQ,aAC1C,OAAY,OAARsC,EAAqBC,SAASD,GACtB,MAWdpB,WAAWO,UAAUe,cAAgB,SAASC,GAC5C,OAAOA,EAAYC,MAAM,0BAA0B,IAUrDxB,WAAWO,UAAUU,kBAAoB,SAASC,EAAOO,GACvD,IAAMC,EAAM,IAAIC,MAAM,IAAIA,KAAO,SAG3BC,EAAOlB,KAAKC,QAAQL,kBACrBI,KAAKY,cAAcO,OAAOC,SAASC,UACxC/B,WAAWC,WAAWX,QAAQmC,GAAc,YAAaP,EAAOQ,EAAKE,EAAM,MAAM,K,qBCjEnF,IAAII,EAAgC,EAAQ,MACxCC,EAAW,EAAQ,MACnBC,EAAW,EAAQ,MACnBC,EAAW,EAAQ,MACnBC,EAAyB,EAAQ,MACjCC,EAAqB,EAAQ,MAC7BC,EAAa,EAAQ,MAGzBN,EAA8B,SAAS,SAAUO,EAAOC,EAAaC,GACnE,MAAO,CAGL,SAAeC,GACb,IAAIC,EAAIP,EAAuB1B,MAC3BkC,EAAoBC,MAAVH,OAAsBG,EAAYH,EAAOH,GACvD,YAAmBM,IAAZD,EAAwBA,EAAQnC,KAAKiC,EAAQC,GAAK,IAAIvD,OAAOsD,GAAQH,GAAOJ,EAASQ,KAI9F,SAAUG,GACR,IAAIC,EAAKd,EAASvB,MACdsC,EAAIb,EAASW,GACbG,EAAMR,EAAgBD,EAAaO,EAAIC,GAE3C,GAAIC,EAAIC,KAAM,OAAOD,EAAIE,MAEzB,IAAKJ,EAAGK,OAAQ,OAAOd,EAAWS,EAAIC,GAEtC,IAAIK,EAAcN,EAAGO,QACrBP,EAAGQ,UAAY,EAIf,IAHA,IAEIC,EAFAC,EAAI,GACJC,EAAI,EAEgC,QAAhCF,EAASlB,EAAWS,EAAIC,KAAc,CAC5C,IAAIW,EAAWxB,EAASqB,EAAO,IAC/BC,EAAEC,GAAKC,EACU,KAAbA,IAAiBZ,EAAGQ,UAAYlB,EAAmBW,EAAGd,EAASa,EAAGQ,WAAYF,IAClFK,IAEF,OAAa,IAANA,EAAU,KAAOD,S","sources":["webpack://@internetarchive/bookreader/./src/util/docCookies.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.resume.js","webpack://@internetarchive/bookreader/./node_modules/core-js/modules/es.string.match.js"],"sourcesContent":["/**\n * Helper module use to get, set and remove item from cookie\n *\n * See more:\n * https://developer.mozilla.org/en-US/docs/Web/API/document.cookie\n * https://developer.mozilla.org/User:fusionchess\n * https://github.com/madmurphy/cookies.js\n * This framework is released under the GNU Public License, version 3 or later.\n * http://www.gnu.org/licenses/gpl-3.0-standalone.html\n */\n\n/**\n * Get specific key's value stored in cookie\n *\n * @param {string} sKey\n *\n * @returns {string|null}\n */\nexport function getItem(sKey) {\n if (!sKey) return null;\n\n return decodeURIComponent(\n // eslint-disable-next-line no-useless-escape\n document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\n}\n\n/**\n * Set specific key's value in cookie\n *\n * @param {string} sKey cookie name\n * @param {string} sValue cookie value\n * @param {string} [vEnd] expire|max-age\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain] domain name\n * @param {boolean} [bSecure]\n *\n * @returns {true}\n */\nexport function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue)\n + (vEnd ? `; expires=${vEnd.toUTCString()}` : '')\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '')\n + (bSecure ? `; secure` : '');\n\n return true;\n}\n\n/**\n * BROKEN Remove specific key's value from cookie\n * @fixme hasItem isn't even implemented! This will always error.\n * @param {string} sKey cookie name\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain]\n *\n * @returns {boolean}\n */\nexport function removeItem(sKey, sPath, sDomain) {\n // eslint-disable-next-line\n if (!hasItem(sKey)) return false;\n\n document.cookie = encodeURIComponent(sKey) + `=; expires=Thu, 01 Jan 1970 00:00:00 GMT`\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '');\n\n return true;\n}\n","import * as docCookies from '../util/docCookies.js';\n\n/* global BookReader */\n\n/** @deprecated Exposed for backward compatibility */\nBookReader.docCookies = docCookies;\n\n/**\n * Plugin to remember the current page number in a cookie\n */\njQuery.extend(BookReader.defaultOptions, {\n enablePageResume: true,\n /** @type {string|null} eg '/', '/details/id' */\n resumeCookiePath: null,\n});\n\n/** @override */\nBookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enablePageResume) {\n this.bind(BookReader.eventNames.fragmentChange, () => {\n const params = this.paramsFromCurrent();\n this.updateResumeValue(params.index);\n });\n }\n };\n})(BookReader.prototype.init);\n\n/**\n * Gets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @return {number|null}\n */\nBookReader.prototype.getResumeValue = function() {\n const val = BookReader.docCookies.getItem('br-resume');\n if (val !== null) return parseInt(val);\n else return null;\n};\n\n/**\n * Return cookie path using pathname up to /page/... or /mode/...\n * using window.location.pathname for urlPathPart:\n * - matches encoding\n * - ignores querystring part\n * - ignores fragment part (after #)\n * @param {string} urlPathPart - window.location.pathname\n */\nBookReader.prototype.getCookiePath = function(urlPathPart) {\n return urlPathPart.match('.+?(?=/page/|/mode/|$)')[0];\n};\n\n/**\n * Sets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @param {Number} index leaf index\n * @param {string} [cookieName]\n */\nBookReader.prototype.updateResumeValue = function(index, cookieName) {\n const ttl = new Date(+new Date + 12096e5); // 2 weeks\n // For multiple files in item, leave resumeCookiePath blank\n // It's likely we can remove resumeCookiePath using getCookiePath()\n const path = this.options.resumeCookiePath\n || this.getCookiePath(window.location.pathname);\n BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n"],"names":["getItem","sKey","decodeURIComponent","document","cookie","replace","RegExp","encodeURIComponent","setItem","sValue","vEnd","sPath","sDomain","bSecure","toUTCString","removeItem","hasItem","super_","BookReader","docCookies","jQuery","extend","defaultOptions","enablePageResume","resumeCookiePath","prototype","init","call","this","options","bind","eventNames","fragmentChange","params","paramsFromCurrent","updateResumeValue","index","getResumeValue","val","parseInt","getCookiePath","urlPathPart","match","cookieName","ttl","Date","path","window","location","pathname","fixRegExpWellKnownSymbolLogic","anObject","toLength","toString","requireObjectCoercible","advanceStringIndex","regExpExec","MATCH","nativeMatch","maybeCallNative","regexp","O","matcher","undefined","string","rx","S","res","done","value","global","fullUnicode","unicode","lastIndex","result","A","n","matchStr"],"sourceRoot":""}