@internetarchive/bookreader 5.0.0-117 → 5.0.0-118-alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -8
- package/src/plugins/tts/plugin.tts.js +24 -0
- package/BookReader/474.js +0 -2
- package/BookReader/474.js.map +0 -1
- package/BookReader/BookReader.css +0 -2451
- package/BookReader/BookReader.js +0 -3
- package/BookReader/BookReader.js.LICENSE.txt +0 -72
- package/BookReader/BookReader.js.map +0 -1
- package/BookReader/bergamot-translator-worker.js +0 -2966
- package/BookReader/bergamot-translator-worker.wasm +0 -0
- package/BookReader/hypothesis/LICENSE +0 -50
- package/BookReader/hypothesis/README.md +0 -55
- package/BookReader/hypothesis/build/boot.js +0 -1
- package/BookReader/hypothesis/build/manifest.json +0 -20
- package/BookReader/hypothesis/build/scripts/annotator.bundle.js +0 -184
- package/BookReader/hypothesis/build/scripts/annotator.bundle.js.map +0 -1
- package/BookReader/hypothesis/build/scripts/sidebar.bundle.js +0 -798
- package/BookReader/hypothesis/build/scripts/sidebar.bundle.js.map +0 -1
- package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js +0 -711
- package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js.map +0 -1
- package/BookReader/hypothesis/build/styles/annotator.css +0 -2235
- package/BookReader/hypothesis/build/styles/annotator.css.map +0 -1
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/highlights.css +0 -2
- package/BookReader/hypothesis/build/styles/highlights.css.map +0 -1
- package/BookReader/hypothesis/build/styles/katex.min.css +0 -2
- package/BookReader/hypothesis/build/styles/katex.min.css.map +0 -1
- package/BookReader/hypothesis/build/styles/pdfjs-overrides.css +0 -2
- package/BookReader/hypothesis/build/styles/pdfjs-overrides.css.map +0 -1
- package/BookReader/hypothesis/build/styles/sidebar.css +0 -2731
- package/BookReader/hypothesis/build/styles/sidebar.css.map +0 -1
- package/BookReader/hypothesis/build/styles/ui-playground.css +0 -2659
- package/BookReader/hypothesis/build/styles/ui-playground.css.map +0 -1
- package/BookReader/hypothesis/package.json +0 -126
- package/BookReader/ia-bookreader-bundle.js +0 -1886
- package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +0 -19
- package/BookReader/ia-bookreader-bundle.js.map +0 -1
- package/BookReader/icons/1up.svg +0 -1
- package/BookReader/icons/2up.svg +0 -1
- package/BookReader/icons/advance.svg +0 -3
- package/BookReader/icons/chevron-right.svg +0 -1
- package/BookReader/icons/close-circle-dark.svg +0 -1
- package/BookReader/icons/close-circle.svg +0 -1
- package/BookReader/icons/fullscreen.svg +0 -1
- package/BookReader/icons/fullscreen_exit.svg +0 -1
- package/BookReader/icons/hamburger.svg +0 -1
- package/BookReader/icons/left-arrow.svg +0 -1
- package/BookReader/icons/magnify-minus.svg +0 -1
- package/BookReader/icons/magnify-plus.svg +0 -1
- package/BookReader/icons/magnify.svg +0 -1
- package/BookReader/icons/pause.svg +0 -1
- package/BookReader/icons/play.svg +0 -1
- package/BookReader/icons/playback-speed.svg +0 -1
- package/BookReader/icons/read-aloud.svg +0 -1
- package/BookReader/icons/review.svg +0 -3
- package/BookReader/icons/slider-toggle.svg +0 -1
- package/BookReader/icons/thumbnails.svg +0 -1
- package/BookReader/icons/voice.svg +0 -1
- package/BookReader/icons/volume-full.svg +0 -1
- package/BookReader/images/BRicons.png +0 -0
- package/BookReader/images/BRicons.svg +0 -5
- package/BookReader/images/BRicons_ia.png +0 -0
- package/BookReader/images/back_pages.png +0 -0
- package/BookReader/images/book_bottom_icon.png +0 -0
- package/BookReader/images/book_down_icon.png +0 -0
- package/BookReader/images/book_left_icon.png +0 -0
- package/BookReader/images/book_leftmost_icon.png +0 -0
- package/BookReader/images/book_right_icon.png +0 -0
- package/BookReader/images/book_rightmost_icon.png +0 -0
- package/BookReader/images/book_top_icon.png +0 -0
- package/BookReader/images/book_up_icon.png +0 -0
- package/BookReader/images/books_graphic.svg +0 -1
- package/BookReader/images/booksplit.png +0 -0
- package/BookReader/images/control_pause_icon.png +0 -0
- package/BookReader/images/control_play_icon.png +0 -0
- package/BookReader/images/embed_icon.png +0 -0
- package/BookReader/images/hypothesis.ico +0 -0
- package/BookReader/images/icon-home-ia.png +0 -0
- package/BookReader/images/icon_OL-logo-xs.png +0 -0
- package/BookReader/images/icon_alert-xs.png +0 -0
- package/BookReader/images/icon_book.svg +0 -1
- package/BookReader/images/icon_bookmark.svg +0 -1
- package/BookReader/images/icon_close-pop.png +0 -0
- package/BookReader/images/icon_download.png +0 -0
- package/BookReader/images/icon_experiment.svg +0 -1
- package/BookReader/images/icon_gear.svg +0 -1
- package/BookReader/images/icon_hamburger.svg +0 -1
- package/BookReader/images/icon_home.png +0 -0
- package/BookReader/images/icon_home.svg +0 -1
- package/BookReader/images/icon_home_ia.png +0 -0
- package/BookReader/images/icon_indicator.png +0 -0
- package/BookReader/images/icon_info.svg +0 -1
- package/BookReader/images/icon_one_page.svg +0 -1
- package/BookReader/images/icon_pause.svg +0 -1
- package/BookReader/images/icon_play.svg +0 -1
- package/BookReader/images/icon_playback-rate.svg +0 -1
- package/BookReader/images/icon_return.png +0 -0
- package/BookReader/images/icon_search_button.svg +0 -1
- package/BookReader/images/icon_share.svg +0 -1
- package/BookReader/images/icon_skip-ahead.svg +0 -1
- package/BookReader/images/icon_skip-back.svg +0 -2
- package/BookReader/images/icon_speaker.svg +0 -1
- package/BookReader/images/icon_speaker_open.svg +0 -1
- package/BookReader/images/icon_thumbnails.svg +0 -1
- package/BookReader/images/icon_toc.svg +0 -1
- package/BookReader/images/icon_two_pages.svg +0 -1
- package/BookReader/images/icon_zoomer.png +0 -0
- package/BookReader/images/loading.gif +0 -0
- package/BookReader/images/logo_icon.png +0 -0
- package/BookReader/images/marker_chap-off.png +0 -0
- package/BookReader/images/marker_chap-off.svg +0 -1
- package/BookReader/images/marker_chap-off_ia.png +0 -0
- package/BookReader/images/marker_chap-on.png +0 -0
- package/BookReader/images/marker_chap-on.svg +0 -1
- package/BookReader/images/marker_srch-on.svg +0 -1
- package/BookReader/images/marker_srchchap-off.png +0 -0
- package/BookReader/images/marker_srchchap-on.png +0 -0
- package/BookReader/images/nav_control-dn.png +0 -0
- package/BookReader/images/nav_control-dn_ia.png +0 -0
- package/BookReader/images/nav_control-up.png +0 -0
- package/BookReader/images/nav_control-up_ia.png +0 -0
- package/BookReader/images/nav_control.png +0 -0
- package/BookReader/images/one_page_mode_icon.png +0 -0
- package/BookReader/images/paper-badge.png +0 -0
- package/BookReader/images/print_icon.png +0 -0
- package/BookReader/images/progressbar.gif +0 -0
- package/BookReader/images/right_edges.png +0 -0
- package/BookReader/images/slider.png +0 -0
- package/BookReader/images/slider_ia.png +0 -0
- package/BookReader/images/thumbnail_mode_icon.png +0 -0
- package/BookReader/images/translate.svg +0 -1
- package/BookReader/images/transparent.png +0 -0
- package/BookReader/images/two_page_mode_icon.png +0 -0
- package/BookReader/images/unviewable_page.png +0 -0
- package/BookReader/images/zoom_in_icon.png +0 -0
- package/BookReader/images/zoom_out_icon.png +0 -0
- package/BookReader/jquery-3.js +0 -2
- package/BookReader/jquery-3.js.LICENSE.txt +0 -24
- package/BookReader/plugins/plugin.archive_analytics.js +0 -2
- package/BookReader/plugins/plugin.archive_analytics.js.map +0 -1
- package/BookReader/plugins/plugin.autoplay.js +0 -2
- package/BookReader/plugins/plugin.autoplay.js.map +0 -1
- package/BookReader/plugins/plugin.chapters.js +0 -23
- package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +0 -1
- package/BookReader/plugins/plugin.chapters.js.map +0 -1
- package/BookReader/plugins/plugin.experiments.js +0 -3
- package/BookReader/plugins/plugin.experiments.js.LICENSE.txt +0 -1
- package/BookReader/plugins/plugin.experiments.js.map +0 -1
- package/BookReader/plugins/plugin.iframe.js +0 -2
- package/BookReader/plugins/plugin.iframe.js.map +0 -1
- package/BookReader/plugins/plugin.iiif.js +0 -2
- package/BookReader/plugins/plugin.iiif.js.map +0 -1
- package/BookReader/plugins/plugin.resume.js +0 -2
- package/BookReader/plugins/plugin.resume.js.map +0 -1
- package/BookReader/plugins/plugin.search.js +0 -3
- package/BookReader/plugins/plugin.search.js.LICENSE.txt +0 -1
- package/BookReader/plugins/plugin.search.js.map +0 -1
- package/BookReader/plugins/plugin.text_selection.js +0 -65
- package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +0 -1
- package/BookReader/plugins/plugin.text_selection.js.map +0 -1
- package/BookReader/plugins/plugin.translate.js +0 -199
- package/BookReader/plugins/plugin.translate.js.LICENSE.txt +0 -1
- package/BookReader/plugins/plugin.translate.js.map +0 -1
- package/BookReader/plugins/plugin.tts.js +0 -3
- package/BookReader/plugins/plugin.tts.js.LICENSE.txt +0 -29
- package/BookReader/plugins/plugin.tts.js.map +0 -1
- package/BookReader/plugins/plugin.url.js +0 -2
- package/BookReader/plugins/plugin.url.js.map +0 -1
- package/BookReader/plugins/plugin.vendor-fullscreen.js +0 -2
- package/BookReader/plugins/plugin.vendor-fullscreen.js.map +0 -1
- package/BookReader/plugins/translator-worker.js +0 -2
- package/BookReader/plugins/translator-worker.js.map +0 -1
- package/BookReader/silence.mp3 +0 -0
- package/BookReader/translator-worker.js +0 -475
- package/BookReader/webcomponents-bundle.js +0 -3
- package/BookReader/webcomponents-bundle.js.LICENSE.txt +0 -9
- package/BookReader/webcomponents-bundle.js.map +0 -1
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see plugin.experiments.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[830],{3921:function(e,t,n){var r=n(6518),i=n(2652),o=n(4659);r({target:"Object",stat:!0},{fromEntries:function(e){var t={};return i(e,function(e,n){o(t,e,n)},{AS_ENTRIES:!0}),t}})},1041:function(e,t,n){function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,o(r.key),r)}}function o(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}n.d(t,{S:function(){return a}}),n(2675),n(9463),n(2259),n(5700),n(3792),n(9572),n(2892),n(9085),n(6099),n(7764),n(2953);var a=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.br=t,this.options},(t=[{key:"setup",value:function(e){this.options=Object.assign({},this.options,e)}},{key:"init",value:function(){}},{key:"_configurePageContainer",value:function(e){}},{key:"_configureToolbar",value:function(e){}},{key:"_bindNavigationHandlers",value:function(){}},{key:"extendNavBar",value:function(e){}}])&&i(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}()},6732:function(e,t,n){n(2675),n(9463),n(2259),n(5700),n(8125),n(8706),n(2008),n(113),n(3418),n(4423),n(3792),n(2062),n(4782),n(4554),n(739),n(9572),n(2010),n(4731),n(479),n(2892),n(9085),n(2811),n(3921),n(3851),n(875),n(9432),n(6099),n(3362),n(825),n(888),n(7495),n(8781),n(1699),n(7764),n(5440),n(3500),n(2953);var r,i,o,a,s,l,c,u,f=n(420),p=n(1041),d=n(9696),h=n(8004);function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function m(e,t,n,r){var i=v();if(r)for(var o=0;o<r.length;o++)i=r[o](i);var a=t(function(e){i.initializeInstanceElements(e,s.elements)},n),s=i.decorateClass(function(e){for(var t=[],n=function(e){return"method"===e.kind&&e.key===o.key&&e.placement===o.placement},r=0;r<e.length;r++){var i,o=e[r];if("method"===o.kind&&(i=t.find(n)))if(k(o.descriptor)||k(i.descriptor)){if(w(o)||w(i))throw new ReferenceError("Duplicated methods ("+o.key+") can't be decorated.");i.descriptor=o.descriptor}else{if(w(o)){if(w(i))throw new ReferenceError("Decorators can't be placed on different accessors with for the same property ("+o.key+").");i.decorators=o.decorators}g(o,i)}else t.push(o)}return t}(a.d.map(b)),e);return i.initializeClassElements(a.F,s.elements),i.runClassFinishers(a.F,s.finishers)}function v(){v=function(){return e};var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(r){t.forEach(function(t){var i=t.placement;if(t.kind===r&&("static"===i||"prototype"===i)){var o="static"===i?e:n;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var r=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===r?void 0:r.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],r=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!w(e))return n.push(e);var t=this.decorateElement(e,i);n.push(t.element),n.push.apply(n,t.extras),r.push.apply(r,t.finishers)},this),!t)return{elements:n,finishers:r};var o=this.decorateConstructor(n,t);return r.push.apply(r,o.finishers),o.finishers=r,o},addElementPlacement:function(e,t,n){var r=t[e.placement];if(!n&&-1!==r.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");r.push(e.key)},decorateElement:function(e,t){for(var n=[],r=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,i[o])(s)||s);e=l.element,this.addElementPlacement(e,t),l.finisher&&r.push(l.finisher);var c=l.extras;if(c){for(var u=0;u<c.length;u++)this.addElementPlacement(c[u],t);n.push.apply(n,c)}}return{element:e,finishers:r,extras:n}},decorateConstructor:function(e,t){for(var n=[],r=t.length-1;r>=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a<e.length-1;a++)for(var s=a+1;s<e.length;s++)if(e[a].key===e[s].key&&e[a].placement===e[s].placement)throw new TypeError("Duplicated element ("+e[a].key+")")}}return{elements:e,finishers:n}},fromElementDescriptor:function(e){var t={kind:e.kind,key:e.key,placement:e.placement,descriptor:e.descriptor};return Object.defineProperty(t,Symbol.toStringTag,{value:"Descriptor",configurable:!0}),"field"===e.kind&&(t.initializer=e.initializer),t},toElementDescriptors:function(e){if(void 0!==e)return(t=e,function(e){if(Array.isArray(e))return e}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||j(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map(function(e){var t=this.toElementDescriptor(e);return this.disallowProperty(e,"finisher","An element descriptor"),this.disallowProperty(e,"extras","An element descriptor"),t},this);var t},toElementDescriptor:function(e){var t=e.kind+"";if("method"!==t&&"field"!==t)throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "'+t+'"');var n=N(e.key),r=e.placement+"";if("static"!==r&&"prototype"!==r&&"own"!==r)throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "'+r+'"');var i=e.descriptor;this.disallowProperty(e,"elements","An element descriptor");var o={kind:t,key:n,placement:r,descriptor:Object.assign({},i)};return"field"!==t?this.disallowProperty(e,"initializer","A method descriptor"):(this.disallowProperty(i,"get","The property descriptor of a field descriptor"),this.disallowProperty(i,"set","The property descriptor of a field descriptor"),this.disallowProperty(i,"value","The property descriptor of a field descriptor"),o.initializer=e.initializer),o},toElementFinisherExtras:function(e){return{element:this.toElementDescriptor(e),finisher:E(e,"finisher"),extras:this.toElementDescriptors(e.extras)}},fromClassDescriptor:function(e){var t={kind:"class",elements:e.map(this.fromElementDescriptor,this)};return Object.defineProperty(t,Symbol.toStringTag,{value:"Descriptor",configurable:!0}),t},toClassDescriptor:function(e){var t=e.kind+"";if("class"!==t)throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "'+t+'"');this.disallowProperty(e,"key","A class descriptor"),this.disallowProperty(e,"placement","A class descriptor"),this.disallowProperty(e,"descriptor","A class descriptor"),this.disallowProperty(e,"initializer","A class descriptor"),this.disallowProperty(e,"extras","A class descriptor");var n=E(e,"finisher");return{elements:this.toElementDescriptors(e.elements),finisher:n}},runClassFinishers:function(e,t){for(var n=0;n<t.length;n++){var r=(0,t[n])(e);if(void 0!==r){if("function"!=typeof r)throw new TypeError("Finishers must return a constructor.");e=r}}return e},disallowProperty:function(e,t,n){if(void 0!==e[t])throw new TypeError(n+" can't have a ."+t+" property.")}};return e}function b(e){var t,n=N(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function g(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function w(e){return e.decorators&&e.decorators.length}function k(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function E(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function x(e,t,n,r){var i=S(C(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof i?function(e){return i.apply(n,e)}:i}function S(){return S="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=C(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},S.apply(null,arguments)}function P(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function O(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=j(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function j(e,t){if(e){if("string"==typeof e)return _(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_(e,t):void 0}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function T(e,t,n){return t=C(t),function(e,t){if(t&&("object"==y(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,A()?Reflect.construct(t,n||[],C(e).constructor):t.apply(e,n))}function A(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(A=function(){return!!e})()}function C(e){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},C(e)}function M(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&D(e,t)}function D(e,t){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},D(e,t)}function L(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return R(c,"_invoke",function(n,r,i){var o,s,l,c=0,u=i||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return o=t,s=0,l=e,p.n=n,a}};function d(n,r){for(s=n,l=r,t=0;!f&&c&&!i&&t<u.length;t++){var i,o=u[t],d=p.p,h=o[2];n>3?(i=h===r)&&(l=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=e):o[0]<=d&&((i=n<2&&d<o[1])?(s=0,p.v=r,p.n=o[1]):d<h&&(i=n<3||o[0]>r||r>h)&&(o[4]=n,o[5]=r,p.n=h,s=0))}if(i||n>1)return a;throw f=!0,r}return function(i,u,h){if(c>1)throw TypeError("Generator is already running");for(f&&1===u&&d(u,h),s=u,l=h;(t=s<2?e:l)||!f;){o||(s?s<3?(s>1&&(p.n=-1),d(s,l)):p.n=l:p.v=l);try{if(c=2,o){if(s||(i="next"),t=o[i]){if(!(t=t.call(o,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=o.return)&&t.call(o),s<2&&(l=TypeError("The iterator does not provide a '"+i+"' method"),s=1);o=e}else if((t=(f=p.n<0)?l:n.call(r,p))!==a)break}catch(t){o=e,s=1,l=t}finally{c=1}}return{value:t,done:f}}}(n,i,o),!0),c}var a={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(R(t={},r,function(){return this}),t),f=c.prototype=s.prototype=Object.create(u);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,R(e,i,"GeneratorFunction")),e.prototype=Object.create(f),e}return l.prototype=c,R(f,"constructor",c),R(c,"constructor",l),l.displayName="GeneratorFunction",R(c,i,"GeneratorFunction"),R(f),R(f,i,"Generator"),R(f,r,function(){return this}),R(f,"toString",function(){return"[object Generator]"}),(L=function(){return{w:o,m:p}})()}function R(e,t,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}R=function(e,t,n,r){function o(t,n){R(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))},R(e,t,n,r)}function z(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,i)}function F(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){z(o,r,i,a,s,"next",e)}function s(e){z(o,r,i,a,s,"throw",e)}a(void 0)})}}function B(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function I(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,N(r.key),r)}}function q(e,t,n){return t&&I(e.prototype,t),n&&I(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function H(e,t,n){return(t=N(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e){var t=function(e){if("object"!=y(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=y(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==y(t)?t:t+""}var G=window.BookReader,U=function(){return q(function e(){B(this,e),H(this,"name",void 0),H(this,"title",void 0),H(this,"description",void 0),H(this,"icon",void 0),H(this,"enabled",void 0),H(this,"learnMore",void 0),H(this,"br",void 0),H(this,"assetRoot","/BookReader/"),H(this,"enabledLoading",!1)},[{key:"buildAssetPath",value:function(e){return"".concat(this.assetRoot).concat(e)}},{key:"enable",value:(t=F(L().m(function e(t){return L().w(function(e){for(;;)switch(e.n){case 0:t.manual;case 1:return e.a(2)}},e)})),function(e){return t.apply(this,arguments)})},{key:"disable",value:(e=F(L().m(function e(){return L().w(function(e){for(;;)if(0===e.n)return e.a(2)},e)})),function(){return e.apply(this,arguments)})}]);var e,t}(),Z=function(e){function t(){var e;B(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return H(e=T(this,t,[].concat(r)),"options",{enabled:!0,localStorageKey:"BrExperiments",availableExperiments:["translate","copyLinkToHighlight"],autoEnabledExperiments:[]}),H(e,"allExperiments",[new(function(e){function t(){var e;B(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return H(e=T(this,t,[].concat(r)),"name","copyLinkToHighlight"),H(e,"title","Copy Link to Highlight"),H(e,"description","Shareable link to a text selection"),H(e,"icon",null),H(e,"enabled",!1),e}return M(t,e),q(t,[{key:"enable",value:(r=F(L().m(function e(t){var n;return L().w(function(e){for(;;)switch(e.n){case 0:void 0!==(n=t.manual)&&n&&(this.br.plugins.textSelection.textSelectionManager.selectMenu.copyLinkToHighlightEnabled=!0);case 1:return e.a(2)}},e,this)})),function(e){return r.apply(this,arguments)})},{key:"disable",value:(n=F(L().m(function e(){return L().w(function(e){for(;;)switch(e.n){case 0:this.br.plugins.textSelection.textSelectionManager.selectMenu.copyLinkToHighlightEnabled=!1;case 1:return e.a(2)}},e,this)})),function(){return n.apply(this,arguments)})}]);var n,r}(U)),new(function(e){function t(){var e;B(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return H(e=T(this,t,[].concat(r)),"name","annotateHighlight"),H(e,"title","Highlight and annotate"),H(e,"description","Create private highlights and annotations for this book"),H(e,"icon",null),H(e,"enabled",!1),e}return M(t,e),q(t,[{key:"enable",value:(r=F(L().m(function e(t){var n;return L().w(function(e){for(;;)switch(e.n){case 0:void 0!==(n=t.manual)&&n&&(this.br.plugins.textSelection.textSelectionManager.selectMenu.highlightAnnotationEnabled=!0);case 1:return e.a(2)}},e,this)})),function(e){return r.apply(this,arguments)})},{key:"disable",value:(n=F(L().m(function e(){return L().w(function(e){for(;;)switch(e.n){case 0:(0,h.yy)(0).then(function(){window.location.reload()});case 1:return e.a(2)}},e)})),function(){return n.apply(this,arguments)})}]);var n,r}(U)),new(function(e){function t(){var e;B(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return H(e=T(this,t,[].concat(r)),"name","translate"),H(e,"title","Translate Plugin"),H(e,"description","Translate books directly in your browser."),H(e,"learnMore","https://mozilla.github.io/translations/"),H(e,"icon","images/translate.svg"),H(e,"enabled",!1),e}return M(t,e),q(t,[{key:"enable",value:(r=F(L().m(function e(t){return L().w(function(e){for(;;)switch(e.n){case 0:if(t.manual,!G.PLUGINS.translate){e.n=1;break}return e.a(2);case 1:return e.n=2,J(this.buildAssetPath("plugins/plugin.translate.js"));case 2:this.br.initializePlugin("translate");case 3:return e.a(2)}},e,this)})),function(e){return r.apply(this,arguments)})},{key:"disable",value:(n=F(L().m(function e(){return L().w(function(e){for(;;)switch(e.n){case 0:(0,h.yy)(0).then(function(){window.location.reload()});case 1:return e.a(2)}},e)})),function(){return n.apply(this,arguments)})}]);var n,r}(U)),new(function(e){function t(){var e;B(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return H(e=T(this,t,[].concat(r)),"name","hypothesis"),H(e,"title","Hypothes.is"),H(e,"description","Create public, collaborative, or fully private annotations on books and the web."),H(e,"learnMore","https://web.hypothes.is/about/"),H(e,"icon","images/hypothesis.ico"),H(e,"enabled",!1),e}return M(t,e),q(t,[{key:"enable",value:(r=F(L().m(function e(t){var n,r,i;return L().w(function(e){for(;;)if(0===e.n)return n=t.manual,r=void 0!==n&&n,(i=document.createElement("script")).type="application/json",i.className="js-hypothesis-config",i.textContent=JSON.stringify({openSidebar:r,assetRoot:this.buildAssetPath("hypothesis/")}),document.head.appendChild(i),e.a(2,J(this.buildAssetPath("hypothesis/build/boot.js")))},e,this)})),function(e){return r.apply(this,arguments)})},{key:"disable",value:(n=F(L().m(function e(){return L().w(function(e){for(;;)switch(e.n){case 0:(0,h.yy)(0).then(function(){window.location.reload()});case 1:return e.a(2)}},e)})),function(){return n.apply(this,arguments)})}]);var n,r}(U))]),H(e,"_panel",void 0),e}return M(t,e),q(t,[{key:"init",value:(o=F(L().m(function e(){var t,n,r,i;return L().w(function(e){for(;;)switch(e.p=e.n){case 0:if(this.options.enabled){e.n=1;break}return e.a(2);case 1:t=O(this.allExperiments),e.p=2,t.s();case 3:if((n=t.n()).done){e.n=5;break}if((r=n.value).assetRoot=this.br.options.imagesBaseURL.replace(/images\/$/,""),r.icon&&(r.icon=r.buildAssetPath(r.icon)),r.br=this.br,r.enabled||!this.options.autoEnabledExperiments.includes(r.name)){e.n=4;break}return r.enabled=!0,e.n=4,r.enable({manual:!1});case 4:e.n=3;break;case 5:e.n=7;break;case 6:e.p=6,i=e.v,t.e(i);case 7:return e.p=7,t.f(),e.f(7);case 8:return this._loadExperimentStates(),e.n=9,Promise.resolve();case 9:this._render();case 10:return e.a(2)}},e,this,[[2,6,7,8]])})),function(){return o.apply(this,arguments)})},{key:"isEnabled",value:function(e){var t=this.allExperiments.find(function(t){return t.name===e});return null==t?void 0:t.enabled}},{key:"_loadExperimentStates",value:function(){var e=JSON.parse(localStorage.getItem(this.options.localStorageKey)||"{}");this.allExperiments.forEach(function(t){void 0!==e[t.name]&&(t.enabled=e[t.name],t.enabled&&t.enable({manual:!1}))})}},{key:"_saveExperimentStates",value:function(){var e=Object.fromEntries(this.allExperiments.map(function(e){return[e.name,e.enabled]}));localStorage.setItem(this.options.localStorageKey,JSON.stringify(e))}},{key:"_toggleExperiment",value:(n=F(L().m(function e(t,n){var r;return L().w(function(e){for(;;)switch(e.n){case 0:if(t.enabledLoading=!0,null===(r=this.br.plugins.archiveAnalytics)||void 0===r||r.sendEvent("BRExperiment-".concat(t.name),n?"Enable":"Disable"),this._panel.requestUpdate(),!n){e.n=2;break}return e.n=1,t.enable({manual:!0});case 1:e.n=3;break;case 2:return e.n=3,t.disable();case 3:t.enabledLoading=!1,t.enabled=n,this._panel.requestUpdate();case 4:return e.a(2)}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"_render",value:function(){var e=this;this.br.shell.menuProviders.experiments={id:"experiments",icon:(0,f.qy)(r||(r=P(['\n <img src="','/icon_experiment.svg" alt="" width="26"/>\n '])),this.br.options.imagesBaseURL),label:"Experiments",component:(0,f.qy)(i||(i=P(['<br-experiments-panel\n .experiments="','"\n @connected="','"\n @toggle="','"\n />'])),this.allExperiments.filter(function(t){return e.options.availableExperiments.includes(t.name)}),function(t){return e._panel=t.target},function(){var t=F(L().m(function t(n){return L().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,e._toggleExperiment(n.detail.experiment,n.detail.enabled);case 1:e._saveExperimentStates();case 2:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}())},this.br.shell.updateMenuContents()}}]);var n,o}(p.S);function J(e){return K.apply(this,arguments)}function K(){return(K=F(L().m(function e(t){return L().w(function(e){for(;;)if(0===e.n)return e.a(2,new Promise(function(e,n){var r=document.createElement("script");r.src=t,r.onload=function(){return e()},r.onerror=function(){return n(new Error("Failed to load script: ".concat(t)))},document.head.appendChild(r)}))},e)}))).apply(this,arguments)}null==G||G.registerPlugin("experiments",Z),m([(0,d.EM)("br-experiments-panel")],function(e,t){var n,r=function(t){function n(){var t;B(this,n);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t=T(this,n,[].concat(i)),e(t),t}return M(n,t),q(n)}(t);return{F:r,d:[{kind:"field",decorators:[(0,d.MZ)({type:Array})],key:"experiments",value:function(){return[]}},{kind:"method",key:"render",value:function(){var e=this;return(0,f.qy)(o||(o=P(['\n <div style="padding: 10px">\n ',"\n </div>\n "])),this.experiments.map(function(t){return(0,f.qy)(a||(a=P(['\n <br-experiment-toggle\n .icon="','"\n .title="','"\n .description="','"\n .enabled="','"\n .loading="','"\n .learnMore="','"\n @toggle="','"\n ></br-experiment-toggle>\n '])),t.icon,t.title,t.description,t.enabled,t.enabledLoading,t.learnMore,function(n){return e._dispatchToggle(t,n.detail.enabled)})}))}},{kind:"method",key:"_dispatchToggle",value:(n=F(L().m(function e(t,n){return L().w(function(e){for(;;)switch(e.n){case 0:this.dispatchEvent(new CustomEvent("toggle",{detail:{experiment:t,enabled:n}}));case 1:return e.a(2)}},e,this)})),function(e,t){return n.apply(this,arguments)})},{kind:"method",key:"connectedCallback",value:function(){x(r,"connectedCallback",this,3)([]),this.dispatchEvent(new CustomEvent("connected"))}}]}},f.WF),m([(0,d.EM)("br-experiment-toggle")],function(e,t){var n=function(t){function n(){var t;B(this,n);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t=T(this,n,[].concat(i)),e(t),t}return M(n,t),q(n)}(t);return{F:n,d:[{kind:"field",decorators:[(0,d.MZ)({type:String})],key:"icon",value:function(){return""}},{kind:"field",decorators:[(0,d.MZ)({type:String})],key:"title",value:function(){return""}},{kind:"field",decorators:[(0,d.MZ)({type:String})],key:"description",value:function(){return""}},{kind:"field",decorators:[(0,d.MZ)({type:Boolean})],key:"enabled",value:function(){return!1}},{kind:"field",decorators:[(0,d.MZ)({type:Boolean})],key:"loading",value:function(){return!1}},{kind:"field",decorators:[(0,d.MZ)({type:String})],key:"learnMore",value:function(){return""}},{kind:"field",decorators:[(0,d.wk)()],key:"_longLoading",value:function(){return!1}},{kind:"method",key:"update",value:function(e){var t=this;x(n,"update",this,3)([e]),e.has("loading")&&(this.loading?(0,h.yy)(500).then(function(){t.loading&&(t._longLoading=!0,t.requestUpdate())}):this._longLoading=!1)}},{kind:"method",key:"render",value:function(){return(0,f.qy)(s||(s=P(['\n <div class="experiment-card" style="margin-bottom: 10px;">\n <div style="display: flex; align-items: center; gap: 10px;">\n ','\n <div style="flex-grow: 1; font-weight: bold;">','</div>\n </div>\n <p style="opacity: 0.9">\n ',"\n ",'\n </p>\n <div style="display: flex">\n <div style="flex-grow: 1;"></div>\n <button @click="','" .disabled="','">\n ',"\n </button>\n </div>\n </div>\n "])),this.icon?(0,f.qy)(l||(l=P(['<img src="','" style="width: 20px; height: 20px;" alt="" />'])),this.icon):"",this.title,this.description,this.learnMore?(0,f.qy)(c||(c=P(['<a href="','" target="_blank">Learn more</a>.'])),this.learnMore):"",this._dispatchToggle,this.loading,this._longLoading?"Loading…":this.enabled?"Disable":"Enable")}},{kind:"get",static:!0,key:"styles",value:function(){return(0,f.AH)(u||(u=P(["\n .experiment-card {\n border-radius: 8px;\n background-color: #fff2;\n padding: 10px;\n display: flex;\n flex-direction: column;\n }\n\n .experiment-card p {\n margin: 6px 0;\n }\n "])))}},{kind:"method",key:"_dispatchToggle",value:function(){this.dispatchEvent(new CustomEvent("toggle",{detail:{enabled:!this.enabled}}))}}]}},f.WF)}},function(e){e(e.s=6732)}]);
|
|
3
|
-
//# sourceMappingURL=plugin.experiments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins/plugin.experiments.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./node_modules/core-js/modules/es.object.from-entries.js","webpack://@internetarchive/bookreader/./src/BookReaderPlugin.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.experiments.js"],"sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://tc39.es/ecma262/#sec-object.fromentries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","// @ts-check\n/** @typedef {import(\"./BookReader.js\").default} BookReader */\n\n/**\n * @template TOptions\n */\nexport class BookReaderPlugin {\n /**\n * @param {BookReader} br\n */\n constructor(br) {\n /** @type {BookReader} */\n this.br = br;\n /** @type {TOptions} */\n this.options;\n }\n\n /**\n * @abstract\n * @param {TOptions} options\n **/\n setup(options) {\n this.options = Object.assign({}, this.options, options);\n }\n\n /** @abstract */\n init() {}\n\n /**\n * @abstract\n * @protected\n * @param {import (\"./BookReader/PageContainer.js\").PageContainer} pageContainer\n */\n _configurePageContainer(pageContainer) {\n }\n\n /**\n * @abstract\n * @protected\n * @param {JQuery<HTMLElement>} $toolbarElement\n */\n _configureToolbar($toolbarElement) {\n }\n\n /** @abstract @protected */\n _bindNavigationHandlers() {}\n\n /**\n * @param {JQuery<HTMLElement>} $navBar\n */\n extendNavBar($navBar) {}\n}\n","// @ts-check\nimport { css, html, LitElement } from 'lit';\nimport { BookReaderPlugin } from '../BookReaderPlugin.js';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { sleep } from '../BookReader/utils.js';\n\n// @ts-ignore\nconst BookReader = /** @type {typeof import('@/src/BookReader.js').default} */(window.BookReader);\n\n/** @typedef {'copyLinkToHighlight' | 'annotateHighlight' | 'translate' | 'hypothesis'} ExperimentName */\n\nclass ExperimentModel {\n /** @type {ExperimentName} */\n name;\n /** @type {string} */\n title;\n /** @type {string} */\n description;\n /** @type {string} */\n icon;\n /** @type {boolean} */\n enabled;\n /** @type {string} */\n learnMore;\n\n /** @type {import(\"@/src/BookReader.js\").default} */\n br;\n\n assetRoot = '/BookReader/';\n\n enabledLoading = false;\n\n /**\n * @param {string} path\n */\n buildAssetPath(path) {\n return `${this.assetRoot}${path}`;\n }\n\n /**\n * @param {object} param0\n * @param {boolean} param0.manual Whether the experiment was enabled manually\n */\n async enable({ manual }) { }\n async disable() { }\n}\n\nexport class ExperimentsPlugin extends BookReaderPlugin {\n options = {\n enabled: true,\n\n /** Where the state of this plugin is saved in localStorage */\n localStorageKey: 'BrExperiments',\n\n /** @type {ExperimentName[]} Experiments shown in the experiments panel */\n availableExperiments: ['translate', 'copyLinkToHighlight'],\n\n /** @type {ExperimentName[]} Experiments enabled by default */\n autoEnabledExperiments: [],\n }\n\n /** @type {ExperimentModel[]} */\n allExperiments = [\n new class extends ExperimentModel {\n name = 'copyLinkToHighlight';\n title = 'Copy Link to Highlight';\n description = 'Shareable link to a text selection';\n icon = null;\n enabled = false;\n async enable ({ manual = false }) {\n if (manual) {\n this.br.plugins.textSelection.textSelectionManager.selectMenu.copyLinkToHighlightEnabled = true;\n }\n }\n async disable() {\n this.br.plugins.textSelection.textSelectionManager.selectMenu.copyLinkToHighlightEnabled = false;\n }\n }(),\n new class extends ExperimentModel {\n name = 'annotateHighlight';\n title = 'Highlight and annotate';\n description = 'Create private highlights and annotations for this book';\n icon = null;\n enabled = false;\n async enable ({ manual = false }) {\n if (manual) {\n this.br.plugins.textSelection.textSelectionManager.selectMenu.highlightAnnotationEnabled = true;\n }\n }\n async disable() {\n sleep(0).then(() => {\n window.location.reload();\n });\n }\n }(),\n new class extends ExperimentModel {\n name = 'translate';\n title = 'Translate Plugin';\n description = \"Translate books directly in your browser.\";\n learnMore = 'https://mozilla.github.io/translations/';\n icon = 'images/translate.svg';\n enabled = false;\n async enable({ manual = false}) {\n if (BookReader.PLUGINS.translate) return;\n\n await importAsScript(this.buildAssetPath('plugins/plugin.translate.js'));\n this.br.initializePlugin('translate');\n }\n async disable() {\n // need to reload to remove translate plugin script\n // Sleep so that the event loop can finish processing before the reload\n sleep(0).then(() => {\n window.location.reload();\n });\n }\n }(),\n new class extends ExperimentModel {\n name = 'hypothesis';\n title = 'Hypothes.is';\n description = 'Create public, collaborative, or fully private annotations on books and the web.';\n learnMore = 'https://web.hypothes.is/about/';\n icon = 'images/hypothesis.ico';\n enabled = false;\n\n async enable({ manual = false }) {\n // Hypothesis configs ; see https://h.readthedocs.io/projects/client/en/latest/publishers/config.html\n const configScript = document.createElement('script');\n configScript.type = 'application/json';\n configScript.className = 'js-hypothesis-config';\n configScript.textContent = JSON.stringify({\n // Open the sidebar if this is the first time enabling\n openSidebar: manual,\n assetRoot: this.buildAssetPath('hypothesis/'),\n });\n\n document.head.appendChild(configScript);\n return importAsScript(this.buildAssetPath('hypothesis/build/boot.js'));\n // For testing\n // return importAsScript('http://localhost:3001/hypothesis');\n }\n\n async disable() {\n // need to reload to remove the Hypothesis script\n // Sleep so that the event loop can finish processing before the reload\n sleep(0).then(() => {\n window.location.reload();\n });\n }\n }(),\n ]\n\n /** @type {BrExperimentsPanel} */\n _panel;\n\n async init() {\n if (!this.options.enabled) {\n return;\n }\n\n for (const experiment of this.allExperiments) {\n // TODO: imagesBaseURL should be replaced with assetRoot everywhere\n experiment.assetRoot = this.br.options.imagesBaseURL.replace(/images\\/$/, '');\n if (experiment.icon) {\n experiment.icon = experiment.buildAssetPath(experiment.icon);\n }\n\n experiment.br = this.br;\n\n // Enable any experiments that should be automatically enabled\n if (!experiment.enabled && this.options.autoEnabledExperiments.includes(experiment.name)) {\n experiment.enabled = true;\n await experiment.enable({ manual: false });\n }\n }\n\n this._loadExperimentStates();\n await Promise.resolve();\n this._render();\n }\n\n /**\n * @param {ExperimentName} experimentName\n */\n isEnabled(experimentName) {\n const experiment = this.allExperiments.find(exp => exp.name === experimentName);\n return experiment?.enabled;\n }\n\n _loadExperimentStates() {\n const savedStates = JSON.parse(localStorage.getItem(this.options.localStorageKey) || '{}');\n this.allExperiments.forEach(experiment => {\n if (savedStates[experiment.name] !== undefined) {\n experiment.enabled = savedStates[experiment.name];\n if (experiment.enabled) {\n experiment.enable({ manual: false });\n }\n }\n });\n }\n\n _saveExperimentStates() {\n const states = Object.fromEntries(\n this.allExperiments.map(experiment => [experiment.name, experiment.enabled]),\n );\n localStorage.setItem(this.options.localStorageKey, JSON.stringify(states));\n }\n\n /**\n * @param {ExperimentModel} experiment\n * @param {boolean} enabled\n */\n async _toggleExperiment(experiment, enabled) {\n experiment.enabledLoading = true;\n this.br.plugins.archiveAnalytics?.sendEvent(`BRExperiment-${experiment.name}`, enabled ? 'Enable' : 'Disable');\n this._panel.requestUpdate();\n\n if (enabled) {\n await experiment.enable({ manual: true });\n } else {\n await experiment.disable();\n }\n experiment.enabledLoading = false;\n experiment.enabled = enabled;\n this._panel.requestUpdate();\n }\n\n _render() {\n this.br.shell.menuProviders['experiments'] = {\n id: 'experiments',\n icon: html`\n <img src=\"${this.br.options.imagesBaseURL}/icon_experiment.svg\" alt=\"\" width=\"26\"/>\n `,\n label: 'Experiments',\n component: html`<br-experiments-panel\n .experiments=\"${this.allExperiments.filter(experiment => this.options.availableExperiments.includes(experiment.name))}\"\n @connected=\"${e => this._panel = e.target}\"\n @toggle=\"${async e => {\n await this._toggleExperiment(e.detail.experiment, e.detail.enabled);\n this._saveExperimentStates();\n }}\"\n />`,\n };\n this.br.shell.updateMenuContents();\n }\n}\nBookReader?.registerPlugin('experiments', ExperimentsPlugin);\n\n@customElement('br-experiments-panel')\nexport class BrExperimentsPanel extends LitElement {\n\n /** @type {ExperimentModel[]} */\n @property({ type: Array }) experiments = [];\n\n render() {\n return html`\n <div style=\"padding: 10px\">\n ${this.experiments.map(\n experiment => html`\n <br-experiment-toggle\n .icon=\"${experiment.icon}\"\n .title=\"${experiment.title}\"\n .description=\"${experiment.description}\"\n .enabled=\"${experiment.enabled}\"\n .loading=\"${experiment.enabledLoading}\"\n .learnMore=\"${experiment.learnMore}\"\n @toggle=\"${e => this._dispatchToggle(experiment, e.detail.enabled)}\"\n ></br-experiment-toggle>\n `,\n )}\n </div>\n `;\n }\n\n /**\n * @param {ExperimentModel} experiment\n * @param {boolean} enabled\n */\n async _dispatchToggle(experiment, enabled) {\n this.dispatchEvent(new CustomEvent('toggle', {\n detail: { experiment, enabled },\n }));\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.dispatchEvent(new CustomEvent('connected'));\n }\n}\n\n@customElement('br-experiment-toggle')\nexport class BrExperimentToggle extends LitElement {\n @property({ type: String }) icon = '';\n @property({ type: String }) title = '';\n @property({ type: String }) description = '';\n @property({ type: Boolean }) enabled = false;\n @property({ type: Boolean }) loading = false;\n @property({ type: String }) learnMore = '';\n\n /**\n * We want to disable the button immediately if loading, but only display\n * the loading indicator after 200ms.\n */\n @state() _longLoading = false;\n\n /** @override */\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has('loading')) {\n if (this.loading) {\n sleep(500).then(() => {\n if (this.loading) {\n this._longLoading = true;\n this.requestUpdate();\n }\n });\n } else {\n this._longLoading = false;\n }\n }\n }\n\n render() {\n return html`\n <div class=\"experiment-card\" style=\"margin-bottom: 10px;\">\n <div style=\"display: flex; align-items: center; gap: 10px;\">\n ${this.icon ? html`<img src=\"${this.icon}\" style=\"width: 20px; height: 20px;\" alt=\"\" />` : ''}\n <div style=\"flex-grow: 1; font-weight: bold;\">${this.title}</div>\n </div>\n <p style=\"opacity: 0.9\">\n ${this.description}\n ${this.learnMore ? html`<a href=\"${this.learnMore}\" target=\"_blank\">Learn more</a>.` : ''}\n </p>\n <div style=\"display: flex\">\n <div style=\"flex-grow: 1;\"></div>\n <button @click=\"${this._dispatchToggle}\" .disabled=\"${this.loading}\">\n ${this._longLoading ? 'Loading…' : this.enabled ? 'Disable' : 'Enable'}\n </button>\n </div>\n </div>\n `;\n }\n\n static get styles() {\n return css`\n .experiment-card {\n border-radius: 8px;\n background-color: #fff2;\n padding: 10px;\n display: flex;\n flex-direction: column;\n }\n\n .experiment-card p {\n margin: 6px 0;\n }\n `;\n }\n\n _dispatchToggle() {\n this.dispatchEvent(new CustomEvent('toggle', { detail: { enabled: !this.enabled } }));\n }\n}\n\n/**\n * @param {string} url\n */\nasync function importAsScript(url) {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = url;\n script.onload = () => resolve();\n script.onerror = () => reject(new Error(`Failed to load script: ${url}`));\n document.head.appendChild(script);\n });\n}\n"],"names":["$","__webpack_require__","iterate","createProperty","target","stat","fromEntries","iterable","obj","k","v","AS_ENTRIES","BookReaderPlugin","br","_classCallCheck","this","options","key","value","Object","assign","pageContainer","$toolbarElement","$navBar","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","a","d","bind","length","l","TypeError","call","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_defineProperties","_toPropertyKey","_createClass","_defineProperty","_typeof","toPrimitive","String","_toPrimitive","BookReader","window","ExperimentModel","path","concat","assetRoot","_enable","_callee","_ref","_context","manual","_x","_disable","_callee2","_context2","ExperimentsPlugin","_BookReaderPlugin","_this","_len","args","Array","_key","_callSuper","enabled","localStorageKey","availableExperiments","autoEnabledExperiments","_ExperimentModel2","_class","_this2","_len2","_key2","_inherits","_enable2","_callee3","_ref2","_ref2$manual","_context3","plugins","textSelection","textSelectionManager","selectMenu","copyLinkToHighlightEnabled","_x2","_disable2","_callee4","_context4","_ExperimentModel3","_class2","_this3","_len3","_key3","_enable3","_callee5","_ref3","_ref3$manual","_context5","highlightAnnotationEnabled","_x3","_disable3","_callee6","_context6","sleep","location","reload","_ExperimentModel4","_class3","_this4","_len4","_key4","_enable4","_callee7","_ref4","_context7","PLUGINS","translate","importAsScript","buildAssetPath","initializePlugin","_x4","_disable4","_callee8","_context8","_ExperimentModel5","_class4","_this5","_len5","_key5","_enable5","_callee9","_ref5","_ref5$manual","configScript","_context9","document","createElement","type","className","textContent","JSON","stringify","openSidebar","head","appendChild","_x5","_disable5","_callee0","_context0","_init","_callee1","_iterator","_step","experiment","_t","_context1","_createForOfIteratorHelper","allExperiments","s","imagesBaseURL","replace","icon","includes","name","enable","_loadExperimentStates","_render","experimentName","find","exp","savedStates","parse","localStorage","getItem","forEach","undefined","states","map","setItem","_toggleExperiment2","_callee10","_this$br$plugins$arch","_context10","enabledLoading","archiveAnalytics","sendEvent","_panel","requestUpdate","disable","_x6","_x7","_this6","shell","menuProviders","id","html","_templateObject","_taggedTemplateLiteral","label","component","_templateObject2","filter","_ref6","_callee11","_context11","_toggleExperiment","detail","_saveExperimentStates","_x8","updateMenuContents","_x1","_importAsScript","_callee13","url","_context13","reject","script","src","onload","onerror","Error","registerPlugin","_decorate","customElement","_initialize","_LitElement","_dispatchToggle2","BrExperimentsPanel","_LitElement2","_this7","_len6","_key6","F","kind","decorators","property","_this8","_templateObject3","experiments","_templateObject4","title","description","learnMore","_dispatchToggle","_callee12","_context12","dispatchEvent","CustomEvent","_x9","_x0","_superPropGet","LitElement","_initialize2","_LitElement3","BrExperimentToggle","_LitElement4","_this9","_len7","_key7","Boolean","state","changedProperties","_this0","has","loading","_longLoading","_templateObject5","_templateObject6","_templateObject7","static","css","_templateObject8"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[240],{1041:function(t,e,n){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,i(r.key),r)}}function i(t){var e=function(t){if("object"!=r(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==r(e)?e:e+""}n.d(e,{S:function(){return a}}),n(2675),n(9463),n(2259),n(5700),n(3792),n(9572),n(2892),n(9085),n(6099),n(7764),n(2953);var a=function(){return t=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.br=e,this.options},(e=[{key:"setup",value:function(t){this.options=Object.assign({},this.options,t)}},{key:"init",value:function(){}},{key:"_configurePageContainer",value:function(t){}},{key:"_configureToolbar",value:function(t){}},{key:"_bindNavigationHandlers",value:function(){}},{key:"extendNavBar",value:function(t){}}])&&o(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}()},7038:function(t,e,n){n(2675),n(9463),n(2259),n(5700),n(8706),n(3792),n(9572),n(2892),n(875),n(6099),n(825),n(7764),n(2953);var r=n(8340),o=n(1041);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function a(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,l(r.key),r)}}function u(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(u=function(){return!!t})()}function c(t){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},c(t)}function f(t,e){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},f(t,e)}function l(t){var e=function(t){if("object"!=i(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==i(e)?e:e+""}var p="bookReaderFragmentChange",b=function(t){function e(){var t,n,r,o;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);for(var a=arguments.length,f=new Array(a),p=0;p<a;p++)f[p]=arguments[p];return t=function(t,e,n){return e=c(e),function(t,e){if(e&&("object"==i(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,u()?Reflect.construct(e,n||[],c(t).constructor):e.apply(t,n))}(this,e,[].concat(f)),n=t,o={enabled:!0},(r=l(r="options"))in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&f(t,e)}(e,t),n=e,(o=[{key:"init",value:function(){var t=this;this.options.enabled&&window.parent&&(this.br.bind(r.q.fragmentChange,function(){var e=t.br.fragmentFromParams(t.br.paramsFromCurrent());window.parent.postMessage({type:p,fragment:e},"*")}),window.addEventListener("message",function(e){e.data&&e.data.type===p&&t.br.updateFromParams(t.br.paramsFromFragment(e.data.fragment))}))}}])&&a(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(o.S),s=window.BookReader;null==s||s.registerPlugin("iframe",b)}},function(t){t(t.s=7038)}]);
|
|
2
|
-
//# sourceMappingURL=plugin.iframe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins/plugin.iframe.js","mappings":"y6BAMO,IAAMA,EAAgB,WAW3B,SAPA,SAAAA,EAAYC,gGAAIC,CAAAC,KAAAH,GAEdG,KAAKF,GAAKA,EAEVE,KAAKC,OACP,KAEA,EAAAC,IAAA,QAAAC,MAIA,SAAMF,GACJD,KAAKC,QAAUG,OAAOC,OAAO,CAAC,EAAGL,KAAKC,QAASA,EACjD,GAEA,CAAAC,IAAA,OAAAC,MACA,WAAQ,GAER,CAAAD,IAAA,0BAAAC,MAKA,SAAwBG,GACxB,GAEA,CAAAJ,IAAA,oBAAAC,MAKA,SAAkBI,GAClB,GAEA,CAAAL,IAAA,0BAAAC,MACA,WAA2B,GAE3B,CAAAD,IAAA,eAAAC,MAGA,SAAaK,GAAU,mFAAC,CA5CG,0sCCF7B,IAAMC,EAA+B,2BASxBC,EAAY,SAAAC,GAAA,SAAAD,IAAA,IAAAE,qGAAAb,CAAAC,KAAAU,GAAA,QAAAG,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAGtB,OAHsBN,uYAAAO,CAAAnB,KAAAU,EAAA,GAAAU,OAAAJ,MAAAJ,IACb,CACRS,SAAS,UAFY,sGAGtBT,CAAA,6RAAAU,CAAAZ,EAAAC,KAAAD,KAAA,EAAAR,IAAA,OAAAC,MAGD,WAAO,IAAAoB,EAAAvB,KAEAA,KAAKC,QAAQoB,SAAYG,OAAOC,SAIrCzB,KAAKF,GAAG4B,KAAKC,EAAAA,EAAOC,eAAgB,WAClC,IAAMC,EAAWN,EAAKzB,GAAGgC,mBAAmBP,EAAKzB,GAAGiC,qBAEpDP,OAAOC,OAAOO,YACZ,CAAEC,KAAMxB,EAA8BoB,SAAAA,GACtC,IAEJ,GAEAL,OAAOU,iBAAiB,UAAW,SAAAC,GAE5BA,EAAMC,MAAQD,EAAMC,KAAKH,OAASxB,GAIvCc,EAAKzB,GAAGuC,iBAAiBd,EAAKzB,GAAGwC,mBAAmBH,EAAMC,KAAKP,UACjE,GACF,mFAAC,CA7BsB,CAAShC,EAAAA,GAgC5B0C,EAAmEf,OAAOe,WAChFA,SAAAA,EAAYC,eAAe,SAAU9B","sources":["webpack://@internetarchive/bookreader/./src/BookReaderPlugin.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.iframe.js"],"sourcesContent":["// @ts-check\n/** @typedef {import(\"./BookReader.js\").default} BookReader */\n\n/**\n * @template TOptions\n */\nexport class BookReaderPlugin {\n /**\n * @param {BookReader} br\n */\n constructor(br) {\n /** @type {BookReader} */\n this.br = br;\n /** @type {TOptions} */\n this.options;\n }\n\n /**\n * @abstract\n * @param {TOptions} options\n **/\n setup(options) {\n this.options = Object.assign({}, this.options, options);\n }\n\n /** @abstract */\n init() {}\n\n /**\n * @abstract\n * @protected\n * @param {import (\"./BookReader/PageContainer.js\").PageContainer} pageContainer\n */\n _configurePageContainer(pageContainer) {\n }\n\n /**\n * @abstract\n * @protected\n * @param {JQuery<HTMLElement>} $toolbarElement\n */\n _configureToolbar($toolbarElement) {\n }\n\n /** @abstract @protected */\n _bindNavigationHandlers() {}\n\n /**\n * @param {JQuery<HTMLElement>} $navBar\n */\n extendNavBar($navBar) {}\n}\n","// @ts-check\nimport { EVENTS } from '../BookReader/events.js';\nimport { BookReaderPlugin } from '../BookReaderPlugin.js';\n\nconst MESSAGE_TYPE_FRAGMENT_CHANGE = 'bookReaderFragmentChange';\n\n/**\n * Plugin for two-way communication between a BookReader in an IFrame and the\n * parent web page. Using window.postMessage() and event listeners, the\n * plugin notifies the parent window when pages change, and the parent\n * window can also explicitly request a page change by sending its own\n * message.\n */\nexport class IframePlugin extends BookReaderPlugin {\n options = {\n enabled: true,\n }\n\n /** @override */\n init() {\n // Not enabled, or not embedded, abort\n if (!this.options.enabled || !window.parent) {\n return;\n }\n\n this.br.bind(EVENTS.fragmentChange, () => {\n const fragment = this.br.fragmentFromParams(this.br.paramsFromCurrent());\n\n window.parent.postMessage(\n { type: MESSAGE_TYPE_FRAGMENT_CHANGE, fragment },\n '*',\n );\n });\n\n window.addEventListener('message', event => {\n // Not a recognized message type, abort\n if (!event.data || event.data.type !== MESSAGE_TYPE_FRAGMENT_CHANGE) {\n return;\n }\n\n this.br.updateFromParams(this.br.paramsFromFragment(event.data.fragment));\n });\n }\n}\n\nconst BookReader = /** @type {typeof import('../BookReader').default} */(window.BookReader);\nBookReader?.registerPlugin('iframe', IframePlugin);\n"],"names":["BookReaderPlugin","br","_classCallCheck","this","options","key","value","Object","assign","pageContainer","$toolbarElement","$navBar","MESSAGE_TYPE_FRAGMENT_CHANGE","IframePlugin","_BookReaderPlugin","_this","_len","arguments","length","args","Array","_key","_callSuper","concat","enabled","_inherits","_this2","window","parent","bind","EVENTS","fragmentChange","fragment","fragmentFromParams","paramsFromCurrent","postMessage","type","addEventListener","event","data","updateFromParams","paramsFromFragment","BookReader","registerPlugin"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[69],{1041:function(t,e,n){function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function r(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,i(o.key),o)}}function i(t){var e=function(t){if("object"!=o(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==o(e)?e:e+""}n.d(e,{S:function(){return a}}),n(2675),n(9463),n(2259),n(5700),n(3792),n(9572),n(2892),n(9085),n(6099),n(7764),n(2953);var a=function(){return t=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.br=e,this.options},(e=[{key:"setup",value:function(t){this.options=Object.assign({},this.options,t)}},{key:"init",value:function(){}},{key:"_configurePageContainer",value:function(t){}},{key:"_configureToolbar",value:function(t){}},{key:"_bindNavigationHandlers",value:function(){}},{key:"extendNavBar",value:function(t){}}])&&r(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}()},8847:function(t,e,n){n(2675),n(9463),n(2259),n(5700),n(8706),n(3792),n(2062),n(9572),n(2892),n(9085),n(3851),n(875),n(9432),n(6099),n(825),n(888),n(7764),n(3500),n(2953);var o=n(1041);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,l(o.key),o)}}function a(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(a=function(){return!!t})()}function u(){return u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var o=function(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=c(t)););return t}(t,e);if(o){var r=Object.getOwnPropertyDescriptor(o,e);return r.get?r.get.call(arguments.length<3?t:n):r.value}},u.apply(null,arguments)}function c(t){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},c(t)}function f(t,e){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},f(t,e)}function l(t){var e=function(t){if("object"!=r(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==r(e)?e:e+""}var s=window.BookReader,p=function(t){function e(){var t,n,o,i;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);for(var u=arguments.length,f=new Array(u),s=0;s<u;s++)f[s]=arguments[s];return t=function(t,e,n){return e=c(e),function(t,e){if(e&&("object"==r(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,a()?Reflect.construct(e,n||[],c(t).constructor):e.apply(t,n))}(this,e,[].concat(f)),n=t,i={enabled:!0,manifest:null},(o=l(o="options"))in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&f(t,e)}(e,t),n=e,o=[{key:"setup",value:function(t){var n,o,r;(n=e,o=this,"function"==typeof(r=u(c(1&3?n.prototype:n),"setup",o))?function(t){return r.apply(o,t)}:r)([t]),this.manifest=this.options.manifest,this.options.enabled&&Object.assign(this.br.options,this.load())}},{key:"load",value:function(){if("http://iiif.io/api/presentation/2/context.json"==this.manifest["@context"]){var t=this.manifest;return this.manifestToBookReaderV2(t)}if("http://iiif.io/api/presentation/3/context.json"==this.manifest["@context"]){var e=this.manifest;return this.manifestToBookReaderV3(e)}throw new Error("Unsupported IIIF context "+this.manifest["@context"])}},{key:"manifestToBookReaderV3",value:function(t){var e={bookTitle:b(t.label),pageProgression:"right-to-left"==t.viewingDirection?"rl":"lr",metadata:(t.metadata||[]).map(function(t){return{label:b(t.label),value:b(t.value)}}),data:[],getPageURI:function(e,n,o){var r=Math.floor(100/n),i=t.items[e].items[0].items[0].body,a=(i instanceof Array?i[0]:i).service[0].id;return"".concat(a,"/full/pct:").concat(r,"/0/default.jpg")}};"top-to-bottom"!=t.viewingDirection&&"bottom-to-top"!=t.viewingDirection||console.warn("Unsupported viewingDirection",t.viewingDirection);var n=[];return t.items.forEach(function(o,r){var i=t.items[r].items[0].items[0].body,a={uri:(i instanceof Array?i[0]:i).service[0].id,width:o.width,height:o.height,pageNum:b(o.label)};n.push(a),r%2==0&&(e.data.push(n),n=[])}),n.length>0&&e.data.push(n),e}},{key:"manifestToBookReaderV2",value:function(t){var e,n={bookTitle:t.label,metadata:t.metadata,thumbnail:null===(e=t.thumbnail)||void 0===e?void 0:e["@id"],data:[],getPageURI:function(e,n,o){var r=Math.floor(100/n),i=t.sequences[0].canvases[e].images[0].resource.service["@id"];return"".concat(i,"/full/pct:").concat(r,"/0/default.jpg")}},o=[];return t.sequences[0].canvases.forEach(function(t,e){var r={uri:t.images[0].resource.service["@id"],width:t.width,height:t.height,pageNum:t.label};o.push(r),e%2==0&&(n.data.push(o),o=[])}),o.length>0&&n.data.push(o),n}}],o&&i(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(o.S);function b(t){var e=Object.keys(t)[0];return(t[navigator.language]||t[e])[0]}null==s||s.registerPlugin("iiif",p)}},function(t){t(t.s=8847)}]);
|
|
2
|
-
//# sourceMappingURL=plugin.iiif.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins/plugin.iiif.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./src/BookReaderPlugin.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.iiif.js"],"sourcesContent":["// @ts-check\n/** @typedef {import(\"./BookReader.js\").default} BookReader */\n\n/**\n * @template TOptions\n */\nexport class BookReaderPlugin {\n /**\n * @param {BookReader} br\n */\n constructor(br) {\n /** @type {BookReader} */\n this.br = br;\n /** @type {TOptions} */\n this.options;\n }\n\n /**\n * @abstract\n * @param {TOptions} options\n **/\n setup(options) {\n this.options = Object.assign({}, this.options, options);\n }\n\n /** @abstract */\n init() {}\n\n /**\n * @abstract\n * @protected\n * @param {import (\"./BookReader/PageContainer.js\").PageContainer} pageContainer\n */\n _configurePageContainer(pageContainer) {\n }\n\n /**\n * @abstract\n * @protected\n * @param {JQuery<HTMLElement>} $toolbarElement\n */\n _configureToolbar($toolbarElement) {\n }\n\n /** @abstract @protected */\n _bindNavigationHandlers() {}\n\n /**\n * @param {JQuery<HTMLElement>} $navBar\n */\n extendNavBar($navBar) {}\n}\n","// @ts-check\nimport { BookReaderPlugin } from '../BookReaderPlugin.js';\n\nconst BookReader = /** @type {typeof import('../BookReader').default} */(window.BookReader);\n\n/**\n * @extends BookReaderPlugin<IiifPlugin['options']>\n */\nexport class IiifPlugin extends BookReaderPlugin {\n options = {\n enabled: true,\n /** @type {import('@iiif/presentation-3').Manifest | import('@iiif/presentation-2').Manifest | null} */\n manifest: null,\n }\n\n /**\n * @param {IiifPlugin['options']} options\n */\n setup(options) {\n super.setup(options);\n this.manifest = this.options.manifest;\n\n if (this.options.enabled) {\n Object.assign(this.br.options, this.load());\n }\n }\n\n load() {\n if (this.manifest[\"@context\"] == \"http://iiif.io/api/presentation/2/context.json\") {\n const manifest = /** @type {import('@iiif/presentation-2').Manifest} */(this.manifest);\n return this.manifestToBookReaderV2(manifest);\n } else if (this.manifest[\"@context\"] == \"http://iiif.io/api/presentation/3/context.json\") {\n const manifest = /** @type {import('@iiif/presentation-3').Manifest} */(this.manifest);\n return this.manifestToBookReaderV3(manifest);\n } else {\n throw new Error(\"Unsupported IIIF context \" + this.manifest[\"@context\"]);\n }\n }\n\n /**\n * @param {import('@iiif/presentation-3').Manifest} manifest\n */\n manifestToBookReaderV3(manifest) {\n /** @type {import('../BookReader/options.js').BookReaderOptions} */\n const book = {\n bookTitle: resolveInternationalString(manifest.label),\n pageProgression: manifest.viewingDirection == \"right-to-left\" ? \"rl\" : \"lr\",\n // numLeafs: manifest.items.length,\n metadata: (manifest.metadata || []).map((metadata) => {\n return {\n label: resolveInternationalString(metadata.label),\n value: resolveInternationalString(metadata.value),\n };\n }),\n data: [],\n /**\n * @this {import('../BookReader.js').default}\n */\n getPageURI(pageIndex, reduce, rotate) {\n const percent = Math.floor(100 * 1 / reduce);\n const bodyArr = manifest.items[pageIndex].items[0].items[0].body;\n const body = bodyArr instanceof Array ? bodyArr[0] : bodyArr;\n const uri = body.service[0].id;\n return `${uri}/full/pct:${percent}/0/default.jpg`;\n },\n };\n\n if (manifest.viewingDirection == \"top-to-bottom\" || manifest.viewingDirection == \"bottom-to-top\") {\n console.warn(\"Unsupported viewingDirection\", manifest.viewingDirection);\n }\n\n let spread = [];\n manifest.items.forEach((item, index) => {\n const bodyArr = manifest.items[index].items[0].items[0].body;\n const body = bodyArr instanceof Array ? bodyArr[0] : bodyArr;\n const uri = body.service[0].id;\n /** @type {import('../BookReader/options.js').PageData} */\n const pageData = {\n uri,\n width: item.width,\n height: item.height,\n pageNum: resolveInternationalString(item.label),\n };\n spread.push(pageData);\n if (index % 2 == 0) {\n book.data.push(spread);\n spread = [];\n }\n });\n if (spread.length > 0) {\n book.data.push(spread);\n }\n return book;\n }\n\n /**\n * @param {import('@iiif/presentation-2').Manifest} manifest\n */\n manifestToBookReaderV2(manifest) {\n /** @type {import('../BookReader/options.js').BookReaderOptions} */\n const book = {\n bookTitle: manifest.label,\n metadata: manifest.metadata,\n thumbnail: manifest.thumbnail?.['@id'],\n // numLeafs: manifest.sequences[0].canvases.length,\n data: [],\n /**\n * @this {import('../BookReader.js').default}\n */\n getPageURI(pageIndex, reduce, rotate) {\n const percent = Math.floor(100 * 1 / reduce);\n const uri = manifest.sequences[0].canvases[pageIndex].images[0].resource.service['@id'];\n return `${uri}/full/pct:${percent}/0/default.jpg`;\n },\n };\n\n let spread = [];\n manifest.sequences[0].canvases.forEach((canvas, index) => {\n /** @type {import('../BookReader/options.js').PageData} */\n const pageData = {\n uri: canvas.images[0].resource.service['@id'],\n width: canvas.width,\n height: canvas.height,\n pageNum: canvas.label,\n };\n spread.push(pageData);\n if (index % 2 == 0) {\n book.data.push(spread);\n spread = [];\n }\n });\n if (spread.length > 0) {\n book.data.push(spread);\n }\n return book;\n }\n}\n\n/**\n * @param {import('@iiif/presentation-3').InternationalString} internationalString\n */\nfunction resolveInternationalString(internationalString) {\n const anyLang = Object.keys(internationalString)[0];\n return (internationalString[navigator.language] || internationalString[anyLang])[0];\n}\n\nBookReader?.registerPlugin('iiif', IiifPlugin);\n"],"names":["BookReaderPlugin","br","_classCallCheck","this","options","key","value","Object","assign","pageContainer","$toolbarElement","$navBar","BookReader","window","IiifPlugin","_BookReaderPlugin","_this","_len","arguments","length","args","Array","_key","_callSuper","concat","enabled","manifest","_inherits","load","manifestToBookReaderV2","manifestToBookReaderV3","Error","book","bookTitle","resolveInternationalString","label","pageProgression","viewingDirection","metadata","map","data","getPageURI","pageIndex","reduce","rotate","percent","Math","floor","bodyArr","items","body","uri","service","id","console","warn","spread","forEach","item","index","pageData","width","height","pageNum","push","_manifest$thumbnail","thumbnail","sequences","canvases","images","resource","canvas","internationalString","anyLang","keys","navigator","language","registerPlugin"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[555],{1041:function(e,t,n){function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function r(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,i(o.key),o)}}function i(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}n.d(t,{S:function(){return u}}),n(2675),n(9463),n(2259),n(5700),n(3792),n(9572),n(2892),n(9085),n(6099),n(7764),n(2953);var u=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.br=t,this.options},(t=[{key:"setup",value:function(e){this.options=Object.assign({},this.options,e)}},{key:"init",value:function(){}},{key:"_configurePageContainer",value:function(e){}},{key:"_configureToolbar",value:function(e){}},{key:"_bindNavigationHandlers",value:function(){}},{key:"extendNavBar",value:function(e){}}])&&r(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}()},4442:function(e,t,n){var o={};n.r(o),n.d(o,{areCookiesBlocked:function(){return u},getItem:function(){return f},removeItem:function(){return s},setItem:function(){return l}}),n(2675),n(9463),n(2259),n(3792),n(875),n(6099),n(825),n(7764),n(2953),n(5700),n(8706),n(9572),n(2892),n(8940),n(7495),n(1761);var r=n(8340),i=n(1041);function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;try{return e.cookie,!1}catch(e){return!0}}n(4864),n(8781),n(5440);var c,a=u();function f(e){return a||!e?null:decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null}function l(e,t,n,o,r,i){return!a&&(document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+(n?"; expires=".concat(n.toUTCString()):"")+(r?"; domain=".concat(r):"")+(o?"; path=".concat(o):"")+(i?"; secure":""),!0)}function s(e,t,n){return!a&&!!hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain=".concat(n):"")+(t?"; path=".concat(t):""),!0)}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function y(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,d(o.key),o)}}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function d(e){var t=function(e){if("object"!=p(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==p(t)?t:t+""}BookReader.docCookies=o;var h=function(e){function t(){var e,n,o,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,u=new Array(i),c=0;c<i;c++)u[c]=arguments[c];return e=function(e,t,n){return t=m(t),function(e,t){if(t&&("object"==p(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,b()?Reflect.construct(t,n||[],m(e).constructor):t.apply(e,n))}(this,t,[].concat(u)),n=e,r={enabled:!0,cookiePath:null},(o=d(o="options"))in n?Object.defineProperty(n,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[o]=r,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}(t,e),n=t,(o=[{key:"init",value:function(){var e=this;this.options.enabled&&this.br.bind(r.q.fragmentChange,function(){var t=e.br.paramsFromCurrent();e.updateResumeValue(t.index)})}},{key:"getResumeValue",value:function(){var e=BookReader.docCookies.getItem("br-resume");return null!==e?parseInt(e):null}},{key:"getCookiePath",value:function(e){return e.match(".+?(?=/page/|/mode/|$)")[0]}},{key:"updateResumeValue",value:function(e,t){var n=new Date(+new Date+12096e5),o=this.options.cookiePath||this.getCookiePath(window.location.pathname);BookReader.docCookies.setItem(t||"br-resume",e,n,o,null,!1)}}])&&y(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(i.S);null===(c=BookReader)||void 0===c||c.registerPlugin("resume",h)}},function(e){e(e.s=4442)}]);
|
|
2
|
-
//# sourceMappingURL=plugin.resume.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins/plugin.resume.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./src/BookReaderPlugin.js","webpack://@internetarchive/bookreader/./src/util/docCookies.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.resume.js"],"sourcesContent":["// @ts-check\n/** @typedef {import(\"./BookReader.js\").default} BookReader */\n\n/**\n * @template TOptions\n */\nexport class BookReaderPlugin {\n /**\n * @param {BookReader} br\n */\n constructor(br) {\n /** @type {BookReader} */\n this.br = br;\n /** @type {TOptions} */\n this.options;\n }\n\n /**\n * @abstract\n * @param {TOptions} options\n **/\n setup(options) {\n this.options = Object.assign({}, this.options, options);\n }\n\n /** @abstract */\n init() {}\n\n /**\n * @abstract\n * @protected\n * @param {import (\"./BookReader/PageContainer.js\").PageContainer} pageContainer\n */\n _configurePageContainer(pageContainer) {\n }\n\n /**\n * @abstract\n * @protected\n * @param {JQuery<HTMLElement>} $toolbarElement\n */\n _configureToolbar($toolbarElement) {\n }\n\n /** @abstract @protected */\n _bindNavigationHandlers() {}\n\n /**\n * @param {JQuery<HTMLElement>} $navBar\n */\n extendNavBar($navBar) {}\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 * Check to see if the browser has cookies enabled.\n * Accessing document.cookies errors if eg iframe with sandbox enabled.\n * @returns {boolean}\n */\nexport function areCookiesBlocked(doc = document) {\n try {\n doc.cookie;\n return false;\n } catch (e) {\n return true;\n }\n}\n\nconst COOKIES_BLOCKED = areCookiesBlocked();\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 (COOKIES_BLOCKED || !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 {boolean}\n */\nexport function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n if (COOKIES_BLOCKED) return false;\n\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 if (COOKIES_BLOCKED) return false;\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 { EVENTS } from '../BookReader/events.js';\nimport { BookReaderPlugin } from '../BookReaderPlugin.js';\nimport * 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 */\nexport class ResumePlugin extends BookReaderPlugin {\n options = {\n enabled: true,\n /** @type {string|null} eg '/', '/details/id' */\n cookiePath: null,\n }\n\n /** @override */\n init() {\n if (this.options.enabled) {\n this.br.bind(EVENTS.fragmentChange, () => {\n const params = this.br.paramsFromCurrent();\n this.updateResumeValue(params.index);\n });\n }\n }\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 */\n getResumeValue() {\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 */\n getCookiePath(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 */\n updateResumeValue(index, cookieName) {\n const ttl = new Date(+new Date + 12096e5); // 2 weeks\n // For multiple files in item, leave cookiePath blank\n // It's likely we can remove cookiePath using getCookiePath()\n const path = this.options.cookiePath\n || this.getCookiePath(window.location.pathname);\n BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);\n }\n}\n\nBookReader?.registerPlugin('resume', ResumePlugin);\n"],"names":["BookReaderPlugin","br","_classCallCheck","this","options","key","value","Object","assign","pageContainer","$toolbarElement","$navBar","areCookiesBlocked","doc","arguments","length","undefined","document","cookie","e","COOKIES_BLOCKED","getItem","sKey","decodeURIComponent","replace","RegExp","encodeURIComponent","setItem","sValue","vEnd","sPath","sDomain","bSecure","concat","toUTCString","removeItem","hasItem","BookReader","docCookies","ResumePlugin","_BookReaderPlugin","_this","_len","args","Array","_key","_callSuper","enabled","cookiePath","_inherits","_this2","bind","EVENTS","fragmentChange","params","paramsFromCurrent","updateResumeValue","index","val","parseInt","urlPathPart","match","cookieName","ttl","Date","path","getCookiePath","window","location","pathname","_BookReader","registerPlugin"],"sourceRoot":""}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see plugin.search.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[924],{706:function(e,t,n){var r=n(350).PROPER,a=n(9039),i=n(7452);e.exports=function(e){return a(function(){return!!i[e]()||"
"!=="
"[e]()||r&&i[e].name!==e})}},2762:function(e,t,n){var r=n(6518),a=n(3802).trim;r({target:"String",proto:!0,forced:n(706)("trim")},{trim:function(){return a(this)}})},1041:function(e,t,n){function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}n.d(t,{S:function(){return o}}),n(2675),n(9463),n(2259),n(5700),n(3792),n(9572),n(2892),n(9085),n(6099),n(7764),n(2953);var o=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.br=t,this.options},(t=[{key:"setup",value:function(e){this.options=Object.assign({},this.options,e)}},{key:"init",value:function(){}},{key:"_configurePageContainer",value:function(e){}},{key:"_configureToolbar",value:function(e){}},{key:"_bindNavigationHandlers",value:function(){}},{key:"extendNavBar",value:function(e){}}])&&a(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}()},5372:function(e,t,n){n(2675),n(9463),n(2259),n(5700),n(8706),n(113),n(3418),n(3792),n(8598),n(2062),n(4782),n(9572),n(2010),n(2892),n(5506),n(3851),n(875),n(6099),n(8459),n(3362),n(825),n(888),n(7495),n(8781),n(7764),n(5440),n(5746),n(2953),n(8408);var r=n(8004),a=n(4907),i=(n(8940),n(3500),n(1669));function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,l(r.key),r)}}function l(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}var u=function(){return e=function e(t){var n=t.br,r=t.searchCancelledCallback,a=void 0===r?function(){}:r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.br=n,this.matches=[],this.cacheDOMElements(),this.cancelSearch=a},t=[{key:"init",value:function(){this.bindEvents()}},{key:"cacheDOMElements",value:function(){this.dom={},this.dom.toolbarSearch=this.buildToolbarSearch()}},{key:"setQuery",value:function(e){this.br.$('[name="query"]').val(e)}},{key:"emptyMatches",value:function(){this.matches=[]}},{key:"removeResultPins",value:function(){this.br.$(".BRnavpos .BRsearch").remove()}},{key:"clearSearchFieldAndResults",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.br.plugins.search.removeSearchResults(),this.removeResultPins(),this.emptyMatches(),this.setQuery(""),this.teardownSearchNavigation(),e&&this.br.trigger("SearchResultsCleared")}},{key:"toggleSidebar",value:function(){this.br.trigger("ToggleSearchMenu")}},{key:"renderSearchNavigation",value:function(){var e="BRsearch-navigation";i(".BRnav.BRnavMain").before('\n <div class="'.concat(e,'">\n <button class="toggle-sidebar">\n <h4>\n <span class="icon icon-search"></span> Results\n </h4>\n </button>\n <div class="pagination">\n <button class="prev" title="Previous result"><span class="icon icon-chevron hflip"></span></button>\n <span data-id="resultsCount">').concat(this.resultsPosition(),'</span>\n <button class="next" title="Next result"><span class="icon icon-chevron"></button>\n </div>\n <button class="clear" title="Clear search results">\n <span class="icon icon-close"></span>\n </button>\n </div>\n ')),this.dom.searchNavigation=i(".".concat(e))}},{key:"resultsPosition",value:function(){var e="".concat(this.matches.length," result").concat(1===this.matches.length?"":"s");return~this.currentMatchIndex&&(e="".concat(this.currentMatchIndex+1," / ").concat(this.matches.length)),e}},{key:"bindSearchNavigationEvents",value:function(){if(this.dom.searchNavigation){var e="searchNavigation";this.dom.searchNavigation.on("click.".concat(e),".clear",this.clearSearchFieldAndResults.bind(this)).on("click.".concat(e),".prev",this.showPrevResult.bind(this)).on("click.".concat(e),".next",this.showNextResult.bind(this)).on("click.".concat(e),".toggle-sidebar",this.toggleSidebar.bind(this)).on("click.".concat(e),!1)}}},{key:"showPrevResult",value:function(){0!==this.currentMatchIndex&&(this.br.mode===this.br.constModeThumb&&this.br.switchMode(this.br.constMode1up),~this.currentMatchIndex||(this.currentMatchIndex=this.getClosestMatchIndex(function(e,t,n){return t[0]>n})+1),this.br.$(".BRnavline .BRsearch").eq(--this.currentMatchIndex).click(),this.updateResultsPosition(),this.updateSearchNavigationButtons())}},{key:"showNextResult",value:function(){this.currentMatchIndex+1!==this.matches.length&&(this.br.mode===this.br.constModeThumb&&this.br.switchMode(this.br.constMode1up),~this.currentMatchIndex||(this.currentMatchIndex=this.getClosestMatchIndex(function(e,t,n){return e[e.length-1]>n})-1),this.br.$(".BRnavline .BRsearch").eq(++this.currentMatchIndex).click(),this.updateResultsPosition(),this.updateSearchNavigationButtons())}},{key:"getClosestMatchIndex",value:function(e){var t=this.matches.map(function(e){return e.par[0].page}),n=this.br.currentIndex()+1,r=function(t,n){if(1===t.length)return t[0];var a=t.slice(0,t.length/2),i=t.slice(t.length/2);return r(e(a,i,n)?a:i,n)},a=r(t,n);return this.matches.indexOf(this.matches.find(function(e){return e.par[0].page===a}))}},{key:"updateResultsPosition",value:function(){this.dom.searchNavigation&&this.dom.searchNavigation.find("[data-id=resultsCount]").text(this.resultsPosition())}},{key:"updateSearchNavigationButtons",value:function(){this.dom.searchNavigation&&(this.dom.searchNavigation.find(".prev").attr("disabled",!this.currentMatchIndex),this.dom.searchNavigation.find(".next").attr("disabled",this.currentMatchIndex+1===this.matches.length))}},{key:"teardownSearchNavigation",value:function(){this.dom.searchNavigation||(this.dom.searchNavigation=i(".BRsearch-navigation")),this.dom.searchNavigation.length&&(this.dom.searchNavigation.off(".searchNavigation").remove(),this.dom.searchNavigation=null,this.br.resize())}},{key:"setCurrentMatchIndex",value:function(){var e;this.br.mode!==this.br.constModeThumb?(e=this.br.mode===this.br.constMode2up?this.find2upMatchingSearchResult():this.find1upMatchingSearchResult(),this.currentMatchIndex=this.matches.indexOf(e)):this.currentMatchIndex=-1}},{key:"find1upMatchingSearchResult",value:function(){var e=this;return this.matches.find(function(t){return e.br.currentIndex()===t.par[0].page-1})}},{key:"find2upMatchingSearchResult",value:function(){var e=this;return this.matches.find(function(t){return e.br._isIndexDisplayed(t.par[0].page-1)})}},{key:"updateSearchNavigation",value:function(){this.matches.length&&(this.setCurrentMatchIndex(),this.updateResultsPosition(),this.updateSearchNavigationButtons())}},{key:"togglePinsFor",value:function(e){var t=e?"visible":"hidden";this.br.refs.$BRfooter.find(".BRsearch").css({visibility:t})}},{key:"buildToolbarSearch",value:function(){var e=document.createElement("span");return e.classList.add("BRtoolbarSection","BRtoolbarSectionSearch"),e.innerHTML='\n <form class="BRbooksearch desktop">\n <input type="search" name="query" class="BRsearchInput" value="" placeholder="Search inside"/>\n <button type="submit" class="BRsearchSubmit">\n <img src="'.concat(this.br.options.imagesBaseURL,'icon_search_button.svg" />\n </button>\n </form>\n '),e}},{key:"renderPins",value:function(e){var t=this;e.forEach(function(e){var n=t.br.book.leafNumToIndex(e.par[0].page),r=t.br.constructor.util.cssPercentage(n,t.br.book.getNumLeafs()-1),a=e.html;if(a.length>200){var o=Math.max(0,a.indexOf("<mark>")-100);0!=o&&(a="…"+e.html.substring(o).replace(/^\S+/,""))}i("<div>").addClass("BRsearch").css({left:r}).attr("title","Search result").append('\n <div class="BRquery">\n <main>'.concat(a,"</main>\n <footer>Page ").concat(e.displayPageNumber,"</footer>\n </div>\n ")).appendTo(t.br.$(".BRnavline")).on("mouseenter",function(e){var t=e.currentTarget,n=t.querySelector(".BRquery"),r=n.getBoundingClientRect(),a=t.getBoundingClientRect(),o=2*parseInt(getComputedStyle(n).paddingLeft);r.x-o<0&&n.style.setProperty("transform","translateX(-".concat(a.left-o,"px)")),i(".BRsearch,.BRchapter").removeClass("front"),i(e.target).addClass("front")}).on("mouseleave",function(e){return i(e.target).removeClass("front")}).on("click",function(){t.br.plugins.search.jumpToMatch(e.matchIndex)})})}},{key:"toggleSearchPending",value:function(){var e=this;arguments.length>0&&void 0!==arguments[0]&&arguments[0]?this.br.showProgressPopup("Search results will appear below...",function(){return e.progressPopupClosed()}):this.br.removeProgressPopup()}},{key:"progressPopupClosed",value:function(){this.toggleSearchPending(),this.cancelSearch()}},{key:"renderErrorModal",value:function(){var e="".concat(arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"":"The text may still be processing. ","Please try again.");this.renderModalMessage("\n Sorry, there was an error with your search.\n <br />\n ".concat(e,"\n ")),this.delayModalRemovalFor(4e3)}},{key:"renderBookNotIndexedModal",value:function(){this.renderModalMessage("\n <p>\n This book hasn't been indexed for searching yet.\n We've just started indexing it, so search should be available soon.\n <br />\n Please try again later. Thanks!\n </p>\n "),this.delayModalRemovalFor(5e3)}},{key:"renderResultsEmptyModal",value:function(){this.renderModalMessage("No matches were found."),this.delayModalRemovalFor(2e3)}},{key:"renderModalMessage",value:function(e){var t=document.createElement("div");t.classList.add("BRprogresspopup","search_modal"),t.innerHTML=e,document.querySelector(this.br.el).append(t)}},{key:"delayModalRemovalFor",value:function(e){setTimeout(this.br.removeProgressPopup.bind(this.br),e)}},{key:"submitHandler",value:function(e){e.preventDefault();var t=e.target.querySelector('[name="query"]').value;return!!t.length&&(this.br.search(t),this.emptyMatches(),this.toggleSearchPending(!0),!1)}},{key:"handleSearchCallback",value:function(e,t){var n=this,r=t.results,a=t.options;this.matches=r.matches,this.setCurrentMatchIndex(),this.teardownSearchNavigation(),this.renderSearchNavigation(),this.bindSearchNavigationEvents(),this.renderPins(r.matches),this.toggleSearchPending(!1),a.goToFirstResult?i(document).one("BookReader:pageChanged",function(){n.br.resize()}):this.br.resize()}},{key:"handleSearchStarted",value:function(){this.emptyMatches(),this.br.plugins.search.removeSearchHilites(),this.removeResultPins(),this.toggleSearchPending(!0),this.teardownSearchNavigation(),this.setQuery(this.br.plugins.search.searchTerm)}},{key:"handleSearchCallbackError",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.toggleSearchPending(!1);var n=null==t||null===(e=t.detail)||void 0===e||null===(e=e.props)||void 0===e||null===(e=e.results)||void 0===e?void 0:e.indexed;this.renderErrorModal(n)}},{key:"handleSearchCallbackBookNotIndexed",value:function(){this.toggleSearchPending(!1),this.renderBookNotIndexedModal()}},{key:"handleSearchCallbackEmpty",value:function(){this.toggleSearchPending(!1),this.renderResultsEmptyModal()}},{key:"bindEvents",value:function(){var e="BookReader:";window.addEventListener("".concat(e,"SearchCallbackError"),this.handleSearchCallbackError.bind(this)),i(document).on("".concat(e,"SearchCallback"),this.handleSearchCallback.bind(this)).on("".concat(e,"SearchStarted"),this.handleSearchStarted.bind(this)).on("".concat(e,"SearchCallbackBookNotIndexed"),this.handleSearchCallbackBookNotIndexed.bind(this)).on("".concat(e,"SearchCallbackEmpty"),this.handleSearchCallbackEmpty.bind(this)).on("".concat(e,"pageChanged"),this.updateSearchNavigation.bind(this)),this.dom.toolbarSearch.querySelector("form").addEventListener("submit",this.submitHandler.bind(this))}}],t&&s(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}(),c=u;function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=d(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function d(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t,n){var a=(0,r.Nt)((0,r.Zn)(t)),i=(0,r.Nt)((0,r.Zn)(n)),o=new RegExp("".concat(a,"([^]+?)").concat(i),"g");return(0,r.Zn)(e).replace(o,"<mark>$1</mark>").replace(/(\b)- /g,"$1")}n(4864);var b=n(1041),m=n(9073),p=n(4160),y=n(1669),k=n(1669);function S(e){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S(e)}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||x(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=x(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function x(e,t){if(e){if("string"==typeof e)return C(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function T(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var l=r&&r.prototype instanceof s?r:s,u=Object.create(l.prototype);return P(u,"_invoke",function(n,r,a){var i,s,l,u=0,c=a||[],h=!1,f={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return i=t,s=0,l=e,f.n=n,o}};function d(n,r){for(s=n,l=r,t=0;!h&&u&&!a&&t<c.length;t++){var a,i=c[t],d=f.p,v=i[2];n>3?(a=v===r)&&(l=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=d&&((a=n<2&&d<i[1])?(s=0,f.v=r,f.n=i[1]):d<v&&(a=n<3||i[0]>r||r>v)&&(i[4]=n,i[5]=r,f.n=v,s=0))}if(a||n>1)return o;throw h=!0,r}return function(a,c,v){if(u>1)throw TypeError("Generator is already running");for(h&&1===c&&d(c,v),s=c,l=v;(t=s<2?e:l)||!h;){i||(s?s<3?(s>1&&(f.n=-1),d(s,l)):f.n=l:f.v=l);try{if(u=2,i){if(s||(a="next"),t=i[a]){if(!(t=t.call(i,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);i=e}else if((t=(h=f.n<0)?l:n.call(r,f))!==o)break}catch(t){i=e,s=1,l=t}finally{u=1}}return{value:t,done:h}}}(n,a,i),!0),u}var o={};function s(){}function l(){}function u(){}t=Object.getPrototypeOf;var c=[][r]?t(t([][r]())):(P(t={},r,function(){return this}),t),h=u.prototype=s.prototype=Object.create(c);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,P(e,a,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=u,P(h,"constructor",u),P(u,"constructor",l),l.displayName="GeneratorFunction",P(u,a,"GeneratorFunction"),P(h),P(h,a,"Generator"),P(h,r,function(){return this}),P(h,"toString",function(){return"[object Generator]"}),(T=function(){return{w:i,m:f}})()}function P(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}P=function(e,t,n,r){function i(t,n){P(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},P(e,t,n,r)}function I(e,t,n,r,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,a)}function j(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var i=e.apply(t,n);function o(e){I(i,r,a,o,s,"next",e)}function s(e){I(i,r,a,o,s,"throw",e)}o(void 0)})}}function M(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_(r.key),r)}}function N(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(N=function(){return!!e})()}function B(e,t,n,r){var a=O(E(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof a?function(e){return a.apply(n,e)}:a}function O(){return O="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=E(e)););return e}(e,t);if(r){var a=Object.getOwnPropertyDescriptor(r,t);return a.get?a.get.call(arguments.length<3?e:n):a.value}},O.apply(null,arguments)}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function A(e,t){return A=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},A(e,t)}function _(e){var t=function(e){if("object"!=S(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=S(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==S(t)?t:t+""}var z=window.BookReader,L=function(e){function t(){var e,n,r,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,o=new Array(i),s=0;s<i;s++)o[s]=arguments[s];return e=function(e,t,n){return t=E(t),function(e,t){if(t&&("object"==S(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,N()?Reflect.construct(t,n||[],E(e).constructor):t.apply(e,n))}(this,t,[].concat(o)),n=e,r="options",a={enabled:!0,preTag:"{{{",postTag:"}}}",searchInsideUrl:"/fulltext/inside.php?"+["q={{query|urlencode}}","pre_tag={{preTag|urlencode}}","post_tag={{postTag|urlencode}}"].join("&"),initialSearchTerm:null,goToFirstResult:!1},(r=_(r))in n?Object.defineProperty(n,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[r]=a,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&A(e,t)}(t,e),n=t,i=[{key:"setup",value:function(e){var n=this;B(t,"setup",this,3)([e]),this.searchTerm="",this.searchResults=null,this.searchInsideUrl=this.options.searchInsideUrl,this.enabled=this.options.enabled,this.searchXHR=null,this._searchBoxesByIndex={},this.enabled?this.searchView=new c({br:this.br,searchCancelledCallback:function(){n._cancelSearch(),n.br.trigger("SearchCanceled",{term:n.searchTerm,instance:n.br})}}):this.searchView=null}},{key:"init",value:function(){var e;B(t,"init",this,3)([]),this.enabled&&(this.searchView.init(),this.options.initialSearchTerm?this.search(this.options.initialSearchTerm,{goToFirstResult:this.options.goToFirstResult,suppressFragmentChange:!1}):"search"===(null===(e=this.br.urlPlugin)||void 0===e?void 0:e.getUrlParam("focus"))&&this.searchView.toggleSidebar())}},{key:"_configureToolbar",value:function(e){if(this.enabled)return this.searchView.dom.toolbarSearch&&e.find(".BRtoolbarSectionInfo").after(this.searchView.dom.toolbarSearch),e}},{key:"_configurePageContainer",value:function(e){if(this.enabled&&e.page&&e.page.index in this._searchBoxesByIndex){var t=e.page.index,n=this._searchBoxesByIndex[t];(0,a.KL)("searchHiliteLayer",n,e.page,e.$container[0],n.map(function(e){return"match-index-".concat(e.matchIndex)}))}return e}},{key:"search",value:(s=j(T().m(function e(){var t,n,r,a,i,o,s,l=this,u=arguments;return T().w(function(e){for(;;)switch(e.n){case 0:return t=u.length>0&&void 0!==u[0]?u[0]:"",n=u.length>1&&void 0!==u[1]?u[1]:{},r={goToFirstResult:!1,disablePopup:!1,suppressFragmentChange:!1,error:null,success:null},a=y.extend({},r,n),this.suppressFragmentChange=a.suppressFragmentChange,this.searchCancelled=!1,this.searchTerm=t.replace(/\//g," "),a.suppressFragmentChange||this.br.trigger(z.eventNames.fragmentChange),i=(0,m.gT)(this.options.searchInsideUrl,this.br.options.vars,{query:t,preTag:this.options.preTag,postTag:this.options.postTag}),o=function(e){if(!l.searchCancelled){var t=e.error||!e.matches.length,n="function"==typeof a.error,r="function"==typeof a.success;t?(console.error("Search Inside Response Error",e.error||"matches.length == 0"),n?a.error.call(l,e,a):l.BRSearchCallbackError(e)):r?a.success.call(l,e,a):l.BRSearchCallback(e,a)}},this.br.trigger("SearchStarted",{term:this.searchTerm,instance:this.br}),s=o,e.n=1,k.ajax({url:i,cache:!0,xhrFields:{withCredentials:this.br.protected},beforeSend:function(e){l.searchXHR=e}});case 1:s(e.v);case 2:return e.a(2)}},e,this)})),function(){return s.apply(this,arguments)})},{key:"_cancelSearch",value:function(){var e;null===(e=this.searchXHR)||void 0===e||e.abort(),this.searchView.clearSearchFieldAndResults(!1),this.searchTerm="",this.searchXHR=null,this.searchCancelled=!0,this.searchResults=null}},{key:"cancelSearchRequest",value:function(){this.searchCancelled=!0,null!==this.searchXHR&&(this._cancelSearch(),this.searchView.toggleSearchPending(),this.br.trigger("SearchCanceled",{term:this.searchTerm,instance:this.br}))}},{key:"BRSearchCallback",value:function(e,t){var n=this,r=(0,p.YH)(this.br.options.bookLanguage);!function(e,t,n,r,a){var i,o=f(e.matches.entries());try{for(o.s();!(i=o.n()).done;){var s=h(i.value,2),l=s[0],u=s[1];u.matchIndex=l,u.displayPageNumber=t(u.par[0].page),u.html=g(u.text,n,r),u.lang=a;var c,d=f(u.par);try{for(d.s();!(c=d.n()).done;){var v,b=f(c.value.boxes);try{for(b.s();!(v=b.n()).done;)v.value.matchIndex=l}catch(e){b.e(e)}finally{b.f()}}}catch(e){d.e(e)}finally{d.f()}}}catch(e){o.e(e)}finally{o.f()}}(e,function(e){return n.br.book.getPageNum(n.br.book.leafNumToIndex(e))},this.options.preTag,this.options.postTag,r),this.searchResults=e||null,this.updateSearchHilites(),this.br.removeProgressPopup(),t.goToFirstResult&&this.jumpToMatch(0),this.br.trigger("SearchCallback",{results:e,options:t,instance:this.br})}},{key:"BRSearchCallbackError",value:function(e){this._BRSearchCallbackError(e)}},{key:"_BRSearchCallbackError",value:function(e){this.searchResults=e;var t={term:this.searchTerm,results:e,instance:this.br};if(e.error)this.br.trigger("SearchCallbackError",t);else if(0==e.matches.length){if(!1===e.indexed)return void this.br.trigger("SearchCallbackBookNotIndexed",t);this.br.trigger("SearchCallbackEmpty",t)}}},{key:"updateSearchHilites",value:function(){var e,t=(null===(e=this.searchResults)||void 0===e?void 0:e.matches)||[],n={};this.removeSearchHilites();var r,i=R(t);try{for(i.s();!(r=i.n()).done;){var o,s=R(r.value.par[0].boxes);try{for(s.s();!(o=s.n()).done;){var l=o.value,u=this.br.book.leafNumToIndex(l.page);(n[u]||(n[u]=[])).push(l)}}catch(e){s.e(e)}finally{s.f()}}}catch(e){i.e(e)}finally{i.f()}for(var c=0,h=Object.entries(n);c<h.length;c++){var f,d=w(h[c],2),v=d[0],g=d[1],b=parseFloat(v),m=this.br.book.getPage(b),p=R(this.br.getActivePageContainerElementsForIndex(b));try{for(p.s();!(f=p.n()).done;){var y=f.value;(0,a.KL)("searchHiliteLayer",g,m,y,g.map(function(e){return"match-index-".concat(e.matchIndex)}))}}catch(e){p.e(e)}finally{p.f()}}this._searchBoxesByIndex=n}},{key:"removeSearchHilites",value:function(){k(this.br.getActivePageContainerElements()).find(".searchHiliteLayer").remove()}},{key:"jumpToMatch",value:(o=j(T().m(function e(t){var n,a,i,o,s,l,u,c,h,f,d,v;return T().w(function(e){for(;;)switch(e.n){case 0:if(a=null===(n=this.searchResults)||void 0===n?void 0:n.matches[t],i=this.br.book,o=i.leafNumToIndex(a.par[0].page),s=i.getPage(o),l=Math.abs(this.br.currentIndex()-o)<3,u=!1,s.isViewable){e.n=2;break}return e.n=1,fetch("/services/bookreader/request_page?"+new URLSearchParams({id:this.br.options.bookId,subprefix:this.br.options.subPrefix,leafNum:s.leafNum})).then(function(e){return e.json()});case 1:c=e.v,h=R(c.value);try{for(h.s();!(f=h.n()).done;)d=f.value,i.getPage(i.leafNumToIndex(d)).makeViewable()}catch(e){h.e(e)}finally{h.f()}if(c.value.length||(i.getPage(o).makeViewable(),u=!0),this.br._modes.mode1Up.mode1UpLit.updatePages(),this.br.activeMode!=this.br._modes.mode1Up){e.n=2;break}return e.n=2,this.br._modes.mode1Up.mode1UpLit.updateComplete;case 2:return this.br._isIndexDisplayed(o)||(this.suppressFragmentChange=!1,this.br.jumpToIndex(o,{ariaLive:!0})),u&&i.getPage(o).makeViewable(!1),e.n=3,(0,r.wt)(function(){return k("rect.match-index-".concat(a.matchIndex))},{until:function(e){return e.length>0}});case 3:if(!(v=e.v).length){e.n=5;break}return v.css("animation","none"),this.br.scrollIntoView(v[0],{block:"center",inline:"center",behavior:l?"smooth":"auto"}),e.n=4,new Promise(function(e){return setTimeout(e,100)});case 4:v.removeAttr("style");case 5:return e.a(2)}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"removeSearchResults",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.removeSearchHilites(),this.searchTerm=null,this.searchResults=null,e||this.br.trigger(z.eventNames.fragmentChange)}}],i&&M(n.prototype,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,i,o,s}(b.S);null==z||z.registerPlugin("search",L)},4160:function(e,t,n){n.d(t,{$x:function(){return g},ND:function(){return v},YH:function(){return h},_4:function(){return f}}),n(2675),n(9463),n(2259),n(3418),n(4423),n(3792),n(4782),n(2010),n(875),n(6099),n(3362),n(7495),n(8781),n(1699),n(7764),n(2953);var r=[],a={},i={},o={};[["Serbian","српски језик","sr","srp","srp"],["Romanian, Moldavian, Moldovan","Română","ro","ron","rum"],["Sichuan Yi, Nuosu","ꆈꌠ꒿ Nuosuhxop","ii","iii","iii"],["Tahitian","Reo Tahiti","ty","tah","tah"],["Tagalog","Wikang Tagalog","tl","tgl","tgl"],["Yiddish","ייִדיש","yi","yid","yid"],["Akan","Akan","ak","aka","aka"],["Malay","Bahasa Melayu, بهاس ملايو","ms","msa","may"],["Arabic","العربية","ar","ara","ara"],["Norwegian","Norsk","no","nor","nor"],["Ojibwa","ᐊᓂᔑᓈᐯᒧᐎᓐ","oj","oji","oji"],["Fulah","Fulfulde, Pulaar, Pular","ff","ful","ful"],["Persian","فارسی","fa","fas","per"],["Albanian","Shqip","sq","sqi","alb"],["Aymara","aymar aru","ay","aym","aym"],["Azerbaijani","azərbaycan dili","az","aze","aze"],["Chinese","中文 (Zhōngwén), 汉语, 漢語","zh","zho","chi"],["Cree","ᓀᐦᐃᔭᐍᐏᐣ","cr","cre","cre"],["Estonian","eesti, eesti keel","et","est","est"],["Guaraní","Avañe'ẽ","gn","grn","grn"],["Inupiaq","Iñupiaq, Iñupiatun","ik","ipk","ipk"],["Inuktitut","ᐃᓄᒃᑎᑐᑦ","iu","iku","iku"],["Kanuri","Kanuri","kr","kau","kau"],["Komi","коми кыв","kv","kom","kom"],["Kongo","Kikongo","kg","kon","kon"],["Kurdish","Kurdî, أۇزبېك","ku","kur","kur"],["Latvian","latviešu valoda","lv","lav","lav"],["Malagasy","fiteny malagasy","mg","mlg","mlg"],["Mongolian","Монгол хэл","mn","mon","mon"],["Oromo","Afaan Oromoo","om","orm","orm"],["Pashto, Pushto","پښتو","ps","pus","pus"],["Quechua","Runa Simi, Kichwa","qu","que","que"],["Sardinian","sardu","sc","srd","srd"],["Swahili","Kiswahili","sw","swa","swa"],["Uzbek","Oʻzbek, Ўзбек, ","uz","uzb","uzb"],["Zhuang, Chuang","Saɯ cueŋƅ, Saw cuengh","za","zha","zha"],["Bislama","Bislama","bi","bis","bis"],["Norwegian Bokmål","Norsk Bokmål","nb","nob","nob"],["Norwegian Nynorsk","Norsk Nynorsk","nn","nno","nno"],["Indonesian","Bahasa Indonesia","id","ind","ind"],["Twi","Twi","tw","twi","twi"],["Esperanto","Esperanto","eo","epo","epo"],["Interlingua","Interlingua","ia","ina","ina"],["Interlingue","Originally called Occidental; then Interlingue after WWII","ie","ile","ile"],["Ido","Ido","io","ido","ido"],["Volapük","Volapük","vo","vol","vol"],["Bihari languages","भोजपुरी","bh","bih","bih"],["Hebrew (modern)","עברית","he","heb","heb"],["Sanskrit","संस्कृतम्","sa","san","san"],["Church Slavic, Church Slavonic, Old Church Slavonic, Old Slavonic, Old Bulgarian","ѩзыкъ словѣньскъ","cu","chu","chu"],["Pali","पाऴि","pi","pli","pli"],["Avestan","avesta","ae","ave","ave"],["Latin","latine, lingua latina","la","lat","lat"],["Armenian","Հայերեն","hy","hye","arm"],["Swati","SiSwati","ss","ssw","ssw"],["Tibetan","བོད་ཡིག","bo","bod","tib"],["South Ndebele","isiNdebele","nr","nbl","nbl"],["Slovene","Slovenski Jezik, Slovenščina","sl","slv","slv"],["Oriya","ଓଡ଼ିଆ","or","ori","ori"],["North Ndebele","isiNdebele","nd","nde","nde"],["Nauru","Dorerin Naoero","na","nau","nau"],["Maori","te reo Māori","mi","mri","mao"],["Marathi","मराठी","mr","mar","mar"],["Luba-Katanga","Kiluba","lu","lub","lub"],["Rundi","Ikirundi","rn","run","run"],["Central Khmer","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ","km","khm","khm"],["Western Frisian","Frysk","fy","fry","fry"],["Bengali","বাংলা","bn","ben","ben"],["Avaric","авар мацӀ, магӀарул мацӀ","av","ava","ava"],["Abkhazian","аҧсуа бызшәа, аҧсшәа","ab","abk","abk"],["Afar","Afaraf","aa","aar","aar"],["Afrikaans","Afrikaans","af","afr","afr"],["Amharic","አማርኛ","am","amh","amh"],["Aragonese","aragonés","an","arg","arg"],["Assamese","অসমীয়া","as","asm","asm"],["Bambara","bamanankan","bm","bam","bam"],["Bashkir","башҡорт теле","ba","bak","bak"],["Basque","euskara, euskera","eu","eus","baq"],["Belarusian","беларуская мова","be","bel","bel"],["Bosnian","bosanski jezik","bs","bos","bos"],["Breton","brezhoneg","br","bre","bre"],["Bulgarian","български език","bg","bul","bul"],["Burmese","ဗမာစာ","my","mya","bur"],["Catalan, Valencian","català, valencià","ca","cat","cat"],["Chamorro","Chamoru","ch","cha","cha"],["Chechen","нохчийн мотт","ce","che","che"],["Chichewa, Chewa, Nyanja","chiCheŵa, chinyanja","ny","nya","nya"],["Chuvash","чӑваш чӗлхи","cv","chv","chv"],["Cornish","Kernewek","kw","cor","cor"],["Corsican","corsu, lingua corsa","co","cos","cos"],["Croatian","hrvatski jezik","hr","hrv","hrv"],["Czech","čeština, český jazyk","cs","ces","cze"],["Danish","dansk","da","dan","dan"],["Divehi, Dhivehi, Maldivian","ދިވެހި","dv","div","div"],["Dutch, Flemish","Nederlands, Vlaams","nl","nld","dut"],["Dzongkha","རྫོང་ཁ","dz","dzo","dzo"],["English","English","en","eng","eng"],["Ewe","Eʋegbe","ee","ewe","ewe"],["Faroese","føroyskt","fo","fao","fao"],["Fijian","vosa Vakaviti","fj","fij","fij"],["Finnish","suomi, suomen kieli","fi","fin","fin"],["French","français, langue française","fr","fra","fre"],["Galician","Galego","gl","glg","glg"],["Georgian","ქართული","ka","kat","geo"],["German","Deutsch","de","deu","ger"],["Greek (modern)","ελληνικά","el","ell","gre"],["Gujarati","ગુજરાતી","gu","guj","guj"],["Haitian, Haitian Creole","Kreyòl ayisyen","ht","hat","hat"],["Hausa","(Hausa) هَوُسَ","ha","hau","hau"],["Herero","Otjiherero","hz","her","her"],["Hindi","हिन्दी, हिंदी","hi","hin","hin"],["Hiri Motu","Hiri Motu","ho","hmo","hmo"],["Hungarian","magyar","hu","hun","hun"],["Irish","Gaeilge","ga","gle","gle"],["Igbo","Asụsụ Igbo","ig","ibo","ibo"],["Icelandic","Íslenska","is","isl","ice"],["Italian","Italiano","it","ita","ita"],["Japanese","日本語 (にほんご)","ja","jpn","jpn"],["Javanese","ꦧꦱꦗꦮ, Basa Jawa","jv","jav","jav"],["Kalaallisut, Greenlandic","kalaallisut, kalaallit oqaasii","kl","kal","kal"],["Kannada","ಕನ್ನಡ","kn","kan","kan"],["Kashmiri","कश्मीरी, كشميري","ks","kas","kas"],["Kazakh","қазақ тілі","kk","kaz","kaz"],["Kikuyu, Gikuyu","Gĩkũyũ","ki","kik","kik"],["Kinyarwanda","Ikinyarwanda","rw","kin","kin"],["Kirghiz, Kyrgyz","Кыргызча, Кыргыз тили","ky","kir","kir"],["Korean","한국어","ko","kor","kor"],["Kuanyama, Kwanyama","Kuanyama","kj","kua","kua"],["Luxembourgish, Letzeburgesch","Lëtzebuergesch","lb","ltz","ltz"],["Ganda","Luganda","lg","lug","lug"],["Limburgan, Limburger, Limburgish","Limburgs","li","lim","lim"],["Lingala","Lingála","ln","lin","lin"],["Lao","ພາສາລາວ","lo","lao","lao"],["Lithuanian","lietuvių kalba","lt","lit","lit"],["Manx","Gaelg, Gailck","gv","glv","glv"],["Macedonian","македонски јазик","mk","mkd","mac"],["Malayalam","മലയാളം","ml","mal","mal"],["Maltese","Malti","mt","mlt","mlt"],["Marshallese","Kajin M̧ajeļ","mh","mah","mah"],["Navajo, Navaho","Diné bizaad","nv","nav","nav"],["Nepali","नेपाली","ne","nep","nep"],["Ndonga","Owambo","ng","ndo","ndo"],["Occitan","occitan, lenga d'òc","oc","oci","oci"],["Ossetian, Ossetic","ирон æвзаг","os","oss","oss"],["Panjabi, Punjabi","ਪੰਜਾਬੀ","pa","pan","pan"],["Polish","język polski, polszczyzna","pl","pol","pol"],["Portuguese","Português","pt","por","por"],["Romansh","Rumantsch Grischun","rm","roh","roh"],["Russian","русский","ru","rus","rus"],["Sindhi","सिन्धी, سنڌي، سندھی","sd","snd","snd"],["Northern Sami","Davvisámegiella","se","sme","sme"],["Samoan","gagana fa'a Samoa","sm","smo","smo"],["Sango","yângâ tî sängö","sg","sag","sag"],["Gaelic, Scottish Gaelic","Gàidhlig","gd","gla","gla"],["Shona","chiShona","sn","sna","sna"],["Sinhala, Sinhalese","සිංහල","si","sin","sin"],["Slovak","Slovenčina, Slovenský Jazyk","sk","slk","slo"],["Somali","Soomaaliga, af Soomaali","so","som","som"],["Southern Sotho","Sesotho","st","sot","sot"],["Spanish, Castilian","Español","es","spa","spa"],["Sundanese","Basa Sunda","su","sun","sun"],["Swedish","Svenska","sv","swe","swe"],["Tamil","தமிழ்","ta","tam","tam"],["Telugu","తెలుగు","te","tel","tel"],["Tajik","тоҷикӣ, toçikī, تاجیکی","tg","tgk","tgk"],["Thai","ไทย","th","tha","tha"],["Tigrinya","ትግርኛ","ti","tir","tir"],["Turkmen","Türkmen, Түркмен","tk","tuk","tuk"],["Tswana","Setswana","tn","tsn","tsn"],["Tongan (Tonga Islands)","Faka Tonga","to","ton","ton"],["Turkish","Türkçe","tr","tur","tur"],["Tsonga","Xitsonga","ts","tso","tso"],["Tatar","татар теле, tatar tele","tt","tat","tat"],["Uighur, Uyghur","ئۇيغۇرچە, Uyghurche","ug","uig","uig"],["Ukrainian","Українська","uk","ukr","ukr"],["Urdu","اردو","ur","urd","urd"],["Venda","Tshivenḓa","ve","ven","ven"],["Vietnamese","Tiếng Việt","vi","vie","vie"],["Walloon","Walon","wa","wln","wln"],["Welsh","Cymraeg","cy","cym","wel"],["Wolof","Wollof","wo","wol","wol"],["Xhosa","isiXhosa","xh","xho","xho"],["Yoruba","Yorùbá","yo","yor","yor"],["Zulu","isiZulu","zu","zul","zul"]].forEach(e=>{var t={name:e[0],nativeName:e[1],iso639_1:e[2],iso639_2T:e[3],iso639_2B:e[4]};a[e[2]]=i[e[3]]=o[e[4]]=t,r.push(t)});var s=r;function l(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var c={"zh-hans":"中文 (Zhōngwén)"};function h(e){if(!e)return null;if(e=e.toLocaleLowerCase(),c[e])return e;var t=d(e,["iso639_1"])||d(e,["iso639_2T"])||d(e,["iso639_2B","name","nativeName"]);return t?t.iso639_1:null}function f(e){if(!e)return null;if(e=e.toLocaleLowerCase(),c[e])return c[e];var t=d(e,["iso639_1"])||d(e,["iso639_2T"])||d(e,["iso639_2B","name","nativeName"]);return null!=t&&t.nativeName?t.nativeName.split(", ")[0]:null}function d(e,t){if(!e)return null;e=e.toLowerCase();var n,r=l(s);try{for(r.s();!(n=r.n()).done;){var a,i=n.value,o=l(t);try{for(o.s();!(a=o.n()).done;){var u;if(null!==(u=i[a.value])&&void 0!==u&&u.toLowerCase().split(", ").includes(e))return i}}catch(e){o.e(e)}finally{o.f()}}}catch(e){r.e(e)}finally{r.f()}return null}function v(){try{return!!window.localStorage}catch(e){return!1}}var g=-1!=location.toString().indexOf("_debugReadAloud=true")},9073:function(e,t,n){function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e){var t=e.match(/\S+/g);return t?t.length:0}function i(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:o;return null==e?void 0:e.replace(/\{\{([^}]*?)\}\}/g,function(e,i){if(!i)return e;var o,s=function(e){if(Array.isArray(e))return e}(o=i.split("|").map(function(e){return e.trim()}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),l=s[0],u=r(s).slice(1);if(!(l in n)&&!(l in t))return e;var c=l in n?n[l]:l in t?t[l]:null;return u.map(function(e){return a[e]}).reduce(function(e,t){return t(e)},c&&c.toString())})}n.d(t,{gT:function(){return i},rj:function(){return a}}),n(2675),n(9463),n(2259),n(3418),n(3792),n(2062),n(2712),n(4782),n(2010),n(6099),n(7495),n(8781),n(7764),n(1761),n(5440),n(2762),n(2953);var o={urlencode:encodeURIComponent}}},function(e){e(e.s=5372)}]);
|
|
3
|
-
//# sourceMappingURL=plugin.search.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|