@internetarchive/bookreader 5.0.0-8-multiple-files → 5.0.0-80
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.js +17 -15
- package/.github/workflows/node.js.yml +78 -6
- package/.github/workflows/npm-publish.yml +6 -20
- package/.testcaferc.js +10 -0
- package/BookReader/BookReader.css +442 -1393
- package/BookReader/BookReader.js +2 -21564
- package/BookReader/BookReader.js.LICENSE.txt +20 -20
- package/BookReader/BookReader.js.map +1 -1
- package/BookReader/ia-bookreader-bundle.js +1782 -0
- package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +7 -0
- package/BookReader/ia-bookreader-bundle.js.map +1 -0
- package/BookReader/icons/1up.svg +1 -12
- package/BookReader/icons/2up.svg +1 -15
- package/BookReader/icons/advance.svg +3 -26
- package/BookReader/icons/chevron-right.svg +1 -1
- package/BookReader/icons/close-circle-dark.svg +1 -0
- package/BookReader/icons/close-circle.svg +1 -1
- package/BookReader/icons/fullscreen.svg +1 -17
- package/BookReader/icons/fullscreen_exit.svg +1 -17
- package/BookReader/icons/hamburger.svg +1 -15
- package/BookReader/icons/left-arrow.svg +1 -12
- package/BookReader/icons/magnify-minus.svg +1 -16
- package/BookReader/icons/magnify-plus.svg +1 -17
- package/BookReader/icons/magnify.svg +1 -15
- package/BookReader/icons/pause.svg +1 -23
- package/BookReader/icons/play.svg +1 -22
- package/BookReader/icons/playback-speed.svg +1 -34
- package/BookReader/icons/read-aloud.svg +1 -22
- package/BookReader/icons/review.svg +3 -22
- package/BookReader/icons/thumbnails.svg +1 -17
- package/BookReader/icons/voice.svg +1 -0
- package/BookReader/icons/volume-full.svg +1 -22
- package/BookReader/images/BRicons.svg +5 -94
- package/BookReader/images/books_graphic.svg +1 -177
- package/BookReader/images/icon_book.svg +1 -12
- package/BookReader/images/icon_bookmark.svg +1 -12
- package/BookReader/images/icon_gear.svg +1 -14
- package/BookReader/images/icon_hamburger.svg +1 -20
- package/BookReader/images/icon_home.svg +1 -21
- package/BookReader/images/icon_info.svg +1 -11
- package/BookReader/images/icon_one_page.svg +1 -8
- package/BookReader/images/icon_pause.svg +1 -1
- package/BookReader/images/icon_play.svg +1 -1
- package/BookReader/images/icon_playback-rate.svg +1 -15
- package/BookReader/images/icon_search_button.svg +1 -8
- package/BookReader/images/icon_share.svg +1 -9
- package/BookReader/images/icon_skip-ahead.svg +1 -6
- package/BookReader/images/icon_skip-back.svg +2 -13
- package/BookReader/images/icon_speaker.svg +1 -18
- package/BookReader/images/icon_speaker_open.svg +1 -10
- package/BookReader/images/icon_thumbnails.svg +1 -12
- package/BookReader/images/icon_toc.svg +1 -5
- package/BookReader/images/icon_two_pages.svg +1 -9
- package/BookReader/images/marker_chap-off.svg +1 -11
- package/BookReader/images/marker_chap-on.svg +1 -11
- package/BookReader/images/marker_srch-on.svg +1 -11
- package/BookReader/jquery-3.js +2 -0
- package/BookReader/jquery-3.js.LICENSE.txt +24 -0
- package/BookReader/plugins/plugin.archive_analytics.js +1 -172
- package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
- package/BookReader/plugins/plugin.autoplay.js +1 -165
- package/BookReader/plugins/plugin.autoplay.js.map +1 -1
- package/BookReader/plugins/plugin.chapters.js +22 -301
- package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
- package/BookReader/plugins/plugin.chapters.js.map +1 -1
- package/BookReader/plugins/plugin.iframe.js +1 -74
- package/BookReader/plugins/plugin.iframe.js.map +1 -1
- package/BookReader/plugins/plugin.iiif.js +2 -0
- package/BookReader/plugins/plugin.iiif.js.map +1 -0
- package/BookReader/plugins/plugin.resume.js +1 -368
- package/BookReader/plugins/plugin.resume.js.map +1 -1
- package/BookReader/plugins/plugin.search.js +2 -1420
- package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
- package/BookReader/plugins/plugin.search.js.map +1 -1
- package/BookReader/plugins/plugin.text_selection.js +2 -1080
- package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
- package/BookReader/plugins/plugin.text_selection.js.map +1 -1
- package/BookReader/plugins/plugin.tts.js +2 -9193
- package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
- package/BookReader/plugins/plugin.tts.js.map +1 -1
- package/BookReader/plugins/plugin.url.js +1 -269
- package/BookReader/plugins/plugin.url.js.map +1 -1
- package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -379
- package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
- package/BookReader/webcomponents-bundle.js +3 -0
- package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
- package/BookReader/webcomponents-bundle.js.map +1 -0
- package/BookReaderDemo/BookReaderDemo.css +18 -19
- package/BookReaderDemo/BookReaderJSAdvanced.js +0 -3
- package/BookReaderDemo/BookReaderJSAutoplay.js +4 -1
- package/BookReaderDemo/BookReaderJSSimple.js +1 -0
- package/BookReaderDemo/IADemoBr.js +147 -0
- package/BookReaderDemo/demo-advanced.html +2 -2
- package/BookReaderDemo/demo-autoplay.html +2 -3
- package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
- package/BookReaderDemo/demo-fullscreen-mobile.html +3 -5
- package/BookReaderDemo/demo-fullscreen.html +2 -4
- package/BookReaderDemo/demo-iiif.html +99 -12
- package/BookReaderDemo/demo-internetarchive.html +214 -18
- package/BookReaderDemo/demo-multiple.html +2 -1
- package/BookReaderDemo/demo-preview-pages.html +2 -1
- package/BookReaderDemo/demo-simple.html +2 -1
- package/BookReaderDemo/demo-vendor-fullscreen.html +2 -4
- package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
- package/BookReaderDemo/immersion-1up.html +2 -2
- package/BookReaderDemo/immersion-mode.html +2 -4
- package/BookReaderDemo/toggle_controls.html +3 -2
- package/BookReaderDemo/view_mode.html +2 -1
- package/BookReaderDemo/viewmode-cycle.html +2 -3
- package/CHANGELOG.md +545 -33
- package/README.md +14 -1
- package/babel.config.js +20 -0
- package/codecov.yml +6 -0
- package/index.html +4 -1
- package/jsconfig.json +19 -0
- package/netlify.toml +9 -0
- package/package.json +70 -60
- package/renovate.json +52 -0
- package/scripts/preversion.js +0 -1
- package/src/BookNavigator/assets/bookmark-colors.js +1 -1
- package/src/BookNavigator/assets/button-base.js +9 -2
- package/src/BookNavigator/assets/ia-logo.js +17 -0
- package/src/BookNavigator/assets/icon_checkmark.js +1 -1
- package/src/BookNavigator/assets/icon_close.js +1 -1
- package/src/BookNavigator/book-navigator.js +590 -0
- package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
- package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
- package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
- package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
- package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
- package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
- package/src/BookNavigator/delete-modal-actions.js +1 -1
- package/src/BookNavigator/downloads/downloads-provider.js +36 -21
- package/src/BookNavigator/downloads/downloads.js +41 -25
- package/src/BookNavigator/search/search-provider.js +80 -28
- package/src/BookNavigator/search/search-results.js +28 -25
- package/src/BookNavigator/sharing.js +27 -0
- package/src/BookNavigator/viewable-files.js +95 -0
- package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
- package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
- package/src/BookReader/BookModel.js +64 -34
- package/src/BookReader/DragScrollable.js +233 -0
- package/src/BookReader/Mode1Up.js +56 -351
- package/src/BookReader/Mode1UpLit.js +388 -0
- package/src/BookReader/Mode2Up.js +73 -1318
- package/src/BookReader/Mode2UpLit.js +776 -0
- package/src/BookReader/ModeCoordinateSpace.js +29 -0
- package/src/BookReader/ModeSmoothZoom.js +312 -0
- package/src/BookReader/ModeThumb.js +18 -12
- package/src/BookReader/Navbar/Navbar.js +14 -40
- package/src/BookReader/PageContainer.js +81 -6
- package/src/BookReader/ReduceSet.js +1 -1
- package/src/BookReader/Toolbar/Toolbar.js +10 -37
- package/src/BookReader/events.js +2 -3
- package/src/BookReader/options.js +27 -2
- package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
- package/src/BookReader/utils/ScrollClassAdder.js +31 -0
- package/src/BookReader/utils/SelectionObserver.js +45 -0
- package/src/BookReader/utils.js +118 -13
- package/src/BookReader.js +446 -1062
- package/src/assets/icons/close-circle-dark.svg +1 -0
- package/src/assets/icons/magnify-minus.svg +3 -7
- package/src/assets/icons/magnify-plus.svg +3 -7
- package/src/assets/icons/voice.svg +1 -0
- package/src/css/BookReader.scss +1 -17
- package/src/css/_BRBookmarks.scss +1 -1
- package/src/css/_BRComponent.scss +1 -1
- package/src/css/_BRmain.scss +33 -27
- package/src/css/_BRnav.scss +12 -39
- package/src/css/_BRpages.scss +149 -40
- package/src/css/_BRsearch.scss +68 -230
- package/src/css/_BRtoolbar.scss +5 -5
- package/src/css/_TextSelection.scss +87 -27
- package/src/css/_colorbox.scss +2 -2
- package/src/css/_controls.scss +20 -7
- package/src/css/_icons.scss +7 -1
- package/src/ia-bookreader/ia-bookreader.js +224 -0
- package/src/plugins/plugin.archive_analytics.js +3 -3
- package/src/plugins/plugin.autoplay.js +5 -11
- package/src/plugins/plugin.chapters.js +237 -191
- package/src/plugins/plugin.iiif.js +151 -0
- package/src/plugins/plugin.resume.js +3 -3
- package/src/plugins/plugin.text_selection.js +464 -134
- package/src/plugins/plugin.vendor-fullscreen.js +4 -4
- package/src/plugins/search/plugin.search.js +175 -120
- package/src/plugins/search/utils.js +43 -0
- package/src/plugins/search/view.js +64 -202
- package/src/plugins/tts/AbstractTTSEngine.js +71 -40
- package/src/plugins/tts/FestivalTTSEngine.js +13 -14
- package/src/plugins/tts/PageChunk.js +15 -21
- package/src/plugins/tts/PageChunkIterator.js +8 -12
- package/src/plugins/tts/WebTTSEngine.js +87 -71
- package/src/plugins/tts/plugin.tts.js +96 -127
- package/src/plugins/tts/utils.js +15 -25
- package/src/plugins/url/UrlPlugin.js +191 -0
- package/src/plugins/{plugin.url.js → url/plugin.url.js} +45 -16
- package/src/util/browserSniffing.js +22 -0
- package/src/util/docCookies.js +21 -2
- package/tests/e2e/README.md +37 -0
- package/tests/e2e/autoplay.test.js +2 -2
- package/tests/e2e/base.test.js +8 -16
- package/tests/e2e/helpers/base.js +53 -48
- package/tests/e2e/helpers/debug.js +1 -1
- package/tests/e2e/helpers/params.js +17 -0
- package/tests/e2e/helpers/rightToLeft.js +8 -14
- package/tests/e2e/helpers/search.js +73 -0
- package/tests/e2e/models/Navigation.js +20 -37
- package/tests/e2e/rightToLeft.test.js +4 -5
- package/tests/e2e/viewmode.test.js +40 -33
- package/tests/jest/BookNavigator/book-navigator.test.js +661 -0
- package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
- package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
- package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
- package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
- package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
- package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
- package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
- package/tests/{karma/BookNavigator → jest/BookNavigator/search}/search-results.test.js +109 -60
- package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
- package/tests/jest/BookNavigator/viewable-files/viewable-files-provider.test.js +80 -0
- package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
- package/tests/{BookReader → jest/BookReader}/BookModel.test.js +74 -14
- package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
- package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
- package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
- package/tests/jest/BookReader/Mode2Up.test.js +98 -0
- package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
- package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
- package/tests/jest/BookReader/ModeSmoothZoom.test.js +218 -0
- package/tests/jest/BookReader/ModeThumb.test.js +71 -0
- package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +10 -10
- package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
- package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
- package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
- package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
- package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
- package/tests/jest/BookReader/utils/SelectionObserver.test.js +57 -0
- package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
- package/tests/jest/BookReader/utils.test.js +229 -0
- package/tests/jest/BookReader.keyboard.test.js +190 -0
- package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
- package/tests/{BookReader.test.js → jest/BookReader.test.js} +26 -37
- package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
- package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +4 -4
- package/tests/jest/plugins/plugin.chapters.test.js +195 -0
- package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
- package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
- package/tests/jest/plugins/plugin.text_selection.test.js +317 -0
- package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
- package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +26 -47
- package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +39 -6
- package/tests/jest/plugins/search/utils.js +25 -0
- package/tests/jest/plugins/search/utils.test.js +29 -0
- package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +29 -9
- package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
- package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
- package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
- package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
- package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
- package/tests/jest/plugins/url/UrlPlugin.test.js +198 -0
- package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +53 -14
- package/tests/jest/setup.js +3 -0
- package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
- package/tests/jest/util/docCookies.test.js +24 -0
- package/tests/{util → jest/util}/strings.test.js +1 -1
- package/tests/{utils.js → jest/utils.js} +38 -0
- package/webpack.config.js +12 -6
- package/.babelrc +0 -12
- package/.dependabot/config.yml +0 -6
- package/.testcaferc.json +0 -5
- package/BookReader/bookreader-component-bundle.js +0 -14312
- package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
- package/BookReader/bookreader-component-bundle.js.map +0 -1
- package/BookReader/icons/sort-ascending.svg +0 -1
- package/BookReader/icons/sort-descending.svg +0 -1
- package/BookReader/jquery-1.10.1.js +0 -108
- package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
- package/BookReader/plugins/plugin.menu_toggle.js +0 -369
- package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
- package/BookReader/plugins/plugin.mobile_nav.js +0 -335
- package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
- package/BookReaderDemo/IIIFBookReader.js +0 -207
- package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
- package/BookReaderDemo/demo-iiif.js +0 -26
- package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
- package/karma.conf.js +0 -23
- package/src/BookNavigator/BookModel.js +0 -14
- package/src/BookNavigator/BookNavigator.js +0 -452
- package/src/BookNavigator/assets/book-loader.js +0 -27
- package/src/BookNavigator/assets/icon_sort_ascending.js +0 -5
- package/src/BookNavigator/assets/icon_sort_descending.js +0 -5
- package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
- package/src/BookNavigator/search/a-search-result.js +0 -55
- package/src/BookNavigator/volumes/volumes-provider.js +0 -76
- package/src/BookNavigator/volumes/volumes.js +0 -161
- package/src/BookReader/DebugConsole.js +0 -54
- package/src/BookReaderComponent/BookReaderComponent.js +0 -112
- package/src/ItemNavigator/ItemNavigator.js +0 -372
- package/src/ItemNavigator/providers/sharing.js +0 -29
- package/src/assets/icons/sort-ascending.svg +0 -1
- package/src/assets/icons/sort-descending.svg +0 -1
- package/src/css/_MobileNav.scss +0 -194
- package/src/dragscrollable-br.js +0 -261
- package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
- package/src/plugins/plugin.mobile_nav.js +0 -287
- package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
- package/tests/BookReader/DebugConsole.test.js +0 -25
- package/tests/BookReader/Mode1Up.test.js +0 -164
- package/tests/BookReader/Mode2Up.test.js +0 -247
- package/tests/BookReader/utils.test.js +0 -109
- package/tests/e2e/helpers/desktopSearch.js +0 -72
- package/tests/e2e/helpers/mobileSearch.js +0 -85
- package/tests/e2e/ia-production/ia-prod-base.js +0 -17
- package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
- package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
- package/tests/karma/BookNavigator/volumes.test.js +0 -101
- package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
- package/tests/plugins/plugin.chapters.test.js +0 -130
- package/tests/plugins/plugin.mobile_nav.test.js +0 -66
- package/tests/plugins/plugin.text_selection.test.js +0 -203
- package/tests/util/docCookies.test.js +0 -15
@@ -1,1081 +1,3 @@
|
|
1
|
-
|
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_object_assign_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js");
|
38
|
-
/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_10__);
|
39
|
-
/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.promise.js */ "./node_modules/core-js/modules/es.promise.js");
|
40
|
-
/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_11__);
|
41
|
-
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
|
42
|
-
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_12__);
|
43
|
-
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js");
|
44
|
-
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_13__);
|
45
|
-
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js");
|
46
|
-
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_14__);
|
47
|
-
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js");
|
48
|
-
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15__);
|
49
|
-
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ "./node_modules/core-js/modules/es.array.slice.js");
|
50
|
-
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_16__);
|
51
|
-
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ "./node_modules/core-js/modules/es.function.name.js");
|
52
|
-
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_17__);
|
53
|
-
/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ "./node_modules/core-js/modules/es.array.from.js");
|
54
|
-
/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_18__);
|
55
|
-
/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ "./node_modules/core-js/modules/es.object.get-prototype-of.js");
|
56
|
-
/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_19__);
|
57
|
-
/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ "./node_modules/core-js/modules/es.reflect.construct.js");
|
58
|
-
/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_20__);
|
59
|
-
/* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.reflect.get.js */ "./node_modules/core-js/modules/es.reflect.get.js");
|
60
|
-
/* harmony import */ var core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_get_js__WEBPACK_IMPORTED_MODULE_21__);
|
61
|
-
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
|
62
|
-
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_22__);
|
63
|
-
/* harmony import */ var _util_browserSniffing_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../util/browserSniffing.js */ "./src/util/browserSniffing.js");
|
64
|
-
/* harmony import */ var _util_strings_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../util/strings.js */ "./src/util/strings.js");
|
65
|
-
/* provided dependency */ var $ = __webpack_require__(/*! jquery */ "jquery");
|
66
|
-
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); }
|
67
|
-
|
68
|
-
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); }
|
69
|
-
|
70
|
-
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
71
|
-
|
72
|
-
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); }
|
73
|
-
|
74
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
75
|
-
|
76
|
-
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); }; }
|
77
|
-
|
78
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
79
|
-
|
80
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
81
|
-
|
82
|
-
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; } }
|
83
|
-
|
84
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
85
|
-
|
86
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
87
|
-
|
88
|
-
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."); }
|
89
|
-
|
90
|
-
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); }
|
91
|
-
|
92
|
-
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; }
|
93
|
-
|
94
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr && (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; }
|
95
|
-
|
96
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
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); } }
|
101
|
-
|
102
|
-
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); }); }; }
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
128
|
-
|
129
|
-
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); } }
|
130
|
-
|
131
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
132
|
-
|
133
|
-
//@ts-check
|
134
|
-
|
135
|
-
|
136
|
-
/** @typedef {import('../util/strings.js').StringWithVars} StringWithVars */
|
137
|
-
|
138
|
-
var BookReader =
|
139
|
-
/** @type {typeof import('../BookReader').default} */
|
140
|
-
window.BookReader;
|
141
|
-
var DEFAULT_OPTIONS = {
|
142
|
-
enabled: true,
|
143
|
-
|
144
|
-
/** @type {StringWithVars} The URL to fetch the entire DJVU xml. Supports options.vars */
|
145
|
-
fullDjvuXmlUrl: null,
|
146
|
-
|
147
|
-
/** @type {StringWithVars} The URL to fetch a single page of the DJVU xml. Supports options.vars. Also has {{pageIndex}} */
|
148
|
-
singlePageDjvuXmlUrl: null
|
149
|
-
};
|
150
|
-
/** @typedef {typeof DEFAULT_OPTIONS} TextSelectionPluginOptions */
|
151
|
-
|
152
|
-
/**
|
153
|
-
* @template T
|
154
|
-
*/
|
155
|
-
|
156
|
-
var Cache = /*#__PURE__*/function () {
|
157
|
-
function Cache() {
|
158
|
-
var maxSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
|
159
|
-
|
160
|
-
_classCallCheck(this, Cache);
|
161
|
-
|
162
|
-
this.maxSize = maxSize;
|
163
|
-
/** @type {T[]} */
|
164
|
-
|
165
|
-
this.entries = [];
|
166
|
-
}
|
167
|
-
/**
|
168
|
-
* @param {T} entry
|
169
|
-
*/
|
170
|
-
|
171
|
-
|
172
|
-
_createClass(Cache, [{
|
173
|
-
key: "add",
|
174
|
-
value: function add(entry) {
|
175
|
-
if (this.entries.length >= this.maxSize) {
|
176
|
-
this.entries.shift();
|
177
|
-
}
|
178
|
-
|
179
|
-
this.entries.push(entry);
|
180
|
-
}
|
181
|
-
}]);
|
182
|
-
|
183
|
-
return Cache;
|
184
|
-
}();
|
185
|
-
var TextSelectionPlugin = /*#__PURE__*/function () {
|
186
|
-
function TextSelectionPlugin() {
|
187
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_OPTIONS;
|
188
|
-
var optionVariables = arguments.length > 1 ? arguments[1] : undefined;
|
189
|
-
var avoidTspans = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (0,_util_browserSniffing_js__WEBPACK_IMPORTED_MODULE_23__.isFirefox)();
|
190
|
-
var pointerEventsOnParagraph = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : (0,_util_browserSniffing_js__WEBPACK_IMPORTED_MODULE_23__.isSafari)();
|
191
|
-
|
192
|
-
_classCallCheck(this, TextSelectionPlugin);
|
193
|
-
|
194
|
-
this.options = options;
|
195
|
-
this.optionVariables = optionVariables;
|
196
|
-
/**@type {PromiseLike<JQuery<HTMLElement>|undefined>} */
|
197
|
-
|
198
|
-
this.djvuPagesPromise = null; // Using text elements instead of tspans for words because Firefox does not allow svg tspan stretch.
|
199
|
-
// Tspans are necessary on Chrome because they prevent newline character after every word when copying
|
200
|
-
|
201
|
-
this.svgParagraphElement = "text";
|
202
|
-
this.svgWordElement = "tspan";
|
203
|
-
this.insertNewlines = avoidTspans; // Safari has a bug where `pointer-events` doesn't work on `<tspans>`. So
|
204
|
-
// there we will set `pointer-events: all` on the paragraph element. We don't
|
205
|
-
// do this everywhere, because it's a worse experience. Thanks Safari :/
|
206
|
-
|
207
|
-
this.pointerEventsOnParagraph = pointerEventsOnParagraph;
|
208
|
-
|
209
|
-
if (avoidTspans) {
|
210
|
-
this.svgParagraphElement = "g";
|
211
|
-
this.svgWordElement = "text";
|
212
|
-
}
|
213
|
-
/** @type {Cache<{index: number, response: any}>} */
|
214
|
-
|
215
|
-
|
216
|
-
this.pageTextCache = new Cache();
|
217
|
-
/**
|
218
|
-
* Sometimes there are too many words on a page, and the browser becomes near
|
219
|
-
* unusable. For now don't render text layer for pages with too many words.
|
220
|
-
*/
|
221
|
-
|
222
|
-
this.maxWordRendered = 2500;
|
223
|
-
}
|
224
|
-
|
225
|
-
_createClass(TextSelectionPlugin, [{
|
226
|
-
key: "init",
|
227
|
-
value: function init() {
|
228
|
-
// Only fetch the full djvu xml if the single page url isn't there
|
229
|
-
if (this.options.singlePageDjvuXmlUrl) return;
|
230
|
-
this.djvuPagesPromise = $.ajax({
|
231
|
-
type: "GET",
|
232
|
-
url: (0,_util_strings_js__WEBPACK_IMPORTED_MODULE_24__.applyVariables)(this.options.fullDjvuXmlUrl, this.optionVariables),
|
233
|
-
dataType: "html",
|
234
|
-
error: function error(e) {
|
235
|
-
return undefined;
|
236
|
-
}
|
237
|
-
}).then(function (res) {
|
238
|
-
try {
|
239
|
-
var xmlMap = $.parseXML(res);
|
240
|
-
return xmlMap && $(xmlMap).find("OBJECT");
|
241
|
-
} catch (e) {
|
242
|
-
return undefined;
|
243
|
-
}
|
244
|
-
});
|
245
|
-
}
|
246
|
-
/**
|
247
|
-
* @param {number} index
|
248
|
-
* @returns {Promise<HTMLElement|undefined>}
|
249
|
-
*/
|
250
|
-
|
251
|
-
}, {
|
252
|
-
key: "getPageText",
|
253
|
-
value: function () {
|
254
|
-
var _getPageText = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(index) {
|
255
|
-
var _this = this;
|
256
|
-
|
257
|
-
var cachedEntry, XMLpagesArr;
|
258
|
-
return regeneratorRuntime.wrap(function _callee$(_context) {
|
259
|
-
while (1) {
|
260
|
-
switch (_context.prev = _context.next) {
|
261
|
-
case 0:
|
262
|
-
if (!this.options.singlePageDjvuXmlUrl) {
|
263
|
-
_context.next = 7;
|
264
|
-
break;
|
265
|
-
}
|
266
|
-
|
267
|
-
cachedEntry = this.pageTextCache.entries.find(function (x) {
|
268
|
-
return x.index == index;
|
269
|
-
});
|
270
|
-
|
271
|
-
if (!cachedEntry) {
|
272
|
-
_context.next = 4;
|
273
|
-
break;
|
274
|
-
}
|
275
|
-
|
276
|
-
return _context.abrupt("return", cachedEntry.response);
|
277
|
-
|
278
|
-
case 4:
|
279
|
-
return _context.abrupt("return", $.ajax({
|
280
|
-
type: "GET",
|
281
|
-
url: (0,_util_strings_js__WEBPACK_IMPORTED_MODULE_24__.applyVariables)(this.options.singlePageDjvuXmlUrl, this.optionVariables, {
|
282
|
-
pageIndex: index
|
283
|
-
}),
|
284
|
-
dataType: "html",
|
285
|
-
error: function error(e) {
|
286
|
-
return undefined;
|
287
|
-
}
|
288
|
-
}).then(function (res) {
|
289
|
-
try {
|
290
|
-
var xmlDoc = $.parseXML(res);
|
291
|
-
var result = xmlDoc && $(xmlDoc).find("OBJECT")[0];
|
292
|
-
|
293
|
-
_this.pageTextCache.add({
|
294
|
-
index: index,
|
295
|
-
response: result
|
296
|
-
});
|
297
|
-
|
298
|
-
return result;
|
299
|
-
} catch (e) {
|
300
|
-
return undefined;
|
301
|
-
}
|
302
|
-
}));
|
303
|
-
|
304
|
-
case 7:
|
305
|
-
_context.next = 9;
|
306
|
-
return this.djvuPagesPromise;
|
307
|
-
|
308
|
-
case 9:
|
309
|
-
XMLpagesArr = _context.sent;
|
310
|
-
|
311
|
-
if (!XMLpagesArr) {
|
312
|
-
_context.next = 12;
|
313
|
-
break;
|
314
|
-
}
|
315
|
-
|
316
|
-
return _context.abrupt("return", XMLpagesArr[index]);
|
317
|
-
|
318
|
-
case 12:
|
319
|
-
case "end":
|
320
|
-
return _context.stop();
|
321
|
-
}
|
322
|
-
}
|
323
|
-
}, _callee, this);
|
324
|
-
}));
|
325
|
-
|
326
|
-
function getPageText(_x) {
|
327
|
-
return _getPageText.apply(this, arguments);
|
328
|
-
}
|
329
|
-
|
330
|
-
return getPageText;
|
331
|
-
}()
|
332
|
-
/**
|
333
|
-
* Intercept copied text to remove any styling applied to it
|
334
|
-
* @param {JQuery} $container
|
335
|
-
*/
|
336
|
-
|
337
|
-
}, {
|
338
|
-
key: "interceptCopy",
|
339
|
-
value: function interceptCopy($container) {
|
340
|
-
$container[0].addEventListener('copy', function (event) {
|
341
|
-
var selection = document.getSelection();
|
342
|
-
event.clipboardData.setData('text/plain', selection.toString());
|
343
|
-
event.preventDefault();
|
344
|
-
});
|
345
|
-
}
|
346
|
-
/**
|
347
|
-
* Applies mouse events when in default mode
|
348
|
-
* @param {SVGElement} svg
|
349
|
-
*/
|
350
|
-
|
351
|
-
}, {
|
352
|
-
key: "defaultMode",
|
353
|
-
value: function defaultMode(svg) {
|
354
|
-
var _this2 = this;
|
355
|
-
|
356
|
-
svg.classList.remove("selectingSVG");
|
357
|
-
$(svg).on("mousedown.textSelectPluginHandler", function (event) {
|
358
|
-
if (!$(event.target).is(".BRwordElement")) return;
|
359
|
-
event.stopPropagation();
|
360
|
-
svg.classList.add("selectingSVG");
|
361
|
-
$(svg).one("mouseup.textSelectPluginHandler", function (event) {
|
362
|
-
if (window.getSelection().toString() != "") {
|
363
|
-
event.stopPropagation();
|
364
|
-
$(svg).off(".textSelectPluginHandler");
|
365
|
-
|
366
|
-
_this2.textSelectingMode(svg);
|
367
|
-
} else svg.classList.remove("selectingSVG");
|
368
|
-
});
|
369
|
-
});
|
370
|
-
}
|
371
|
-
/**
|
372
|
-
* Applies mouse events when in textSelecting mode
|
373
|
-
* @param {SVGElement} svg
|
374
|
-
*/
|
375
|
-
|
376
|
-
}, {
|
377
|
-
key: "textSelectingMode",
|
378
|
-
value: function textSelectingMode(svg) {
|
379
|
-
var _this3 = this;
|
380
|
-
|
381
|
-
$(svg).on('mousedown.textSelectPluginHandler', function (event) {
|
382
|
-
if (!$(event.target).is(".BRwordElement")) {
|
383
|
-
if (window.getSelection().toString() != "") window.getSelection().removeAllRanges();
|
384
|
-
}
|
385
|
-
|
386
|
-
event.stopPropagation();
|
387
|
-
});
|
388
|
-
$(svg).on('mouseup.textSelectPluginHandler', function (event) {
|
389
|
-
event.stopPropagation();
|
390
|
-
|
391
|
-
if (window.getSelection().toString() == "") {
|
392
|
-
$(svg).off(".textSelectPluginHandler");
|
393
|
-
|
394
|
-
_this3.defaultMode(svg);
|
395
|
-
}
|
396
|
-
});
|
397
|
-
}
|
398
|
-
/**
|
399
|
-
* Initializes text selection modes if there is an svg on the page
|
400
|
-
* @param {JQuery} $container
|
401
|
-
*/
|
402
|
-
|
403
|
-
}, {
|
404
|
-
key: "stopPageFlip",
|
405
|
-
value: function stopPageFlip($container) {
|
406
|
-
var _this4 = this;
|
407
|
-
|
408
|
-
/** @type {JQuery<SVGElement>} */
|
409
|
-
var $svg = $container.find('svg.textSelectionSVG');
|
410
|
-
if (!$svg.length) return;
|
411
|
-
$svg.each(function (i, s) {
|
412
|
-
return _this4.defaultMode(s);
|
413
|
-
});
|
414
|
-
this.interceptCopy($container);
|
415
|
-
}
|
416
|
-
/**
|
417
|
-
* @param {number} pageIndex
|
418
|
-
* @param {JQuery} $container
|
419
|
-
*/
|
420
|
-
|
421
|
-
}, {
|
422
|
-
key: "createTextLayer",
|
423
|
-
value: function () {
|
424
|
-
var _createTextLayer = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(pageIndex, $container) {
|
425
|
-
var _this5 = this;
|
426
|
-
|
427
|
-
var $svgLayers, XMLpage, XMLwidth, XMLheight, totalWords, svg;
|
428
|
-
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
429
|
-
while (1) {
|
430
|
-
switch (_context2.prev = _context2.next) {
|
431
|
-
case 0:
|
432
|
-
$svgLayers = $container.find('.textSelectionSVG');
|
433
|
-
|
434
|
-
if (!$svgLayers.length) {
|
435
|
-
_context2.next = 3;
|
436
|
-
break;
|
437
|
-
}
|
438
|
-
|
439
|
-
return _context2.abrupt("return");
|
440
|
-
|
441
|
-
case 3:
|
442
|
-
_context2.next = 5;
|
443
|
-
return this.getPageText(pageIndex);
|
444
|
-
|
445
|
-
case 5:
|
446
|
-
XMLpage = _context2.sent;
|
447
|
-
|
448
|
-
if (XMLpage) {
|
449
|
-
_context2.next = 8;
|
450
|
-
break;
|
451
|
-
}
|
452
|
-
|
453
|
-
return _context2.abrupt("return");
|
454
|
-
|
455
|
-
case 8:
|
456
|
-
XMLwidth = $(XMLpage).attr("width");
|
457
|
-
XMLheight = $(XMLpage).attr("height");
|
458
|
-
totalWords = $(XMLpage).find("WORD").length;
|
459
|
-
|
460
|
-
if (!(totalWords > this.maxWordRendered)) {
|
461
|
-
_context2.next = 14;
|
462
|
-
break;
|
463
|
-
}
|
464
|
-
|
465
|
-
console.log("Page ".concat(pageIndex, " has too many words (").concat(totalWords, " > ").concat(this.maxWordRendered, "). Not rendering text layer."));
|
466
|
-
return _context2.abrupt("return");
|
467
|
-
|
468
|
-
case 14:
|
469
|
-
svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
470
|
-
svg.setAttribute("xmlns", "http://www.w3.org/2000/svg");
|
471
|
-
svg.setAttribute("viewBox", "0 0 ".concat(XMLwidth, " ").concat(XMLheight));
|
472
|
-
$container.append(svg);
|
473
|
-
svg.setAttribute('class', 'textSelectionSVG');
|
474
|
-
svg.setAttribute('preserveAspectRatio', 'none');
|
475
|
-
$(svg).css({
|
476
|
-
"width": "100%",
|
477
|
-
"position": "absolute",
|
478
|
-
"height": "100%",
|
479
|
-
"top": "0",
|
480
|
-
"left": "0"
|
481
|
-
});
|
482
|
-
$(XMLpage).find("PARAGRAPH").each(function (i, paragraph) {
|
483
|
-
// Adding text element for each paragraph in the page
|
484
|
-
var words = $(paragraph).find("WORD");
|
485
|
-
if (!words.length) return;
|
486
|
-
var paragSvg = document.createElementNS("http://www.w3.org/2000/svg", _this5.svgParagraphElement);
|
487
|
-
paragSvg.setAttribute("class", "BRparagElement");
|
488
|
-
|
489
|
-
if (_this5.pointerEventsOnParagraph) {
|
490
|
-
paragSvg.style.pointerEvents = "all";
|
491
|
-
}
|
492
|
-
|
493
|
-
var wordHeightArr = [];
|
494
|
-
|
495
|
-
for (var _i = 0; _i < words.length; _i++) {
|
496
|
-
// Adding tspan for each word in paragraph
|
497
|
-
var currWord = words[_i]; // eslint-disable-next-line no-unused-vars
|
498
|
-
|
499
|
-
var _$$attr$split$map = $(currWord).attr("coords").split(',').map(parseFloat),
|
500
|
-
_$$attr$split$map2 = _slicedToArray(_$$attr$split$map, 4),
|
501
|
-
left = _$$attr$split$map2[0],
|
502
|
-
bottom = _$$attr$split$map2[1],
|
503
|
-
right = _$$attr$split$map2[2],
|
504
|
-
top = _$$attr$split$map2[3];
|
505
|
-
|
506
|
-
var wordHeight = bottom - top;
|
507
|
-
wordHeightArr.push(wordHeight);
|
508
|
-
var wordTspan = document.createElementNS("http://www.w3.org/2000/svg", _this5.svgWordElement);
|
509
|
-
wordTspan.setAttribute("class", "BRwordElement");
|
510
|
-
wordTspan.setAttribute("x", left.toString());
|
511
|
-
wordTspan.setAttribute("y", bottom.toString());
|
512
|
-
wordTspan.setAttribute("textLength", (right - left).toString());
|
513
|
-
wordTspan.setAttribute("lengthAdjust", "spacingAndGlyphs");
|
514
|
-
wordTspan.textContent = currWord.textContent;
|
515
|
-
paragSvg.appendChild(wordTspan); // Adding spaces after words except at the end of the paragraph
|
516
|
-
// TODO: assumes left-to-right text
|
517
|
-
|
518
|
-
if (_i < words.length - 1) {
|
519
|
-
var nextWord = words[_i + 1]; // eslint-disable-next-line no-unused-vars
|
520
|
-
|
521
|
-
var _$$attr$split$map3 = $(nextWord).attr("coords").split(',').map(parseFloat),
|
522
|
-
_$$attr$split$map4 = _slicedToArray(_$$attr$split$map3, 4),
|
523
|
-
leftNext = _$$attr$split$map4[0],
|
524
|
-
bottomNext = _$$attr$split$map4[1],
|
525
|
-
rightNext = _$$attr$split$map4[2],
|
526
|
-
topNext = _$$attr$split$map4[3];
|
527
|
-
|
528
|
-
var spaceTspan = document.createElementNS("http://www.w3.org/2000/svg", _this5.svgWordElement);
|
529
|
-
spaceTspan.setAttribute("class", "BRwordElement");
|
530
|
-
spaceTspan.setAttribute("x", right.toString());
|
531
|
-
spaceTspan.setAttribute("y", bottom.toString());
|
532
|
-
if (leftNext - right > 0) spaceTspan.setAttribute("textLength", (leftNext - right).toString());
|
533
|
-
spaceTspan.setAttribute("lengthAdjust", "spacingAndGlyphs");
|
534
|
-
spaceTspan.textContent = " ";
|
535
|
-
paragSvg.appendChild(spaceTspan);
|
536
|
-
} // Adds newline at the end of paragraph on Firefox
|
537
|
-
|
538
|
-
|
539
|
-
if (_i == words.length - 1 && _this5.insertNewlines) {
|
540
|
-
paragSvg.appendChild(document.createTextNode("\n"));
|
541
|
-
}
|
542
|
-
}
|
543
|
-
|
544
|
-
wordHeightArr.sort();
|
545
|
-
var paragWordHeight = wordHeightArr[Math.floor(wordHeightArr.length * 0.85)];
|
546
|
-
paragSvg.setAttribute("font-size", paragWordHeight.toString());
|
547
|
-
svg.appendChild(paragSvg);
|
548
|
-
});
|
549
|
-
this.stopPageFlip($container);
|
550
|
-
|
551
|
-
case 23:
|
552
|
-
case "end":
|
553
|
-
return _context2.stop();
|
554
|
-
}
|
555
|
-
}
|
556
|
-
}, _callee2, this);
|
557
|
-
}));
|
558
|
-
|
559
|
-
function createTextLayer(_x2, _x3) {
|
560
|
-
return _createTextLayer.apply(this, arguments);
|
561
|
-
}
|
562
|
-
|
563
|
-
return createTextLayer;
|
564
|
-
}()
|
565
|
-
}]);
|
566
|
-
|
567
|
-
return TextSelectionPlugin;
|
568
|
-
}();
|
569
|
-
var BookreaderWithTextSelection = /*#__PURE__*/function (_BookReader) {
|
570
|
-
_inherits(BookreaderWithTextSelection, _BookReader);
|
571
|
-
|
572
|
-
var _super = _createSuper(BookreaderWithTextSelection);
|
573
|
-
|
574
|
-
function BookreaderWithTextSelection() {
|
575
|
-
_classCallCheck(this, BookreaderWithTextSelection);
|
576
|
-
|
577
|
-
return _super.apply(this, arguments);
|
578
|
-
}
|
579
|
-
|
580
|
-
_createClass(BookreaderWithTextSelection, [{
|
581
|
-
key: "init",
|
582
|
-
value: function init() {
|
583
|
-
var options = Object.assign({}, DEFAULT_OPTIONS, this.options.plugins.textSelection);
|
584
|
-
|
585
|
-
if (options.enabled) {
|
586
|
-
this.textSelectionPlugin = new TextSelectionPlugin(options, this.options.vars); // Write this back; this way the plugin is the source of truth, and BR just
|
587
|
-
// contains a reference to it.
|
588
|
-
|
589
|
-
this.options.plugins.textSelection = options;
|
590
|
-
this.textSelectionPlugin.init();
|
591
|
-
}
|
592
|
-
|
593
|
-
_get(_getPrototypeOf(BookreaderWithTextSelection.prototype), "init", this).call(this);
|
594
|
-
}
|
595
|
-
/**
|
596
|
-
* @param {number} index
|
597
|
-
*/
|
598
|
-
|
599
|
-
}, {
|
600
|
-
key: "_createPageContainer",
|
601
|
-
value: function _createPageContainer(index) {
|
602
|
-
var pageContainer = _get(_getPrototypeOf(BookreaderWithTextSelection.prototype), "_createPageContainer", this).call(this, index); // Disable if thumb mode; it's too janky
|
603
|
-
// index can be -1 for "pre-cover" region
|
604
|
-
// Added checking of lastPageIndex to avoid loop around index value
|
605
|
-
|
606
|
-
|
607
|
-
var lastPageIndex = this.getNumLeafs() - 1;
|
608
|
-
|
609
|
-
if (this.mode !== this.constModeThumb && index >= 0 && index <= lastPageIndex) {
|
610
|
-
var _this$textSelectionPl;
|
611
|
-
|
612
|
-
(_this$textSelectionPl = this.textSelectionPlugin) === null || _this$textSelectionPl === void 0 ? void 0 : _this$textSelectionPl.createTextLayer(index, pageContainer.$container);
|
613
|
-
}
|
614
|
-
|
615
|
-
return pageContainer;
|
616
|
-
}
|
617
|
-
}]);
|
618
|
-
|
619
|
-
return BookreaderWithTextSelection;
|
620
|
-
}(BookReader);
|
621
|
-
window.BookReader = BookreaderWithTextSelection;
|
622
|
-
/* harmony default export */ __webpack_exports__["default"] = (BookreaderWithTextSelection);
|
623
|
-
|
624
|
-
/***/ }),
|
625
|
-
|
626
|
-
/***/ "./src/util/browserSniffing.js":
|
627
|
-
/*!*************************************!*\
|
628
|
-
!*** ./src/util/browserSniffing.js ***!
|
629
|
-
\*************************************/
|
630
|
-
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
631
|
-
|
632
|
-
"use strict";
|
633
|
-
__webpack_require__.r(__webpack_exports__);
|
634
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
635
|
-
/* harmony export */ "isChrome": function() { return /* binding */ isChrome; },
|
636
|
-
/* harmony export */ "isFirefox": function() { return /* binding */ isFirefox; },
|
637
|
-
/* harmony export */ "isSafari": function() { return /* binding */ isSafari; }
|
638
|
-
/* harmony export */ });
|
639
|
-
/**
|
640
|
-
* Checks whether the current browser is a Chrome/Chromium browser
|
641
|
-
* Code from https://stackoverflow.com/a/4565120/2317712
|
642
|
-
* @param {string} [userAgent]
|
643
|
-
* @param {string} [vendor]
|
644
|
-
* @return {boolean}
|
645
|
-
*/
|
646
|
-
function isChrome() {
|
647
|
-
var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent;
|
648
|
-
var vendor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : navigator.vendor;
|
649
|
-
return /chrome/i.test(userAgent) && /google inc/i.test(vendor);
|
650
|
-
}
|
651
|
-
/**
|
652
|
-
* Checks whether the current browser is firefox
|
653
|
-
* @param {string} [userAgent]
|
654
|
-
* @return {boolean}
|
655
|
-
*/
|
656
|
-
|
657
|
-
function isFirefox() {
|
658
|
-
var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent;
|
659
|
-
return /firefox/i.test(userAgent);
|
660
|
-
}
|
661
|
-
/**
|
662
|
-
* Checks whether the current browser is safari
|
663
|
-
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent#Browser_Name
|
664
|
-
* @param {string} [userAgent]
|
665
|
-
* @return {boolean}
|
666
|
-
*/
|
667
|
-
|
668
|
-
function isSafari() {
|
669
|
-
var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent;
|
670
|
-
return /safari/i.test(userAgent) && !/chrome|chromium/i.test(userAgent);
|
671
|
-
}
|
672
|
-
|
673
|
-
/***/ }),
|
674
|
-
|
675
|
-
/***/ "./src/util/strings.js":
|
676
|
-
/*!*****************************!*\
|
677
|
-
!*** ./src/util/strings.js ***!
|
678
|
-
\*****************************/
|
679
|
-
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
680
|
-
|
681
|
-
"use strict";
|
682
|
-
__webpack_require__.r(__webpack_exports__);
|
683
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
684
|
-
/* harmony export */ "applyVariables": function() { return /* binding */ applyVariables; },
|
685
|
-
/* harmony export */ "APPLY_FILTERS": function() { return /* binding */ APPLY_FILTERS; }
|
686
|
-
/* harmony export */ });
|
687
|
-
/* 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");
|
688
|
-
/* 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__);
|
689
|
-
/* 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");
|
690
|
-
/* 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__);
|
691
|
-
/* 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");
|
692
|
-
/* 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__);
|
693
|
-
/* 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");
|
694
|
-
/* 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__);
|
695
|
-
/* 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");
|
696
|
-
/* 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__);
|
697
|
-
/* 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");
|
698
|
-
/* 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__);
|
699
|
-
/* 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");
|
700
|
-
/* 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__);
|
701
|
-
/* 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");
|
702
|
-
/* 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__);
|
703
|
-
/* 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");
|
704
|
-
/* 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__);
|
705
|
-
/* 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");
|
706
|
-
/* 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__);
|
707
|
-
/* 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");
|
708
|
-
/* 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__);
|
709
|
-
/* 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");
|
710
|
-
/* 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__);
|
711
|
-
/* 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");
|
712
|
-
/* 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__);
|
713
|
-
/* 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");
|
714
|
-
/* 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__);
|
715
|
-
/* 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");
|
716
|
-
/* 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__);
|
717
|
-
/* 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");
|
718
|
-
/* 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__);
|
719
|
-
/* 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");
|
720
|
-
/* 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__);
|
721
|
-
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
|
722
|
-
|
723
|
-
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."); }
|
724
|
-
|
725
|
-
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); }
|
726
|
-
|
727
|
-
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; }
|
728
|
-
|
729
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
730
|
-
|
731
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
/**
|
752
|
-
* @typedef {String} StringWithVars
|
753
|
-
* A template string with {{foo}} style variables
|
754
|
-
* Also supports filters, like {{bookPath|urlencode}} (See APPLY_FILTERS for the
|
755
|
-
* supported list of filters)
|
756
|
-
**/
|
757
|
-
|
758
|
-
/**
|
759
|
-
* @param {StringWithVars|String} template
|
760
|
-
* @param { {[varName: string]: { toString: () => string} } } vars
|
761
|
-
* @param { {[varName: string]: { toString: () => string} } } [overrides]
|
762
|
-
*/
|
763
|
-
function applyVariables(template, vars) {
|
764
|
-
var overrides = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
765
|
-
var possibleFilters = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : APPLY_FILTERS;
|
766
|
-
return template === null || template === void 0 ? void 0 : template.replace(/\{\{([^}]*?)\}\}/g, function ($0, $1) {
|
767
|
-
if (!$1) return $0;
|
768
|
-
/** @type {string} */
|
769
|
-
|
770
|
-
var expression = $1;
|
771
|
-
|
772
|
-
var _expression$split$map = expression.split('|').map(function (x) {
|
773
|
-
return x.trim();
|
774
|
-
}),
|
775
|
-
_expression$split$map2 = _toArray(_expression$split$map),
|
776
|
-
varName = _expression$split$map2[0],
|
777
|
-
filterNames = _expression$split$map2.slice(1);
|
778
|
-
|
779
|
-
var defined = varName in overrides || varName in vars; // If it's not defined, don't expand it at all
|
780
|
-
|
781
|
-
if (!defined) return $0;
|
782
|
-
var value = varName in overrides ? overrides[varName] : varName in vars ? vars[varName] : null;
|
783
|
-
var filters = filterNames.map(function (n) {
|
784
|
-
return possibleFilters[n];
|
785
|
-
});
|
786
|
-
return filters.reduce(function (acc, cur) {
|
787
|
-
return cur(acc);
|
788
|
-
}, value && value.toString());
|
789
|
-
});
|
790
|
-
}
|
791
|
-
/** @type { {[filterName: String]:( string => string)} } */
|
792
|
-
|
793
|
-
var APPLY_FILTERS = {
|
794
|
-
urlencode: encodeURIComponent
|
795
|
-
};
|
796
|
-
|
797
|
-
/***/ }),
|
798
|
-
|
799
|
-
/***/ "./node_modules/core-js/internals/function-bind.js":
|
800
|
-
/*!*********************************************************!*\
|
801
|
-
!*** ./node_modules/core-js/internals/function-bind.js ***!
|
802
|
-
\*********************************************************/
|
803
|
-
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
804
|
-
|
805
|
-
"use strict";
|
806
|
-
|
807
|
-
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
|
808
|
-
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
809
|
-
|
810
|
-
var slice = [].slice;
|
811
|
-
var factories = {};
|
812
|
-
|
813
|
-
var construct = function (C, argsLength, args) {
|
814
|
-
if (!(argsLength in factories)) {
|
815
|
-
for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
|
816
|
-
// eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only
|
817
|
-
factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
|
818
|
-
} return factories[argsLength](C, args);
|
819
|
-
};
|
820
|
-
|
821
|
-
// `Function.prototype.bind` method implementation
|
822
|
-
// https://tc39.es/ecma262/#sec-function.prototype.bind
|
823
|
-
module.exports = Function.bind || function bind(that /* , ...args */) {
|
824
|
-
var fn = aFunction(this);
|
825
|
-
var partArgs = slice.call(arguments, 1);
|
826
|
-
var boundFunction = function bound(/* args... */) {
|
827
|
-
var args = partArgs.concat(slice.call(arguments));
|
828
|
-
return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
|
829
|
-
};
|
830
|
-
if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
|
831
|
-
return boundFunction;
|
832
|
-
};
|
833
|
-
|
834
|
-
|
835
|
-
/***/ }),
|
836
|
-
|
837
|
-
/***/ "./node_modules/core-js/internals/string-trim-forced.js":
|
838
|
-
/*!**************************************************************!*\
|
839
|
-
!*** ./node_modules/core-js/internals/string-trim-forced.js ***!
|
840
|
-
\**************************************************************/
|
841
|
-
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
842
|
-
|
843
|
-
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
844
|
-
var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
|
845
|
-
|
846
|
-
var non = '\u200B\u0085\u180E';
|
847
|
-
|
848
|
-
// check that a method works with the correct list
|
849
|
-
// of whitespaces and has a correct name
|
850
|
-
module.exports = function (METHOD_NAME) {
|
851
|
-
return fails(function () {
|
852
|
-
return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
|
853
|
-
});
|
854
|
-
};
|
855
|
-
|
856
|
-
|
857
|
-
/***/ }),
|
858
|
-
|
859
|
-
/***/ "./node_modules/core-js/internals/string-trim.js":
|
860
|
-
/*!*******************************************************!*\
|
861
|
-
!*** ./node_modules/core-js/internals/string-trim.js ***!
|
862
|
-
\*******************************************************/
|
863
|
-
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
864
|
-
|
865
|
-
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
|
866
|
-
var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
|
867
|
-
|
868
|
-
var whitespace = '[' + whitespaces + ']';
|
869
|
-
var ltrim = RegExp('^' + whitespace + whitespace + '*');
|
870
|
-
var rtrim = RegExp(whitespace + whitespace + '*$');
|
871
|
-
|
872
|
-
// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
|
873
|
-
var createMethod = function (TYPE) {
|
874
|
-
return function ($this) {
|
875
|
-
var string = String(requireObjectCoercible($this));
|
876
|
-
if (TYPE & 1) string = string.replace(ltrim, '');
|
877
|
-
if (TYPE & 2) string = string.replace(rtrim, '');
|
878
|
-
return string;
|
879
|
-
};
|
880
|
-
};
|
881
|
-
|
882
|
-
module.exports = {
|
883
|
-
// `String.prototype.{ trimLeft, trimStart }` methods
|
884
|
-
// https://tc39.es/ecma262/#sec-string.prototype.trimstart
|
885
|
-
start: createMethod(1),
|
886
|
-
// `String.prototype.{ trimRight, trimEnd }` methods
|
887
|
-
// https://tc39.es/ecma262/#sec-string.prototype.trimend
|
888
|
-
end: createMethod(2),
|
889
|
-
// `String.prototype.trim` method
|
890
|
-
// https://tc39.es/ecma262/#sec-string.prototype.trim
|
891
|
-
trim: createMethod(3)
|
892
|
-
};
|
893
|
-
|
894
|
-
|
895
|
-
/***/ }),
|
896
|
-
|
897
|
-
/***/ "./node_modules/core-js/internals/whitespaces.js":
|
898
|
-
/*!*******************************************************!*\
|
899
|
-
!*** ./node_modules/core-js/internals/whitespaces.js ***!
|
900
|
-
\*******************************************************/
|
901
|
-
/***/ (function(module) {
|
902
|
-
|
903
|
-
// a string of all valid unicode whitespaces
|
904
|
-
module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
|
905
|
-
'\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
906
|
-
|
907
|
-
|
908
|
-
/***/ }),
|
909
|
-
|
910
|
-
/***/ "./node_modules/core-js/modules/es.object.assign.js":
|
911
|
-
/*!**********************************************************!*\
|
912
|
-
!*** ./node_modules/core-js/modules/es.object.assign.js ***!
|
913
|
-
\**********************************************************/
|
914
|
-
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
915
|
-
|
916
|
-
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
917
|
-
var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js");
|
918
|
-
|
919
|
-
// `Object.assign` method
|
920
|
-
// https://tc39.es/ecma262/#sec-object.assign
|
921
|
-
// eslint-disable-next-line es/no-object-assign -- required for testing
|
922
|
-
$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
|
923
|
-
assign: assign
|
924
|
-
});
|
925
|
-
|
926
|
-
|
927
|
-
/***/ }),
|
928
|
-
|
929
|
-
/***/ "./node_modules/core-js/modules/es.object.get-prototype-of.js":
|
930
|
-
/*!********************************************************************!*\
|
931
|
-
!*** ./node_modules/core-js/modules/es.object.get-prototype-of.js ***!
|
932
|
-
\********************************************************************/
|
933
|
-
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
934
|
-
|
935
|
-
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
936
|
-
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
937
|
-
var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
|
938
|
-
var nativeGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
|
939
|
-
var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js");
|
940
|
-
|
941
|
-
var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });
|
942
|
-
|
943
|
-
// `Object.getPrototypeOf` method
|
944
|
-
// https://tc39.es/ecma262/#sec-object.getprototypeof
|
945
|
-
$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {
|
946
|
-
getPrototypeOf: function getPrototypeOf(it) {
|
947
|
-
return nativeGetPrototypeOf(toObject(it));
|
948
|
-
}
|
949
|
-
});
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
/***/ }),
|
954
|
-
|
955
|
-
/***/ "./node_modules/core-js/modules/es.reflect.construct.js":
|
956
|
-
/*!**************************************************************!*\
|
957
|
-
!*** ./node_modules/core-js/modules/es.reflect.construct.js ***!
|
958
|
-
\**************************************************************/
|
959
|
-
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
960
|
-
|
961
|
-
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
962
|
-
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
|
963
|
-
var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
|
964
|
-
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
965
|
-
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
966
|
-
var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
|
967
|
-
var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js/internals/function-bind.js");
|
968
|
-
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
969
|
-
|
970
|
-
var nativeConstruct = getBuiltIn('Reflect', 'construct');
|
971
|
-
|
972
|
-
// `Reflect.construct` method
|
973
|
-
// https://tc39.es/ecma262/#sec-reflect.construct
|
974
|
-
// MS Edge supports only 2 arguments and argumentsList argument is optional
|
975
|
-
// FF Nightly sets third argument as `new.target`, but does not create `this` from it
|
976
|
-
var NEW_TARGET_BUG = fails(function () {
|
977
|
-
function F() { /* empty */ }
|
978
|
-
return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);
|
979
|
-
});
|
980
|
-
var ARGS_BUG = !fails(function () {
|
981
|
-
nativeConstruct(function () { /* empty */ });
|
982
|
-
});
|
983
|
-
var FORCED = NEW_TARGET_BUG || ARGS_BUG;
|
984
|
-
|
985
|
-
$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {
|
986
|
-
construct: function construct(Target, args /* , newTarget */) {
|
987
|
-
aFunction(Target);
|
988
|
-
anObject(args);
|
989
|
-
var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
|
990
|
-
if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
|
991
|
-
if (Target == newTarget) {
|
992
|
-
// w/o altered newTarget, optimization for 0-4 arguments
|
993
|
-
switch (args.length) {
|
994
|
-
case 0: return new Target();
|
995
|
-
case 1: return new Target(args[0]);
|
996
|
-
case 2: return new Target(args[0], args[1]);
|
997
|
-
case 3: return new Target(args[0], args[1], args[2]);
|
998
|
-
case 4: return new Target(args[0], args[1], args[2], args[3]);
|
999
|
-
}
|
1000
|
-
// w/o altered newTarget, lot of arguments case
|
1001
|
-
var $args = [null];
|
1002
|
-
$args.push.apply($args, args);
|
1003
|
-
return new (bind.apply(Target, $args))();
|
1004
|
-
}
|
1005
|
-
// with altered newTarget, not support built-in constructors
|
1006
|
-
var proto = newTarget.prototype;
|
1007
|
-
var instance = create(isObject(proto) ? proto : Object.prototype);
|
1008
|
-
var result = Function.apply.call(Target, instance, args);
|
1009
|
-
return isObject(result) ? result : instance;
|
1010
|
-
}
|
1011
|
-
});
|
1012
|
-
|
1013
|
-
|
1014
|
-
/***/ }),
|
1015
|
-
|
1016
|
-
/***/ "./node_modules/core-js/modules/es.reflect.get.js":
|
1017
|
-
/*!********************************************************!*\
|
1018
|
-
!*** ./node_modules/core-js/modules/es.reflect.get.js ***!
|
1019
|
-
\********************************************************/
|
1020
|
-
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
1021
|
-
|
1022
|
-
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
1023
|
-
var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
|
1024
|
-
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
1025
|
-
var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
|
1026
|
-
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
|
1027
|
-
var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
|
1028
|
-
|
1029
|
-
// `Reflect.get` method
|
1030
|
-
// https://tc39.es/ecma262/#sec-reflect.get
|
1031
|
-
function get(target, propertyKey /* , receiver */) {
|
1032
|
-
var receiver = arguments.length < 3 ? target : arguments[2];
|
1033
|
-
var descriptor, prototype;
|
1034
|
-
if (anObject(target) === receiver) return target[propertyKey];
|
1035
|
-
if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')
|
1036
|
-
? descriptor.value
|
1037
|
-
: descriptor.get === undefined
|
1038
|
-
? undefined
|
1039
|
-
: descriptor.get.call(receiver);
|
1040
|
-
if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);
|
1041
|
-
}
|
1042
|
-
|
1043
|
-
$({ target: 'Reflect', stat: true }, {
|
1044
|
-
get: get
|
1045
|
-
});
|
1046
|
-
|
1047
|
-
|
1048
|
-
/***/ }),
|
1049
|
-
|
1050
|
-
/***/ "./node_modules/core-js/modules/es.string.trim.js":
|
1051
|
-
/*!********************************************************!*\
|
1052
|
-
!*** ./node_modules/core-js/modules/es.string.trim.js ***!
|
1053
|
-
\********************************************************/
|
1054
|
-
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
1055
|
-
|
1056
|
-
"use strict";
|
1057
|
-
|
1058
|
-
var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
|
1059
|
-
var $trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim;
|
1060
|
-
var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js");
|
1061
|
-
|
1062
|
-
// `String.prototype.trim` method
|
1063
|
-
// https://tc39.es/ecma262/#sec-string.prototype.trim
|
1064
|
-
$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
|
1065
|
-
trim: function trim() {
|
1066
|
-
return $trim(this);
|
1067
|
-
}
|
1068
|
-
});
|
1069
|
-
|
1070
|
-
|
1071
|
-
/***/ })
|
1072
|
-
|
1073
|
-
},
|
1074
|
-
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
1075
|
-
/******/ "use strict";
|
1076
|
-
/******/
|
1077
|
-
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
|
1078
|
-
/******/ var __webpack_exports__ = (__webpack_exec__("./src/plugins/plugin.text_selection.js"));
|
1079
|
-
/******/ }
|
1080
|
-
]);
|
1
|
+
/*! For license information please see plugin.text_selection.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[423],{4742:function(t,e,r){r(752),r(228),r(6265),r(5728),r(2826),r(4338),r(939),r(3964),r(886),r(5137),r(7049),r(1694),r(2918),r(8436),r(9730),r(429),r(6646),r(4254),r(9749),r(6544),r(6203),r(9373),r(9903),r(9288),r(8373),r(6793),r(7629),r(7509),r(8052),r(7522),r(4284),r(3374),r(4043),r(50),r(2349),r(1919);var n=r(9860),o=r(5311);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,l(n.key),n)}}function c(t,e,r){return(e=l(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t){var e=function(t,e){if("object"!==i(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===i(e)?e:String(e)}var u=function(){function t(e,r){var n=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),c(this,"selecting",!1),c(this,"startedInSelector",!1),c(this,"target",null),c(this,"_onSelectionChange",(function(){var t=window.getSelection();if(!n.selecting&&t.toString()){var e=o(t.anchorNode).closest(n.selector)[0];if(!e)return;n.target=e,n.selecting=!0,n.handler("started",n.target)}!n.selecting||!t.isCollapsed&&t.toString()&&o(t.anchorNode).closest(n.selector)[0]||(n.selecting=!1,n.handler("cleared",n.target))})),this.selector=e,this.handler=r}var e,r;return e=t,(r=[{key:"attach",value:function(){document.addEventListener("selectionchange",this._onSelectionChange)}},{key:"detach",value:function(){document.removeEventListener("selectionchange",this._onSelectionChange)}}])&&a(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function f(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:h;return null==t?void 0:t.replace(/\{\{([^}]*?)\}\}/g,(function(t,o){if(!o)return t;var i,a=function(t){if(Array.isArray(t))return t}(i=o.split("|").map((function(t){return t.trim()})))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(i)||function(t,e){if(t){if("string"==typeof t)return s(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(t,e):void 0}}(i)||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.")}(),c=a[0],l=a.slice(1);if(!(c in r)&&!(c in e))return t;var u=c in r?r[c]:c in e?e[c]:null;return l.map((function(t){return n[t]})).reduce((function(t,e){return e(t)}),u&&u.toString())}))}r(7267),r(278);var h={urlencode:encodeURIComponent},p=r(5311);function d(t){return d="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},d(t)}var y=j().mark(N),v=j().mark(W),g=j().mark(G);function m(){return m="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=w(t)););return t}(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(arguments.length<3?t:r):o.value}},m.apply(this,arguments)}function b(t,e){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},b(t,e)}function w(t){return w=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},w(t)}function x(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],l=!0,u=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);l=!0);}catch(t){u=!0,o=t}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(t,e)||E(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 S(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=E(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},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(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}function E(t,e){if(t){if("string"==typeof t)return P(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?P(t,e):void 0}}function P(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function j(){j=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,a=Object.create(i.prototype),c=new _(n||[]);return o(a,"_invoke",{value:R(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=s;var h="suspendedStart",p="suspendedYield",y="executing",v="completed",g={};function m(){}function b(){}function w(){}var x={};u(x,a,(function(){return this}));var S=Object.getPrototypeOf,E=S&&S(S(B([])));E&&E!==r&&n.call(E,a)&&(x=E);var P=w.prototype=m.prototype=Object.create(x);function k(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,a,c){var l=f(t[o],t,i);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==d(s)&&n.call(s,"__await")?e.resolve(s.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(s).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,c)}))}c(l.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function R(e,r,n){var o=h;return function(i,a){if(o===y)throw new Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var l=L(c,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var u=f(e,r,n);if("normal"===u.type){if(o=n.done?v:p,u.arg===g)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=v,n.method="throw",n.arg=u.arg)}}}function L(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,L(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,g;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,g):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function B(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(d(e)+" is not iterable")}return b.prototype=w,o(P,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:b,configurable:!0}),b.displayName=u(w,l,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===b||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,u(t,l,"GeneratorFunction")),t.prototype=Object.create(P),t},e.awrap=function(t){return{__await:t}},k(O.prototype),u(O.prototype,c,(function(){return this})),e.AsyncIterator=O,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new O(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},k(P),u(P,l,"Generator"),u(P,a,(function(){return this})),u(P,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=B,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var l=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(l&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),g},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:B(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function k(t,e,r,n,o,i,a){try{var c=t[i](a),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(n,o)}function O(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){k(i,n,o,a,c,"next",t)}function c(t){k(i,n,o,a,c,"throw",t)}a(void 0)}))}}function R(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function L(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,A(n.key),n)}}function C(t,e,r){return e&&L(t.prototype,e),r&&L(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function A(t){var e=function(t,e){if("object"!==d(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==d(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===d(e)?e:String(e)}var _=window.BookReader,B={enabled:!0,fullDjvuXmlUrl:null,singlePageDjvuXmlUrl:null,jsonp:!1},T=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;R(this,t),this.maxSize=e,this.entries=[]}return C(t,[{key:"add",value:function(t){this.entries.length>=this.maxSize&&this.entries.shift(),this.entries.push(t)}}]),t}(),I=function(){function t(){var e,r,n,o=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B,a=arguments.length>1?arguments[1]:void 0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"lr";R(this,t),e=this,n=function(t,e){if("started"===t)o.textSelectingMode(e);else{if("cleared"!==t)throw new Error("Unknown type ".concat(t));o.defaultMode(e)}},(r=A(r="_onSelectionChange"))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,this.options=i,this.optionVariables=a,this.djvuPagesPromise=null,this.rtl="rl"===c,this.pageTextCache=new T,this.maxWordRendered=2500,this.selectionObserver=new u(".BRtextLayer",this._onSelectionChange)}var e,r;return C(t,[{key:"init",value:function(){this.selectionObserver.attach(),this.options.singlePageDjvuXmlUrl||(this.djvuPagesPromise=p.ajax({type:"GET",url:f(this.options.fullDjvuXmlUrl,this.optionVariables),dataType:this.options.jsonp?"jsonp":"html",cache:!0,error:function(t){}}).then((function(t){try{var e=p.parseXML(t);return e&&p(e).find("OBJECT")}catch(t){return}})))}},{key:"getPageText",value:(r=O(j().mark((function t(e){var r,n,o,i,a;return j().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.options.singlePageDjvuXmlUrl){t.next=19;break}if(!(r=this.pageTextCache.entries.find((function(t){return t.index==e})))){t.next=4;break}return t.abrupt("return",r.response);case 4:return t.next=6,p.ajax({type:"GET",url:f(this.options.singlePageDjvuXmlUrl,this.optionVariables,{pageIndex:e}),dataType:this.options.jsonp?"jsonp":"html",cache:!0,error:function(t){}});case 6:return n=t.sent,t.prev=7,o=p.parseXML(n),i=o&&p(o).find("OBJECT")[0],this.pageTextCache.add({index:e,response:i}),t.abrupt("return",i);case 14:return t.prev=14,t.t0=t.catch(7),t.abrupt("return",void 0);case 17:t.next=24;break;case 19:return t.next=21,this.djvuPagesPromise;case 21:if(!(a=t.sent)){t.next=24;break}return t.abrupt("return",a[e]);case 24:case"end":return t.stop()}}),t,this,[[7,14]])}))),function(t){return r.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,r=p(t).closest(".BRpagecontainer");t.style.pointerEvents="none",r.find("img").css("pointer-events","auto"),p(t).off(".textSelectPluginHandler");var n=this.mouseIsDown,o=this.mouseIsDown;n&&(t.style.pointerEvents="auto"),p(t).on("mousedown.textSelectPluginHandler",(function(t){e.mouseIsDown=!0,p(t.target).is(".BRwordElement, .BRspace")&&t.stopPropagation()})),p(t).on("mouseup.textSelectPluginHandler",(function(r){e.mouseIsDown=!1,t.style.pointerEvents="none",o&&(o=!1,r.stopPropagation())}))}},{key:"textSelectingMode",value:function(t){var e=this,r=p(t).closest(".BRpagecontainer");t.style.pointerEvents="all",r.find("img").css("pointer-events","none"),p(t).off(".textSelectPluginHandler"),p(t).on("mousedown.textSelectPluginHandler",(function(t){e.mouseIsDown=!0,t.stopPropagation()})),p(t).on("mouseup.textSelectPluginHandler",(function(t){e.mouseIsDown=!1,t.stopPropagation()}))}},{key:"stopPageFlip",value:function(t){var e=this,r=t.find(".BRtextLayer");r.length&&(r.each((function(t,r){return e.defaultMode(r)})),this.interceptCopy(t))}},{key:"createTextLayer",value:(e=O(j().mark((function t(e){var r,o,i,a,c,l,u,s,f,h,d,y,v,g,m,b,w,E,P,k,O,R,L,C,A=this;return j().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.page.index,!(o=e.$container).find(".BRtextLayer").length){t.next=5;break}return t.abrupt("return");case 5:return t.next=7,this.getPageText(r);case 7:if(i=t.sent){t.next=10;break}return t.abrupt("return");case 10:if(U(i),!((a=p(i).find("WORD").length)>this.maxWordRendered)){t.next=15;break}return console.log("Page ".concat(r," has too many words (").concat(a," > ").concat(this.maxWordRendered,"). Not rendering text layer.")),t.abrupt("return");case 15:c=(0,n.RS)(e.page,"BRtextLayer"),l=parseFloat(e.$container[0].style.width)/e.page.width,u=parseFloat(e.$container[0].style.height)/e.page.height,c.style.transform="scale(".concat(l,", ").concat(u,")"),c.setAttribute("dir",this.rtl?"rtl":"ltr"),s=p(i).find("PARAGRAPH[coords]").toArray(),f=s.map((function(t){var e=A.renderParagraph(t);return c.appendChild(e),e})),h=M(c,".BRparagraphElement"),d=0,y=S(G(s,f));try{for(y.s();!(v=y.n()).done;)g=x(v.value,2),m=g[0],b=g[1],w=p(m).attr("coords").split(",").map(parseFloat),E=h.get(b),P=x(w,4),k=P[0],O=P[2],R=P[3],L=this.rtl?E.right-O:k-E.left,C=R-(E.top+d),b.style[this.rtl?"marginRight":"marginLeft"]="".concat(L,"px"),b.style.marginTop="".concat(C,"px"),d+=C,c.appendChild(b)}catch(t){y.e(t)}finally{y.f()}o.append(c),this.stopPageFlip(o);case 28:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"renderParagraph",value:function(t){var e=document.createElement("p");e.classList.add("BRparagraphElement");var r=x(p(t).attr("coords").split(",").map(parseFloat),4),n=r[0],o=r[1],i=r[2],a=r[3],c=[],l=p(t).find("LINE[coords]").toArray();if(!l.length)return e;var u,s=S(W(N(l,F)));try{for(s.s();!(u=s.n()).done;){var f=x(u.value,3),h=f[0],d=f[1],y=f[2],v=d.ocrElement==l[l.length-1],g=document.createElement("span");g.classList.add("BRlineElement");var m,b=S(d.words.entries());try{for(b.s();!(m=b.n()).done;){var w=x(m.value,2),j=w[0],k=w[1],O=x(p(k).attr("coords").split(",").map(parseFloat),4),R=O[1],L=O[2],C=O[3],A=R-C;if(c.push(A),0==j&&null!=h&&h.lastWord.textContent.trim().endsWith("-")){var _=x(p((y||h).firstWord).attr("coords").split(",").map(parseFloat),3)[0];p(k).attr("coords","".concat(_,",").concat(R,",").concat(L,",").concat(C))}var B=document.createElement("span");if(B.setAttribute("class","BRwordElement"),B.textContent=k.textContent.trim(),j>0){var T=document.createElement("span");T.classList.add("BRspace"),T.textContent=" ",g.append(T),g.appendChild(document.createTextNode(" "))}g.appendChild(B)}}catch(t){b.e(t)}finally{b.f()}var I=d.lastWord.textContent.trim().endsWith("-"),D=g.children[g.children.length-1];I&&!v&&(D.textContent=D.textContent.trim().slice(0,-1),D.classList.add("BRwordElement--hyphen")),e.appendChild(g),v||I||e.appendChild(document.createTextNode(" "))}}catch(t){s.e(t)}finally{s.f()}c.sort((function(t,e){return t-e}));var U=c[Math.floor(.85*c.length)]+4;e.style.left="".concat(n,"px"),e.style.top="".concat(a,"px"),e.style.width="".concat(i-n,"px"),e.style.height="".concat(o-a,"px"),e.style.fontSize="".concat(U,"px");var H,X=M(e,".BRwordElement"),$=S(G(p(t).find("WORD").toArray(),e.querySelectorAll(".BRwordElement")));try{for($.s();!(H=$.n()).done;){var q=x(H.value,2),z=q[0],V=q[1],Y=X.get(V),J=x(p(z).attr("coords").split(",").map(parseFloat),3),K=J[0],Q=J[2]-K;z.textContent.endsWith(" ")&&(Q=Q*(z.textContent.length-1)/z.textContent.length);var Z=Q-Y.width;V.style.letterSpacing="".concat(Z/(z.textContent.length-1),"px")}}catch(t){$.e(t)}finally{$.f()}X=M(e,".BRwordElement");var tt,et,rt=M(e,".BRspace"),nt=p(t).find("LINE[coords]").toArray(),ot=Array.from(e.querySelectorAll(".BRlineElement")),it=a,at=S(G(nt,ot));try{for(at.s();!(tt=at.n()).done;){var ct,lt=x(tt.value,2),ut=lt[0],st=lt[1],ft=p(ut).find("WORD").toArray(),ht=this.rtl?i:n,pt=S(G(ft,st.querySelectorAll(".BRwordElement")));try{for(pt.s();!(ct=pt.n()).done;){var dt=x(ct.value,2),yt=dt[0],vt=dt[1],gt=X.get(vt),mt=x(p(yt).attr("coords").split(",").map(parseFloat),3),bt=mt[0],wt=mt[2],xt=this.rtl?-(wt-ht):bt-ht;if(vt.previousElementSibling){var St=vt.previousElementSibling;St.style.letterSpacing="".concat(xt-rt.get(St).width,"px")}else vt.style[this.rtl?"paddingRight":"paddingLeft"]="".concat(xt,"px");this.rtl?ht-=xt+gt.width:ht+=xt+gt.width}}catch(t){pt.e(t)}finally{pt.f()}var Et=Math.min.apply(Math,function(t){if(Array.isArray(t))return P(t)}(et=ft.map((function(t){return parseFloat(p(t).attr("coords").split(",")[3])})))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(et)||E(et)||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.")}())-it;st.previousElementSibling&&(st.previousElementSibling.style.lineHeight="".concat(Et,"px"),it+=Et)}}catch(t){at.e(t)}finally{at.f()}return ot[ot.length-1].style.lineHeight="".concat(o-it,"px"),e.appendChild(document.createElement("br")),e}}]),t}(),D=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}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&b(t,e)}(o,t);var e,r,n=(e=o,r=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,n=w(e);if(r){var o=w(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return function(t,e){if(e&&("object"===d(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)}(this,t)});function o(){return R(this,o),n.apply(this,arguments)}return C(o,[{key:"init",value:function(){var t=this,e=Object.assign({},B,this.options.plugins.textSelection);e.enabled&&(this.textSelectionPlugin=new I(e,this.options.vars,this.pageProgression),this.options.plugins.textSelection=e,this.textSelectionPlugin.init(),new u(".BRtextLayer",(function(e){var r;"started"==e&&(null===(r=t.archiveAnalyticsSendEvent)||void 0===r||r.call(t,"BookReader","SelectStart"),t.refs.$br.find(".BRpagecontainer--hasSelection").removeClass("BRpagecontainer--hasSelection"),p(window.getSelection().anchorNode).closest(".BRpagecontainer").addClass("BRpagecontainer--hasSelection"))})).attach()),m(w(o.prototype),"init",this).call(this)}},{key:"_createPageContainer",value:function(t){var e,r=m(w(o.prototype),"_createPageContainer",this).call(this,t);return this.mode!==this.constModeThumb&&r.page&&(null===(e=this.textSelectionPlugin)||void 0===e||e.createTextLayer(r)),r}}]),o}(_);function M(t,e){var r={position:t.style.position,visibility:t.style.visibility,top:t.style.top,left:t.style.left,transform:t.style.transform};t.style.position="absolute",t.style.visibility="hidden",t.style.top="0",t.style.left="0",t.style.transform="none",document.body.appendChild(t);var n=new Map(Array.from(t.querySelectorAll(e)).map((function(t){var e=t.getBoundingClientRect();return[t,new H(e.left+window.scrollX,e.top+window.scrollY,e.width,e.height)]})));return document.body.removeChild(t),Object.assign(t.style,r),n}function F(t){var e=p(t).find("WORD").toArray();return{ocrElement:t,words:e,firstWord:e[0],lastWord:e[e.length-1]}}function N(t,e){var r,n,o;return j().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:r=S(t),i.prev=1,r.s();case 3:if((n=r.n()).done){i.next=9;break}return o=n.value,i.next=7,e(o);case 7:i.next=3;break;case 9:i.next=14;break;case 11:i.prev=11,i.t0=i.catch(1),r.e(i.t0);case 14:return i.prev=14,r.f(),i.finish(14);case 17:case"end":return i.stop()}}),y,null,[[1,11,14,17]])}function W(t){var e,r,n,o,i,a;return j().wrap((function(c){for(;;)switch(c.prev=c.next){case 0:e=void 0,r=void 0,n=void 0,o=S(t),c.prev=4,o.s();case 6:if((i=o.n()).done){c.next=17;break}if(a=i.value,void 0===r){c.next=12;break}return n=a,c.next=12,[e,r,n];case 12:e=r,r=a,n=void 0;case 15:c.next=6;break;case 17:c.next=22;break;case 19:c.prev=19,c.t0=c.catch(4),o.e(c.t0);case 22:return c.prev=22,o.f(),c.finish(22);case 25:if(void 0===r){c.next=28;break}return c.next=28,[e,r,n];case 28:case"end":return c.stop()}}),v,null,[[4,19,22,25]])}function G(t,e){var r,n,o,i;return j().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:r=t[Symbol.iterator](),n=e[Symbol.iterator]();case 2:if(o=r.next(),i=n.next(),!o.done||!i.done){a.next=7;break}return a.abrupt("return");case 7:if(!o.done&&!i.done){a.next=9;break}throw new Error("zip: one of the iterators is done");case 9:return a.next=11,[o.value,i.value];case 11:a.next=2;break;case 13:case"end":return a.stop()}}),g)}function U(t){if(!p(t).attr("coords")&&t.children){var e=p(t).children().toArray();if(0!==e.length){var r,n=S(e);try{for(n.s();!(r=n.n()).done;)U(r.value)}catch(t){n.e(t)}finally{n.f()}var o,i=[],a=S(e);try{for(a.s();!(o=a.n()).done;){var c=o.value;p(c).attr("coords")&&i.push(p(c).attr("coords").split(",").map(parseFloat))}}catch(t){a.e(t)}finally{a.f()}var l=function(t){var e,r=1/0,n=-1/0,o=-1/0,i=1/0,a=S(t);try{for(a.s();!(e=a.n()).done;){var c=x(e.value,4),l=c[0],u=c[1],s=c[2],f=c[3];r=Math.min(r,l),n=Math.max(n,u),o=Math.max(o,s),i=Math.min(i,f)}}catch(t){a.e(t)}finally{a.f()}return[r,n,o,i]}(i);Math.abs(l[0])!=1/0&&p(t).attr("coords",l.join(","))}}}window.BookReader=D;var H=function(){function t(e,r,n,o){R(this,t),this.x=e,this.y=r,this.width=n,this.height=o}return C(t,[{key:"right",get:function(){return this.x+this.width}},{key:"bottom",get:function(){return this.y+this.height}},{key:"top",get:function(){return this.y}},{key:"left",get:function(){return this.x}}]),t}()},5984:function(t,e,r){var n=r(1236).PROPER,o=r(3689),i=r(6350);t.exports=function(t){return o((function(){return!!i[t]()||"
"!=="
"[t]()||n&&i[t].name!==t}))}},8436:function(t,e,r){var n=r(9989),o=r(1435).trim;n({target:"String",proto:!0,forced:r(5984)("trim")},{trim:function(){return o(this)}})}},function(t){t(t.s=4742)}]);
|
1081
3
|
//# sourceMappingURL=plugin.text_selection.js.map
|