@internetarchive/bookreader 5.0.0-70 → 5.0.0-70-a2
Sign up to get free protection for your applications and to get access to all the features.
- package/BookReader/BookReader.js +1 -1
- package/BookReader/BookReader.js.map +1 -1
- package/BookReader/ia-bookreader-bundle.js +583 -293
- package/BookReader/ia-bookreader-bundle.js.map +1 -1
- package/BookReader/plugins/plugin.chapters.js +2 -2
- package/BookReader/plugins/plugin.chapters.js.map +1 -1
- package/BookReader/plugins/plugin.tts.js +1 -1
- package/BookReader/plugins/plugin.tts.js.map +1 -1
- package/BookReader/plugins/plugin.url.js +1 -1
- package/BookReader/plugins/plugin.url.js.map +1 -1
- package/CHANGELOG.md +0 -4
- package/package.json +2 -4
- package/src/BookNavigator/sharing.js +5 -5
- package/src/BookNavigator/volumes/volumes-provider.js +37 -53
- package/src/BookReader.js +5 -4
- package/src/ia-bookreader/ia-bookreader.js +5 -5
- package/src/plugins/tts/AbstractTTSEngine.js +3 -22
- package/src/plugins/url/UrlPlugin.js +7 -5
- package/tests/e2e/models/Navigation.js +1 -1
- package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +1 -1
- package/tests/jest/BookNavigator/volumes/volumes-provider.test.js +15 -119
- package/tests/jest/plugins/tts/AbstractTTSEngine.test.js +0 -20
- package/tests/jest/plugins/url/UrlPlugin.test.js +0 -8
- package/src/BookNavigator/assets/icon_sort_asc.js +0 -5
- package/src/BookNavigator/assets/icon_sort_desc.js +0 -5
- package/src/BookNavigator/assets/icon_sort_neutral.js +0 -5
- package/src/BookNavigator/assets/icon_volumes.js +0 -11
- package/src/BookNavigator/volumes/volumes.js +0 -188
- package/tests/jest/BookNavigator/volumes/volumes.test.js +0 -97
@@ -1,5 +1,5 @@
|
|
1
1
|
/*! For license information please see plugin.chapters.js.LICENSE.txt */
|
2
|
-
"use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[529],{
|
2
|
+
"use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[529],{235:function(e,t,r){r(2526),r(1817),r(2165),r(6992),r(8783),r(3948),r(2443),r(3680),r(3706),r(2703),r(489),r(4747),r(8309),r(7042),r(3371),r(9714),r(1038),r(4916),r(4819),r(5003),r(6649),r(6078),r(9653),r(561),r(9826),r(2419),r(1249),r(9601),r(9600),r(7327),r(1539),r(1058),r(2222),r(5069),r(4553),r(8674);var n=r(8318),o=r(9089),i=r(9407),a=r(1312),c=n.dy`
|
3
3
|
<svg
|
4
4
|
viewBox="0 0 24 24"
|
5
5
|
xmlns="http://www.w3.org/2000/svg"
|
@@ -22,5 +22,5 @@
|
|
22
22
|
.stroke-color {
|
23
23
|
stroke: var(--iconStrokeColor);
|
24
24
|
}
|
25
|
-
`}render(){return c}}customElements.define("ia-icon-toc",s);var l,u,f,d,p,h,y,v=r(5311),m=r(5311);function g(e){return g="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},g(e)}function b(e,t){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},b(e,t)}function w(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function k(){k=function(){return e};var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach((function(r){t.forEach((function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)}),this)}),this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach((function(n){t.forEach((function(t){var o=t.placement;if(t.kind===n&&("static"===o||"prototype"===o)){var i="static"===o?e:r;this.defineClassElement(i,t)}}),this)}),this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],o={static:[],prototype:[],own:[]};if(e.forEach((function(e){this.addElementPlacement(e,o)}),this),e.forEach((function(e){if(!P(e))return r.push(e);var t=this.decorateElement(e,o);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)}),this),!t)return{elements:r,finishers:n};var i=this.decorateConstructor(r,t);return n.push.apply(n,i.finishers),i.finishers=n,i},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],o=e.decorators,i=o.length-1;i>=0;i--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var c=this.fromElementDescriptor(e),s=this.toElementFinisherExtras((0,o[i])(c)||c);e=s.element,this.addElementPlacement(e,t),s.finisher&&n.push(s.finisher);var l=s.extras;if(l){for(var u=0;u<l.length;u++)this.addElementPlacement(l[u],t);r.push.apply(r,l)}}return{element:e,finishers:n,extras:r}},decorateConstructor:function(e,t){for(var r=[],n=t.length-1;n>=0;n--){var o=this.fromClassDescriptor(e),i=this.toClassDescriptor((0,t[n])(o)||o);if(void 0!==i.finisher&&r.push(i.finisher),void 0!==i.elements){e=i.elements;for(var a=0;a<e.length-1;a++)for(var c=a+1;c<e.length;c++)if(e[a].key===e[c].key&&e[a].placement===e[c].placement)throw new TypeError("Duplicated element ("+e[a].key+")")}}return{elements:e,finishers:r}},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){var t;if(void 0!==e)return(t=e,function(e){if(Array.isArray(e))return e}(t)||R(t)||I(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)},toElementDescriptor:function(e){var t=String(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 r=j(e.key),n=String(e.placement);if("static"!==n&&"prototype"!==n&&"own"!==n)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 "'+n+'"');var o=e.descriptor;this.disallowProperty(e,"elements","An element descriptor");var i={kind:t,key:r,placement:n,descriptor:Object.assign({},o)};return"field"!==t?this.disallowProperty(e,"initializer","A method descriptor"):(this.disallowProperty(o,"get","The property descriptor of a field descriptor"),this.disallowProperty(o,"set","The property descriptor of a field descriptor"),this.disallowProperty(o,"value","The property descriptor of a field descriptor"),i.initializer=e.initializer),i},toElementFinisherExtras:function(e){return{element:this.toElementDescriptor(e),finisher:O(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=String(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 r=O(e,"finisher");return{elements:this.toElementDescriptors(e.elements),finisher:r}},runClassFinishers:function(e,t){for(var r=0;r<t.length;r++){var n=(0,t[r])(e);if(void 0!==n){if("function"!=typeof n)throw new TypeError("Finishers must return a constructor.");e=n}}return e},disallowProperty:function(e,t,r){if(void 0!==e[t])throw new TypeError(r+" can't have a ."+t+" property.")}};return e}function x(e){var t,r=j(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 n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function E(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function P(e){return e.decorators&&e.decorators.length}function C(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function O(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function j(e){var t=function(e,t){if("object"!==g(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!==g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===g(t)?t:String(t)}function _(){return _="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=T(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},_.apply(this,arguments)}function T(e){return T=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},T(e)}function R(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function I(e,t){if(e){if("string"==typeof e)return S(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S(e,t):void 0}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function L(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function D(){D=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&&t.prototype instanceof d?t:d,a=Object.create(i.prototype),c=new O(o||[]);return n(a,"_invoke",{value:x(e,r,c)}),a}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var f={};function d(){}function p(){}function h(){}var y={};s(y,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(j([])));m&&m!==t&&r.call(m,i)&&(y=m);var b=h.prototype=d.prototype=Object.create(y);function w(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function o(n,i,a,c){var s=u(e[n],e,i);if("throw"!==s.type){var l=s.arg,f=l.value;return f&&"object"==g(f)&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){o("next",e,a,c)}),(function(e){o("throw",e,a,c)})):t.resolve(f).then((function(e){l.value=e,a(l)}),(function(e){return o("throw",e,a,c)}))}c(s.arg)}var i;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return i=i?i.then(n,n):n()}})}function x(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=E(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=u(e,t,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function E(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=u(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function j(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:_}}function _(){return{value:void 0,done:!0}}return p.prototype=h,n(b,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:p,configurable:!0}),p.displayName=s(h,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,c,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},w(k.prototype),s(k.prototype,a,(function(){return this})),e.AsyncIterator=k,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new k(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},w(b),s(b,c,"Generator"),s(b,i,(function(){return this})),s(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=j,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(C),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:j(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function A(e,t,r,n,o,i,a){try{var c=e[i](a),s=c.value}catch(e){return void r(e)}c.done?t(s):Promise.resolve(s).then(n,o)}function B(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){A(i,n,o,a,c,"next",e)}function c(e){A(i,n,o,a,c,"throw",e)}a(void 0)}))}}v.extend(BookReader.defaultOptions,{olHost:"https://openlibrary.org",enableChaptersPlugin:!0,bookId:""}),BookReader.prototype.init=(y=BookReader.prototype.init,function(){y.call(this),this.options.enableChaptersPlugin&&"embed"!==this.ui&&this._chapterInit()}),BookReader.prototype._chapterInit=B(D().mark((function e(){var t,r,n=this;return D().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getOpenLibraryRecord(this.options.olHost,this.options.bookId);case 2:null!=(r=e.sent)&&null!==(t=r.table_of_contents)&&void 0!==t&&t.length&&(this._tocEntries=r.table_of_contents.map((function(e){return Object.assign({},e,{pageIndex:n.book.getPageIndex(e.pagenum)})})),this._chaptersRender(this._tocEntries),this.bind(BookReader.eventNames.pageChanged,(function(){return n._chaptersUpdateCurrent()})));case 4:case"end":return e.stop()}}),e,this)}))),BookReader.prototype._chaptersRender=function(){var e=this,t=this.shell;t.menuProviders.chapters={id:"chapters",icon:(0,n.dy)(l||(l=L(['<ia-icon-toc style="width: var(--iconWidth); height: var(--iconHeight);"></ia-icon-toc>']))),label:"Table of Contents",component:(0,n.dy)(u||(u=L(['<br-chapters-panel\n .contents="','"\n .jumpToPage="','"\n @connected="','"\n />'])),this._tocEntries,(function(t){e._chaptersUpdateCurrent(t),e.jumpToIndex(t)}),(function(t){e._chaptersPanel=t.target,e._chaptersUpdateCurrent()}))},t.updateMenuContents();var r,o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=I(e))){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}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,a=!0,c=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){c=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}(this._tocEntries);try{for(o.s();!(r=o.n()).done;){var i=r.value;this._chaptersRenderMarker(i)}}catch(e){o.e(e)}finally{o.f()}},BookReader.prototype._chaptersRenderMarker=function(e){var t=this;if(null!=e.pageIndex){var r=[e.label,e.title].filter((function(e){return e})).join(" "),n=BookReader.util.cssPercentage(e.pageIndex,this.book.getNumLeafs()-1);m("<div></div>").append(m("<div />").text(r).append(m('<div class="BRchapterPage" />').text("Page ".concat(e.pagenum)))).addClass("BRchapter").css({left:n}).appendTo(this.$(".BRnavline")).on("mouseenter",(function(e){var r=e.currentTarget,n=r.querySelector("div"),o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),a=2*parseInt(getComputedStyle(n).paddingLeft);o.x-a<0&&n.style.setProperty("transform","translateX(-".concat(i.left-a,"px)")),t.$(".BRsearch,.BRchapter").removeClass("front"),m(e.target).addClass("front")})).on("mouseleave",(function(e){return m(e.target).removeClass("front")})).on("click",(function(){t._chaptersUpdateCurrent(e.pageIndex),t.jumpToIndex(e.pageIndex)})),this.$(".BRchapter, .BRsearch").each((function(e,t){var r=m(t);r.on("mouseenter",(function(){return r.addClass("front")})).on("mouseleave",(function(){return r.removeClass("front")}))}))}},BookReader.prototype.getOpenLibraryRecord=function(){var e=B(D().mark((function e(t,r){var n,o,i,a;return D().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o="".concat(t,"/query.json?type=/type/edition&*="),i="".concat(o,"&ocaid=").concat(r),e.next=4,m.ajax({url:i,dataType:"jsonp"});case 4:if((a=e.sent)&&a.length){e.next=9;break}return e.next=8,m.ajax({url:"".concat(o,"&source_records=ia:").concat(r),dataType:"jsonp"});case 8:a=e.sent;case 9:return e.abrupt("return",null===(n=a)||void 0===n?void 0:n[0]);case 10:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),BookReader.prototype._chaptersUpdateCurrent=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2==this.mode?Math.max.apply(Math,function(e){if(Array.isArray(e))return S(e)}(e=this.displayedIndices)||R(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):this.firstIndex,r=this._tocEntries.filter((function(e){return null!=e.pageIndex})).reverse(),n=r[r.findIndex((function(e){return e.pageIndex<=t}))];this._chaptersPanel&&(this._chaptersPanel.currentChapter=n)},function(e,t,r,n){var o=k(),i=t((function(e){o.initializeInstanceElements(e,a.elements)}),r),a=o.decorateClass(function(e){for(var t=[],r=function(e){return"method"===e.kind&&e.key===i.key&&e.placement===i.placement},n=0;n<e.length;n++){var o,i=e[n];if("method"===i.kind&&(o=t.find(r)))if(C(i.descriptor)||C(o.descriptor)){if(P(i)||P(o))throw new ReferenceError("Duplicated methods ("+i.key+") can't be decorated.");o.descriptor=i.descriptor}else{if(P(i)){if(P(o))throw new ReferenceError("Decorators can't be placed on different accessors with for the same property ("+i.key+").");o.decorators=i.decorators}E(i,o)}else t.push(i)}return t}(i.d.map(x)),e);o.initializeClassElements(i.F,a.elements),o.runClassFinishers(i.F,a.finishers)}([(0,o.Mo)("br-chapters-panel")],(function(e,t){var r=function(t){!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&&b(e,t)}(a,t);var r,n,o,i=(n=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=T(n);if(o){var r=T(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===g(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return w(e)}(this,e)});function a(t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),r=i.call(this),e(w(r)),r.contents=t,r}return r=a,Object.defineProperty(r,"prototype",{writable:!1}),r}(t);return{F:r,d:[{kind:"field",decorators:[(0,o.Cb)({type:Array})],key:"contents",value:function(){return[]}},{kind:"field",decorators:[(0,o.Cb)({type:Object})],key:"currentChapter",value:function(){return{}}},{kind:"field",key:"jumpToPage",value:function(){return function(){}}},{kind:"method",key:"render",value:function(){var e=this;return(0,n.dy)(f||(f=L(["\n <ol>\n ","\n </ol>\n "])),this.contents.map((function(t){return e.renderTOCEntry(t)})))}},{kind:"method",key:"renderTOCEntry",value:function(e){var t,r=this,o=[e.label,e.title].filter((function(e){return e})).join(" "),c=null!=e.pageIndex;return(0,n.dy)(d||(d=L(['\n <li\n class="\n BRtable-contents-el\n ',"\n ",'\n "\n style="','"\n data-event-click-tracking="','"\n @click="','"\n >\n ',"\n ","\n </li>"])),c?"clickable":"",e==this.currentChapter?"current":"",(0,a.V)({marginLeft:10*(e.level-1)+"px"}),null!=(t=c?"BRTOCPanel|GoToChapter":void 0)?t:i.Ld,(function(){return r.jumpToPage(e.pageIndex)}),o,e.pagenum?(0,n.dy)(p||(p=L(['\n <br />\n <span class="BRTOCElementPage">Page ',"</span>\n "])),e.pagenum):n.Ld)}},{kind:"method",key:"connectedCallback",value:function(){_(T(r.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("connected"))}},{kind:"method",key:"updated",value:function(e){var t;e.has("currentChapter")&&(null===(t=this.shadowRoot.querySelector("li.current"))||void 0===t||t.scrollIntoView({block:"nearest",behavior:"smooth"}))}},{kind:"get",static:!0,key:"styles",value:function(){return(0,n.iv)(h||(h=L(["\n ol {\n padding: 0;\n margin: 0;\n margin-right: 5px;\n }\n li {\n padding: 10px;\n overflow: hidden;\n border-radius: 4px;\n }\n li.clickable {\n font-weight: normal;\n cursor: pointer;\n transition: background-color 0.2s;\n }\n\n li.clickable:not(.current):hover {\n background-color: rgba(255,255,255, 0.05);\n }\n\n li.current {\n background-color: rgba(255,255,255,0.9);\n color: #333;\n }\n\n .BRTOCElementPage {\n font-size: 0.85em;\n opacity: .8;\n }"])))}}]}}),n.oi)}},function(e){e(e.s=4775)}]);
|
25
|
+
`}render(){return c}}customElements.define("ia-icon-toc",s);var l,u,f,d,p,h,y,v=r(5311),m=r(5311);function g(e){return g="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},g(e)}function b(e,t){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},b(e,t)}function w(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function k(){k=function(){return e};var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach((function(r){t.forEach((function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)}),this)}),this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach((function(n){t.forEach((function(t){var o=t.placement;if(t.kind===n&&("static"===o||"prototype"===o)){var i="static"===o?e:r;this.defineClassElement(i,t)}}),this)}),this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],o={static:[],prototype:[],own:[]};if(e.forEach((function(e){this.addElementPlacement(e,o)}),this),e.forEach((function(e){if(!P(e))return r.push(e);var t=this.decorateElement(e,o);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)}),this),!t)return{elements:r,finishers:n};var i=this.decorateConstructor(r,t);return n.push.apply(n,i.finishers),i.finishers=n,i},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],o=e.decorators,i=o.length-1;i>=0;i--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var c=this.fromElementDescriptor(e),s=this.toElementFinisherExtras((0,o[i])(c)||c);e=s.element,this.addElementPlacement(e,t),s.finisher&&n.push(s.finisher);var l=s.extras;if(l){for(var u=0;u<l.length;u++)this.addElementPlacement(l[u],t);r.push.apply(r,l)}}return{element:e,finishers:n,extras:r}},decorateConstructor:function(e,t){for(var r=[],n=t.length-1;n>=0;n--){var o=this.fromClassDescriptor(e),i=this.toClassDescriptor((0,t[n])(o)||o);if(void 0!==i.finisher&&r.push(i.finisher),void 0!==i.elements){e=i.elements;for(var a=0;a<e.length-1;a++)for(var c=a+1;c<e.length;c++)if(e[a].key===e[c].key&&e[a].placement===e[c].placement)throw new TypeError("Duplicated element ("+e[a].key+")")}}return{elements:e,finishers:r}},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){var t;if(void 0!==e)return(t=e,function(e){if(Array.isArray(e))return e}(t)||R(t)||I(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)},toElementDescriptor:function(e){var t=String(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 r=j(e.key),n=String(e.placement);if("static"!==n&&"prototype"!==n&&"own"!==n)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 "'+n+'"');var o=e.descriptor;this.disallowProperty(e,"elements","An element descriptor");var i={kind:t,key:r,placement:n,descriptor:Object.assign({},o)};return"field"!==t?this.disallowProperty(e,"initializer","A method descriptor"):(this.disallowProperty(o,"get","The property descriptor of a field descriptor"),this.disallowProperty(o,"set","The property descriptor of a field descriptor"),this.disallowProperty(o,"value","The property descriptor of a field descriptor"),i.initializer=e.initializer),i},toElementFinisherExtras:function(e){return{element:this.toElementDescriptor(e),finisher:O(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=String(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 r=O(e,"finisher");return{elements:this.toElementDescriptors(e.elements),finisher:r}},runClassFinishers:function(e,t){for(var r=0;r<t.length;r++){var n=(0,t[r])(e);if(void 0!==n){if("function"!=typeof n)throw new TypeError("Finishers must return a constructor.");e=n}}return e},disallowProperty:function(e,t,r){if(void 0!==e[t])throw new TypeError(r+" can't have a ."+t+" property.")}};return e}function x(e){var t,r=j(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 n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function E(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function P(e){return e.decorators&&e.decorators.length}function C(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function O(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function j(e){var t=function(e,t){if("object"!==g(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!==g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===g(t)?t:String(t)}function _(){return _="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=T(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},_.apply(this,arguments)}function T(e){return T=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},T(e)}function R(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function I(e,t){if(e){if("string"==typeof e)return S(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S(e,t):void 0}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function L(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function D(){D=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&&t.prototype instanceof d?t:d,a=Object.create(i.prototype),c=new O(o||[]);return n(a,"_invoke",{value:x(e,r,c)}),a}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var f={};function d(){}function p(){}function h(){}var y={};s(y,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(j([])));m&&m!==t&&r.call(m,i)&&(y=m);var b=h.prototype=d.prototype=Object.create(y);function w(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function o(n,i,a,c){var s=u(e[n],e,i);if("throw"!==s.type){var l=s.arg,f=l.value;return f&&"object"==g(f)&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){o("next",e,a,c)}),(function(e){o("throw",e,a,c)})):t.resolve(f).then((function(e){l.value=e,a(l)}),(function(e){return o("throw",e,a,c)}))}c(s.arg)}var i;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return i=i?i.then(n,n):n()}})}function x(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=E(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=u(e,t,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function E(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=u(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function j(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:_}}function _(){return{value:void 0,done:!0}}return p.prototype=h,n(b,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:p,configurable:!0}),p.displayName=s(h,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,c,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},w(k.prototype),s(k.prototype,a,(function(){return this})),e.AsyncIterator=k,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new k(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},w(b),s(b,c,"Generator"),s(b,i,(function(){return this})),s(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=j,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(C),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:j(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function A(e,t,r,n,o,i,a){try{var c=e[i](a),s=c.value}catch(e){return void r(e)}c.done?t(s):Promise.resolve(s).then(n,o)}function B(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){A(i,n,o,a,c,"next",e)}function c(e){A(i,n,o,a,c,"throw",e)}a(void 0)}))}}v.extend(BookReader.defaultOptions,{olHost:"https://openlibrary.org",enableChaptersPlugin:!0,bookId:""}),BookReader.prototype.init=(y=BookReader.prototype.init,function(){y.call(this),this.options.enableChaptersPlugin&&"embed"!==this.ui&&this._chapterInit()}),BookReader.prototype._chapterInit=B(D().mark((function e(){var t,r,n=this;return D().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getOpenLibraryRecord(this.options.olHost,this.options.bookId);case 2:null!=(r=e.sent)&&null!==(t=r.table_of_contents)&&void 0!==t&&t.length&&(this._tocEntries=r.table_of_contents.map((function(e){return Object.assign({},e,{pageIndex:n.book.getPageIndex(e.pagenum)})})),this._chaptersRender(this._tocEntries),this.bind(BookReader.eventNames.pageChanged,(function(){return n._chaptersUpdateCurrent()})));case 4:case"end":return e.stop()}}),e,this)}))),BookReader.prototype._chaptersRender=function(){var e=this,t=this.shell;t.menuProviders.chapters={id:"chapters",icon:(0,n.dy)(l||(l=L(['<ia-icon-toc style="width: var(--iconWidth); height: var(--iconHeight);"></ia-icon-toc>']))),label:"Table of Contents",component:(0,n.dy)(u||(u=L(['<br-chapters-panel\n .contents="','"\n .jumpToPage="','"\n @connected="','"\n />'])),this._tocEntries,(function(t){e._chaptersUpdateCurrent(t),e.jumpToIndex(t)}),(function(t){e._chaptersPanel=t.target,e._chaptersUpdateCurrent()}))},t.updateMenuContents();var r,o=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=I(e))){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}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,a=!0,c=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){c=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}(this._tocEntries);try{for(o.s();!(r=o.n()).done;){var i=r.value;this._chaptersRenderMarker(i)}}catch(e){o.e(e)}finally{o.f()}},BookReader.prototype._chaptersRenderMarker=function(e){var t=this;if(null!=e.pageIndex){var r=[e.label,e.title].filter((function(e){return e})).join(" "),n=BookReader.util.cssPercentage(e.pageIndex,this.book.getNumLeafs()-1);m("<div></div>").append(m("<div />").text(r).append(m('<div class="BRchapterPage" />').text("Page ".concat(e.pagenum)))).addClass("BRchapter").css({left:n}).appendTo(this.$(".BRnavline")).on("mouseenter",(function(e){var r=e.currentTarget,n=r.querySelector("div"),o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),a=2*parseInt(getComputedStyle(n).paddingLeft);o.x-a<0&&n.style.setProperty("transform","translateX(-".concat(i.left-a,"px)")),t.$(".BRsearch,.BRchapter").removeClass("front"),m(e.target).addClass("front")})).on("mouseleave",(function(e){return m(e.target).removeClass("front")})).on("click",(function(){t._chaptersUpdateCurrent(e.pageIndex),t.jumpToIndex(e.pageIndex)})),this.$(".BRchapter, .BRsearch").each((function(e,t){var r=m(t);r.on("mouseenter",(function(){return r.addClass("front")})).on("mouseleave",(function(){return r.removeClass("front")}))}))}},BookReader.prototype.getOpenLibraryRecord=function(){var e=B(D().mark((function e(t,r){var n,o,i,a;return D().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o="".concat(t,"/query.json?type=/type/edition&*="),i="".concat(o,"&ocaid=").concat(r),e.next=4,m.ajax({url:i,dataType:"jsonp"});case 4:if((a=e.sent)&&a.length){e.next=9;break}return e.next=8,m.ajax({url:"".concat(o,"&source_records=ia:").concat(r),dataType:"jsonp"});case 8:a=e.sent;case 9:return e.abrupt("return",null===(n=a)||void 0===n?void 0:n[0]);case 10:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),BookReader.prototype._chaptersUpdateCurrent=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2==this.mode?Math.max.apply(Math,function(e){if(Array.isArray(e))return S(e)}(e=this.displayedIndices)||R(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):this.firstIndex,r=this._tocEntries.filter((function(e){return null!=e.pageIndex})).reverse(),n=r[r.findIndex((function(e){return e.pageIndex<=t}))];this._chaptersPanel&&(this._chaptersPanel.currentChapter=n)},function(e,t,r,n){var o=k(),i=t((function(e){o.initializeInstanceElements(e,a.elements)}),r),a=o.decorateClass(function(e){for(var t=[],r=function(e){return"method"===e.kind&&e.key===i.key&&e.placement===i.placement},n=0;n<e.length;n++){var o,i=e[n];if("method"===i.kind&&(o=t.find(r)))if(C(i.descriptor)||C(o.descriptor)){if(P(i)||P(o))throw new ReferenceError("Duplicated methods ("+i.key+") can't be decorated.");o.descriptor=i.descriptor}else{if(P(i)){if(P(o))throw new ReferenceError("Decorators can't be placed on different accessors with for the same property ("+i.key+").");o.decorators=i.decorators}E(i,o)}else t.push(i)}return t}(i.d.map(x)),e);o.initializeClassElements(i.F,a.elements),o.runClassFinishers(i.F,a.finishers)}([(0,o.Mo)("br-chapters-panel")],(function(e,t){var r=function(t){!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&&b(e,t)}(a,t);var r,n,o,i=(n=a,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=T(n);if(o){var r=T(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===g(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return w(e)}(this,e)});function a(t){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),r=i.call(this),e(w(r)),r.contents=t,r}return r=a,Object.defineProperty(r,"prototype",{writable:!1}),r}(t);return{F:r,d:[{kind:"field",decorators:[(0,o.Cb)({type:Array})],key:"contents",value:function(){return[]}},{kind:"field",decorators:[(0,o.Cb)({type:Object})],key:"currentChapter",value:function(){return{}}},{kind:"field",key:"jumpToPage",value:function(){return function(){}}},{kind:"method",key:"render",value:function(){var e=this;return(0,n.dy)(f||(f=L(["\n <ol>\n ","\n </ol>\n "])),this.contents.map((function(t){return e.renderTOCEntry(t)})))}},{kind:"method",key:"renderTOCEntry",value:function(e){var t=this,r=[e.label,e.title].filter((function(e){return e})).join(" "),o=null!=e.pageIndex;return(0,n.dy)(d||(d=L(['\n <li\n class="\n BRtable-contents-el\n ',"\n ",'\n "\n style="','"\n data-event-click-tracking="','"\n @click="','"\n >\n ',"\n ","\n </li>"])),o?"clickable":"",e==this.currentChapter?"current":"",(0,a.V)({marginLeft:10*(e.level-1)+"px"}),(0,i.o)(o?"BRTOCPanel|GoToChapter":void 0),(function(){return t.jumpToPage(e.pageIndex)}),r,e.pagenum?(0,n.dy)(p||(p=L(['\n <br />\n <span class="BRTOCElementPage">Page ',"</span>\n "])),e.pagenum):n.Ld)}},{kind:"method",key:"connectedCallback",value:function(){_(T(r.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("connected"))}},{kind:"method",key:"updated",value:function(e){var t;e.has("currentChapter")&&(null===(t=this.shadowRoot.querySelector("li.current"))||void 0===t||t.scrollIntoView({block:"nearest",behavior:"smooth"}))}},{kind:"get",static:!0,key:"styles",value:function(){return(0,n.iv)(h||(h=L(["\n ol {\n padding: 0;\n margin: 0;\n margin-right: 5px;\n }\n li {\n padding: 10px;\n overflow: hidden;\n border-radius: 4px;\n }\n li.clickable {\n font-weight: normal;\n cursor: pointer;\n transition: background-color 0.2s;\n }\n\n li.clickable:not(.current):hover {\n background-color: rgba(255,255,255, 0.05);\n }\n\n li.current {\n background-color: rgba(255,255,255,0.9);\n color: #333;\n }\n\n .BRTOCElementPage {\n font-size: 0.85em;\n opacity: .8;\n }"])))}}]}}),n.oi)},9407:function(e,t,r){r.d(t,{o:function(){return o}});var n=r(4817),o=function(e){return null!=e?e:n.Ld}}},function(e){e(e.s=235)}]);
|
26
26
|
//# sourceMappingURL=plugin.chapters.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plugins/plugin.chapters.js","mappings":";ydAEA,EAAe,IAAI;;;;;;;;;;ECCnB,MAAMA,UAAkB,KACXC,oBACT,OAAO,IAAG;;;;;;;;;;;;;KAcZ,CAEAC,SACE,OAAO,CACT,EAGFC,eAAeC,OAAO,cAAeJ,GAErC,gBCRsCK,uwPAnBtCC,EAAA,kBAAAC,CAAA,MAAAA,EAAA,GAAAC,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAI,gBAAA,SAAAC,EAAAC,EAAAC,GAAAF,EAAAC,GAAAC,EAAAC,KAAA,EAAAC,EAAA,mBAAAC,OAAAA,OAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAArB,EAAAU,EAAAC,EAAAE,GAAA,OAAAR,OAAAI,eAAAC,EAAAC,EAAA,CAAAE,MAAAA,EAAAS,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAd,EAAAC,EAAA,KAAAX,EAAA,aAAAyB,GAAAzB,EAAA,SAAAU,EAAAC,EAAAE,GAAA,OAAAH,EAAAC,GAAAE,CAAA,WAAAa,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,GAAAA,EAAAtB,qBAAA0B,EAAAJ,EAAAI,EAAAC,EAAA5B,OAAA6B,OAAAH,EAAAzB,WAAA6B,EAAA,IAAAC,EAAAN,GAAA,WAAArB,EAAAwB,EAAA,WAAApB,MAAAwB,EAAAV,EAAAE,EAAAM,KAAAF,CAAA,UAAAK,EAAAC,EAAA7B,EAAA8B,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAAG,KAAAhC,EAAA8B,GAAA,OAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,EAAA,EAAAtB,EAAAuB,KAAAA,EAAA,IAAAiB,EAAA,YAAAX,IAAA,UAAAY,IAAA,UAAAC,IAAA,KAAAC,EAAA,GAAA9C,EAAA8C,EAAA9B,GAAA,8BAAA+B,EAAA1C,OAAA2C,eAAAC,EAAAF,GAAAA,EAAAA,EAAAG,EAAA,MAAAD,GAAAA,IAAA7C,GAAAG,EAAAmC,KAAAO,EAAAjC,KAAA8B,EAAAG,GAAA,IAAAE,EAAAN,EAAAvC,UAAA0B,EAAA1B,UAAAD,OAAA6B,OAAAY,GAAA,SAAAM,EAAA9C,GAAA,0BAAA+C,SAAA,SAAAC,GAAAtD,EAAAM,EAAAgD,GAAA,SAAAd,GAAA,YAAAe,QAAAD,EAAAd,EAAA,gBAAAgB,EAAAvB,EAAAwB,GAAA,SAAAC,EAAAJ,EAAAd,EAAAmB,EAAAC,GAAA,IAAAC,EAAAvB,EAAAL,EAAAqB,GAAArB,EAAAO,GAAA,aAAAqB,EAAApB,KAAA,KAAAqB,EAAAD,EAAArB,IAAA3B,EAAAiD,EAAAjD,MAAA,OAAAA,GAAA,UAAAkD,EAAAlD,IAAAN,EAAAmC,KAAA7B,EAAA,WAAA4C,EAAAE,QAAA9C,EAAAmD,SAAAC,MAAA,SAAApD,GAAA6C,EAAA,OAAA7C,EAAA8C,EAAAC,EAAA,aAAAnC,GAAAiC,EAAA,QAAAjC,EAAAkC,EAAAC,EAAA,IAAAH,EAAAE,QAAA9C,GAAAoD,MAAA,SAAAC,GAAAJ,EAAAjD,MAAAqD,EAAAP,EAAAG,EAAA,aAAAK,GAAA,OAAAT,EAAA,QAAAS,EAAAR,EAAAC,EAAA,IAAAA,EAAAC,EAAArB,IAAA,KAAA4B,EAAA3D,EAAA,gBAAAI,MAAA,SAAAyC,EAAAd,GAAA,SAAA6B,IAAA,WAAAZ,GAAA,SAAAE,EAAAC,GAAAF,EAAAJ,EAAAd,EAAAmB,EAAAC,EAAA,WAAAQ,EAAAA,EAAAA,EAAAH,KAAAI,EAAAA,GAAAA,GAAA,aAAAhC,EAAAV,EAAAE,EAAAM,GAAA,IAAAmC,EAAA,iCAAAhB,EAAAd,GAAA,iBAAA8B,EAAA,UAAAC,MAAA,iDAAAD,EAAA,cAAAhB,EAAA,MAAAd,EAAA,OAAA3B,WAAA2D,EAAAC,MAAA,OAAAtC,EAAAmB,OAAAA,EAAAnB,EAAAK,IAAAA,IAAA,KAAAkC,EAAAvC,EAAAuC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAAvC,GAAA,GAAAwC,EAAA,IAAAA,IAAAhC,EAAA,gBAAAgC,CAAA,cAAAxC,EAAAmB,OAAAnB,EAAA0C,KAAA1C,EAAA2C,MAAA3C,EAAAK,SAAA,aAAAL,EAAAmB,OAAA,uBAAAgB,EAAA,MAAAA,EAAA,YAAAnC,EAAAK,IAAAL,EAAA4C,kBAAA5C,EAAAK,IAAA,gBAAAL,EAAAmB,QAAAnB,EAAA6C,OAAA,SAAA7C,EAAAK,KAAA8B,EAAA,gBAAAT,EAAAvB,EAAAX,EAAAE,EAAAM,GAAA,cAAA0B,EAAApB,KAAA,IAAA6B,EAAAnC,EAAAsC,KAAA,6BAAAZ,EAAArB,MAAAG,EAAA,gBAAA9B,MAAAgD,EAAArB,IAAAiC,KAAAtC,EAAAsC,KAAA,WAAAZ,EAAApB,OAAA6B,EAAA,YAAAnC,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAqB,EAAArB,IAAA,YAAAoC,EAAAF,EAAAvC,GAAA,IAAA8C,EAAA9C,EAAAmB,OAAAA,EAAAoB,EAAAzD,SAAAgE,GAAA,QAAAT,IAAAlB,EAAA,OAAAnB,EAAAuC,SAAA,eAAAO,GAAAP,EAAAzD,SAAAiE,SAAA/C,EAAAmB,OAAA,SAAAnB,EAAAK,SAAAgC,EAAAI,EAAAF,EAAAvC,GAAA,UAAAA,EAAAmB,SAAA,WAAA2B,IAAA9C,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAF,EAAA,aAAAtC,EAAA,IAAAkB,EAAAvB,EAAAgB,EAAAoB,EAAAzD,SAAAkB,EAAAK,KAAA,aAAAqB,EAAApB,KAAA,OAAAN,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAqB,EAAArB,IAAAL,EAAAuC,SAAA,KAAA/B,EAAA,IAAAyC,EAAAvB,EAAArB,IAAA,OAAA4C,EAAAA,EAAAX,MAAAtC,EAAAuC,EAAAW,YAAAD,EAAAvE,MAAAsB,EAAAmD,KAAAZ,EAAAa,QAAA,WAAApD,EAAAmB,SAAAnB,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAgC,GAAArC,EAAAuC,SAAA,KAAA/B,GAAAyC,GAAAjD,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAhD,EAAAuC,SAAA,KAAA/B,EAAA,UAAA6C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAC,KAAAN,EAAA,UAAAO,EAAAP,GAAA,IAAA7B,EAAA6B,EAAAQ,YAAA,GAAArC,EAAApB,KAAA,gBAAAoB,EAAArB,IAAAkD,EAAAQ,WAAArC,CAAA,UAAAzB,EAAAN,GAAA,KAAAiE,WAAA,EAAAJ,OAAA,SAAA7D,EAAAuB,QAAAmC,EAAA,WAAAW,OAAA,YAAAjD,EAAAkD,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAApF,GAAA,GAAAqF,EAAA,OAAAA,EAAA3D,KAAA0D,GAAA,sBAAAA,EAAAd,KAAA,OAAAc,EAAA,IAAAE,MAAAF,EAAAG,QAAA,KAAAC,GAAA,EAAAlB,EAAA,SAAAA,IAAA,OAAAkB,EAAAJ,EAAAG,QAAA,GAAAhG,EAAAmC,KAAA0D,EAAAI,GAAA,OAAAlB,EAAAzE,MAAAuF,EAAAI,GAAAlB,EAAAb,MAAA,EAAAa,EAAA,OAAAA,EAAAzE,WAAA2D,EAAAc,EAAAb,MAAA,EAAAa,CAAA,SAAAA,EAAAA,KAAAA,CAAA,SAAAA,KAAAmB,EAAA,UAAAA,IAAA,OAAA5F,WAAA2D,EAAAC,MAAA,UAAA7B,EAAAtC,UAAAuC,EAAApC,EAAA0C,EAAA,eAAAtC,MAAAgC,EAAAtB,cAAA,IAAAd,EAAAoC,EAAA,eAAAhC,MAAA+B,EAAArB,cAAA,IAAAqB,EAAA8D,YAAA1G,EAAA6C,EAAAzB,EAAA,qBAAAjB,EAAAwG,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,GAAAA,EAAAE,YAAA,QAAAD,IAAAA,IAAAjE,GAAA,uBAAAiE,EAAAH,aAAAG,EAAAE,MAAA,EAAA5G,EAAA6G,KAAA,SAAAJ,GAAA,OAAAvG,OAAA4G,eAAA5G,OAAA4G,eAAAL,EAAA/D,IAAA+D,EAAAM,UAAArE,EAAA7C,EAAA4G,EAAAxF,EAAA,sBAAAwF,EAAAtG,UAAAD,OAAA6B,OAAAiB,GAAAyD,CAAA,EAAAzG,EAAAgH,MAAA,SAAA3E,GAAA,OAAAwB,QAAAxB,EAAA,EAAAY,EAAAI,EAAAlD,WAAAN,EAAAwD,EAAAlD,UAAAY,GAAA,0BAAAf,EAAAqD,cAAAA,EAAArD,EAAAiH,MAAA,SAAAzF,EAAAC,EAAAC,EAAAC,EAAA2B,QAAA,IAAAA,IAAAA,EAAA4D,SAAA,IAAAC,EAAA,IAAA9D,EAAA9B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA2B,GAAA,OAAAtD,EAAAwG,oBAAA/E,GAAA0F,EAAAA,EAAAhC,OAAArB,MAAA,SAAAH,GAAA,OAAAA,EAAAW,KAAAX,EAAAjD,MAAAyG,EAAAhC,MAAA,KAAAlC,EAAAD,GAAAnD,EAAAmD,EAAA/B,EAAA,aAAApB,EAAAmD,EAAAnC,GAAA,0BAAAhB,EAAAmD,EAAA,qDAAAhD,EAAAoH,KAAA,SAAAC,GAAA,IAAAC,EAAApH,OAAAmH,GAAAD,EAAA,WAAA5G,KAAA8G,EAAAF,EAAAvB,KAAArF,GAAA,OAAA4G,EAAAG,UAAA,SAAApC,IAAA,KAAAiC,EAAAhB,QAAA,KAAA5F,EAAA4G,EAAAI,MAAA,GAAAhH,KAAA8G,EAAA,OAAAnC,EAAAzE,MAAAF,EAAA2E,EAAAb,MAAA,EAAAa,CAAA,QAAAA,EAAAb,MAAA,EAAAa,CAAA,GAAAnF,EAAA+C,OAAAA,EAAAd,EAAA9B,UAAA,CAAAwG,YAAA1E,EAAA+D,MAAA,SAAAyB,GAAA,QAAAC,KAAA,OAAAvC,KAAA,OAAAT,KAAA,KAAAC,WAAAN,EAAA,KAAAC,MAAA,OAAAC,SAAA,UAAApB,OAAA,YAAAd,SAAAgC,EAAA,KAAAuB,WAAA1C,QAAA4C,IAAA2B,EAAA,QAAAb,KAAA,WAAAA,EAAAe,OAAA,IAAAvH,EAAAmC,KAAA,KAAAqE,KAAAT,OAAAS,EAAAgB,MAAA,WAAAhB,QAAAvC,EAAA,EAAAwD,KAAA,gBAAAvD,MAAA,MAAAwD,EAAA,KAAAlC,WAAA,GAAAG,WAAA,aAAA+B,EAAAxF,KAAA,MAAAwF,EAAAzF,IAAA,YAAA0F,IAAA,EAAAnD,kBAAA,SAAAoD,GAAA,QAAA1D,KAAA,MAAA0D,EAAA,IAAAhG,EAAA,cAAAiG,EAAAC,EAAAC,GAAA,OAAAzE,EAAApB,KAAA,QAAAoB,EAAArB,IAAA2F,EAAAhG,EAAAmD,KAAA+C,EAAAC,IAAAnG,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAgC,KAAA8D,CAAA,SAAA9B,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA3C,EAAA6B,EAAAQ,WAAA,YAAAR,EAAAC,OAAA,OAAAyC,EAAA,UAAA1C,EAAAC,QAAA,KAAAkC,KAAA,KAAAU,EAAAhI,EAAAmC,KAAAgD,EAAA,YAAA8C,EAAAjI,EAAAmC,KAAAgD,EAAA,iBAAA6C,GAAAC,EAAA,SAAAX,KAAAnC,EAAAE,SAAA,OAAAwC,EAAA1C,EAAAE,UAAA,WAAAiC,KAAAnC,EAAAG,WAAA,OAAAuC,EAAA1C,EAAAG,WAAA,SAAA0C,GAAA,QAAAV,KAAAnC,EAAAE,SAAA,OAAAwC,EAAA1C,EAAAE,UAAA,YAAA4C,EAAA,UAAAjE,MAAA,kDAAAsD,KAAAnC,EAAAG,WAAA,OAAAuC,EAAA1C,EAAAG,WAAA,KAAAb,OAAA,SAAAvC,EAAAD,GAAA,QAAAgE,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,QAAA,KAAAkC,MAAAtH,EAAAmC,KAAAgD,EAAA,oBAAAmC,KAAAnC,EAAAG,WAAA,KAAA4C,EAAA/C,EAAA,OAAA+C,IAAA,UAAAhG,GAAA,aAAAA,IAAAgG,EAAA9C,QAAAnD,GAAAA,GAAAiG,EAAA5C,aAAA4C,EAAA,UAAA5E,EAAA4E,EAAAA,EAAAvC,WAAA,UAAArC,EAAApB,KAAAA,EAAAoB,EAAArB,IAAAA,EAAAiG,GAAA,KAAAnF,OAAA,YAAAgC,KAAAmD,EAAA5C,WAAAlD,GAAA,KAAA+F,SAAA7E,EAAA,EAAA6E,SAAA,SAAA7E,EAAAiC,GAAA,aAAAjC,EAAApB,KAAA,MAAAoB,EAAArB,IAAA,gBAAAqB,EAAApB,MAAA,aAAAoB,EAAApB,KAAA,KAAA6C,KAAAzB,EAAArB,IAAA,WAAAqB,EAAApB,MAAA,KAAAyF,KAAA,KAAA1F,IAAAqB,EAAArB,IAAA,KAAAc,OAAA,cAAAgC,KAAA,kBAAAzB,EAAApB,MAAAqD,IAAA,KAAAR,KAAAQ,GAAAnD,CAAA,EAAAgG,OAAA,SAAA9C,GAAA,QAAAW,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAG,aAAAA,EAAA,YAAA6C,SAAAhD,EAAAQ,WAAAR,EAAAI,UAAAG,EAAAP,GAAA/C,CAAA,GAAAiG,MAAA,SAAAjD,GAAA,QAAAa,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,SAAAA,EAAA,KAAA9B,EAAA6B,EAAAQ,WAAA,aAAArC,EAAApB,KAAA,KAAAoG,EAAAhF,EAAArB,IAAAyD,EAAAP,EAAA,QAAAmD,CAAA,YAAAtE,MAAA,0BAAAuE,cAAA,SAAA1C,EAAAf,EAAAE,GAAA,YAAAb,SAAA,CAAAzD,SAAAiC,EAAAkD,GAAAf,WAAAA,EAAAE,QAAAA,GAAA,cAAAjC,SAAA,KAAAd,SAAAgC,GAAA7B,CAAA,GAAAxC,CAAA,UAAA4I,EAAAC,EAAArF,EAAAC,EAAAqF,EAAAC,EAAAvI,EAAA6B,GAAA,QAAA4C,EAAA4D,EAAArI,GAAA6B,GAAA3B,EAAAuE,EAAAvE,KAAA,OAAAsD,GAAA,YAAAP,EAAAO,EAAA,CAAAiB,EAAAX,KAAAd,EAAA9C,GAAAwG,QAAA1D,QAAA9C,GAAAoD,KAAAgF,EAAAC,EAAA,UAAAC,EAAA5G,GAAA,sBAAAV,EAAA,KAAAuH,EAAAC,UAAA,WAAAhC,SAAA,SAAA1D,EAAAC,GAAA,IAAAoF,EAAAzG,EAAA+G,MAAAzH,EAAAuH,GAAA,SAAAH,EAAApI,GAAAkI,EAAAC,EAAArF,EAAAC,EAAAqF,EAAAC,EAAA,OAAArI,EAAA,UAAAqI,EAAAzH,GAAAsH,EAAAC,EAAArF,EAAAC,EAAAqF,EAAAC,EAAA,QAAAzH,EAAA,CAAAwH,OAAAzE,EAAA,KAYA+E,EAAOC,OAAOC,WAAWC,eAAgB,CACvCC,OAAQ,0BACRC,sBAAsB,EACtBC,OAAQ,KAIVJ,WAAWnJ,UAAUwJ,MAAiB7J,EAOnCwJ,WAAWnJ,UAAUwJ,KANf,WACL7J,EAAOyC,KAAKqH,MACRA,KAAKC,QAAQJ,sBAAoC,UAAZG,KAAKE,IAC5CF,KAAKG,cAET,GAGFT,WAAWnJ,UAAU4J,aAAYf,EAAAjJ,IAAA8G,MAAG,SAAAmD,IAAA,IAAAC,EAAAC,EAAAC,EAAA,YAAApK,IAAAwB,MAAA,SAAA6I,GAAA,cAAAA,EAAA1C,KAAA0C,EAAAjF,MAAA,cAAAiF,EAAAjF,KAAA,EACVyE,KAAKS,qBAAqBT,KAAKC,QAAQL,OAAQI,KAAKC,QAAQH,QAAO,OACvFQ,OADEA,EAASE,EAAA1F,OACiB,QAAnBuF,EAATC,EAAWI,yBAAiB,IAAAL,GAA5BA,EAA8B7D,SAChCwD,KAAKW,YAAcL,EAAUI,kBAAkBE,KAAI,SAAAC,GAAW,OAC5DvK,OAAOwK,OAAO,CAAC,EAAGD,EAAa,CAACE,UAAWR,EAAKS,KAAKC,aAAaJ,EAAYK,UAAU,IAE1FlB,KAAKmB,gBAAgBnB,KAAKW,aAC1BX,KAAKoB,KAAK1B,WAAW2B,WAAWC,aAAa,kBAAMf,EAAKgB,wBAAwB,KACjF,wBAAAf,EAAAvC,OAAA,GAAAmC,EAAA,UAMHV,WAAWnJ,UAAU4K,gBAAkB,WAAW,IAAAK,EAAA,KAC1CC,EAAqCzB,KAAKyB,MAChDA,EAAMC,cAAwB,SAAI,CAChCC,GAAI,WACJC,MAAMC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,EAAA,+FACVC,MAAO,oBACPC,WAAWJ,EAAAA,EAAAA,IAAIK,IAAAA,EAAAH,EAAA,yGACA/B,KAAKW,aACH,SAACI,GAChBS,EAAKD,uBAAuBR,GAC5BS,EAAKW,YAAYpB,EACnB,IACgB,SAACqB,GACfZ,EAAKa,eAAiBD,EAAEE,OACxBd,EAAKD,wBACP,KAGFE,EAAMc,qBAAqB,IACYC,EADZC,imBAAAC,CACJ1C,KAAKW,aAAW,IAAvC,IAAA8B,EAAAE,MAAAH,EAAAC,EAAAG,KAAAlI,MAAyC,KAA9BmI,EAAQL,EAAA1L,MACjBkJ,KAAK8C,sBAAsBD,EAC7B,CAAC,OAAAnL,GAAA+K,EAAAL,EAAA1K,EAAA,SAAA+K,EAAAM,GAAA,CACH,EAsBArD,WAAWnJ,UAAUuM,sBAAwB,SAASD,GAAU,IAAAG,EAAA,KAC9D,GAA0BvI,MAAtBoI,EAAS9B,UAAb,CAGA,IAAMkC,EAAa,CAACJ,EAASb,MAAOa,EAASK,OAC1CC,QAAO,SAAAC,GAAC,OAAIA,CAAC,IACbC,KAAK,KAEFC,EAAiB5D,WAAW6D,KAAKC,cAAcX,EAAS9B,UAAWf,KAAKgB,KAAKyC,cAAgB,GACnGC,EAAE,eACCC,OACCD,EAAE,WACCE,KAAKX,GACLU,OAAOD,EAAE,iCAAiCE,KAAK,QAADC,OAAShB,EAAS3B,YAEpE4C,SAAS,aACTC,IAAI,CAAEC,KAAMV,IACZW,SAASjE,KAAK0D,EAAE,eAChBQ,GAAG,cAAc,SAAAC,GAEhB,IAAMC,EAASD,EAAME,cACfC,EAAUF,EAAOG,cAAc,OAC/BC,EAAgBF,EAAQG,wBACxBC,EAAeN,EAAOK,wBACtBE,EAAkE,EAAlDC,SAASC,iBAAiBP,GAASQ,aACrDN,EAAcpB,EAAIuB,EAAgB,GACpCL,EAAQS,MAAMC,YAAY,YAAa,eAAFnB,OAAiBa,EAAaV,KAAOW,EAAa,QAEzF3B,EAAKU,EAAE,wBAAwBuB,YAAY,SAC3CvB,EAAES,EAAM7B,QAAQwB,SAAS,QAC3B,IACCI,GAAG,cAAc,SAAAC,GAAK,OAAIT,EAAES,EAAM7B,QAAQ2C,YAAY,QAAQ,IAC9Df,GAAG,SAAS,WACXlB,EAAKzB,uBAAuBsB,EAAS9B,WACrCiC,EAAKb,YAAYU,EAAS9B,UAC5B,IAEFf,KAAK0D,EAAE,yBAAyBwB,MAAK,SAACzI,EAAG0I,GACvC,IAAMC,EAAM1B,EAAEyB,GACdC,EACGlB,GAAG,cAAc,kBAAMkB,EAAItB,SAAS,QAAQ,IAC5CI,GAAG,cAAc,kBAAMkB,EAAIH,YAAY,QAAQ,GACpD,GAzC2C,CA0C7C,EASAvF,WAAWnJ,UAAUkK,qBAAoB,eAAA4E,EAAAjG,EAAAjJ,IAAA8G,MAAG,SAAAqI,EAAgB1F,EAAQ2F,GAAK,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAxP,IAAAwB,MAAA,SAAAiO,GAAA,cAAAA,EAAA9H,KAAA8H,EAAArK,MAAA,OAGrB,OAD5CkK,EAAU,GAAH5B,OAAMjE,EAAM,qCACnB8F,EAAmB,GAAH7B,OAAM4B,EAAO,WAAA5B,OAAU0B,GAAKK,EAAArK,KAAA,EAEjCmI,EAAEmC,KAAK,CAAEC,IAAKJ,EAAkBK,SAAU,UAAU,OAA7D,IAAJJ,EAAIC,EAAA9K,OAEM6K,EAAKnJ,OAAM,CAAAoJ,EAAArK,KAAA,eAAAqK,EAAArK,KAAA,EAEVmI,EAAEmC,KAAK,CAAEC,IAAK,GAAFjC,OAAK4B,EAAO,uBAAA5B,OAAsB0B,GAASQ,SAAU,UAAU,OAAxFJ,EAAIC,EAAA9K,KAAA,cAAA8K,EAAA3K,OAAA,SAGK,QAHLuK,EAGCG,SAAI,IAAAH,OAAA,EAAJA,EAAO,IAAE,yBAAAI,EAAA3H,OAAA,GAAAqH,EAAA,KACjB,gBAAAU,EAAAC,GAAA,OAAAZ,EAAA9F,MAAA,KAAAD,UAAA,EAbwC,GAoBzCI,WAAWnJ,UAAUgL,uBAAyB,WAE5C,MADA2E,EAAQ5G,UAAA9C,OAAA,QAAA/B,IAAA6E,UAAA,GAAAA,UAAA,GAAiB,GAAbU,KAAKmG,KAAYC,KAAKC,IAAG9G,MAAR6G,oDAAYpG,KAAKsG,0MAAoBtG,KAAKuG,WAEjEC,EAAoBxG,KAAKW,YAAYwC,QAAO,SAACgC,GAAE,OAAqB1K,MAAhB0K,EAAGpE,SAAsB,IAAEpD,UAC/E8I,EAAcD,EAElBA,EAAkBE,WAAU,SAACC,GAAO,OAAKA,EAAQ5F,WAAamF,CAAQ,KAEpElG,KAAKqC,iBACPrC,KAAKqC,eAAeuE,eAAiBH,EAEzC,guBAG4BI,CAAA,EAD3BC,EAAAA,EAAAA,IAAc,uBAAoB,SAAAC,EAAAC,GAAA,IACtBC,EAAe,SAAAC,yRAAAC,CAAAF,EAAAC,GAAA,UAAAE,KAAAH,+jBAe1B,SAAAA,EAAYI,GAAU,IAAAC,EAEK,mGAFLC,CAAA,KAAAN,GACpBK,EAAAF,EAAAzO,KAAA,MAAQoO,EAAAS,EAAAF,IACRA,EAAKD,SAAWA,EAASC,CAC3B,CAUA,SAAAL,sDAAA,CA5B0B,CA4B1BD,GAAA,OAAAS,EA5BWR,EAAeS,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAEzBC,EAAAA,EAAAA,IAAS,CAAEnP,KAAMoP,SAAQlR,IAAA,WAAAE,MAAA,iBACf,EAAE,IAAA6Q,KAAA,QAAAC,WAAA,EAGZC,EAAAA,EAAAA,IAAS,CAAEnP,KAAMpC,UAASM,IAAA,iBAAAE,MAAA,iBACV,CAAC,CAAC,IAAA6Q,KAAA,QAAA/Q,IAAA,aAAAE,MAAA,kBAGN,WAAO,CAAC,IAAA6Q,KAAA,SAAA/Q,IAAA,SAAAE,MAUrB,WAAS,IAAAiR,EAAA,KACP,OAAOlG,EAAAA,EAAAA,IAAImG,IAAAA,EAAAjG,EAAA,6CAEP/B,KAAKqH,SAASzG,KAAI,SAAAiC,GAAQ,OAAIkF,EAAKE,eAAepF,EAAS,IAGjE,GAAC,CAAA8E,KAAA,SAAA/Q,IAAA,iBAAAE,MAKD,SAAe+L,GAAU,IC9LEqF,ED8LFC,EAAA,KACjBC,EAAe,CAACvF,EAASb,MAAOa,EAASK,OAC5CC,QAAO,SAAAC,GAAC,OAAIA,CAAC,IACbC,KAAK,KACFgF,EAAkC5N,MAAtBoI,EAAS9B,UAE3B,OAAOc,EAAAA,EAAAA,IAAIyG,IAAAA,EAAAvG,EAAA,qNAILsG,EAAY,YAAc,GAC1BxF,GAAY7C,KAAK4G,eAAiB,UAAY,IAEzC2B,EAAAA,EAAAA,GAAS,CAACC,WAAmC,IAAtB3F,EAAS4F,MAAQ,GAAU,OC3MvB,OAAbP,ED4MgBG,EAAY,8BAA2B5N,GC5M1CyN,EAASQ,EAAAA,ID6MnC,kBAAMP,EAAKQ,WAAW9F,EAAS9B,UAAU,GAEjDqH,EACAvF,EAAS3B,SAAUW,EAAAA,EAAAA,IAAI+G,IAAAA,EAAA7G,EAAA,uFAEec,EAAS3B,SAC7C2H,EAAAA,GAER,GAAC,CAAAlB,KAAA,SAAA/Q,IAAA,oBAAAE,MAED,WACEgS,EAAAC,EAzDS9B,EAAe1Q,WAAA,0BAAAoC,KAAA,MA0DxBqH,KAAKgJ,cAAc,IAAIC,YAAY,aACrC,GAAC,CAAAtB,KAAA,SAAA/Q,IAAA,UAAAE,MAED,SAAQoS,GACuC,IAAAC,EAAzCD,EAAkBE,IAAI,oBACmB,QAA3CD,EAAAnJ,KAAKqJ,WAAW9E,cAAc,qBAAa,IAAA4E,GAA3CA,EAA6CG,eAAe,CAC1DC,MAAO,UACPC,SAAU,WAGhB,GAAC,CAAA7B,KAAA,MAAA8B,QAAA,EAAA7S,IAAA,SAAAE,MAED,WACE,OAAOiN,EAAAA,EAAAA,IAAG2F,IAAAA,EAAA3H,EAAA,inBA8BZ,IAAC,GArGkC4H,EAAAA","sources":["webpack://@internetarchive/bookreader/./node_modules/@internetarchive/icon-toc/index.js","webpack://@internetarchive/bookreader/./node_modules/@internetarchive/icon-toc/icon-toc.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.chapters.js","webpack://@internetarchive/bookreader/../src/directives/if-defined.ts"],"sourcesContent":["import { html } from 'lit';\n\nexport default html`\n<svg\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"tocTitleID tocDescID\"\n>\n <title id=\"tocTitleID\">Table of contents icon</title>\n <desc id=\"tocDescID\">An illustration of three text list items</desc>\n <g class=\"fill-color\" fill-rule=\"evenodd\"><rect height=\"3\" rx=\"1.5\" width=\"18\" x=\"6\"/><rect height=\"3\" rx=\"1.5\" width=\"18\" x=\"6\" y=\"21\"/><rect height=\"3\" rx=\"1.5\" width=\"18\" x=\"6\" y=\"14\"/><rect height=\"3\" rx=\"1.5\" width=\"18\" x=\"6\" y=\"7\"/><rect height=\"3\" rx=\"1.5\" width=\"4\"/><rect height=\"3\" rx=\"1.5\" width=\"4\" y=\"21\"/><rect height=\"3\" rx=\"1.5\" width=\"4\" y=\"14\"/><rect height=\"3\" rx=\"1.5\" width=\"4\" y=\"7\"/></g>\n</svg>\n`;\n","import icon from './index.js';\nimport { css, LitElement } from 'lit';\n\nclass IAIconToc extends LitElement {\n static get styles() {\n return css`\n :host {\n width: var(--iconWidth, 'auto');\n height: var(--iconHeight, 'auto');\n }\n\n .fill-color {\n fill: var(--iconFillColor);\n }\n\n .stroke-color {\n stroke: var(--iconStrokeColor);\n }\n `;\n }\n\n render() {\n return icon;\n }\n}\n\ncustomElements.define('ia-icon-toc', IAIconToc);\n\nexport default IAIconToc;\n","/* global BookReader */\nimport { css, html, LitElement, nothing } from \"lit\";\nimport { customElement, property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport '@internetarchive/icon-toc/icon-toc';\n/** @typedef {import('@/src/BookNavigator/book-navigator.js').BookNavigator} BookNavigator */\n\n/**\n * Plugin for chapter markers in BookReader. Fetches from openlibrary.org\n * Could be forked, or extended to alter behavior\n */\n\njQuery.extend(BookReader.defaultOptions, {\n olHost: 'https://openlibrary.org',\n enableChaptersPlugin: true,\n bookId: '',\n});\n\n/** @override Extend to call Open Library for TOC */\nBookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableChaptersPlugin && this.ui !== 'embed') {\n this._chapterInit();\n }\n };\n})(BookReader.prototype.init);\n\nBookReader.prototype._chapterInit = async function() {\n const olEdition = await this.getOpenLibraryRecord(this.options.olHost, this.options.bookId);\n if (olEdition?.table_of_contents?.length) {\n this._tocEntries = olEdition.table_of_contents.map(rawTOCEntry => (\n Object.assign({}, rawTOCEntry, {pageIndex: this.book.getPageIndex(rawTOCEntry.pagenum)})\n ));\n this._chaptersRender(this._tocEntries);\n this.bind(BookReader.eventNames.pageChanged, () => this._chaptersUpdateCurrent());\n }\n};\n\n/**\n * Update the table of contents based on array of TOC entries.\n */\nBookReader.prototype._chaptersRender = function() {\n const shell = /** @type {BookNavigator} */(this.shell);\n shell.menuProviders['chapters'] = {\n id: 'chapters',\n icon: html`<ia-icon-toc style=\"width: var(--iconWidth); height: var(--iconHeight);\"></ia-icon-toc>`,\n label: 'Table of Contents',\n component: html`<br-chapters-panel\n .contents=\"${this._tocEntries}\"\n .jumpToPage=\"${(pageIndex) => {\n this._chaptersUpdateCurrent(pageIndex);\n this.jumpToIndex(pageIndex);\n }}\"\n @connected=\"${(e) => {\n this._chaptersPanel = e.target;\n this._chaptersUpdateCurrent();\n }}\"\n />`,\n };\n shell.updateMenuContents();\n for (const tocEntry of this._tocEntries) {\n this._chaptersRenderMarker(tocEntry);\n }\n};\n\n/**\n * @typedef {Object} TocEntry\n * Table of contents entry as defined by Open Library, with some extra values for internal use\n * @property {string} pagenum\n * @property {number} level\n * @property {string} label\n * @property {string} title\n * @property {number} pageIndex - Added\n *\n * @example {\n * \"pagenum\": \"17\",\n * \"level\": 1,\n * \"label\": \"CHAPTER I\",\n * \"title\": \"THE COUNTRY AND THE MISSION\"\n * }\n */\n\n/**\n * @param {TocEntry} tocEntry\n */\nBookReader.prototype._chaptersRenderMarker = function(tocEntry) {\n if (tocEntry.pageIndex == undefined) return;\n\n //creates a string with non-void tocEntry.label and tocEntry.title\n const chapterStr = [tocEntry.label, tocEntry.title]\n .filter(x => x)\n .join(' ');\n\n const percentThrough = BookReader.util.cssPercentage(tocEntry.pageIndex, this.book.getNumLeafs() - 1);\n $(`<div></div>`)\n .append(\n $('<div />')\n .text(chapterStr)\n .append($('<div class=\"BRchapterPage\" />').text(`Page ${tocEntry.pagenum}`))\n )\n .addClass('BRchapter')\n .css({ left: percentThrough })\n .appendTo(this.$('.BRnavline'))\n .on(\"mouseenter\", event => {\n // remove hover effect from other markers then turn on just for this\n const marker = event.currentTarget;\n const tooltip = marker.querySelector('div');\n const tooltipOffset = tooltip.getBoundingClientRect();\n const targetOffset = marker.getBoundingClientRect();\n const boxSizeAdjust = parseInt(getComputedStyle(tooltip).paddingLeft) * 2;\n if (tooltipOffset.x - boxSizeAdjust < 0) {\n tooltip.style.setProperty('transform', `translateX(-${targetOffset.left - boxSizeAdjust}px)`);\n }\n this.$('.BRsearch,.BRchapter').removeClass('front');\n $(event.target).addClass('front');\n })\n .on(\"mouseleave\", event => $(event.target).removeClass('front'))\n .on('click', () => {\n this._chaptersUpdateCurrent(tocEntry.pageIndex);\n this.jumpToIndex(tocEntry.pageIndex);\n });\n\n this.$('.BRchapter, .BRsearch').each((i, el) => {\n const $el = $(el);\n $el\n .on(\"mouseenter\", () => $el.addClass('front'))\n .on(\"mouseleave\", () => $el.removeClass('front'));\n });\n};\n\n/**\n * This makes a call to OL API and calls the given callback function with the\n * response from the API.\n *\n * @param {string} olHost\n * @param {string} ocaid\n */\nBookReader.prototype.getOpenLibraryRecord = async function (olHost, ocaid) {\n // Try looking up by ocaid first, then by source_record\n const baseURL = `${olHost}/query.json?type=/type/edition&*=`;\n const fetchUrlByBookId = `${baseURL}&ocaid=${ocaid}`;\n\n let data = await $.ajax({ url: fetchUrlByBookId, dataType: 'jsonp' });\n\n if (!data || !data.length) {\n // try sourceid\n data = await $.ajax({ url: `${baseURL}&source_records=ia:${ocaid}`, dataType: 'jsonp' });\n }\n\n return data?.[0];\n};\n\n/**\n * @private\n * Highlights the current chapter based on current page\n * @param {PageIndex} curIndex\n */\nBookReader.prototype._chaptersUpdateCurrent = function(\n curIndex = (this.mode == 2 ? Math.max(...this.displayedIndices) : this.firstIndex)\n) {\n const tocEntriesIndexed = this._tocEntries.filter((el) => el.pageIndex != undefined).reverse();\n const currChapter = tocEntriesIndexed[\n // subtract one so that 2up shows the right label\n tocEntriesIndexed.findIndex((chapter) => chapter.pageIndex <= curIndex)\n ];\n if (this._chaptersPanel) {\n this._chaptersPanel.currentChapter = currChapter;\n }\n};\n\n@customElement('br-chapters-panel')\nexport class BRChaptersPanel extends LitElement {\n /** @type {TocEntry[]} */\n @property({ type: Array })\n contents = [];\n\n /** @type {TocEntry?} */\n @property({ type: Object })\n currentChapter = {};\n\n /** @type {(pageIndex: PageIndex) => void} */\n jumpToPage = () => {};\n\n /**\n * @param {TocEntry[]} contents\n */\n constructor(contents) {\n super();\n this.contents = contents;\n }\n\n render() {\n return html`\n <ol>\n ${this.contents.map(tocEntry => this.renderTOCEntry(tocEntry))}\n </ol>\n `;\n }\n\n /**\n * @param {TocEntry} tocEntry\n */\n renderTOCEntry(tocEntry) {\n const chapterTitle = [tocEntry.label, tocEntry.title]\n .filter(x => x)\n .join(' ');\n const clickable = tocEntry.pageIndex != undefined;\n // note the click-tracking won't work...\n return html`\n <li\n class=\"\n BRtable-contents-el\n ${clickable ? 'clickable' : ''}\n ${tocEntry == this.currentChapter ? 'current' : ''}\n \"\n style=\"${styleMap({marginLeft: (tocEntry.level - 1) * 10 + 'px'})}\"\n data-event-click-tracking=\"${ifDefined(clickable ? \"BRTOCPanel|GoToChapter\" : undefined)}\"\n @click=\"${() => this.jumpToPage(tocEntry.pageIndex)}\"\n >\n ${chapterTitle}\n ${tocEntry.pagenum ? html`\n <br />\n <span class=\"BRTOCElementPage\">Page ${tocEntry.pagenum}</span>\n ` : nothing}\n </li>`;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.dispatchEvent(new CustomEvent('connected'));\n }\n\n updated(changedProperties) {\n if (changedProperties.has('currentChapter')) {\n this.shadowRoot.querySelector('li.current')?.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n });\n }\n }\n\n static get styles() {\n return css`\n ol {\n padding: 0;\n margin: 0;\n margin-right: 5px;\n }\n li {\n padding: 10px;\n overflow: hidden;\n border-radius: 4px;\n }\n li.clickable {\n font-weight: normal;\n cursor: pointer;\n transition: background-color 0.2s;\n }\n\n li.clickable:not(.current):hover {\n background-color: rgba(255,255,255, 0.05);\n }\n\n li.current {\n background-color: rgba(255,255,255,0.9);\n color: #333;\n }\n\n .BRTOCElementPage {\n font-size: 0.85em;\n opacity: .8;\n }`;\n }\n}\n","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {nothing} from '../lit-html.js';\n\n/**\n * For AttributeParts, sets the attribute if the value is defined and removes\n * the attribute if the value is undefined.\n *\n * For other part types, this directive is a no-op.\n */\nexport const ifDefined = <T>(value: T) => value ?? nothing;\n"],"names":["IAIconToc","styles","render","customElements","define","super_","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","jQuery","extend","BookReader","defaultOptions","olHost","enableChaptersPlugin","bookId","init","this","options","ui","_chapterInit","_callee","_olEdition$table_of_c","olEdition","_this","_context","getOpenLibraryRecord","table_of_contents","_tocEntries","map","rawTOCEntry","assign","pageIndex","book","getPageIndex","pagenum","_chaptersRender","bind","eventNames","pageChanged","_chaptersUpdateCurrent","_this2","shell","menuProviders","id","icon","html","_templateObject","_taggedTemplateLiteral","label","component","_templateObject2","jumpToIndex","e","_chaptersPanel","target","updateMenuContents","_step","_iterator","_createForOfIteratorHelper","s","n","tocEntry","_chaptersRenderMarker","f","_this3","chapterStr","title","filter","x","join","percentThrough","util","cssPercentage","getNumLeafs","$","append","text","concat","addClass","css","left","appendTo","on","event","marker","currentTarget","tooltip","querySelector","tooltipOffset","getBoundingClientRect","targetOffset","boxSizeAdjust","parseInt","getComputedStyle","paddingLeft","style","setProperty","removeClass","each","el","$el","_ref2","_callee2","ocaid","_data","baseURL","fetchUrlByBookId","data","_context2","ajax","url","dataType","_x","_x2","curIndex","mode","Math","max","displayedIndices","firstIndex","tocEntriesIndexed","currChapter","findIndex","chapter","currentChapter","_decorate","customElement","_initialize","_LitElement","BRChaptersPanel","_LitElement2","_inherits","_super","contents","_this4","_classCallCheck","_assertThisInitialized","F","d","kind","decorators","property","Array","_this5","_templateObject3","renderTOCEntry","l","_this6","chapterTitle","clickable","_templateObject4","styleMap","marginLeft","level","t","jumpToPage","_templateObject5","nothing","_get","_getPrototypeOf","dispatchEvent","CustomEvent","changedProperties","_this$shadowRoot$quer","has","shadowRoot","scrollIntoView","block","behavior","static","_templateObject6","LitElement"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"plugins/plugin.chapters.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./node_modules/@internetarchive/icon-toc/index.js","webpack://@internetarchive/bookreader/./node_modules/@internetarchive/icon-toc/icon-toc.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.chapters.js","webpack://@internetarchive/bookreader/../src/directives/if-defined.ts"],"sourcesContent":["import { html } from 'lit';\n\nexport default html`\n<svg\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"tocTitleID tocDescID\"\n>\n <title id=\"tocTitleID\">Table of contents icon</title>\n <desc id=\"tocDescID\">An illustration of three text list items</desc>\n <g class=\"fill-color\" fill-rule=\"evenodd\"><rect height=\"3\" rx=\"1.5\" width=\"18\" x=\"6\"/><rect height=\"3\" rx=\"1.5\" width=\"18\" x=\"6\" y=\"21\"/><rect height=\"3\" rx=\"1.5\" width=\"18\" x=\"6\" y=\"14\"/><rect height=\"3\" rx=\"1.5\" width=\"18\" x=\"6\" y=\"7\"/><rect height=\"3\" rx=\"1.5\" width=\"4\"/><rect height=\"3\" rx=\"1.5\" width=\"4\" y=\"21\"/><rect height=\"3\" rx=\"1.5\" width=\"4\" y=\"14\"/><rect height=\"3\" rx=\"1.5\" width=\"4\" y=\"7\"/></g>\n</svg>\n`;\n","import icon from './index.js';\nimport { css, LitElement } from 'lit';\n\nclass IAIconToc extends LitElement {\n static get styles() {\n return css`\n :host {\n width: var(--iconWidth, 'auto');\n height: var(--iconHeight, 'auto');\n }\n\n .fill-color {\n fill: var(--iconFillColor);\n }\n\n .stroke-color {\n stroke: var(--iconStrokeColor);\n }\n `;\n }\n\n render() {\n return icon;\n }\n}\n\ncustomElements.define('ia-icon-toc', IAIconToc);\n\nexport default IAIconToc;\n","/* global BookReader */\nimport { css, html, LitElement, nothing } from \"lit\";\nimport { customElement, property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport '@internetarchive/icon-toc/icon-toc';\n/** @typedef {import('@/src/BookNavigator/book-navigator.js').BookNavigator} BookNavigator */\n\n/**\n * Plugin for chapter markers in BookReader. Fetches from openlibrary.org\n * Could be forked, or extended to alter behavior\n */\n\njQuery.extend(BookReader.defaultOptions, {\n olHost: 'https://openlibrary.org',\n enableChaptersPlugin: true,\n bookId: '',\n});\n\n/** @override Extend to call Open Library for TOC */\nBookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enableChaptersPlugin && this.ui !== 'embed') {\n this._chapterInit();\n }\n };\n})(BookReader.prototype.init);\n\nBookReader.prototype._chapterInit = async function() {\n const olEdition = await this.getOpenLibraryRecord(this.options.olHost, this.options.bookId);\n if (olEdition?.table_of_contents?.length) {\n this._tocEntries = olEdition.table_of_contents.map(rawTOCEntry => (\n Object.assign({}, rawTOCEntry, {pageIndex: this.book.getPageIndex(rawTOCEntry.pagenum)})\n ));\n this._chaptersRender(this._tocEntries);\n this.bind(BookReader.eventNames.pageChanged, () => this._chaptersUpdateCurrent());\n }\n};\n\n/**\n * Update the table of contents based on array of TOC entries.\n */\nBookReader.prototype._chaptersRender = function() {\n const shell = /** @type {BookNavigator} */(this.shell);\n shell.menuProviders['chapters'] = {\n id: 'chapters',\n icon: html`<ia-icon-toc style=\"width: var(--iconWidth); height: var(--iconHeight);\"></ia-icon-toc>`,\n label: 'Table of Contents',\n component: html`<br-chapters-panel\n .contents=\"${this._tocEntries}\"\n .jumpToPage=\"${(pageIndex) => {\n this._chaptersUpdateCurrent(pageIndex);\n this.jumpToIndex(pageIndex);\n }}\"\n @connected=\"${(e) => {\n this._chaptersPanel = e.target;\n this._chaptersUpdateCurrent();\n }}\"\n />`,\n };\n shell.updateMenuContents();\n for (const tocEntry of this._tocEntries) {\n this._chaptersRenderMarker(tocEntry);\n }\n};\n\n/**\n * @typedef {Object} TocEntry\n * Table of contents entry as defined by Open Library, with some extra values for internal use\n * @property {string} pagenum\n * @property {number} level\n * @property {string} label\n * @property {string} title\n * @property {number} pageIndex - Added\n *\n * @example {\n * \"pagenum\": \"17\",\n * \"level\": 1,\n * \"label\": \"CHAPTER I\",\n * \"title\": \"THE COUNTRY AND THE MISSION\"\n * }\n */\n\n/**\n * @param {TocEntry} tocEntry\n */\nBookReader.prototype._chaptersRenderMarker = function(tocEntry) {\n if (tocEntry.pageIndex == undefined) return;\n\n //creates a string with non-void tocEntry.label and tocEntry.title\n const chapterStr = [tocEntry.label, tocEntry.title]\n .filter(x => x)\n .join(' ');\n\n const percentThrough = BookReader.util.cssPercentage(tocEntry.pageIndex, this.book.getNumLeafs() - 1);\n $(`<div></div>`)\n .append(\n $('<div />')\n .text(chapterStr)\n .append($('<div class=\"BRchapterPage\" />').text(`Page ${tocEntry.pagenum}`))\n )\n .addClass('BRchapter')\n .css({ left: percentThrough })\n .appendTo(this.$('.BRnavline'))\n .on(\"mouseenter\", event => {\n // remove hover effect from other markers then turn on just for this\n const marker = event.currentTarget;\n const tooltip = marker.querySelector('div');\n const tooltipOffset = tooltip.getBoundingClientRect();\n const targetOffset = marker.getBoundingClientRect();\n const boxSizeAdjust = parseInt(getComputedStyle(tooltip).paddingLeft) * 2;\n if (tooltipOffset.x - boxSizeAdjust < 0) {\n tooltip.style.setProperty('transform', `translateX(-${targetOffset.left - boxSizeAdjust}px)`);\n }\n this.$('.BRsearch,.BRchapter').removeClass('front');\n $(event.target).addClass('front');\n })\n .on(\"mouseleave\", event => $(event.target).removeClass('front'))\n .on('click', () => {\n this._chaptersUpdateCurrent(tocEntry.pageIndex);\n this.jumpToIndex(tocEntry.pageIndex);\n });\n\n this.$('.BRchapter, .BRsearch').each((i, el) => {\n const $el = $(el);\n $el\n .on(\"mouseenter\", () => $el.addClass('front'))\n .on(\"mouseleave\", () => $el.removeClass('front'));\n });\n};\n\n/**\n * This makes a call to OL API and calls the given callback function with the\n * response from the API.\n *\n * @param {string} olHost\n * @param {string} ocaid\n */\nBookReader.prototype.getOpenLibraryRecord = async function (olHost, ocaid) {\n // Try looking up by ocaid first, then by source_record\n const baseURL = `${olHost}/query.json?type=/type/edition&*=`;\n const fetchUrlByBookId = `${baseURL}&ocaid=${ocaid}`;\n\n let data = await $.ajax({ url: fetchUrlByBookId, dataType: 'jsonp' });\n\n if (!data || !data.length) {\n // try sourceid\n data = await $.ajax({ url: `${baseURL}&source_records=ia:${ocaid}`, dataType: 'jsonp' });\n }\n\n return data?.[0];\n};\n\n/**\n * @private\n * Highlights the current chapter based on current page\n * @param {PageIndex} curIndex\n */\nBookReader.prototype._chaptersUpdateCurrent = function(\n curIndex = (this.mode == 2 ? Math.max(...this.displayedIndices) : this.firstIndex)\n) {\n const tocEntriesIndexed = this._tocEntries.filter((el) => el.pageIndex != undefined).reverse();\n const currChapter = tocEntriesIndexed[\n // subtract one so that 2up shows the right label\n tocEntriesIndexed.findIndex((chapter) => chapter.pageIndex <= curIndex)\n ];\n if (this._chaptersPanel) {\n this._chaptersPanel.currentChapter = currChapter;\n }\n};\n\n@customElement('br-chapters-panel')\nexport class BRChaptersPanel extends LitElement {\n /** @type {TocEntry[]} */\n @property({ type: Array })\n contents = [];\n\n /** @type {TocEntry?} */\n @property({ type: Object })\n currentChapter = {};\n\n /** @type {(pageIndex: PageIndex) => void} */\n jumpToPage = () => {};\n\n /**\n * @param {TocEntry[]} contents\n */\n constructor(contents) {\n super();\n this.contents = contents;\n }\n\n render() {\n return html`\n <ol>\n ${this.contents.map(tocEntry => this.renderTOCEntry(tocEntry))}\n </ol>\n `;\n }\n\n /**\n * @param {TocEntry} tocEntry\n */\n renderTOCEntry(tocEntry) {\n const chapterTitle = [tocEntry.label, tocEntry.title]\n .filter(x => x)\n .join(' ');\n const clickable = tocEntry.pageIndex != undefined;\n // note the click-tracking won't work...\n return html`\n <li\n class=\"\n BRtable-contents-el\n ${clickable ? 'clickable' : ''}\n ${tocEntry == this.currentChapter ? 'current' : ''}\n \"\n style=\"${styleMap({marginLeft: (tocEntry.level - 1) * 10 + 'px'})}\"\n data-event-click-tracking=\"${ifDefined(clickable ? \"BRTOCPanel|GoToChapter\" : undefined)}\"\n @click=\"${() => this.jumpToPage(tocEntry.pageIndex)}\"\n >\n ${chapterTitle}\n ${tocEntry.pagenum ? html`\n <br />\n <span class=\"BRTOCElementPage\">Page ${tocEntry.pagenum}</span>\n ` : nothing}\n </li>`;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.dispatchEvent(new CustomEvent('connected'));\n }\n\n updated(changedProperties) {\n if (changedProperties.has('currentChapter')) {\n this.shadowRoot.querySelector('li.current')?.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n });\n }\n }\n\n static get styles() {\n return css`\n ol {\n padding: 0;\n margin: 0;\n margin-right: 5px;\n }\n li {\n padding: 10px;\n overflow: hidden;\n border-radius: 4px;\n }\n li.clickable {\n font-weight: normal;\n cursor: pointer;\n transition: background-color 0.2s;\n }\n\n li.clickable:not(.current):hover {\n background-color: rgba(255,255,255, 0.05);\n }\n\n li.current {\n background-color: rgba(255,255,255,0.9);\n color: #333;\n }\n\n .BRTOCElementPage {\n font-size: 0.85em;\n opacity: .8;\n }`;\n }\n}\n","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nimport {nothing} from '../lit-html.js';\n\n/**\n * For AttributeParts, sets the attribute if the value is defined and removes\n * the attribute if the value is undefined.\n *\n * For other part types, this directive is a no-op.\n */\nexport const ifDefined = <T>(value: T) => value ?? nothing;\n"],"names":["IAIconToc","styles","render","customElements","define","super_","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","jQuery","extend","BookReader","defaultOptions","olHost","enableChaptersPlugin","bookId","init","this","options","ui","_chapterInit","_callee","_olEdition$table_of_c","olEdition","_this","_context","getOpenLibraryRecord","table_of_contents","_tocEntries","map","rawTOCEntry","assign","pageIndex","book","getPageIndex","pagenum","_chaptersRender","bind","eventNames","pageChanged","_chaptersUpdateCurrent","_this2","shell","menuProviders","id","icon","html","_templateObject","_taggedTemplateLiteral","label","component","_templateObject2","jumpToIndex","e","_chaptersPanel","target","updateMenuContents","_step","_iterator","_createForOfIteratorHelper","s","n","tocEntry","_chaptersRenderMarker","f","_this3","chapterStr","title","filter","x","join","percentThrough","util","cssPercentage","getNumLeafs","$","append","text","concat","addClass","css","left","appendTo","on","event","marker","currentTarget","tooltip","querySelector","tooltipOffset","getBoundingClientRect","targetOffset","boxSizeAdjust","parseInt","getComputedStyle","paddingLeft","style","setProperty","removeClass","each","el","$el","_ref2","_callee2","ocaid","_data","baseURL","fetchUrlByBookId","data","_context2","ajax","url","dataType","_x","_x2","curIndex","mode","Math","max","displayedIndices","firstIndex","tocEntriesIndexed","currChapter","findIndex","chapter","currentChapter","_decorate","customElement","_initialize","_LitElement","BRChaptersPanel","_LitElement2","_inherits","_super","contents","_this4","_classCallCheck","_assertThisInitialized","F","d","kind","decorators","property","Array","_this5","_templateObject3","renderTOCEntry","_this6","chapterTitle","clickable","_templateObject4","styleMap","marginLeft","level","ifDefined","jumpToPage","_templateObject5","nothing","_get","_getPrototypeOf","dispatchEvent","CustomEvent","changedProperties","_this$shadowRoot$quer","has","shadowRoot","scrollIntoView","block","behavior","static","_templateObject6","LitElement","l","t"],"sourceRoot":""}
|