@internetarchive/bookreader 5.0.0-24-sortingstate → 5.0.0-25-02

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. package/BookReader/BookReader.css +4 -0
  2. package/BookReader/BookReader.js +2 -32148
  3. package/BookReader/BookReader.js.map +1 -1
  4. package/BookReader/bookreader-component-bundle.js +1286 -11261
  5. package/BookReader/bookreader-component-bundle.js.map +1 -1
  6. package/BookReader/icons/1up.svg +1 -12
  7. package/BookReader/icons/2up.svg +1 -15
  8. package/BookReader/icons/advance.svg +3 -26
  9. package/BookReader/icons/chevron-right.svg +1 -1
  10. package/BookReader/icons/close-circle-dark.svg +1 -1
  11. package/BookReader/icons/close-circle.svg +1 -1
  12. package/BookReader/icons/fullscreen.svg +1 -17
  13. package/BookReader/icons/fullscreen_exit.svg +1 -17
  14. package/BookReader/icons/hamburger.svg +1 -15
  15. package/BookReader/icons/left-arrow.svg +1 -12
  16. package/BookReader/icons/magnify-minus.svg +1 -16
  17. package/BookReader/icons/magnify-plus.svg +1 -17
  18. package/BookReader/icons/magnify.svg +1 -15
  19. package/BookReader/icons/pause.svg +1 -23
  20. package/BookReader/icons/play.svg +1 -22
  21. package/BookReader/icons/playback-speed.svg +1 -34
  22. package/BookReader/icons/read-aloud.svg +1 -22
  23. package/BookReader/icons/review.svg +3 -22
  24. package/BookReader/icons/thumbnails.svg +1 -17
  25. package/BookReader/icons/voice.svg +1 -1
  26. package/BookReader/icons/volume-full.svg +1 -22
  27. package/BookReader/images/BRicons.svg +5 -94
  28. package/BookReader/images/books_graphic.svg +1 -177
  29. package/BookReader/images/icon_book.svg +1 -12
  30. package/BookReader/images/icon_bookmark.svg +1 -12
  31. package/BookReader/images/icon_gear.svg +1 -14
  32. package/BookReader/images/icon_hamburger.svg +1 -20
  33. package/BookReader/images/icon_home.svg +1 -21
  34. package/BookReader/images/icon_info.svg +1 -11
  35. package/BookReader/images/icon_one_page.svg +1 -8
  36. package/BookReader/images/icon_pause.svg +1 -1
  37. package/BookReader/images/icon_play.svg +1 -1
  38. package/BookReader/images/icon_playback-rate.svg +1 -15
  39. package/BookReader/images/icon_search_button.svg +1 -8
  40. package/BookReader/images/icon_share.svg +1 -9
  41. package/BookReader/images/icon_skip-ahead.svg +1 -6
  42. package/BookReader/images/icon_skip-back.svg +2 -13
  43. package/BookReader/images/icon_speaker.svg +1 -18
  44. package/BookReader/images/icon_speaker_open.svg +1 -10
  45. package/BookReader/images/icon_thumbnails.svg +1 -12
  46. package/BookReader/images/icon_toc.svg +1 -5
  47. package/BookReader/images/icon_two_pages.svg +1 -9
  48. package/BookReader/images/marker_chap-off.svg +1 -11
  49. package/BookReader/images/marker_chap-on.svg +1 -11
  50. package/BookReader/images/marker_srch-on.svg +1 -11
  51. package/BookReader/jquery-1.10.1.js +2 -108
  52. package/BookReader/plugins/plugin.archive_analytics.js +1 -170
  53. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  54. package/BookReader/plugins/plugin.autoplay.js +1 -163
  55. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  56. package/BookReader/plugins/plugin.chapters.js +1 -333
  57. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  58. package/BookReader/plugins/plugin.iframe.js +1 -72
  59. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  60. package/BookReader/plugins/plugin.mobile_nav.js +1 -332
  61. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  62. package/BookReader/plugins/plugin.resume.js +1 -241
  63. package/BookReader/plugins/plugin.resume.js.map +1 -1
  64. package/BookReader/plugins/plugin.search.js +1 -1263
  65. package/BookReader/plugins/plugin.search.js.map +1 -1
  66. package/BookReader/plugins/plugin.text_selection.js +1 -839
  67. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  68. package/BookReader/plugins/plugin.tts.js +2 -9114
  69. package/BookReader/plugins/plugin.tts.js.map +1 -1
  70. package/BookReader/plugins/plugin.url.js +1 -750
  71. package/BookReader/plugins/plugin.url.js.map +1 -1
  72. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -326
  73. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  74. package/BookReader/webcomponents-bundle.js +2 -411
  75. package/BookReader/webcomponents-bundle.js.map +1 -1
  76. package/package.json +1 -1
  77. package/src/BookNavigator/volumes/volumes-provider.js +9 -39
  78. package/src/BookReader.js +0 -4
  79. package/src/css/_controls.scss +4 -0
  80. package/src/plugins/plugin.url.js +2 -209
  81. package/tests/jest/plugins/plugin.url.test.js +1 -160
  82. package/tests/karma/BookNavigator/volumes/volumes-provider.test.js +6 -6
  83. package/.nvmrc +0 -1
@@ -1,840 +1,2 @@
1
- (self["webpackChunk_internetarchive_bookreader"] = self["webpackChunk_internetarchive_bookreader"] || []).push([["plugins/plugin.text_selection.js"],{
2
-
3
- /***/ "./src/plugins/plugin.text_selection.js":
4
- /*!**********************************************!*\
5
- !*** ./src/plugins/plugin.text_selection.js ***!
6
- \**********************************************/
7
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8
-
9
- "use strict";
10
- __webpack_require__.r(__webpack_exports__);
11
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12
- /* harmony export */ "DEFAULT_OPTIONS": function() { return /* binding */ DEFAULT_OPTIONS; },
13
- /* harmony export */ "Cache": function() { return /* binding */ Cache; },
14
- /* harmony export */ "TextSelectionPlugin": function() { return /* binding */ TextSelectionPlugin; },
15
- /* harmony export */ "BookreaderWithTextSelection": function() { return /* binding */ BookreaderWithTextSelection; }
16
- /* harmony export */ });
17
- /* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ "./node_modules/regenerator-runtime/runtime.js");
18
- /* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__);
19
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
20
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_1__);
21
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
22
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);
23
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
24
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__);
25
- /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js");
26
- /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_4__);
27
- /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js");
28
- /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_5__);
29
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
30
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__);
31
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
32
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7__);
33
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
34
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_8__);
35
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js");
36
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_9__);
37
- /* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ "./node_modules/core-js/modules/es.array.sort.js");
38
- /* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_10__);
39
- /* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js");
40
- /* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_11__);
41
- /* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.promise.js */ "./node_modules/core-js/modules/es.promise.js");
42
- /* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_12__);
43
- /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
44
- /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_13__);
45
- /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
46
- /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_14__);
47
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
48
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_15__);
49
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
50
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_16__);
51
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
52
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17__);
53
- /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js");
54
- /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18__);
55
- /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
56
- /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_19__);
57
- /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ "./node_modules/core-js/modules/es.object.get-prototype-of.js");
58
- /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_20__);
59
- /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ "./node_modules/core-js/modules/es.reflect.construct.js");
60
- /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_21__);
61
- /* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.reflect.get.js */ "./node_modules/core-js/modules/es.reflect.get.js");
62
- /* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_22__);
63
- /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
64
- /* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_23__);
65
- /* harmony import */ var _BookReader_PageContainer_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../BookReader/PageContainer.js */ "./src/BookReader/PageContainer.js");
66
- /* harmony import */ var _util_browserSniffing_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../util/browserSniffing.js */ "./src/util/browserSniffing.js");
67
- /* harmony import */ var _util_strings_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../util/strings.js */ "./src/util/strings.js");
68
- /* provided dependency */ var $ = __webpack_require__(/*! jquery */ "jquery");
69
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
70
-
71
- function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
72
-
73
- function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
74
-
75
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
76
-
77
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
78
-
79
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
80
-
81
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
82
-
83
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
84
-
85
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
86
-
87
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
88
-
89
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
90
-
91
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
92
-
93
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
94
-
95
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
96
-
97
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
98
-
99
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
100
-
101
-
102
-
103
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
104
-
105
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
132
-
133
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
134
-
135
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
136
-
137
- //@ts-check
138
-
139
-
140
-
141
- /** @typedef {import('../util/strings.js').StringWithVars} StringWithVars */
142
-
143
- /** @typedef {import('../BookReader/PageContainer.js').PageContainer} PageContainer */
144
-
145
- var BookReader = window.BookReader;
146
- var DEFAULT_OPTIONS = {
147
- enabled: true,
148
-
149
- /** @type {StringWithVars} The URL to fetch the entire DJVU xml. Supports options.vars */
150
- fullDjvuXmlUrl: null,
151
-
152
- /** @type {StringWithVars} The URL to fetch a single page of the DJVU xml. Supports options.vars. Also has {{pageIndex}} */
153
- singlePageDjvuXmlUrl: null
154
- };
155
- /** @typedef {typeof DEFAULT_OPTIONS} TextSelectionPluginOptions */
156
-
157
- /**
158
- * @template T
159
- */
160
-
161
- var Cache = /*#__PURE__*/function () {
162
- function Cache() {
163
- var maxSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
164
-
165
- _classCallCheck(this, Cache);
166
-
167
- this.maxSize = maxSize;
168
- /** @type {T[]} */
169
-
170
- this.entries = [];
171
- }
172
- /**
173
- * @param {T} entry
174
- */
175
-
176
-
177
- _createClass(Cache, [{
178
- key: "add",
179
- value: function add(entry) {
180
- if (this.entries.length >= this.maxSize) {
181
- this.entries.shift();
182
- }
183
-
184
- this.entries.push(entry);
185
- }
186
- }]);
187
-
188
- return Cache;
189
- }();
190
- var TextSelectionPlugin = /*#__PURE__*/function () {
191
- function TextSelectionPlugin() {
192
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_OPTIONS;
193
- var optionVariables = arguments.length > 1 ? arguments[1] : undefined;
194
- var avoidTspans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (0,_util_browserSniffing_js__WEBPACK_IMPORTED_MODULE_25__.isFirefox)();
195
- var pointerEventsOnParagraph = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : (0,_util_browserSniffing_js__WEBPACK_IMPORTED_MODULE_25__.isSafari)();
196
-
197
- _classCallCheck(this, TextSelectionPlugin);
198
-
199
- this.options = options;
200
- this.optionVariables = optionVariables;
201
- /**@type {PromiseLike<JQuery<HTMLElement>|undefined>} */
202
-
203
- this.djvuPagesPromise = null; // Using text elements instead of tspans for words because Firefox does not allow svg tspan stretch.
204
- // Tspans are necessary on Chrome because they prevent newline character after every word when copying
205
-
206
- this.svgParagraphElement = "text";
207
- this.svgWordElement = "tspan";
208
- this.insertNewlines = avoidTspans; // Safari has a bug where `pointer-events` doesn't work on `<tspans>`. So
209
- // there we will set `pointer-events: all` on the paragraph element. We don't
210
- // do this everywhere, because it's a worse experience. Thanks Safari :/
211
-
212
- this.pointerEventsOnParagraph = pointerEventsOnParagraph;
213
-
214
- if (avoidTspans) {
215
- this.svgParagraphElement = "g";
216
- this.svgWordElement = "text";
217
- }
218
- /** @type {Cache<{index: number, response: any}>} */
219
-
220
-
221
- this.pageTextCache = new Cache();
222
- /**
223
- * Sometimes there are too many words on a page, and the browser becomes near
224
- * unusable. For now don't render text layer for pages with too many words.
225
- */
226
-
227
- this.maxWordRendered = 2500;
228
- }
229
-
230
- _createClass(TextSelectionPlugin, [{
231
- key: "init",
232
- value: function init() {
233
- // Only fetch the full djvu xml if the single page url isn't there
234
- if (this.options.singlePageDjvuXmlUrl) return;
235
- this.djvuPagesPromise = $.ajax({
236
- type: "GET",
237
- url: (0,_util_strings_js__WEBPACK_IMPORTED_MODULE_26__.applyVariables)(this.options.fullDjvuXmlUrl, this.optionVariables),
238
- dataType: "html",
239
- error: function error(e) {
240
- return undefined;
241
- }
242
- }).then(function (res) {
243
- try {
244
- var xmlMap = $.parseXML(res);
245
- return xmlMap && $(xmlMap).find("OBJECT");
246
- } catch (e) {
247
- return undefined;
248
- }
249
- });
250
- }
251
- /**
252
- * @param {number} index
253
- * @returns {Promise<HTMLElement|undefined>}
254
- */
255
-
256
- }, {
257
- key: "getPageText",
258
- value: function () {
259
- var _getPageText = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(index) {
260
- var _this = this;
261
-
262
- var cachedEntry, XMLpagesArr;
263
- return regeneratorRuntime.wrap(function _callee$(_context) {
264
- while (1) {
265
- switch (_context.prev = _context.next) {
266
- case 0:
267
- if (!this.options.singlePageDjvuXmlUrl) {
268
- _context.next = 7;
269
- break;
270
- }
271
-
272
- cachedEntry = this.pageTextCache.entries.find(function (x) {
273
- return x.index == index;
274
- });
275
-
276
- if (!cachedEntry) {
277
- _context.next = 4;
278
- break;
279
- }
280
-
281
- return _context.abrupt("return", cachedEntry.response);
282
-
283
- case 4:
284
- return _context.abrupt("return", $.ajax({
285
- type: "GET",
286
- url: (0,_util_strings_js__WEBPACK_IMPORTED_MODULE_26__.applyVariables)(this.options.singlePageDjvuXmlUrl, this.optionVariables, {
287
- pageIndex: index
288
- }),
289
- dataType: "html",
290
- error: function error(e) {
291
- return undefined;
292
- }
293
- }).then(function (res) {
294
- try {
295
- var xmlDoc = $.parseXML(res);
296
- var result = xmlDoc && $(xmlDoc).find("OBJECT")[0];
297
-
298
- _this.pageTextCache.add({
299
- index: index,
300
- response: result
301
- });
302
-
303
- return result;
304
- } catch (e) {
305
- return undefined;
306
- }
307
- }));
308
-
309
- case 7:
310
- _context.next = 9;
311
- return this.djvuPagesPromise;
312
-
313
- case 9:
314
- XMLpagesArr = _context.sent;
315
-
316
- if (!XMLpagesArr) {
317
- _context.next = 12;
318
- break;
319
- }
320
-
321
- return _context.abrupt("return", XMLpagesArr[index]);
322
-
323
- case 12:
324
- case "end":
325
- return _context.stop();
326
- }
327
- }
328
- }, _callee, this);
329
- }));
330
-
331
- function getPageText(_x) {
332
- return _getPageText.apply(this, arguments);
333
- }
334
-
335
- return getPageText;
336
- }()
337
- /**
338
- * Intercept copied text to remove any styling applied to it
339
- * @param {JQuery} $container
340
- */
341
-
342
- }, {
343
- key: "interceptCopy",
344
- value: function interceptCopy($container) {
345
- $container[0].addEventListener('copy', function (event) {
346
- var selection = document.getSelection();
347
- event.clipboardData.setData('text/plain', selection.toString());
348
- event.preventDefault();
349
- });
350
- }
351
- /**
352
- * Applies mouse events when in default mode
353
- * @param {SVGElement} svg
354
- */
355
-
356
- }, {
357
- key: "defaultMode",
358
- value: function defaultMode(svg) {
359
- var _this2 = this;
360
-
361
- svg.classList.remove("selectingSVG");
362
- $(svg).on("mousedown.textSelectPluginHandler", function (event) {
363
- if (!$(event.target).is(".BRwordElement")) return;
364
- event.stopPropagation();
365
- svg.classList.add("selectingSVG");
366
- $(svg).one("mouseup.textSelectPluginHandler", function (event) {
367
- if (window.getSelection().toString() != "") {
368
- event.stopPropagation();
369
- $(svg).off(".textSelectPluginHandler");
370
-
371
- _this2.textSelectingMode(svg);
372
- } else svg.classList.remove("selectingSVG");
373
- });
374
- });
375
- }
376
- /**
377
- * Applies mouse events when in textSelecting mode
378
- * @param {SVGElement} svg
379
- */
380
-
381
- }, {
382
- key: "textSelectingMode",
383
- value: function textSelectingMode(svg) {
384
- var _this3 = this;
385
-
386
- $(svg).on('mousedown.textSelectPluginHandler', function (event) {
387
- if (!$(event.target).is(".BRwordElement")) {
388
- if (window.getSelection().toString() != "") window.getSelection().removeAllRanges();
389
- }
390
-
391
- event.stopPropagation();
392
- });
393
- $(svg).on('mouseup.textSelectPluginHandler', function (event) {
394
- event.stopPropagation();
395
-
396
- if (window.getSelection().toString() == "") {
397
- $(svg).off(".textSelectPluginHandler");
398
-
399
- _this3.defaultMode(svg);
400
- }
401
- });
402
- }
403
- /**
404
- * Initializes text selection modes if there is an svg on the page
405
- * @param {JQuery} $container
406
- */
407
-
408
- }, {
409
- key: "stopPageFlip",
410
- value: function stopPageFlip($container) {
411
- var _this4 = this;
412
-
413
- /** @type {JQuery<SVGElement>} */
414
- var $svg = $container.find('svg.textSelectionSVG');
415
- if (!$svg.length) return;
416
- $svg.each(function (i, s) {
417
- return _this4.defaultMode(s);
418
- });
419
- this.interceptCopy($container);
420
- }
421
- /**
422
- * @param {PageContainer} pageContainer
423
- */
424
-
425
- }, {
426
- key: "createTextLayer",
427
- value: function () {
428
- var _createTextLayer = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(pageContainer) {
429
- var _this5 = this;
430
-
431
- var pageIndex, $container, $svgLayers, XMLpage, totalWords, svg;
432
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
433
- while (1) {
434
- switch (_context2.prev = _context2.next) {
435
- case 0:
436
- pageIndex = pageContainer.page.index;
437
- $container = pageContainer.$container;
438
- $svgLayers = $container.find('.textSelectionSVG');
439
-
440
- if (!$svgLayers.length) {
441
- _context2.next = 5;
442
- break;
443
- }
444
-
445
- return _context2.abrupt("return");
446
-
447
- case 5:
448
- _context2.next = 7;
449
- return this.getPageText(pageIndex);
450
-
451
- case 7:
452
- XMLpage = _context2.sent;
453
-
454
- if (XMLpage) {
455
- _context2.next = 10;
456
- break;
457
- }
458
-
459
- return _context2.abrupt("return");
460
-
461
- case 10:
462
- totalWords = $(XMLpage).find("WORD").length;
463
-
464
- if (!(totalWords > this.maxWordRendered)) {
465
- _context2.next = 14;
466
- break;
467
- }
468
-
469
- console.log("Page ".concat(pageIndex, " has too many words (").concat(totalWords, " > ").concat(this.maxWordRendered, "). Not rendering text layer."));
470
- return _context2.abrupt("return");
471
-
472
- case 14:
473
- svg = (0,_BookReader_PageContainer_js__WEBPACK_IMPORTED_MODULE_24__.createSVGPageLayer)(pageContainer.page, 'textSelectionSVG');
474
- $container.append(svg);
475
- $(XMLpage).find("PARAGRAPH").each(function (i, paragraph) {
476
- // Adding text element for each paragraph in the page
477
- var words = $(paragraph).find("WORD");
478
- if (!words.length) return;
479
- var paragSvg = document.createElementNS("http://www.w3.org/2000/svg", _this5.svgParagraphElement);
480
- paragSvg.setAttribute("class", "BRparagElement");
481
-
482
- if (_this5.pointerEventsOnParagraph) {
483
- paragSvg.style.pointerEvents = "all";
484
- }
485
-
486
- var wordHeightArr = [];
487
-
488
- for (var _i = 0; _i < words.length; _i++) {
489
- // Adding tspan for each word in paragraph
490
- var currWord = words[_i]; // eslint-disable-next-line no-unused-vars
491
-
492
- var _$$attr$split$map = $(currWord).attr("coords").split(',').map(parseFloat),
493
- _$$attr$split$map2 = _slicedToArray(_$$attr$split$map, 4),
494
- left = _$$attr$split$map2[0],
495
- bottom = _$$attr$split$map2[1],
496
- right = _$$attr$split$map2[2],
497
- top = _$$attr$split$map2[3];
498
-
499
- var wordHeight = bottom - top;
500
- wordHeightArr.push(wordHeight);
501
- var wordTspan = document.createElementNS("http://www.w3.org/2000/svg", _this5.svgWordElement);
502
- wordTspan.setAttribute("class", "BRwordElement");
503
- wordTspan.setAttribute("x", left.toString());
504
- wordTspan.setAttribute("y", bottom.toString());
505
- wordTspan.setAttribute("textLength", (right - left).toString());
506
- wordTspan.setAttribute("lengthAdjust", "spacingAndGlyphs");
507
- wordTspan.textContent = currWord.textContent;
508
- paragSvg.appendChild(wordTspan); // Adding spaces after words except at the end of the paragraph
509
- // TODO: assumes left-to-right text
510
-
511
- if (_i < words.length - 1) {
512
- var nextWord = words[_i + 1]; // eslint-disable-next-line no-unused-vars
513
-
514
- var _$$attr$split$map3 = $(nextWord).attr("coords").split(',').map(parseFloat),
515
- _$$attr$split$map4 = _slicedToArray(_$$attr$split$map3, 4),
516
- leftNext = _$$attr$split$map4[0],
517
- bottomNext = _$$attr$split$map4[1],
518
- rightNext = _$$attr$split$map4[2],
519
- topNext = _$$attr$split$map4[3];
520
-
521
- var spaceTspan = document.createElementNS("http://www.w3.org/2000/svg", _this5.svgWordElement);
522
- spaceTspan.setAttribute("class", "BRwordElement");
523
- spaceTspan.setAttribute("x", right.toString());
524
- spaceTspan.setAttribute("y", bottom.toString());
525
- if (leftNext - right > 0) spaceTspan.setAttribute("textLength", (leftNext - right).toString());
526
- spaceTspan.setAttribute("lengthAdjust", "spacingAndGlyphs");
527
- spaceTspan.textContent = " ";
528
- paragSvg.appendChild(spaceTspan);
529
- } // Adds newline at the end of paragraph on Firefox
530
-
531
-
532
- if (_i == words.length - 1 && _this5.insertNewlines) {
533
- paragSvg.appendChild(document.createTextNode("\n"));
534
- }
535
- }
536
-
537
- wordHeightArr.sort();
538
- var paragWordHeight = wordHeightArr[Math.floor(wordHeightArr.length * 0.85)];
539
- paragSvg.setAttribute("font-size", paragWordHeight.toString());
540
- svg.appendChild(paragSvg);
541
- });
542
- this.stopPageFlip($container);
543
-
544
- case 18:
545
- case "end":
546
- return _context2.stop();
547
- }
548
- }
549
- }, _callee2, this);
550
- }));
551
-
552
- function createTextLayer(_x2) {
553
- return _createTextLayer.apply(this, arguments);
554
- }
555
-
556
- return createTextLayer;
557
- }()
558
- }]);
559
-
560
- return TextSelectionPlugin;
561
- }();
562
- var BookreaderWithTextSelection = /*#__PURE__*/function (_BookReader) {
563
- _inherits(BookreaderWithTextSelection, _BookReader);
564
-
565
- var _super = _createSuper(BookreaderWithTextSelection);
566
-
567
- function BookreaderWithTextSelection() {
568
- _classCallCheck(this, BookreaderWithTextSelection);
569
-
570
- return _super.apply(this, arguments);
571
- }
572
-
573
- _createClass(BookreaderWithTextSelection, [{
574
- key: "init",
575
- value: function init() {
576
- var options = Object.assign({}, DEFAULT_OPTIONS, this.options.plugins.textSelection);
577
-
578
- if (options.enabled) {
579
- this.textSelectionPlugin = new TextSelectionPlugin(options, this.options.vars); // Write this back; this way the plugin is the source of truth, and BR just
580
- // contains a reference to it.
581
-
582
- this.options.plugins.textSelection = options;
583
- this.textSelectionPlugin.init();
584
- }
585
-
586
- _get(_getPrototypeOf(BookreaderWithTextSelection.prototype), "init", this).call(this);
587
- }
588
- /**
589
- * @param {number} index
590
- */
591
-
592
- }, {
593
- key: "_createPageContainer",
594
- value: function _createPageContainer(index) {
595
- var pageContainer = _get(_getPrototypeOf(BookreaderWithTextSelection.prototype), "_createPageContainer", this).call(this, index); // Disable if thumb mode; it's too janky
596
- // .page can be null for "pre-cover" region
597
-
598
-
599
- if (this.mode !== this.constModeThumb && pageContainer.page) {
600
- var _this$textSelectionPl;
601
-
602
- (_this$textSelectionPl = this.textSelectionPlugin) === null || _this$textSelectionPl === void 0 ? void 0 : _this$textSelectionPl.createTextLayer(pageContainer);
603
- }
604
-
605
- return pageContainer;
606
- }
607
- }]);
608
-
609
- return BookreaderWithTextSelection;
610
- }(BookReader);
611
- window.BookReader = BookreaderWithTextSelection;
612
- /* harmony default export */ __webpack_exports__["default"] = (BookreaderWithTextSelection);
613
-
614
- /***/ }),
615
-
616
- /***/ "./src/util/browserSniffing.js":
617
- /*!*************************************!*\
618
- !*** ./src/util/browserSniffing.js ***!
619
- \*************************************/
620
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
621
-
622
- "use strict";
623
- __webpack_require__.r(__webpack_exports__);
624
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
625
- /* harmony export */ "isChrome": function() { return /* binding */ isChrome; },
626
- /* harmony export */ "isFirefox": function() { return /* binding */ isFirefox; },
627
- /* harmony export */ "isSafari": function() { return /* binding */ isSafari; }
628
- /* harmony export */ });
629
- /**
630
- * Checks whether the current browser is a Chrome/Chromium browser
631
- * Code from https://stackoverflow.com/a/4565120/2317712
632
- * @param {string} [userAgent]
633
- * @param {string} [vendor]
634
- * @return {boolean}
635
- */
636
- function isChrome() {
637
- var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent;
638
- var vendor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : navigator.vendor;
639
- return /chrome/i.test(userAgent) && /google inc/i.test(vendor);
640
- }
641
- /**
642
- * Checks whether the current browser is firefox
643
- * @param {string} [userAgent]
644
- * @return {boolean}
645
- */
646
-
647
- function isFirefox() {
648
- var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent;
649
- return /firefox/i.test(userAgent);
650
- }
651
- /**
652
- * Checks whether the current browser is safari
653
- * https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent#Browser_Name
654
- * @param {string} [userAgent]
655
- * @return {boolean}
656
- */
657
-
658
- function isSafari() {
659
- var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent;
660
- return /safari/i.test(userAgent) && !/chrome|chromium/i.test(userAgent);
661
- }
662
-
663
- /***/ }),
664
-
665
- /***/ "./src/util/strings.js":
666
- /*!*****************************!*\
667
- !*** ./src/util/strings.js ***!
668
- \*****************************/
669
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
670
-
671
- "use strict";
672
- __webpack_require__.r(__webpack_exports__);
673
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
674
- /* harmony export */ "applyVariables": function() { return /* binding */ applyVariables; },
675
- /* harmony export */ "APPLY_FILTERS": function() { return /* binding */ APPLY_FILTERS; }
676
- /* harmony export */ });
677
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
678
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);
679
- /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
680
- /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__);
681
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
682
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2__);
683
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js");
684
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_3__);
685
- /* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ "./node_modules/core-js/modules/es.string.trim.js");
686
- /* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_4__);
687
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
688
- /* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_5__);
689
- /* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ "./node_modules/core-js/modules/es.array.reduce.js");
690
- /* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_6__);
691
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
692
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__);
693
- /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js");
694
- /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_8__);
695
- /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
696
- /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_9__);
697
- /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
698
- /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_10__);
699
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
700
- /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_11__);
701
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js");
702
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12__);
703
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
704
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_13__);
705
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
706
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_14__);
707
- /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
708
- /* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_15__);
709
- /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js");
710
- /* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_16__);
711
- function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
712
-
713
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
714
-
715
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
716
-
717
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
718
-
719
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
720
-
721
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
722
-
723
-
724
-
725
-
726
-
727
-
728
-
729
-
730
-
731
-
732
-
733
-
734
-
735
-
736
-
737
-
738
-
739
-
740
-
741
- /**
742
- * @typedef {String} StringWithVars
743
- * A template string with {{foo}} style variables
744
- * Also supports filters, like {{bookPath|urlencode}} (See APPLY_FILTERS for the
745
- * supported list of filters)
746
- **/
747
-
748
- /**
749
- * @param {StringWithVars|String} template
750
- * @param { {[varName: string]: { toString: () => string} } } vars
751
- * @param { {[varName: string]: { toString: () => string} } } [overrides]
752
- */
753
- function applyVariables(template, vars) {
754
- var overrides = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
755
- var possibleFilters = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : APPLY_FILTERS;
756
- return template === null || template === void 0 ? void 0 : template.replace(/\{\{([^}]*?)\}\}/g, function ($0, $1) {
757
- if (!$1) return $0;
758
- /** @type {string} */
759
-
760
- var expression = $1;
761
-
762
- var _expression$split$map = expression.split('|').map(function (x) {
763
- return x.trim();
764
- }),
765
- _expression$split$map2 = _toArray(_expression$split$map),
766
- varName = _expression$split$map2[0],
767
- filterNames = _expression$split$map2.slice(1);
768
-
769
- var defined = varName in overrides || varName in vars; // If it's not defined, don't expand it at all
770
-
771
- if (!defined) return $0;
772
- var value = varName in overrides ? overrides[varName] : varName in vars ? vars[varName] : null;
773
- var filters = filterNames.map(function (n) {
774
- return possibleFilters[n];
775
- });
776
- return filters.reduce(function (acc, cur) {
777
- return cur(acc);
778
- }, value && value.toString());
779
- });
780
- }
781
- /** @type { {[filterName: String]:( string => string)} } */
782
-
783
- var APPLY_FILTERS = {
784
- urlencode: encodeURIComponent
785
- };
786
-
787
- /***/ }),
788
-
789
- /***/ "./node_modules/core-js/internals/string-trim-forced.js":
790
- /*!**************************************************************!*\
791
- !*** ./node_modules/core-js/internals/string-trim-forced.js ***!
792
- \**************************************************************/
793
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
794
-
795
- var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
796
- var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
797
-
798
- var non = '\u200B\u0085\u180E';
799
-
800
- // check that a method works with the correct list
801
- // of whitespaces and has a correct name
802
- module.exports = function (METHOD_NAME) {
803
- return fails(function () {
804
- return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
805
- });
806
- };
807
-
808
-
809
- /***/ }),
810
-
811
- /***/ "./node_modules/core-js/modules/es.string.trim.js":
812
- /*!********************************************************!*\
813
- !*** ./node_modules/core-js/modules/es.string.trim.js ***!
814
- \********************************************************/
815
- /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
816
-
817
- "use strict";
818
-
819
- var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
820
- var $trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim;
821
- var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js");
822
-
823
- // `String.prototype.trim` method
824
- // https://tc39.es/ecma262/#sec-string.prototype.trim
825
- $({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
826
- trim: function trim() {
827
- return $trim(this);
828
- }
829
- });
830
-
831
-
832
- /***/ })
833
-
834
- },
835
- /******/ function(__webpack_require__) { // webpackRuntimeModules
836
- /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
837
- /******/ var __webpack_exports__ = (__webpack_exec__("./src/plugins/plugin.text_selection.js"));
838
- /******/ }
839
- ]);
1
+ (self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[423],{7967:function(t,e,n){"use strict";n(5666),n(6992),n(1539),n(3948),n(9826),n(9714),n(2222),n(1249),n(4916),n(3123),n(2707),n(9601),n(8674),n(2526),n(1817),n(2165),n(8783),n(7042),n(8309),n(1038),n(489),n(2419),n(4819),n(5003);var r=n(9860),o=n(7775);function i(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}(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 a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function u(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s;return null==t?void 0:t.replace(/\{\{([^}]*?)\}\}/g,(function(t,o){if(!o)return t;var a=i(o.split("|").map((function(t){return t.trim()}))),u=a[0],s=a.slice(1);if(!(u in n)&&!(u in e))return t;var l=u in n?n[u]:u in e?e[u]:null;return s.map((function(t){return r[t]})).reduce((function(t,e){return e(t)}),l&&l.toString())}))}n(5306),n(3210),n(5827);var s={urlencode:encodeURIComponent},l=n(3609);function c(t){return(c="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})(t)}function f(t,e,n){return(f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=g(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function p(t,e){return(p=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t,e){if(e&&("object"===c(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)}function g(t){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i=[],a=!0,u=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){u=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(u)throw o}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return v(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(t,e):void 0}}(t,e)||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 v(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function y(t,e,n,r,o,i,a){try{var u=t[i](a),s=u.value}catch(t){return void n(t)}u.done?e(s):Promise.resolve(s).then(r,o)}function m(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){y(i,r,o,a,u,"next",t)}function u(t){y(i,r,o,a,u,"throw",t)}a(void 0)}))}}function b(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function w(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,r.key,r)}}function x(t,e,n){return e&&w(t.prototype,e),n&&w(t,n),t}var S=window.BookReader,P={enabled:!0,fullDjvuXmlUrl:null,singlePageDjvuXmlUrl:null},A=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;b(this,t),this.maxSize=e,this.entries=[]}return x(t,[{key:"add",value:function(t){this.entries.length>=this.maxSize&&this.entries.shift(),this.entries.push(t)}}]),t}(),j=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:P,n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(0,o.vU)(),i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:(0,o.G6)();b(this,t),this.options=e,this.optionVariables=n,this.djvuPagesPromise=null,this.svgParagraphElement="text",this.svgWordElement="tspan",this.insertNewlines=r,this.pointerEventsOnParagraph=i,r&&(this.svgParagraphElement="g",this.svgWordElement="text"),this.pageTextCache=new A,this.maxWordRendered=2500}var e,n;return x(t,[{key:"init",value:function(){this.options.singlePageDjvuXmlUrl||(this.djvuPagesPromise=l.ajax({type:"GET",url:u(this.options.fullDjvuXmlUrl,this.optionVariables),dataType:"html",error:function(t){}}).then((function(t){try{var e=l.parseXML(t);return e&&l(e).find("OBJECT")}catch(t){return}})))}},{key:"getPageText",value:(n=m(regeneratorRuntime.mark((function t(e){var n,r,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.options.singlePageDjvuXmlUrl){t.next=7;break}if(!(n=this.pageTextCache.entries.find((function(t){return t.index==e})))){t.next=4;break}return t.abrupt("return",n.response);case 4:return t.abrupt("return",l.ajax({type:"GET",url:u(this.options.singlePageDjvuXmlUrl,this.optionVariables,{pageIndex:e}),dataType:"html",error:function(t){}}).then((function(t){try{var n=l.parseXML(t),r=n&&l(n).find("OBJECT")[0];return o.pageTextCache.add({index:e,response:r}),r}catch(t){return}})));case 7:return t.next=9,this.djvuPagesPromise;case 9:if(!(r=t.sent)){t.next=12;break}return t.abrupt("return",r[e]);case 12:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"interceptCopy",value:function(t){t[0].addEventListener("copy",(function(t){var e=document.getSelection();t.clipboardData.setData("text/plain",e.toString()),t.preventDefault()}))}},{key:"defaultMode",value:function(t){var e=this;t.classList.remove("selectingSVG"),l(t).on("mousedown.textSelectPluginHandler",(function(n){l(n.target).is(".BRwordElement")&&(n.stopPropagation(),t.classList.add("selectingSVG"),l(t).one("mouseup.textSelectPluginHandler",(function(n){""!=window.getSelection().toString()?(n.stopPropagation(),l(t).off(".textSelectPluginHandler"),e.textSelectingMode(t)):t.classList.remove("selectingSVG")})))}))}},{key:"textSelectingMode",value:function(t){var e=this;l(t).on("mousedown.textSelectPluginHandler",(function(t){l(t.target).is(".BRwordElement")||""!=window.getSelection().toString()&&window.getSelection().removeAllRanges(),t.stopPropagation()})),l(t).on("mouseup.textSelectPluginHandler",(function(n){n.stopPropagation(),""==window.getSelection().toString()&&(l(t).off(".textSelectPluginHandler"),e.defaultMode(t))}))}},{key:"stopPageFlip",value:function(t){var e=this,n=t.find("svg.textSelectionSVG");n.length&&(n.each((function(t,n){return e.defaultMode(n)})),this.interceptCopy(t))}},{key:"createTextLayer",value:(e=m(regeneratorRuntime.mark((function t(e){var n,o,i,a,u,s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.page.index,!(o=e.$container).find(".textSelectionSVG").length){t.next=5;break}return t.abrupt("return");case 5:return t.next=7,this.getPageText(n);case 7:if(i=t.sent){t.next=10;break}return t.abrupt("return");case 10:if(!((a=l(i).find("WORD").length)>this.maxWordRendered)){t.next=14;break}return console.log("Page ".concat(n," has too many words (").concat(a," > ").concat(this.maxWordRendered,"). Not rendering text layer.")),t.abrupt("return");case 14:u=(0,r.hy)(e.page,"textSelectionSVG"),o.append(u),l(i).find("PARAGRAPH").each((function(t,e){var n=l(e).find("WORD");if(n.length){var r=document.createElementNS("http://www.w3.org/2000/svg",s.svgParagraphElement);r.setAttribute("class","BRparagElement"),s.pointerEventsOnParagraph&&(r.style.pointerEvents="all");for(var o=[],i=0;i<n.length;i++){var a=n[i],c=d(l(a).attr("coords").split(",").map(parseFloat),4),f=c[0],p=c[1],h=c[2],g=p-c[3];o.push(g);var v=document.createElementNS("http://www.w3.org/2000/svg",s.svgWordElement);if(v.setAttribute("class","BRwordElement"),v.setAttribute("x",f.toString()),v.setAttribute("y",p.toString()),v.setAttribute("textLength",(h-f).toString()),v.setAttribute("lengthAdjust","spacingAndGlyphs"),v.textContent=a.textContent,r.appendChild(v),i<n.length-1){var y=n[i+1],m=d(l(y).attr("coords").split(",").map(parseFloat),4),b=m[0],w=(m[1],m[2],m[3],document.createElementNS("http://www.w3.org/2000/svg",s.svgWordElement));w.setAttribute("class","BRwordElement"),w.setAttribute("x",h.toString()),w.setAttribute("y",p.toString()),b-h>0&&w.setAttribute("textLength",(b-h).toString()),w.setAttribute("lengthAdjust","spacingAndGlyphs"),w.textContent=" ",r.appendChild(w)}i==n.length-1&&s.insertNewlines&&r.appendChild(document.createTextNode("\n"))}o.sort();var x=o[Math.floor(.85*o.length)];r.setAttribute("font-size",x.toString()),u.appendChild(r)}})),this.stopPageFlip(o);case 18:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}(),E=function(t){!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}}),e&&p(t,e)}(o,t);var e,n,r=(e=o,n=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(t){return!1}}(),function(){var t,r=g(e);if(n){var o=g(this).constructor;t=Reflect.construct(r,arguments,o)}else t=r.apply(this,arguments);return h(this,t)});function o(){return b(this,o),r.apply(this,arguments)}return x(o,[{key:"init",value:function(){var t=Object.assign({},P,this.options.plugins.textSelection);t.enabled&&(this.textSelectionPlugin=new j(t,this.options.vars),this.options.plugins.textSelection=t,this.textSelectionPlugin.init()),f(g(o.prototype),"init",this).call(this)}},{key:"_createPageContainer",value:function(t){var e,n=f(g(o.prototype),"_createPageContainer",this).call(this,t);return this.mode!==this.constModeThumb&&n.page&&(null===(e=this.textSelectionPlugin)||void 0===e||e.createTextLayer(n)),n}}]),o}(S);window.BookReader=E},7775:function(t,e,n){"use strict";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator.userAgent,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:navigator.vendor;return/chrome/i.test(t)&&/google inc/i.test(e)}function o(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator.userAgent;return/firefox/i.test(t)}function i(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator.userAgent;return/safari/i.test(t)&&!/chrome|chromium/i.test(t)}n.d(e,{i7:function(){return r},vU:function(){return o},G6:function(){return i}})},6091:function(t,e,n){var r=n(7293),o=n(1361);t.exports=function(t){return r((function(){return!!o[t]()||"​…᠎"!="​…᠎"[t]()||o[t].name!==t}))}},3210:function(t,e,n){"use strict";var r=n(2109),o=n(3111).trim;r({target:"String",proto:!0,forced:n(6091)("trim")},{trim:function(){return o(this)}})}},function(t){t(t.s=7967)}]);
840
2
  //# sourceMappingURL=plugin.text_selection.js.map