@internetarchive/bookreader 5.0.0-12-fixsorting-7 → 5.0.0-120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BookReader/474.js +2 -0
- package/BookReader/474.js.map +1 -0
- package/BookReader/BookReader.css +670 -1190
- package/BookReader/bergamot-translator-worker.js +2966 -0
- package/BookReader/bergamot-translator-worker.wasm +0 -0
- package/BookReader/hypothesis/LICENSE +50 -0
- package/BookReader/hypothesis/README.md +55 -0
- package/BookReader/hypothesis/build/boot-template.js +1 -0
- package/BookReader/hypothesis/build/boot.js +1 -0
- package/BookReader/hypothesis/build/manifest.json +20 -0
- package/BookReader/hypothesis/build/scripts/annotator.bundle.js +199 -0
- package/BookReader/hypothesis/build/scripts/annotator.bundle.js.map +1 -0
- package/BookReader/hypothesis/build/scripts/sidebar.bundle.js +811 -0
- package/BookReader/hypothesis/build/scripts/sidebar.bundle.js.map +1 -0
- package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js +437 -0
- package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js.map +1 -0
- package/BookReader/hypothesis/build/styles/annotator.css +4 -0
- package/BookReader/hypothesis/build/styles/annotator.css.map +1 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/BookReader/hypothesis/build/styles/highlights.css +2 -0
- package/BookReader/hypothesis/build/styles/highlights.css.map +1 -0
- package/BookReader/hypothesis/build/styles/katex.min.css +3 -0
- package/BookReader/hypothesis/build/styles/katex.min.css.map +1 -0
- package/BookReader/hypothesis/build/styles/pdfjs-overrides.css +14 -0
- package/BookReader/hypothesis/build/styles/pdfjs-overrides.css.map +1 -0
- package/BookReader/hypothesis/build/styles/sidebar.css +4 -0
- package/BookReader/hypothesis/build/styles/sidebar.css.map +1 -0
- package/BookReader/hypothesis/build/styles/ui-playground.css +4 -0
- package/BookReader/hypothesis/build/styles/ui-playground.css.map +1 -0
- package/BookReader/hypothesis/package.json +126 -0
- package/BookReader/ia-bookreader.js +1886 -0
- package/BookReader/{BookReader.js.LICENSE.txt → ia-bookreader.js.LICENSE.txt} +26 -20
- package/BookReader/ia-bookreader.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 -1
- 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/slider-toggle.svg +1 -0
- 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/hypothesis.ico +0 -0
- package/BookReader/images/icon_book.svg +1 -12
- package/BookReader/images/icon_bookmark.svg +1 -12
- package/BookReader/images/icon_experiment.svg +1 -0
- 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/images/translate.svg +1 -0
- package/BookReader/images/unviewable_page.png +0 -0
- 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 +19 -301
- package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
- package/BookReader/plugins/plugin.chapters.js.map +1 -1
- package/BookReader/plugins/plugin.experiments.js +3 -0
- package/BookReader/plugins/plugin.experiments.js.LICENSE.txt +1 -0
- package/BookReader/plugins/plugin.experiments.js.map +1 -0
- 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 -1385
- 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.translate.js +3 -0
- package/BookReader/plugins/plugin.translate.js.LICENSE.txt +1 -0
- package/BookReader/plugins/plugin.translate.js.map +1 -0
- 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/plugins/translator-worker.js +2 -0
- package/BookReader/plugins/translator-worker.js.map +1 -0
- package/BookReader/silence.mp3 +0 -0
- package/BookReader/translator-worker.js +475 -0
- 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/README.md +17 -4
- package/dist/esm/ia-bookreader.js +3 -0
- package/dist/esm/ia-bookreader.js.LICENSE.txt +17 -0
- package/dist/esm/ia-bookreader.js.map +1 -0
- package/dist/esm/plugins/plugin.archive_analytics.js +2 -0
- package/dist/esm/plugins/plugin.archive_analytics.js.map +1 -0
- package/dist/esm/plugins/plugin.autoplay.js +2 -0
- package/dist/esm/plugins/plugin.autoplay.js.map +1 -0
- package/dist/esm/plugins/plugin.chapters.js +2 -0
- package/dist/esm/plugins/plugin.chapters.js.map +1 -0
- package/dist/esm/plugins/plugin.experiments.js +2 -0
- package/dist/esm/plugins/plugin.experiments.js.map +1 -0
- package/dist/esm/plugins/plugin.iframe.js +2 -0
- package/dist/esm/plugins/plugin.iframe.js.map +1 -0
- package/dist/esm/plugins/plugin.iiif.js +2 -0
- package/dist/esm/plugins/plugin.iiif.js.map +1 -0
- package/dist/esm/plugins/plugin.resume.js +2 -0
- package/dist/esm/plugins/plugin.resume.js.map +1 -0
- package/dist/esm/plugins/plugin.search.js +2 -0
- package/dist/esm/plugins/plugin.search.js.map +1 -0
- package/dist/esm/plugins/plugin.text_selection.js +2 -0
- package/dist/esm/plugins/plugin.text_selection.js.map +1 -0
- package/dist/esm/plugins/plugin.translate.js +2 -0
- package/dist/esm/plugins/plugin.translate.js.map +1 -0
- package/dist/esm/plugins/plugin.tts.js +2 -0
- package/dist/esm/plugins/plugin.tts.js.map +1 -0
- package/dist/esm/plugins/plugin.url.js +2 -0
- package/dist/esm/plugins/plugin.url.js.map +1 -0
- package/dist/esm/plugins/plugin.vendor-fullscreen.js +2 -0
- package/dist/esm/plugins/plugin.vendor-fullscreen.js.map +1 -0
- package/jsconfig.json +18 -0
- package/package.json +113 -71
- package/src/BookReader/BookModel.js +92 -46
- package/src/BookReader/DragScrollable.js +233 -0
- package/src/BookReader/ImageCache.js +49 -16
- package/src/BookReader/Mode1Up.js +66 -365
- package/src/BookReader/Mode1UpLit.js +392 -0
- package/src/BookReader/Mode2Up.js +87 -1315
- package/src/BookReader/Mode2UpLit.js +786 -0
- package/src/BookReader/ModeAbstract.js +43 -0
- package/src/BookReader/ModeCoordinateSpace.js +29 -0
- package/src/BookReader/ModeSmoothZoom.js +312 -0
- package/src/BookReader/ModeThumb.js +29 -15
- package/src/BookReader/Navbar/Navbar.js +204 -84
- package/src/BookReader/PageContainer.js +120 -23
- package/src/BookReader/ReduceSet.js +2 -2
- package/src/BookReader/Toolbar/Toolbar.js +18 -40
- package/src/BookReader/events.js +3 -3
- package/src/BookReader/options.js +105 -18
- package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
- package/src/BookReader/utils/ScrollClassAdder.js +31 -0
- package/src/BookReader/utils/SelectionObserver.js +72 -0
- package/src/BookReader/utils/classes.js +1 -1
- package/src/BookReader/utils.js +136 -12
- package/src/BookReader.js +732 -1231
- package/src/BookReaderPlugin.js +52 -0
- package/src/assets/icons/magnify-minus.svg +3 -7
- package/src/assets/icons/magnify-plus.svg +3 -7
- package/src/assets/icons/slider-toggle.svg +1 -0
- package/src/assets/icons/voice.svg +1 -0
- package/src/assets/images/hypothesis.ico +0 -0
- package/src/assets/images/icon_experiment.svg +1 -0
- package/src/assets/images/translate.svg +1 -0
- package/src/assets/images/unviewable_page.png +0 -0
- package/src/assets/silence.mp3 +0 -0
- package/src/css/BookReader.scss +1 -5
- package/src/css/_BRBookmarks.scss +1 -1
- package/src/css/_BRComponent.scss +1 -1
- package/src/css/_BRicon.scss +8 -2
- package/src/css/_BRmain.scss +16 -3
- package/src/css/_BRnav.scss +74 -70
- package/src/css/_BRpages.scss +174 -42
- package/src/css/_BRsearch.scss +69 -30
- package/src/css/_BRtoolbar.scss +5 -5
- package/src/css/_TextSelection.scss +249 -25
- package/src/css/_colorbox.scss +2 -2
- package/src/css/_controls.scss +24 -7
- package/src/css/_icons.scss +8 -1
- package/src/{BookNavigator/assets → css}/button-base.js +2 -2
- package/src/css/icon_checkmark.js +9 -0
- package/src/css/sharedStyles.js +15 -0
- package/src/ia-bookreader/downloads/downloads-provider.js +81 -0
- package/src/{BookNavigator → ia-bookreader}/downloads/downloads.js +25 -5
- package/src/ia-bookreader/ia-bookreader.js +686 -0
- package/src/ia-bookreader/sharing.js +27 -0
- package/src/ia-bookreader/viewable-files.js +98 -0
- package/src/{BookNavigator → ia-bookreader}/visual-adjustments/visual-adjustments-provider.js +17 -17
- package/src/{BookNavigator → ia-bookreader}/visual-adjustments/visual-adjustments.js +75 -67
- package/src/{BookNavigator → plugins}/bookmarks/bookmark-button.js +4 -3
- package/src/{BookNavigator/assets → plugins/bookmarks}/bookmark-colors.js +1 -1
- package/src/{BookNavigator → plugins}/bookmarks/bookmark-edit.js +43 -31
- package/src/{BookNavigator → plugins}/bookmarks/bookmarks-list.js +48 -49
- package/src/{BookNavigator → plugins}/bookmarks/bookmarks-loginCTA.js +3 -3
- package/src/plugins/bookmarks/bookmarks-provider.js +63 -0
- package/src/{BookNavigator → plugins/bookmarks}/delete-modal-actions.js +1 -1
- package/src/{BookNavigator → plugins}/bookmarks/ia-bookmarks.js +117 -68
- package/src/plugins/plugin.archive_analytics.js +84 -78
- package/src/plugins/plugin.autoplay.js +99 -104
- package/src/plugins/plugin.chapters.js +323 -205
- package/src/plugins/plugin.experiments.js +375 -0
- package/src/plugins/plugin.iframe.js +36 -37
- package/src/plugins/plugin.iiif.js +147 -0
- package/src/plugins/plugin.resume.js +54 -51
- package/src/plugins/plugin.text_selection.js +464 -219
- package/src/plugins/plugin.vendor-fullscreen.js +5 -5
- package/src/plugins/search/plugin.search.js +347 -397
- package/src/{BookNavigator → plugins}/search/search-provider.js +59 -27
- package/src/{BookNavigator → plugins}/search/search-results.js +105 -76
- package/src/plugins/search/utils.js +50 -0
- package/src/plugins/search/view.js +51 -69
- package/src/plugins/translate/TranslationManager.js +164 -0
- package/src/plugins/translate/plugin.translate.js +559 -0
- package/src/plugins/tts/AbstractTTSEngine.js +78 -49
- package/src/plugins/tts/FestivalTTSEngine.js +20 -30
- package/src/plugins/tts/PageChunk.js +117 -23
- package/src/plugins/tts/PageChunkIterator.js +11 -17
- package/src/plugins/tts/WebTTSEngine.js +132 -92
- package/src/plugins/tts/plugin.tts.js +341 -351
- package/src/plugins/tts/utils.js +76 -67
- package/src/plugins/url/UrlPlugin.js +213 -0
- package/src/plugins/{plugin.url.js → url/plugin.url.js} +54 -18
- package/src/util/TextSelectionManager.js +1464 -0
- package/src/util/browserSniffing.js +42 -1
- package/src/util/cache.js +20 -0
- package/src/util/docCookies.js +21 -2
- package/src/util/dom.js +88 -0
- package/src/util/generators.js +89 -0
- package/src/util/lit.js +15 -0
- package/src/util/strings.js +11 -0
- package/.babelrc +0 -12
- package/.dependabot/config.yml +0 -6
- package/.eslintrc.js +0 -50
- package/.gitattributes +0 -2
- package/.github/ISSUE_TEMPLATE/bug.md +0 -32
- package/.github/ISSUE_TEMPLATE/feature-request.md +0 -30
- package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -15
- package/.github/workflows/node.js.yml +0 -37
- package/.github/workflows/npm-publish.yml +0 -47
- package/.testcaferc.json +0 -5
- package/BookReader/BookReader.js +0 -21613
- package/BookReader/BookReader.js.map +0 -1
- package/BookReader/bookreader-component-bundle.js +0 -14497
- package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
- package/BookReader/bookreader-component-bundle.js.map +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/BookReaderDemo.css +0 -41
- package/BookReaderDemo/BookReaderJSAdvanced.js +0 -115
- package/BookReaderDemo/BookReaderJSAutoplay.js +0 -56
- package/BookReaderDemo/BookReaderJSSimple.js +0 -55
- package/BookReaderDemo/IIIFBookReader.js +0 -207
- package/BookReaderDemo/assets/v5/Bookreader-logo-cool-grad.svg +0 -1
- package/BookReaderDemo/assets/v5/Bookreader-logo-flat.svg +0 -1
- package/BookReaderDemo/assets/v5/Bookreader-logo-hex-cool-grad.png +0 -0
- package/BookReaderDemo/assets/v5/Bookreader-logo-hex-flat.png +0 -0
- package/BookReaderDemo/assets/v5/Bookreader-logo-lines.png +0 -0
- package/BookReaderDemo/assets/v5/Bookreader-logo-lines.svg +0 -1
- package/BookReaderDemo/assets/v5/Bookreader-logo-warm.svg +0 -1
- package/BookReaderDemo/assets/v5/bookreader-logo-renders@1x.png +0 -0
- package/BookReaderDemo/assets/v5/bookreader-logo-renders@2x.png +0 -0
- package/BookReaderDemo/assets/v5/bookreader-v5-screenshot.png +0 -0
- package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
- package/BookReaderDemo/demo-advanced.html +0 -33
- package/BookReaderDemo/demo-autoplay.html +0 -38
- package/BookReaderDemo/demo-embed-iframe-src.html +0 -84
- package/BookReaderDemo/demo-embed.html +0 -26
- package/BookReaderDemo/demo-fullscreen-mobile.html +0 -36
- package/BookReaderDemo/demo-fullscreen.html +0 -33
- package/BookReaderDemo/demo-iiif.html +0 -34
- package/BookReaderDemo/demo-iiif.js +0 -26
- package/BookReaderDemo/demo-internetarchive.html +0 -74
- package/BookReaderDemo/demo-multiple.html +0 -43
- package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
- package/BookReaderDemo/demo-preview-pages.html +0 -1092
- package/BookReaderDemo/demo-simple.html +0 -34
- package/BookReaderDemo/demo-vendor-fullscreen.html +0 -36
- package/BookReaderDemo/immersion-1up.html +0 -64
- package/BookReaderDemo/immersion-mode.html +0 -35
- package/BookReaderDemo/toggle_controls.html +0 -53
- package/BookReaderDemo/view_mode.html +0 -39
- package/BookReaderDemo/viewmode-cycle.html +0 -41
- package/CHANGELOG.md +0 -499
- package/CONTRIBUTING.md +0 -7
- package/codecov.yml +0 -17
- package/index.html +0 -31
- package/karma.conf.js +0 -23
- package/screenshot.png +0 -0
- package/scripts/postversion.js +0 -10
- package/scripts/preversion.js +0 -14
- package/scripts/version.js +0 -26
- package/src/BookNavigator/BookModel.js +0 -14
- package/src/BookNavigator/BookNavigator.js +0 -459
- package/src/BookNavigator/assets/book-loader.js +0 -27
- package/src/BookNavigator/assets/icon_checkmark.js +0 -6
- package/src/BookNavigator/assets/icon_close.js +0 -3
- package/src/BookNavigator/assets/icon_sort_ascending.js +0 -5
- package/src/BookNavigator/assets/icon_sort_descending.js +0 -5
- package/src/BookNavigator/assets/icon_sort_neutral.js +0 -5
- package/src/BookNavigator/assets/icon_volumes.js +0 -11
- package/src/BookNavigator/bookmarks/bookmarks-provider.js +0 -53
- package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
- package/src/BookNavigator/downloads/downloads-provider.js +0 -66
- package/src/BookNavigator/search/a-search-result.js +0 -55
- package/src/BookNavigator/volumes/volumes-provider.js +0 -83
- package/src/BookNavigator/volumes/volumes.js +0 -178
- package/src/BookReader/DebugConsole.js +0 -54
- package/src/BookReaderComponent/BookReaderComponent.js +0 -112
- package/src/ItemNavigator/ItemNavigator.js +0 -376
- package/src/ItemNavigator/providers/sharing.js +0 -33
- 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/BookModel.test.js +0 -312
- package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
- package/tests/BookReader/DebugConsole.test.js +0 -25
- package/tests/BookReader/ImageCache.test.js +0 -150
- package/tests/BookReader/Mode1Up.test.js +0 -164
- package/tests/BookReader/Mode2Up.test.js +0 -247
- package/tests/BookReader/Navbar/Navbar.test.js +0 -169
- package/tests/BookReader/PageContainer.test.js +0 -115
- package/tests/BookReader/ReduceSet.test.js +0 -38
- package/tests/BookReader/Toolbar/Toolbar.test.js +0 -26
- package/tests/BookReader/utils/classes.test.js +0 -88
- package/tests/BookReader/utils.test.js +0 -109
- package/tests/BookReader.options.test.js +0 -39
- package/tests/BookReader.test.js +0 -301
- package/tests/e2e/README.md +0 -75
- package/tests/e2e/autoplay.test.js +0 -13
- package/tests/e2e/base.test.js +0 -35
- package/tests/e2e/helpers/base.js +0 -263
- package/tests/e2e/helpers/debug.js +0 -13
- package/tests/e2e/helpers/desktopSearch.js +0 -72
- package/tests/e2e/helpers/mobileSearch.js +0 -85
- package/tests/e2e/helpers/mockSearch.js +0 -93
- package/tests/e2e/helpers/rightToLeft.js +0 -29
- package/tests/e2e/ia-production/ia-prod-base.js +0 -17
- package/tests/e2e/models/BookReader.js +0 -11
- package/tests/e2e/models/Navigation.js +0 -56
- package/tests/e2e/rightToLeft.test.js +0 -20
- package/tests/e2e/viewmode.test.js +0 -37
- package/tests/karma/BookNavigator/book-navigator.test.js +0 -139
- package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +0 -133
- package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +0 -222
- package/tests/karma/BookNavigator/search/search-provider.test.js +0 -23
- package/tests/karma/BookNavigator/search/search-results.test.js +0 -240
- package/tests/karma/BookNavigator/sharing/sharing-provider.test.js +0 -40
- package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
- package/tests/karma/BookNavigator/volumes/volumes-provider.test.js +0 -141
- package/tests/karma/BookNavigator/volumes/volumes.test.js +0 -98
- package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
- package/tests/plugins/plugin.archive_analytics.test.js +0 -23
- package/tests/plugins/plugin.autoplay.test.js +0 -52
- package/tests/plugins/plugin.chapters.test.js +0 -130
- package/tests/plugins/plugin.iframe.test.js +0 -42
- package/tests/plugins/plugin.mobile_nav.test.js +0 -66
- package/tests/plugins/plugin.resume.test.js +0 -98
- package/tests/plugins/plugin.text_selection.test.js +0 -203
- package/tests/plugins/plugin.url.test.js +0 -129
- package/tests/plugins/plugin.vendor-fullscreen.test.js +0 -65
- package/tests/plugins/search/plugin.search.test.js +0 -173
- package/tests/plugins/search/plugin.search.view.test.js +0 -106
- package/tests/plugins/tts/AbstractTTSEngine.test.js +0 -153
- package/tests/plugins/tts/FestivalTTSEngine.test.js +0 -59
- package/tests/plugins/tts/PageChunk.test.js +0 -57
- package/tests/plugins/tts/PageChunkIterator.test.js +0 -179
- package/tests/plugins/tts/WebTTSEngine.test.js +0 -126
- package/tests/plugins/tts/utils.test.js +0 -133
- package/tests/util/browserSniffing.test.js +0 -56
- package/tests/util/docCookies.test.js +0 -15
- package/tests/util/strings.test.js +0 -63
- package/tests/utils.js +0 -42
- package/webpack.config.js +0 -86
|
@@ -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([[326],{5703:function(e,t,n){var r=n(1354),o=n.n(r),i=n(6314),a=n.n(i)()(o());a.push([e.id,'.BRtextLayer,.BRtranslateLayer{z-index:2;position:absolute;top:0;left:0;color:rgba(0,0,0,0);transform-origin:0 0;pointer-events:none;cursor:text}.BRtextLayer{mix-blend-mode:multiply}.BRtranslateLayer{hyphens:auto}.BRparagraphElement{margin:0;cursor:text;font-family:Georgia,serif;line-height:0}.BRlineElement{pointer-events:all;white-space:nowrap;display:inline-block}.BRtextLayer[dir=ltr] .BRlineElement{margin-right:100%}.BRtextLayer[dir=rtl] .BRlineElement{margin-left:100%}.BRwordElement::selection,.BRspace::selection,.BRparagraphElement::selection,.BRparagraphElement br::selection{background:hsla(210,74%,62%,.4)}.BRwordElement::-moz-selection,.BRspace::-moz-selection,.BRparagraphElement::-moz-selection,.BRparagraphElement br::-moz-selection{background:hsla(210,74%,62%,.4);color:rgba(0,0,0,0)}.BRtranslateLayer ::selection{background:hsla(210,74%,62%,.4)}.BRtranslateLayer ::-moz-selection{background:hsla(210,74%,62%,.4)}.BRparagraphElement br{visibility:hidden}.BRwordElement--hyphen::after{content:"-"}.BRsmooth-zooming .BRpagecontainer:not(.BRpagecontainer--hasSelection):not(:has(hypothesis-highlight)):not(:has(.BRhighlight)) .BRtextLayer,.BRscrolling-active .BRpagecontainer:not(.BRpagecontainer--hasSelection):not(:has(hypothesis-highlight)):not(:has(.BRhighlight)) .BRtextLayer{display:none}.BRmode1up .BRpagecontainer:not(.BRpage-visible) .BRtextLayer{display:none}.BRpagecontainer img{-webkit-user-select:none;-moz-user-select:none;user-select:none}.BRtextLayer:has([_istranslated="1"],msreadoutspan){mix-blend-mode:normal}.BRwordElement[_istranslated="1"],.BRwordElement[_msttexthash],.BRspace[_istranslated="1"],.BRspace[_msttexthash]{color:#000;letter-spacing:unset !important}.BRlineElement:has([_istranslated="1"],[_msttexthash]){background:rgba(248,237,192,.8);backdrop-filter:blur(8px);color:#000;text-align:justify;width:inherit}.BRlineElement:has([_istranslated="1"],[_msttexthash]):not(:nth-last-child(2)){text-align-last:justify}.BRlineElement[_msttexthash]{word-spacing:unset !important}.BRtranslateLayer .BRparagraphElement{pointer-events:auto;overflow-y:auto;background:rgba(248,237,192,.8);backdrop-filter:blur(8px);color:#000;line-height:1em;text-align:justify}.BRtranslateLayer .BRparagraphElement .BRlineElement{white-space:break-spaces;display:inline-block}.BRtextLayer.showingTranslation{display:none}.BRtranslateLayer .BRparagraphElement.BRtranslateHidden{display:none}.br-select-menu__root{display:none;color:#fff;color-scheme:dark;padding:2px;overflow:hidden;opacity:1;transition:opacity .2s;gap:5px}.br-select-menu__root[open]{display:flex}.br-select-menu__root[showextended]{display:block;gap:0px;background-color:#333;border-radius:10px}@starting-style{.br-select-menu__root{opacity:0}}.br-select-menu__root--scrolling{opacity:0;pointer-events:none}.br-select-menu__option{--iconWidth: 15px;--iconHeight: 15px;--iconFillColor: currentColor;background:rgba(0,0,0,0);display:flex;align-items:center;border-radius:25px;font-family:inherit;color:inherit;border:0;cursor:pointer;text-wrap:nowrap;background-color:#333;position:relative}@media(pointer: coarse)and (hover: none){.br-select-menu__option{padding:4px 8px}#br-select-more .br-select-menu__option{padding:4px}}.br-select-menu__option:hover:after{position:absolute;left:2px;right:2px;top:2px;bottom:2px;content:"";pointer-events:none;background-color:rgba(255,255,255,.1);border-radius:23px}.br-select-menu__root[showextended] .br-select-menu__option{width:100%}.br-select-menu__root[showextended] .br-select-menu__option:hover:after{border-radius:8px}.br-select-menu__icon{display:block;flex-shrink:0;width:17px;height:17px;padding:2px}.br-select-menu__label{margin-left:4px;font-size:12px;margin-right:4px}@media(hover: hover){.br-select-menu__option{padding:4px}.br-select-menu__label{width:0px;margin:0;opacity:0;interpolate-size:allow-keywords;transition:width .2s}.br-select-menu__root:hover .br-select-menu__label{width:auto;margin:0 4px;opacity:1}}.BRtextLayer .BRhighlight{background-color:#ff0;pointer-events:all;color:rgba(0,0,0,0)}@keyframes highlightTargetFlash{to{background-color:hsl(45,80%,66%)}}.BRtextLayer .BRhighlight--target-text,.BRtextLayer ::target-text{background-color:hsla(45,80%,66%,.6);color:rgba(0,0,0,0);animation:highlightTargetFlash 600ms 1 reverse}',"",{version:3,sources:["webpack://./src/css/_TextSelection.scss"],names:[],mappings:"AAAA,+BACI,SAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,mBAAA,CACA,oBAAA,CAEA,mBAAA,CACA,WAAA,CAGJ,aACI,uBAAA,CAGJ,kBACI,YAAA,CAGJ,oBACI,QAAA,CACA,WAAA,CACA,yBAAA,CACA,aAAA,CAGJ,eACI,kBAAA,CACA,kBAAA,CACA,oBAAA,CASA,qCAAA,iBAAA,CACA,qCAAA,gBAAA,CAMA,+GACI,+BAAA,CAGJ,mIACI,+BAAA,CACA,mBAAA,CAIR,8BACI,+BAAA,CAGJ,mCACI,+BAAA,CAGJ,uBACI,iBAAA,CAKJ,8BACI,WAAA,CAMA,0RACI,YAAA,CAKR,8DACI,YAAA,CAIJ,qBACI,wBAAA,CACA,qBAAA,CACA,gBAAA,CAOJ,oDACI,qBAAA,CAIA,kHACI,UAAA,CACA,+BAAA,CAIR,uDACI,+BAAA,CACA,yBAAA,CACA,UAAA,CACA,kBAAA,CACA,aAAA,CACA,+EACI,uBAAA,CAIR,6BACI,6BAAA,CAGJ,sCACI,mBAAA,CACA,eAAA,CACA,+BAAA,CACA,yBAAA,CACA,UAAA,CACA,eAAA,CACA,kBAAA,CAGJ,qDACI,wBAAA,CACA,oBAAA,CAGJ,gCACI,YAAA,CAGJ,wDACI,YAAA,CAMJ,sBACE,YAAA,CACA,UAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,sBAAA,CACA,OAAA,CAEA,4BACE,YAAA,CAGF,oCACE,aAAA,CACA,OAAA,CACA,qBAAA,CACA,kBAnB0B,CAsB5B,gBArBF,sBAsBI,SAAA,CAAA,CAGJ,iCACE,SAAA,CACA,mBAAA,CAGF,wBACE,iBAAA,CACA,kBAAA,CACA,6BAAA,CACA,wBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAvCmB,CAwCnB,mBAAA,CACA,aAAA,CACA,QAAA,CACA,cAAA,CACA,gBAAA,CACA,qBAAA,CACA,iBAAA,CAEA,yCAhBF,wBAiBI,eAAA,CACA,wCACI,WAAA,CAAA,CAIN,oCACE,iBAAA,CACA,QAAA,CACA,SAAA,CACA,OAAA,CACA,UAAA,CACA,UAAA,CACA,mBAAA,CACA,qCAAA,CACA,kBAAA,CAGF,4DACI,UAAA,CACA,wEACE,iBAAA,CAKR,sBACE,aAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CAGF,uBACE,eAAA,CACA,cAAA,CACA,gBAAA,CAGF,qBACI,wBACI,WAAA,CAEJ,uBACI,SAAA,CACA,QAAA,CACA,SAAA,CACA,+BAAA,CACA,oBAAA,CAEJ,mDACI,UAAA,CACA,YAAA,CACA,SAAA,CAAA,CAIR,0BACI,qBAAA,CACA,kBAAA,CACA,mBAAA,CAGJ,gCACE,GAAA,gCAAA,CAAA,CAIF,kEAEI,oCAAA,CACA,mBAAA,CACA,8CAAA",sourcesContent:['.BRtextLayer, .BRtranslateLayer {\n z-index: 2;\n position: absolute;\n top: 0;\n left: 0;\n color: transparent;\n transform-origin: 0 0;\n // Make it so right-clicking on "blank" part of text layer sends events to the image (for saving)\n pointer-events: none;\n cursor: text;\n}\n\n.BRtextLayer {\n mix-blend-mode: multiply;\n}\n\n.BRtranslateLayer {\n hyphens: auto;\n}\n\n.BRparagraphElement {\n margin: 0;\n cursor: text;\n font-family: Georgia, serif;\n line-height: 0;\n}\n\n.BRlineElement {\n pointer-events: all;\n white-space: nowrap;\n display: inline-block;\n\n // We use display: inline-block, otherwise this causes every line\n // to have newlines at the end in safari. BUT, since they\'re inline,\n // if the OCR has to short line in the same paragraph, they can wrap\n // and one can go onto the other. This adds an arbitrary margin to\n // the right of each line, forcing things to wrap.\n // See eg https://www-drini.archive.org/details/countofmontecris00duma_7/page/261/mode/2up\n // Page 261, second last line on the page.\n .BRtextLayer[dir=ltr] & { margin-right: 100%; }\n .BRtextLayer[dir=rtl] & { margin-left: 100%; }\n}\n\n// Highlight colors for text selection layer\n.BRwordElement, .BRspace, .BRparagraphElement, .BRparagraphElement br {\n // these 2 properties do not work if joined\n &::selection {\n background: hsla(210, 74%, 62%, 0.4);\n }\n\n &::-moz-selection {\n background: hsla(210, 74%, 62%, 0.4);\n color:transparent;\n }\n}\n\n.BRtranslateLayer ::selection {\n background: hsla(210, 74%, 62%, 0.4);\n}\n\n.BRtranslateLayer ::-moz-selection {\n background: hsla(210, 74%, 62%, 0.4);\n}\n\n.BRparagraphElement br {\n visibility: hidden;\n}\n\n// Use CSS pseudo-elements to render the hyphens. This makes them\n// not selectable, so copy/pasting text doesn\'t include them.\n.BRwordElement--hyphen::after {\n content: "-";\n}\n\n// Hide text layer for performance during zooming & scrolling\n.BRsmooth-zooming, .BRscrolling-active {\n // If the text layer has an annotation, don\'t hide it\n .BRpagecontainer:not(.BRpagecontainer--hasSelection):not(:has(hypothesis-highlight)):not(:has(.BRhighlight)) .BRtextLayer {\n display: none;\n }\n}\n\n// Hide text selection layers of off-screen pages\n.BRmode1up .BRpagecontainer:not(.BRpage-visible) .BRtextLayer {\n display: none;\n}\n\n// Makes page image unselectable\n.BRpagecontainer img {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n\n// These are Microsoft Edge specific fixed to make some of the\n// browsers features work well. These are for the in-place\n// translation.\n.BRtextLayer:has([_istranslated="1"], msreadoutspan) {\n mix-blend-mode: normal;\n}\n\n.BRwordElement, .BRspace {\n &[_istranslated="1"], &[_msttexthash] {\n color: black;\n letter-spacing: unset !important;\n }\n}\n\n.BRlineElement:has([_istranslated="1"], [_msttexthash]) {\n background: rgba(248, 237, 192, 0.8);\n backdrop-filter: blur(8px);\n color: black;\n text-align: justify;\n width: inherit;\n &:not(:nth-last-child(2)) {\n text-align-last: justify;\n }\n}\n\n.BRlineElement[_msttexthash] {\n word-spacing: unset !important;\n}\n\n.BRtranslateLayer .BRparagraphElement {\n pointer-events: auto;\n overflow-y: auto;\n background: rgba(248, 237, 192, 0.8);\n backdrop-filter: blur(8px);\n color:black;\n line-height: 1em;\n text-align: justify;\n}\n\n.BRtranslateLayer .BRparagraphElement .BRlineElement {\n white-space: break-spaces;\n display: inline-block;\n}\n\n.BRtextLayer.showingTranslation {\n display: none;\n}\n\n.BRtranslateLayer .BRparagraphElement.BRtranslateHidden {\n display: none;\n}\n\n\n$select-menu-radius: 25px;\n$select-menu-extended-radius: 10px;\n.br-select-menu__root {\n display: none;\n color: white;\n color-scheme: dark;\n padding: 2px;\n overflow: hidden;\n opacity: 1;\n transition: opacity 0.2s;\n gap: 5px;\n\n &[open] {\n display: flex;\n }\n\n &[showextended] {\n display: block;\n gap: 0px;\n background-color: #333;\n border-radius: $select-menu-extended-radius;\n }\n\n @starting-style {\n opacity: 0;\n }\n}\n.br-select-menu__root--scrolling {\n opacity: 0;\n pointer-events: none;\n}\n\n.br-select-menu__option {\n --iconWidth: 15px;\n --iconHeight: 15px;\n --iconFillColor: currentColor;\n background: transparent;\n display: flex;\n align-items: center;\n border-radius: $select-menu-radius;\n font-family: inherit;\n color: inherit;\n border: 0;\n cursor: pointer;\n text-wrap: nowrap;\n background-color: #333;\n position: relative;\n\n @media (pointer: coarse) and (hover: none) {\n padding: 4px 8px;\n #br-select-more & {\n padding: 4px;\n }\n }\n\n &:hover:after {\n position: absolute;\n left: 2px;\n right: 2px;\n top: 2px;\n bottom: 2px;\n content: "";\n pointer-events: none;\n background-color: rgba(255, 255, 255, 0.1);\n border-radius: calc($select-menu-radius - 2px);\n }\n\n .br-select-menu__root[showextended] & {\n width:100%;\n &:hover:after {\n border-radius: calc($select-menu-extended-radius - 2px);\n }\n }\n}\n\n.br-select-menu__icon {\n display: block;\n flex-shrink: 0;\n width: 17px;\n height: 17px;\n padding: 2px;\n}\n\n.br-select-menu__label {\n margin-left: 4px;\n font-size: 12px;\n margin-right: 4px;\n}\n\n@media (hover: hover) {\n .br-select-menu__option {\n padding: 4px;\n }\n .br-select-menu__label {\n width: 0px;\n margin: 0;\n opacity: 0;\n interpolate-size: allow-keywords;\n transition: width 0.2s;\n }\n .br-select-menu__root:hover .br-select-menu__label {\n width: auto;\n margin: 0 4px;\n opacity: 1;\n }\n}\n\n.BRtextLayer .BRhighlight {\n background-color: yellow;\n pointer-events: all;\n color: transparent;\n}\n\n@keyframes highlightTargetFlash {\n to { background-color: hsla(45, 80%, 66%, 1); }\n}\n\n// Style URI TextFragments, eg ?text=example\n.BRtextLayer .BRhighlight--target-text, .BRtextLayer ::target-text {\n // Similar colour to the default one used in Safari, Firefox. Note Chrome uses a purple colour\n background-color: hsla(45, 80%, 66%, 0.6);\n color: transparent;\n animation: highlightTargetFlash 600ms 1 reverse;\n}\n'],sourceRoot:""}]),t.A=a.toString()},6314:function(e){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n}).join("")},t.i=function(e,n,r,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var l=0;l<this.length;l++){var s=this[l][0];null!=s&&(a[s]=!0)}for(var c=0;c<e.length;c++){var u=[].concat(e[c]);r&&a[u[0]]||(void 0!==i&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},1354:function(e){e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),i="/*# ".concat(o," */");return[t].concat([i]).join("\n")}return[t].join("\n")}},706:function(e,t,n){var r=n(350).PROPER,o=n(9039),i=n(7452);e.exports=function(e){return o(function(){return!!i[e]()||"
"!=="
"[e]()||r&&i[e].name!==e})}},2762:function(e,t,n){var r=n(6518),o=n(3802).Bq;r({target:"String",proto:!0,forced:n(706)("trim")},{trim:function(){return o(this)}})},1041:function(e,t,n){function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}n.d(t,{S:function(){return a}}),n(2675),n(9463),n(2259),n(5700),n(3792),n(9572),n(2892),n(9085),n(6099),n(7764),n(2953);var a=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.br=t,this.options},(t=[{key:"setup",value:function(e){this.options=Object.assign({},this.options,e)}},{key:"init",value:function(){}},{key:"_configurePageContainer",value:function(e){}},{key:"_configureToolbar",value:function(e){}},{key:"_bindNavigationHandlers",value:function(){}},{key:"extendNavBar",value:function(e){}}])&&o(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}()},296:function(e,t,n){n(2675),n(9463),n(2259),n(5700),n(8706),n(2008),n(113),n(3418),n(3792),n(8598),n(2062),n(4782),n(6910),n(9572),n(2010),n(6033),n(2892),n(9085),n(875),n(6099),n(8459),n(3362),n(825),n(7495),n(8781),n(9449),n(7764),n(5746),n(2762),n(2953),n(8408);var r=n(4907),o=n(1041),i=n(9073),a=n(4565),l=n(4160),s=n(7279),c=n(1989),u=n(5703),d=n(1669);function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function f(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=g(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw i}}}}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){if(e){if("string"==typeof e)return y(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function v(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var s=r&&r.prototype instanceof l?r:l,c=Object.create(s.prototype);return b(c,"_invoke",function(n,r,o){var i,l,s,c=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,l=0,s=e,h.n=n,a}};function f(n,r){for(l=n,s=r,t=0;!d&&c&&!o&&t<u.length;t++){var o,i=u[t],f=h.p,p=i[2];n>3?(o=p===r)&&(s=i[(l=i[4])?5:(l=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(l=0,h.v=r,h.n=i[1]):f<p&&(o=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,h.n=p,l=0))}if(o||n>1)return a;throw d=!0,r}return function(o,u,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&f(u,p),l=u,s=p;(t=l<2?e:s)||!d;){i||(l?l<3?(l>1&&(h.n=-1),f(l,s)):h.n=s:h.v=s);try{if(c=2,i){if(l||(o="next"),t=i[o]){if(!(t=t.call(i,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,l<2&&(l=0)}else 1===l&&(t=i.return)&&t.call(i),l<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),l=1);i=e}else if((t=(d=h.n<0)?s:n.call(r,h))!==a)break}catch(t){i=e,l=1,s=t}finally{c=1}}return{value:t,done:d}}}(n,o,i),!0),c}var a={};function l(){}function s(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(b(t={},r,function(){return this}),t),d=c.prototype=l.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,b(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return s.prototype=c,b(d,"constructor",c),b(c,"constructor",s),s.displayName="GeneratorFunction",b(c,o,"GeneratorFunction"),b(d),b(d,o,"Generator"),b(d,r,function(){return this}),b(d,"toString",function(){return"[object Generator]"}),(v=function(){return{w:i,m:h}})()}function b(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}b=function(e,t,n,r){function i(t,n){b(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},b(e,t,n,r)}function A(e,t,n,r,o,i,a){try{var l=e[i](a),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,o)}function k(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){A(i,r,o,a,l,"next",e)}function l(e){A(i,r,o,a,l,"throw",e)}a(void 0)})}}function w(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function C(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,T(r.key),r)}}function x(e,t,n){return t&&C(e.prototype,t),n&&C(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function S(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(S=function(){return!!e})()}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function B(e,t){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},B(e,t)}function R(e,t,n){return(t=T(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T(e){var t=function(e){if("object"!=h(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=h(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==h(t)?t:t+""}var _=window.BookReader,j=function(e){function t(e){var n,r,o,i;return w(this,t),R((r=this,i=[e],o=E(o=t),n=function(e,t){if(t&&("object"==h(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(r,S()?Reflect.construct(o,i||[],E(r).constructor):o.apply(r,i))),"options",{enabled:!0,fullDjvuXmlUrl:null,singlePageDjvuXmlUrl:null,jsonp:!1,maxProtectedWords:200}),R(n,"djvuPagesPromise",null),R(n,"pageTextCache",new a.l),R(n,"maxWordRendered",2500),R(n,"_jumpedToHighlight",!1),R(n,"_measurementDocument",void 0),n.rtl="rl"===n.br.pageProgression,n.textSelectionManager=new s.bg(".BRtextLayer",n.br,{selectionElement:[".BRwordElement",".BRspace","mark"]},n.options.maxProtectedWords),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&B(e,t)}(t,e),x(t,[{key:"init",value:function(){var e=this;if(this.options.enabled){var t=document.createElement("iframe");t.setAttribute("aria-hidden","true"),t.tabIndex=-1,t.style.cssText="position:fixed; top:-99999px; left:-99999px; width:2000px; height:4000px; border:0; visibility:hidden;",document.body.appendChild(t),this._measurementDocument=t.contentDocument;var n=this._measurementDocument.createElement("style");n.textContent=u.A,this._measurementDocument.head.appendChild(n),this.br.on("pageVisible",function(t,n){var r=n.pageContainerEl,o=r.querySelector(".BRtextLayer");o&&e.br.trigger("textLayerVisible",{pageContainerEl:r,textLayer:o})}),this.loadData(),this.textSelectionManager.init();var r=new URLSearchParams(location.search).get("text");r&&(this.br.targetTextFragment=s.yc.fromString(r,this.br.book,this.br.firstIndex),this.initTextFragment())}}},{key:"initTextFragment",value:(g=k(v().m(function e(){var t,n,r,o=this;return v().w(function(e){for(;;)switch(e.n){case 0:if(!(r=this.br.options.verifyTextFragment)){e.n=2;break}return e.n=1,this.br.options.verifyTextFragment(this.br.targetTextFragment);case 1:r=!e.v;case 2:if(!r){e.n=3;break}return e.a(2);case 3:if(t=this.br.targetTextFragment,this.br.on("textLayerVisible",function(){var e=k(v().m(function e(n,r){var i,a,l;return v().w(function(e){for(;;)switch(e.n){case 0:i=r.pageContainerEl,a=r.textLayer,t.pageIndex===parseFloat(i.getAttribute("data-index"))&&(l=(0,s.lB)(a,t,"BRhighlight--target-text"),o._jumpedToHighlight||(o.br.scrollIntoView(l[0],{behavior:"smooth",block:"center"}),o._jumpedToHighlight=!0));case 1:return e.a(2)}},e)}));return function(t,n){return e.apply(this,arguments)}}()),(n=this.br.book.getPage(this.br.targetTextFragment.pageIndex)).isViewable){e.n=5;break}return e.n=4,this.br.requestPage(n);case 4:this.br.jumpToIndex(n.index,{ariaLive:!0,allowUnviewable:!0});case 5:return e.a(2)}},e,this)})),function(){return g.apply(this,arguments)})},{key:"_configurePageContainer",value:function(e){var t;return this.options.enabled&&this.br.mode!==this.br.constModeThumb&&null!==(t=e.page)&&void 0!==t&&t.isViewable&&this.createTextLayer(e),e}},{key:"loadData",value:function(){this.options.singlePageDjvuXmlUrl||(this.djvuPagesPromise=d.ajax({type:"GET",url:(0,i.gT)(this.options.fullDjvuXmlUrl,this.br.options.vars),dataType:this.options.jsonp?"jsonp":"html",cache:!0,xhrFields:{withCredentials:this.br.protected},error:function(e){}}).then(function(e){try{var t=d.parseXML(e);return t&&d(t).find("OBJECT")}catch(e){return}}))}},{key:"getPageText",value:(o=k(v().m(function e(t){var n,r,o,a,l;return v().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.options.singlePageDjvuXmlUrl){e.n=5;break}if(!(n=this.pageTextCache.entries.find(function(e){return e.index==t}))){e.n=1;break}return e.a(2,n.response);case 1:return e.n=2,d.ajax({type:"GET",url:(0,i.gT)(this.options.singlePageDjvuXmlUrl,this.br.options.vars,{pageIndex:t}),dataType:this.options.jsonp?"jsonp":"html",cache:!0,xhrFields:{withCredentials:this.br.protected},error:function(e){}});case 2:return r=e.v,e.p=3,o=d.parseXML(r),a=o&&d(o).find("OBJECT")[0],this.pageTextCache.add({index:t,response:a}),e.a(2,a);case 4:return e.p=4,e.v,e.a(2,void 0);case 5:return e.n=6,this.djvuPagesPromise;case 6:if(!(l=e.v)){e.n=7;break}return e.a(2,l[t]);case 7:return e.a(2)}},e,this,[[3,4]])})),function(e){return o.apply(this,arguments)})},{key:"createTextLayer",value:(n=k(v().m(function e(t){var n,o,i,a,s,u,h,f,g,y,b,A,k,w,C,x,S,E,B,R,T,_,j,I,P,N=this;return v().w(function(e){for(;;)switch(e.n){case 0:if(n=t.page.index,!(o=t.$container).find(".BRtextLayer").length){e.n=1;break}return e.a(2);case 1:return e.n=2,this.getPageText(n);case 2:if(i=e.v){e.n=3;break}return e.a(2);case 3:if(d(i).find("WORD").filter(function(e,t){var n=m(t.getAttribute("coords").split(",").map(parseFloat),4),r=n[0],o=n[3];if(0==r&&0==o)return console.error("Found invalid ocr word coordinates"),!0}).remove(),L(i),!((a=d(i).find("WORD").length)>this.maxWordRendered)){e.n=4;break}return console.log("Page ".concat(n," has too many words (").concat(a," > ").concat(this.maxWordRendered,"). Not rendering text layer.")),e.a(2);case 4:return s=(0,r.Ql)(t.page,"BRtextLayer"),e.n=5,Promise.resolve();case 5:u=parseFloat(t.$container[0].style.width)/t.page.width,h=parseFloat(t.$container[0].style.height)/t.page.height,s.style.transform="scale(".concat(u,", ").concat(h,")"),(f=(0,l.YH)(this.br.options.bookLanguage))&&s.setAttribute("lang",f),s.setAttribute("dir",this.rtl?"rtl":"ltr"),g=d(i).find("PARAGRAPH[coords]").toArray(),y=g.map(function(e){var t=N.renderParagraph(e);return s.appendChild(t),t}),b=O(s,".BRparagraphElement",this._measurementDocument),A=0,k=p((0,c.yU)(g,y));try{for(k.s();!(w=k.n()).done;)C=m(w.value,2),x=C[0],S=C[1],E=d(x).attr("coords").split(",").map(parseFloat),B=b.get(S),R=m(E,4),T=R[0],_=R[2],j=R[3],I=this.rtl?B.right-_:T-B.left,P=j-(B.top+A),S.style[this.rtl?"marginRight":"marginLeft"]="".concat(I,"px"),S.style.marginTop="".concat(P,"px"),A+=P,s.appendChild(S),s.appendChild(document.createTextNode("\n"))}catch(e){k.e(e)}finally{k.f()}o.append(s),this.textSelectionManager.stopPageFlip(o),this.br.trigger("textLayerRendered",{pageIndex:n,pageContainer:t}),o.hasClass("BRpage-visible")&&this.br.trigger("textLayerVisible",{pageContainerEl:o[0],textLayer:s});case 6:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"renderParagraph",value:function(e){var t=document.createElement("p");t.classList.add("BRparagraphElement"),e.getAttribute("x-role")&&(t.classList.add("ocr-role-header-footer"),t.ariaHidden="true");var n=m(d(e).attr("coords").split(",").map(parseFloat),4),r=n[0],o=n[1],i=n[2],a=n[3],l=[],s=d(e).find("LINE[coords]").toArray();if(!s.length)return t;var u,h=p((0,c.pp)((0,c.Px)(s,I)));try{for(h.s();!(u=h.n()).done;){var g=m(u.value,3),y=g[0],v=g[1],b=g[2],A=v.ocrElement==s[s.length-1],k=document.createElement("span");k.classList.add("BRlineElement");var w,C=p(v.words.entries());try{for(C.s();!(w=C.n()).done;){var x=m(w.value,2),S=x[0],E=x[1],B=m(d(E).attr("coords").split(",").map(parseFloat),4),R=B[1],T=B[2],_=B[3],j=R-_;if(l.push(j),0==S&&null!=y&&y.lastWord.textContent.trim().endsWith("-")){var L=m(d((b||y).firstWord).attr("coords").split(",").map(parseFloat),3)[0];d(E).attr("coords","".concat(L,",").concat(R,",").concat(T,",").concat(_))}var P=document.createElement("span");if(P.setAttribute("class","BRwordElement"),P.textContent=E.textContent.trim(),S>0){var N=document.createElement("span");N.classList.add("BRspace"),N.textContent=" ",N.setAttribute("aria-label"," "),k.append(N),k.appendChild(document.createTextNode(" "))}k.appendChild(P)}}catch(e){C.e(e)}finally{C.f()}var F=v.lastWord.textContent.trim().endsWith("-"),D=k.children[k.children.length-1];F&&!A&&(D.textContent=D.textContent.trim().slice(0,-1),D.classList.add("BRwordElement--hyphen")),t.appendChild(k),A||F||t.appendChild(document.createTextNode(" "))}}catch(e){h.e(e)}finally{h.f()}l.sort(function(e,t){return e-t});var z=l[Math.floor(.85*l.length)]+4;t.style.left="".concat(r,"px"),t.style.top="".concat(a,"px"),t.style.width="".concat(i-r,"px"),t.style.height="".concat(o-a,"px"),t.style.fontSize="".concat(z,"px");var M,q=O(t,".BRwordElement",this._measurementDocument),H=d(e).find("WORD").toArray(),G=t.querySelectorAll(".BRwordElement"),U=p((0,c.yU)(H,G));try{for(U.s();!(M=U.n()).done;){var W=m(M.value,2),K=W[0],J=W[1],$=q.get(J),V=m(d(K).attr("coords").split(",").map(parseFloat),3),X=V[0],Y=V[2]-X;K.textContent.endsWith(" ")&&(Y=Y*(K.textContent.length-1)/K.textContent.length);var Z=Y-$.width;J.style.letterSpacing="".concat(Z/(K.textContent.length-1),"px")}}catch(e){U.e(e)}finally{U.f()}q=O(t,".BRwordElement",this._measurementDocument);var Q,ee=O(t,".BRspace",this._measurementDocument),te=d(e).find("LINE[coords]").toArray(),ne=Array.from(t.querySelectorAll(".BRlineElement")),re=a,oe=p((0,c.yU)(te,ne));try{for(oe.s();!(Q=oe.n()).done;){var ie,ae=m(Q.value,2),le=ae[0],se=ae[1],ce=d(le).find("WORD").toArray(),ue=this.rtl?i:r,de=p((0,c.yU)(ce,se.querySelectorAll(".BRwordElement")));try{for(de.s();!(ie=de.n()).done;){var he=m(ie.value,2),fe=he[0],pe=he[1],me=q.get(pe),ge=m(d(fe).attr("coords").split(",").map(parseFloat),3),ye=ge[0],ve=ge[2],be=this.rtl?-(ve-ue):ye-ue;if(pe.previousElementSibling){var Ae=pe.previousElementSibling;Ae.style.letterSpacing="".concat(be-ee.get(Ae).width,"px")}else pe.style[this.rtl?"paddingRight":"paddingLeft"]="".concat(be,"px");this.rtl?ue-=be+me.width:ue+=be+me.width}}catch(e){de.e(e)}finally{de.f()}var ke=Math.min.apply(Math,f(ce.map(function(e){return parseFloat(d(e).attr("coords").split(",")[3])})))-re;se.previousElementSibling&&(se.previousElementSibling.style.lineHeight="".concat(ke,"px"),re+=ke)}}catch(e){oe.e(e)}finally{oe.f()}return ne[ne.length-1].style.lineHeight="".concat(o-re,"px"),t.appendChild(document.createElement("br")),t}}]);var n,o,g}(o.S);function O(e,t,n){var r={position:e.style.position,visibility:e.style.visibility,top:e.style.top,left:e.style.left,transform:e.style.transform};e.style.position="absolute",e.style.visibility="hidden",e.style.top="0",e.style.left="0",e.style.transform="none",n.body.appendChild(e);var o=new Map(Array.from(e.querySelectorAll(t)).map(function(e){var t=e.getBoundingClientRect();return[e,new P(t.left+n.defaultView.scrollX,t.top+n.defaultView.scrollY,t.width,t.height)]}));return n.body.removeChild(e),Object.assign(e.style,r),document.adoptNode(e),o}function I(e){var t=d(e).find("WORD").toArray();return{ocrElement:e,words:t,firstWord:t[0],lastWord:t[t.length-1]}}function L(e){if(!d(e).attr("coords")&&e.children){var t=d(e).children().toArray();if(0!==t.length){var n,r=p(t);try{for(r.s();!(n=r.n()).done;)L(n.value)}catch(e){r.e(e)}finally{r.f()}var o,i=[],a=p(t);try{for(a.s();!(o=a.n()).done;){var l=o.value;d(l).attr("coords")&&i.push(d(l).attr("coords").split(",").map(parseFloat))}}catch(e){a.e(e)}finally{a.f()}var s=function(e){var t,n=1/0,r=-1/0,o=-1/0,i=1/0,a=p(e);try{for(a.s();!(t=a.n()).done;){var l=m(t.value,4),s=l[0],c=l[1],u=l[2],d=l[3];n=Math.min(n,s),r=Math.max(r,c),o=Math.max(o,u),i=Math.min(i,d)}}catch(e){a.e(e)}finally{a.f()}return[n,r,o,i]}(i);Math.abs(s[0])!=1/0&&d(e).attr("coords",s.join(","))}}}null==_||_.registerPlugin("textSelection",j);var P=function(){return x(function e(t,n,r,o){w(this,e),this.x=t,this.y=n,this.width=r,this.height=o},[{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}}])}()},4160:function(e,t,n){n.d(t,{$x:function(){return m},ND:function(){return p},YH:function(){return d},_4:function(){return h}}),n(2675),n(9463),n(2259),n(3418),n(4423),n(3792),n(4782),n(2010),n(875),n(6099),n(3362),n(7495),n(8781),n(1699),n(7764),n(2953);var r=[],o={},i={},a={};[["Serbian","српски језик","sr","srp","srp"],["Romanian, Moldavian, Moldovan","Română","ro","ron","rum"],["Sichuan Yi, Nuosu","ꆈꌠ꒿ Nuosuhxop","ii","iii","iii"],["Tahitian","Reo Tahiti","ty","tah","tah"],["Tagalog","Wikang Tagalog","tl","tgl","tgl"],["Yiddish","ייִדיש","yi","yid","yid"],["Akan","Akan","ak","aka","aka"],["Malay","Bahasa Melayu, بهاس ملايو","ms","msa","may"],["Arabic","العربية","ar","ara","ara"],["Norwegian","Norsk","no","nor","nor"],["Ojibwa","ᐊᓂᔑᓈᐯᒧᐎᓐ","oj","oji","oji"],["Fulah","Fulfulde, Pulaar, Pular","ff","ful","ful"],["Persian","فارسی","fa","fas","per"],["Albanian","Shqip","sq","sqi","alb"],["Aymara","aymar aru","ay","aym","aym"],["Azerbaijani","azərbaycan dili","az","aze","aze"],["Chinese","中文 (Zhōngwén), 汉语, 漢語","zh","zho","chi"],["Cree","ᓀᐦᐃᔭᐍᐏᐣ","cr","cre","cre"],["Estonian","eesti, eesti keel","et","est","est"],["Guaraní","Avañe'ẽ","gn","grn","grn"],["Inupiaq","Iñupiaq, Iñupiatun","ik","ipk","ipk"],["Inuktitut","ᐃᓄᒃᑎᑐᑦ","iu","iku","iku"],["Kanuri","Kanuri","kr","kau","kau"],["Komi","коми кыв","kv","kom","kom"],["Kongo","Kikongo","kg","kon","kon"],["Kurdish","Kurdî, أۇزبېك","ku","kur","kur"],["Latvian","latviešu valoda","lv","lav","lav"],["Malagasy","fiteny malagasy","mg","mlg","mlg"],["Mongolian","Монгол хэл","mn","mon","mon"],["Oromo","Afaan Oromoo","om","orm","orm"],["Pashto, Pushto","پښتو","ps","pus","pus"],["Quechua","Runa Simi, Kichwa","qu","que","que"],["Sardinian","sardu","sc","srd","srd"],["Swahili","Kiswahili","sw","swa","swa"],["Uzbek","Oʻzbek, Ўзбек, ","uz","uzb","uzb"],["Zhuang, Chuang","Saɯ cueŋƅ, Saw cuengh","za","zha","zha"],["Bislama","Bislama","bi","bis","bis"],["Norwegian Bokmål","Norsk Bokmål","nb","nob","nob"],["Norwegian Nynorsk","Norsk Nynorsk","nn","nno","nno"],["Indonesian","Bahasa Indonesia","id","ind","ind"],["Twi","Twi","tw","twi","twi"],["Esperanto","Esperanto","eo","epo","epo"],["Interlingua","Interlingua","ia","ina","ina"],["Interlingue","Originally called Occidental; then Interlingue after WWII","ie","ile","ile"],["Ido","Ido","io","ido","ido"],["Volapük","Volapük","vo","vol","vol"],["Bihari languages","भोजपुरी","bh","bih","bih"],["Hebrew (modern)","עברית","he","heb","heb"],["Sanskrit","संस्कृतम्","sa","san","san"],["Church Slavic, Church Slavonic, Old Church Slavonic, Old Slavonic, Old Bulgarian","ѩзыкъ словѣньскъ","cu","chu","chu"],["Pali","पाऴि","pi","pli","pli"],["Avestan","avesta","ae","ave","ave"],["Latin","latine, lingua latina","la","lat","lat"],["Armenian","Հայերեն","hy","hye","arm"],["Swati","SiSwati","ss","ssw","ssw"],["Tibetan","བོད་ཡིག","bo","bod","tib"],["South Ndebele","isiNdebele","nr","nbl","nbl"],["Slovene","Slovenski Jezik, Slovenščina","sl","slv","slv"],["Oriya","ଓଡ଼ିଆ","or","ori","ori"],["North Ndebele","isiNdebele","nd","nde","nde"],["Nauru","Dorerin Naoero","na","nau","nau"],["Maori","te reo Māori","mi","mri","mao"],["Marathi","मराठी","mr","mar","mar"],["Luba-Katanga","Kiluba","lu","lub","lub"],["Rundi","Ikirundi","rn","run","run"],["Central Khmer","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ","km","khm","khm"],["Western Frisian","Frysk","fy","fry","fry"],["Bengali","বাংলা","bn","ben","ben"],["Avaric","авар мацӀ, магӀарул мацӀ","av","ava","ava"],["Abkhazian","аҧсуа бызшәа, аҧсшәа","ab","abk","abk"],["Afar","Afaraf","aa","aar","aar"],["Afrikaans","Afrikaans","af","afr","afr"],["Amharic","አማርኛ","am","amh","amh"],["Aragonese","aragonés","an","arg","arg"],["Assamese","অসমীয়া","as","asm","asm"],["Bambara","bamanankan","bm","bam","bam"],["Bashkir","башҡорт теле","ba","bak","bak"],["Basque","euskara, euskera","eu","eus","baq"],["Belarusian","беларуская мова","be","bel","bel"],["Bosnian","bosanski jezik","bs","bos","bos"],["Breton","brezhoneg","br","bre","bre"],["Bulgarian","български език","bg","bul","bul"],["Burmese","ဗမာစာ","my","mya","bur"],["Catalan, Valencian","català, valencià","ca","cat","cat"],["Chamorro","Chamoru","ch","cha","cha"],["Chechen","нохчийн мотт","ce","che","che"],["Chichewa, Chewa, Nyanja","chiCheŵa, chinyanja","ny","nya","nya"],["Chuvash","чӑваш чӗлхи","cv","chv","chv"],["Cornish","Kernewek","kw","cor","cor"],["Corsican","corsu, lingua corsa","co","cos","cos"],["Croatian","hrvatski jezik","hr","hrv","hrv"],["Czech","čeština, český jazyk","cs","ces","cze"],["Danish","dansk","da","dan","dan"],["Divehi, Dhivehi, Maldivian","ދިވެހި","dv","div","div"],["Dutch, Flemish","Nederlands, Vlaams","nl","nld","dut"],["Dzongkha","རྫོང་ཁ","dz","dzo","dzo"],["English","English","en","eng","eng"],["Ewe","Eʋegbe","ee","ewe","ewe"],["Faroese","føroyskt","fo","fao","fao"],["Fijian","vosa Vakaviti","fj","fij","fij"],["Finnish","suomi, suomen kieli","fi","fin","fin"],["French","français, langue française","fr","fra","fre"],["Galician","Galego","gl","glg","glg"],["Georgian","ქართული","ka","kat","geo"],["German","Deutsch","de","deu","ger"],["Greek (modern)","ελληνικά","el","ell","gre"],["Gujarati","ગુજરાતી","gu","guj","guj"],["Haitian, Haitian Creole","Kreyòl ayisyen","ht","hat","hat"],["Hausa","(Hausa) هَوُسَ","ha","hau","hau"],["Herero","Otjiherero","hz","her","her"],["Hindi","हिन्दी, हिंदी","hi","hin","hin"],["Hiri Motu","Hiri Motu","ho","hmo","hmo"],["Hungarian","magyar","hu","hun","hun"],["Irish","Gaeilge","ga","gle","gle"],["Igbo","Asụsụ Igbo","ig","ibo","ibo"],["Icelandic","Íslenska","is","isl","ice"],["Italian","Italiano","it","ita","ita"],["Japanese","日本語 (にほんご)","ja","jpn","jpn"],["Javanese","ꦧꦱꦗꦮ, Basa Jawa","jv","jav","jav"],["Kalaallisut, Greenlandic","kalaallisut, kalaallit oqaasii","kl","kal","kal"],["Kannada","ಕನ್ನಡ","kn","kan","kan"],["Kashmiri","कश्मीरी, كشميري","ks","kas","kas"],["Kazakh","қазақ тілі","kk","kaz","kaz"],["Kikuyu, Gikuyu","Gĩkũyũ","ki","kik","kik"],["Kinyarwanda","Ikinyarwanda","rw","kin","kin"],["Kirghiz, Kyrgyz","Кыргызча, Кыргыз тили","ky","kir","kir"],["Korean","한국어","ko","kor","kor"],["Kuanyama, Kwanyama","Kuanyama","kj","kua","kua"],["Luxembourgish, Letzeburgesch","Lëtzebuergesch","lb","ltz","ltz"],["Ganda","Luganda","lg","lug","lug"],["Limburgan, Limburger, Limburgish","Limburgs","li","lim","lim"],["Lingala","Lingála","ln","lin","lin"],["Lao","ພາສາລາວ","lo","lao","lao"],["Lithuanian","lietuvių kalba","lt","lit","lit"],["Manx","Gaelg, Gailck","gv","glv","glv"],["Macedonian","македонски јазик","mk","mkd","mac"],["Malayalam","മലയാളം","ml","mal","mal"],["Maltese","Malti","mt","mlt","mlt"],["Marshallese","Kajin M̧ajeļ","mh","mah","mah"],["Navajo, Navaho","Diné bizaad","nv","nav","nav"],["Nepali","नेपाली","ne","nep","nep"],["Ndonga","Owambo","ng","ndo","ndo"],["Occitan","occitan, lenga d'òc","oc","oci","oci"],["Ossetian, Ossetic","ирон æвзаг","os","oss","oss"],["Panjabi, Punjabi","ਪੰਜਾਬੀ","pa","pan","pan"],["Polish","język polski, polszczyzna","pl","pol","pol"],["Portuguese","Português","pt","por","por"],["Romansh","Rumantsch Grischun","rm","roh","roh"],["Russian","русский","ru","rus","rus"],["Sindhi","सिन्धी, سنڌي، سندھی","sd","snd","snd"],["Northern Sami","Davvisámegiella","se","sme","sme"],["Samoan","gagana fa'a Samoa","sm","smo","smo"],["Sango","yângâ tî sängö","sg","sag","sag"],["Gaelic, Scottish Gaelic","Gàidhlig","gd","gla","gla"],["Shona","chiShona","sn","sna","sna"],["Sinhala, Sinhalese","සිංහල","si","sin","sin"],["Slovak","Slovenčina, Slovenský Jazyk","sk","slk","slo"],["Somali","Soomaaliga, af Soomaali","so","som","som"],["Southern Sotho","Sesotho","st","sot","sot"],["Spanish, Castilian","Español","es","spa","spa"],["Sundanese","Basa Sunda","su","sun","sun"],["Swedish","Svenska","sv","swe","swe"],["Tamil","தமிழ்","ta","tam","tam"],["Telugu","తెలుగు","te","tel","tel"],["Tajik","тоҷикӣ, toçikī, تاجیکی","tg","tgk","tgk"],["Thai","ไทย","th","tha","tha"],["Tigrinya","ትግርኛ","ti","tir","tir"],["Turkmen","Türkmen, Түркмен","tk","tuk","tuk"],["Tswana","Setswana","tn","tsn","tsn"],["Tongan (Tonga Islands)","Faka Tonga","to","ton","ton"],["Turkish","Türkçe","tr","tur","tur"],["Tsonga","Xitsonga","ts","tso","tso"],["Tatar","татар теле, tatar tele","tt","tat","tat"],["Uighur, Uyghur","ئۇيغۇرچە, Uyghurche","ug","uig","uig"],["Ukrainian","Українська","uk","ukr","ukr"],["Urdu","اردو","ur","urd","urd"],["Venda","Tshivenḓa","ve","ven","ven"],["Vietnamese","Tiếng Việt","vi","vie","vie"],["Walloon","Walon","wa","wln","wln"],["Welsh","Cymraeg","cy","cym","wel"],["Wolof","Wollof","wo","wol","wol"],["Xhosa","isiXhosa","xh","xho","xho"],["Yoruba","Yorùbá","yo","yor","yor"],["Zulu","isiZulu","zu","zul","zul"]].forEach(e=>{var t={name:e[0],nativeName:e[1],iso639_1:e[2],iso639_2T:e[3],iso639_2B:e[4]};o[e[2]]=i[e[3]]=a[e[4]]=t,r.push(t)});var l=r;function s(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw i}}}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var u={"zh-hans":"中文 (Zhōngwén)"};function d(e){if(!e)return null;if(e=e.toLocaleLowerCase(),u[e])return e;var t=f(e,["iso639_1"])||f(e,["iso639_2T"])||f(e,["iso639_2B","name","nativeName"]);return t?t.iso639_1:null}function h(e){if(!e)return null;if(e=e.toLocaleLowerCase(),u[e])return u[e];var t=f(e,["iso639_1"])||f(e,["iso639_2T"])||f(e,["iso639_2B","name","nativeName"]);return null!=t&&t.nativeName?t.nativeName.split(", ")[0]:null}function f(e,t){if(!e)return null;e=e.toLowerCase();var n,r=s(l);try{for(r.s();!(n=r.n()).done;){var o,i=n.value,a=s(t);try{for(a.s();!(o=a.n()).done;){var c;if(null!==(c=i[o.value])&&void 0!==c&&c.toLowerCase().split(", ").includes(e))return i}}catch(e){a.e(e)}finally{a.f()}}}catch(e){r.e(e)}finally{r.f()}return null}function p(){try{return!!window.localStorage}catch(e){return!1}}var m=-1!=location.toString().indexOf("_debugReadAloud=true")},7279:function(e,t,n){n.d(t,{yc:function(){return _e},bg:function(){return ge},lB:function(){return Be}});var r=function(){return n(6518)},o=function(){return n(655)},i=n.cw(function(e,t){var r=n(3724),o=n(2106),i=n(5213),a=n(7979);r&&!i.correct&&(o(RegExp.prototype,"flags",{configurable:!0,get:a}),i.correct=!0)}),a=n.cw(function(e,t){var i=r(),a=n(9565),l=n(7476),s=n(3994),c=n(2529),u=n(7750),d=n(8014),h=o(),f=n(8551),p=n(34),m=n(2195),g=n(788),y=n(1034),v=n(5966),b=n(6840),A=n(9039),k=n(8227),w=n(2293),C=n(7829),x=n(6682),S=n(1181),E=n(6395),B=k("matchAll"),R="RegExp String",T=R+" Iterator",_=S.set,j=S.getterFor(T),O=RegExp.prototype,I=TypeError,L=l("".indexOf),P=l("".matchAll),N=!!P&&!A(function(){P("a",/./)}),F=s(function(e,t,n,r){_(this,{type:T,regexp:e,string:t,global:n,unicode:r,done:!1})},R,function(){var e=j(this);if(e.done)return c(void 0,!0);var t=e.regexp,n=e.string,r=x(t,n);return null===r?(e.done=!0,c(void 0,!0)):e.global?(""===h(r[0])&&(t.lastIndex=C(n,d(t.lastIndex),e.unicode)),c(r,!1)):(e.done=!0,c(r,!1))}),D=function(e){var t,n,r,o=f(this),i=h(e),a=w(o,RegExp),l=h(y(o));return t=new a(a===RegExp?o.source:o,l),n=!!~L(l,"g"),r=!!~L(l,"u")||!!~L(l,"v"),t.lastIndex=d(o.lastIndex),new F(t,i,n,r)};i({target:"String",proto:!0,forced:N},{matchAll:function(e){var t,n,r,o,i=u(this);if(p(e)){if(g(e)&&(t=h(u(y(e))),!~L(t,"g")))throw new I("`.matchAll` does not allow non-global regexes");if(N)return P(i,e);if(void 0===(r=v(e,B))&&E&&"RegExp"===m(e)&&(r=D),r)return a(r,e,i)}else if(N)return P(i,e);return n=h(i),o=new RegExp(e,"g"),E?a(D,o,n):o[B](n)}}),E||B in O||b(O,B,D)}),l=n.cw(function(e,t){var i=r(),a=n(9504),l=n(5397),s=n(8981),c=o(),u=n(6198),d=a([].push),h=a([].join);i({target:"String",stat:!0},{raw:function(e){var t=l(s(e).raw),n=u(t);if(!n)return"";for(var r=arguments.length,o=[],i=0;;){if(d(o,c(t[i++])),i===n)return h(o,"");i<r&&d(o,c(arguments[i]))}}})}),s=n.cw(function(e,t){a()});n(2675),n(9463),n(2259),n(5700),n(8125),n(8706),n(2008),n(113),n(3418),n(4423),n(3792),n(8598),n(2062),n(4782),n(4554),n(739),n(9572),n(2010),n(4731),n(479),n(2892),n(9085),n(2811),n(3851),n(875),n(9432),n(6099),n(8459),n(3362),n(825),n(888),n(4864),n(7495),i(),n(8781),n(1699),n(7764),n(1761),l(),n(5440),n(5746),n(2762),s(),n(3500),n(2953),n(8408);var c=n(9073),u=n(1669);function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function h(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,p(r.key),r)}}function f(e,t,n){return(t=p(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e){var t=function(e){if("object"!=d(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=d(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==d(t)?t:t+""}var m,g,y,v,b,A,k,w,C,x,S,E,B,R,T,_,j,O=function(){return e=function e(t,n){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),f(this,"selecting",!1),f(this,"startedInSelector",!1),f(this,"target",null),f(this,"lastKnownFocusNode",null),f(this,"_onSelectionChange",function(){var e=window.getSelection();if(e){var t=function(e){if(!e.isCollapsed)return!1;for(var t=0;t<e.rangeCount;t++)if(!e.getRangeAt(t).collapsed)return!1;return!0}(e);if(!r.selecting&&e.toString()){var n=u(e.anchorNode).closest(r.selector)[0];if(!n)return;r.target=n,r.selecting=!0,r.lastKnownFocusNode=e.focusNode,r.handler("started",r.target)}r.selecting&&r.lastKnownFocusNode!=e.focusNode&&e.toString()&&!t&&(r.lastKnownFocusNode=e.focusNode,r.handler("changed",r.target)),!r.selecting||!t&&e.toString()&&u(e.anchorNode).closest(r.selector)[0]||(r.selecting=!1,r.lastKnownFocusNode=null,r.handler("cleared",r.target))}}),this.selector=t,this.handler=n},(t=[{key:"attach",value:function(){document.addEventListener("selectionchange",this._onSelectionChange)}},{key:"detach",value:function(){document.removeEventListener("selectionchange",this._onSelectionChange)}}])&&h(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}(),I=n(8004),L=n(6205),P=n(9696),N=n(4535),F=(n(90),n(8918),n(6090),n(7583)),D=n(1989),z=n(1669);function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function q(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ne(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw i}}}}function H(e,t,n,r,o,i,a){try{var l=e[i](a),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,o)}function G(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){H(i,r,o,a,l,"next",e)}function l(e){H(i,r,o,a,l,"throw",e)}a(void 0)})}}function U(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function W(e,t,n){return t=ae(t),function(e,t){if(t&&("object"==M(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,K()?Reflect.construct(t,n||[],ae(e).constructor):t.apply(e,n))}function K(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(K=function(){return!!e})()}function J(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&$(e,t)}function $(e,t){return $=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},$(e,t)}function V(e,t,n,r){var o=X();if(r)for(var i=0;i<r.length;i++)o=r[i](o);var a=t(function(e){o.initializeInstanceElements(e,l.elements)},n),l=o.decorateClass(function(e){for(var t=[],n=function(e){return"method"===e.kind&&e.key===i.key&&e.placement===i.placement},r=0;r<e.length;r++){var o,i=e[r];if("method"===i.kind&&(o=t.find(n)))if(ee(i.descriptor)||ee(o.descriptor)){if(Q(i)||Q(o))throw new ReferenceError("Duplicated methods ("+i.key+") can't be decorated.");o.descriptor=i.descriptor}else{if(Q(i)){if(Q(o))throw new ReferenceError("Decorators can't be placed on different accessors with for the same property ("+i.key+").");o.decorators=i.decorators}Z(i,o)}else t.push(i)}return t}(a.d.map(Y)),e);return o.initializeClassElements(a.F,l.elements),o.runClassFinishers(a.F,l.finishers)}function X(){X=function(){return e};var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(r){t.forEach(function(t){var o=t.placement;if(t.kind===r&&("static"===o||"prototype"===o)){var i="static"===o?e:n;this.defineClassElement(i,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var r=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===r?void 0:r.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],r=[],o={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,o)},this),e.forEach(function(e){if(!Q(e))return n.push(e);var t=this.decorateElement(e,o);n.push(t.element),n.push.apply(n,t.extras),r.push.apply(r,t.finishers)},this),!t)return{elements:n,finishers:r};var i=this.decorateConstructor(n,t);return r.push.apply(r,i.finishers),i.finishers=r,i},addElementPlacement:function(e,t,n){var r=t[e.placement];if(!n&&-1!==r.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");r.push(e.key)},decorateElement:function(e,t){for(var n=[],r=[],o=e.decorators,i=o.length-1;i>=0;i--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var l=this.fromElementDescriptor(e),s=this.toElementFinisherExtras((0,o[i])(l)||l);e=s.element,this.addElementPlacement(e,t),s.finisher&&r.push(s.finisher);var c=s.extras;if(c){for(var u=0;u<c.length;u++)this.addElementPlacement(c[u],t);n.push.apply(n,c)}}return{element:e,finishers:r,extras:n}},decorateConstructor:function(e,t){for(var n=[],r=t.length-1;r>=0;r--){var o=this.fromClassDescriptor(e),i=this.toClassDescriptor((0,t[r])(o)||o);if(void 0!==i.finisher&&n.push(i.finisher),void 0!==i.elements){e=i.elements;for(var a=0;a<e.length-1;a++)for(var l=a+1;l<e.length;l++)if(e[a].key===e[l].key&&e[a].placement===e[l].placement)throw new TypeError("Duplicated element ("+e[a].key+")")}}return{elements:e,finishers:n}},fromElementDescriptor:function(e){var t={kind:e.kind,key:e.key,placement:e.placement,descriptor:e.descriptor};return Object.defineProperty(t,Symbol.toStringTag,{value:"Descriptor",configurable:!0}),"field"===e.kind&&(t.initializer=e.initializer),t},toElementDescriptors:function(e){if(void 0!==e)return(t=e,function(e){if(Array.isArray(e))return e}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||ne(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map(function(e){var t=this.toElementDescriptor(e);return this.disallowProperty(e,"finisher","An element descriptor"),this.disallowProperty(e,"extras","An element descriptor"),t},this);var t},toElementDescriptor:function(e){var t=e.kind+"";if("method"!==t&&"field"!==t)throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "'+t+'"');var n=pe(e.key),r=e.placement+"";if("static"!==r&&"prototype"!==r&&"own"!==r)throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "'+r+'"');var o=e.descriptor;this.disallowProperty(e,"elements","An element descriptor");var i={kind:t,key:n,placement:r,descriptor:Object.assign({},o)};return"field"!==t?this.disallowProperty(e,"initializer","A method descriptor"):(this.disallowProperty(o,"get","The property descriptor of a field descriptor"),this.disallowProperty(o,"set","The property descriptor of a field descriptor"),this.disallowProperty(o,"value","The property descriptor of a field descriptor"),i.initializer=e.initializer),i},toElementFinisherExtras:function(e){return{element:this.toElementDescriptor(e),finisher:te(e,"finisher"),extras:this.toElementDescriptors(e.extras)}},fromClassDescriptor:function(e){var t={kind:"class",elements:e.map(this.fromElementDescriptor,this)};return Object.defineProperty(t,Symbol.toStringTag,{value:"Descriptor",configurable:!0}),t},toClassDescriptor:function(e){var t=e.kind+"";if("class"!==t)throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "'+t+'"');this.disallowProperty(e,"key","A class descriptor"),this.disallowProperty(e,"placement","A class descriptor"),this.disallowProperty(e,"descriptor","A class descriptor"),this.disallowProperty(e,"initializer","A class descriptor"),this.disallowProperty(e,"extras","A class descriptor");var n=te(e,"finisher");return{elements:this.toElementDescriptors(e.elements),finisher:n}},runClassFinishers:function(e,t){for(var n=0;n<t.length;n++){var r=(0,t[n])(e);if(void 0!==r){if("function"!=typeof r)throw new TypeError("Finishers must return a constructor.");e=r}}return e},disallowProperty:function(e,t,n){if(void 0!==e[t])throw new TypeError(n+" can't have a ."+t+" property.")}};return e}function Y(e){var t,n=pe(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function Z(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Q(e){return e.decorators&&e.decorators.length}function ee(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function te(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function ne(e,t){if(e){if("string"==typeof e)return re(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?re(e,t):void 0}}function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function oe(e,t,n,r){var o=ie(ae(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof o?function(e){return o.apply(n,e)}:o}function ie(){return ie="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=ae(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},ie.apply(null,arguments)}function ae(e){return ae=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ae(e)}function le(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(M(e)+" is not iterable")}function se(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,r,o,i){var s=r&&r.prototype instanceof l?r:l,c=Object.create(s.prototype);return ce(c,"_invoke",function(n,r,o){var i,l,s,c=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,l=0,s=e,h.n=n,a}};function f(n,r){for(l=n,s=r,t=0;!d&&c&&!o&&t<u.length;t++){var o,i=u[t],f=h.p,p=i[2];n>3?(o=p===r)&&(s=i[(l=i[4])?5:(l=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(l=0,h.v=r,h.n=i[1]):f<p&&(o=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,h.n=p,l=0))}if(o||n>1)return a;throw d=!0,r}return function(o,u,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&f(u,p),l=u,s=p;(t=l<2?e:s)||!d;){i||(l?l<3?(l>1&&(h.n=-1),f(l,s)):h.n=s:h.v=s);try{if(c=2,i){if(l||(o="next"),t=i[o]){if(!(t=t.call(i,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,l<2&&(l=0)}else 1===l&&(t=i.return)&&t.call(i),l<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),l=1);i=e}else if((t=(d=h.n<0)?s:n.call(r,h))!==a)break}catch(t){i=e,l=1,s=t}finally{c=1}}return{value:t,done:d}}}(n,o,i),!0),c}var a={};function l(){}function s(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(ce(t={},r,function(){return this}),t),d=c.prototype=l.prototype=Object.create(u);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,ce(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return s.prototype=c,ce(d,"constructor",c),ce(c,"constructor",s),s.displayName="GeneratorFunction",ce(c,o,"GeneratorFunction"),ce(d),ce(d,o,"Generator"),ce(d,r,function(){return this}),ce(d,"toString",function(){return"[object Generator]"}),(se=function(){return{w:i,m:h}})()}function ce(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ce=function(e,t,n,r){function i(t,n){ce(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},ce(e,t,n,r)}function ue(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function de(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,pe(r.key),r)}}function he(e,t,n){return t&&de(e.prototype,t),n&&de(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function fe(e,t,n){return(t=pe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pe(e){var t=function(e){if("object"!=M(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=M(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==M(t)?t:t+""}var me="BRhighlightStorage",ge=function(){return he(function e(t,n,r,o){var i=this,a=r.selectionElement;ue(this,e),fe(this,"options",{maxProtectedWords:200}),fe(this,"selectMenu",void 0),fe(this,"_onSelectionChange",function(e,t){if("started"===e)i.textSelectingMode(t);else if("cleared"===e)i.defaultMode(t);else if("changed"!==e)throw new Error("Unknown type ".concat(e))}),fe(this,"_limitSelection",function(){var e=window.getSelection();if(e.rangeCount){var t=e.getRangeAt(0),n=!!t.startContainer.parentElement.closest(".BRcontainer"),r=!!t.endContainer.parentElement.closest(".BRcontainer");if(n||r)if(n&&r){var o=(0,D.eU)((0,D.nC)(ye(t,"element"),function(e){return e.classList.contains(i.selectionElement[0].replace(".",""))}),i.options.maxProtectedWords-1);if(o&&t.endContainer.parentNode!=o){var a=document.createRange();a.setStart(t.startContainer,t.startOffset),a.setEnd(o.firstChild,o.textContent.length),e.removeAllRanges(),e.addRange(a)}}else e.removeAllRanges()}}),this.layer=t,this.br=n,this.selectionElement=a,this.selectionObserver=new O(this.layer,this._onSelectionChange),this.options.maxProtectedWords=o||200,this.selectMenu=new ve(n),this.selectMenu.className="br-select-menu__root"},[{key:"selectMenuEnabled",get:function(){var e,t;return(null===(e=this.br.plugins.experiments)||void 0===e?void 0:e.isEnabled("copyLinkToHighlight"))||(null===(t=this.br.plugins.experiments)||void 0===t?void 0:t.isEnabled("annotateHighlight"))}},{key:"init",value:function(){var e=this;this.attach(),new O(this.layer,function(t){var n,r;"started"==t&&(null===(n=e.br.plugins.archiveAnalytics)||void 0===n||n.sendEvent("BookReader","SelectStart"),e.br.refs.$br.find(".BRpagecontainer--hasSelection").removeClass("BRpagecontainer--hasSelection"),z(window.getSelection().anchorNode).closest(".BRpagecontainer").addClass("BRpagecontainer--hasSelection"),e.mouseIsDown||e.showSelectMenu()),"changed"==t&&!e.mouseIsDown&&null!==(r=window.getSelection())&&void 0!==r&&r.toString()&&e.showSelectMenu(),"cleared"==t&&e.hideSelectMenu()}).attach()}},{key:"attach",value:function(){var e=this;this.selectionObserver.attach(),this.br.protected&&(document.addEventListener("selectionchange",this._limitSelection),z(document.body).on("contextmenu dragstart copy",function(t){var n=document.getSelection();if(null!=n&&n.toString()&&z(e.layer).toArray().some(function(e){return n.containsNode(e,!0)}))return t.preventDefault(),!1}))}},{key:"detach",value:function(){this.selectionObserver.detach(),this.br.protected&&document.removeEventListener("selectionchange",this._limitSelection)}},{key:"interceptCopy",value:function(e){e[0].addEventListener("copy",function(e){var t=document.getSelection();e.clipboardData.setData("text/plain",t.toString()),e.preventDefault()})}},{key:"stopPageFlip",value:function(e){var t=this,n=e.find(this.layer);n.length&&(n.each(function(e,n){return t.defaultMode(n)}),this.br.protected||this.interceptCopy(e))}},{key:"defaultMode",value:function(e){var t=this,n=z(e).closest(".BRpagecontainer");e.style.pointerEvents="none",n.find("img").css("pointer-events","auto"),z(e).off(".textSelectPluginHandler");var r=this.mouseIsDown,o=this.mouseIsDown;r&&(e.style.pointerEvents="auto"),z(e).on("mousedown.textSelectPluginHandler",function(e){t.mouseIsDown=!0,z(e.target).is(t.selectionElement.join(", "))&&e.stopPropagation()}),z(e).on("mouseup.textSelectPluginHandler",function(n){t.mouseIsDown=!1,e.style.pointerEvents="none",o&&(o=!1,n.stopPropagation())})}},{key:"textSelectingMode",value:function(e){var t=this,n=z(e).closest(".BRpagecontainer");e.style.pointerEvents="all",n.find("img").css("pointer-events","none"),z(e).off(".textSelectPluginHandler"),z(e).on("mousedown.textSelectPluginHandler",function(e){1==e.which&&(t.mouseIsDown=!0,e.stopPropagation())}),z(e).on("mouseup.textSelectPluginHandler",function(e){t.mouseIsDown=!1,1==e.which&&(e.stopPropagation(),t.showSelectMenu())})}},{key:"showSelectMenu",value:function(){this.selectMenuEnabled&&(this.selectMenu.copyLinkToHighlightEnabled=this.br.plugins.experiments.isEnabled("copyLinkToHighlight"),this.selectMenu.highlightAnnotationEnabled=this.br.plugins.experiments.isEnabled("annotateHighlight"),this.selectMenu.isConnected||document.body.append(this.selectMenu),this.selectMenu.open?this.selectMenu.repositionToSelection():this.selectMenu.show())}},{key:"hideSelectMenu",value:function(){this.selectMenu.hide()}}])}();function ye(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"text+element";return se().m(function n(){var r,o,i,a,l;return se().w(function(n){for(;;)switch(n.n){case 0:return l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.children,r=void 0===n||n,s=t.parents,c=void 0===s||s,u=t.siblings,d=void 0===u||u;return se().m(function t(){var n;return se().w(function(t){for(;;)switch(t.n){case 0:if(e!==o){t.n=2;break}if(i=!0,!a(e)){t.n=1;break}return t.n=1,e;case 1:return t.a(2);case 2:if(!a(e)){t.n=3;break}return t.n=3,e;case 3:if(!r||!e.firstChild){t.n=5;break}return t.d(le(l(e.firstChild,{children:!0,parents:!1,siblings:!0})),4);case 4:if(!i){t.n=5;break}return t.a(2);case 5:if(!d){t.n=9;break}n=e.nextSibling;case 6:if(!n){t.n=9;break}return t.d(le(l(n,{children:!0,parents:!1,siblings:!1})),7);case 7:if(!i){t.n=8;break}return t.a(2);case 8:n=n.nextSibling,t.n=6;break;case 9:if(!c||!e.parentNode){t.n=11;break}return t.d(le(l(e.parentNode,{children:!1,parents:!0,siblings:!0})),10);case 10:if(!i){t.n=11;break}return t.a(2);case 11:return t.a(2)}},t)})()},r=e.startContainer,o=e.endContainer,i=!1,a=function(e){return"text"===t&&e.nodeType===Node.TEXT_NODE||"element"===t&&e.nodeType===Node.ELEMENT_NODE||"text+element"===t},n.d(le(l(r)),1);case 1:return n.a(2)}},n)})()}V([(0,P.EM)("br-menu-option")],function(e,t){var n=function(t){function n(){var t;ue(this,n);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return t=W(this,n,[].concat(o)),e(t),t}return J(n,t),he(n)}(t);return{F:n,d:[{kind:"field",decorators:[(0,P.MZ)({type:String})],key:"icon",value:function(){return""}},{kind:"field",decorators:[(0,P.MZ)({type:String})],key:"label",value:function(){return""}},{kind:"field",key:"temporaryText",value:function(){return null}},{kind:"field",decorators:[(0,P.MZ)({type:Number,attribute:"temporary-text-duration"})],key:"temporaryTextDuration",value:function(){return 1200}},{kind:"field",decorators:[(0,P.MZ)({type:String,attribute:"aria-label"})],key:"ariaLabel",value:function(){return""}},{kind:"field",decorators:[(0,P.MZ)({type:Boolean,attribute:"live-label"})],key:"liveLabel",value:function(){return!1}},{kind:"field",decorators:[(0,P.MZ)({type:Boolean})],key:"temporaryTextVisible",value:function(){return!1}},{kind:"field",key:"temporaryTextTimeoutId",value:function(){return null}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"disconnectedCallback",value:function(){null!=this.temporaryTextTimeoutId&&(window.clearTimeout(this.temporaryTextTimeoutId),this.temporaryTextTimeoutId=null),oe(n,"disconnectedCallback",this,3)([])}},{kind:"method",key:"showTemporaryText",value:function(e){var t=this;null!=e&&e.trim()&&(this.temporaryText=e,this.temporaryTextVisible=!0,null!=this.temporaryTextTimeoutId&&window.clearTimeout(this.temporaryTextTimeoutId),this.temporaryTextTimeoutId=window.setTimeout(function(){t.temporaryTextVisible=!1,t.temporaryText=null,t.temporaryTextTimeoutId=null},this.temporaryTextDuration))}},{kind:"method",key:"renderIcon",value:function(){return"share"===this.icon?(0,L.qy)(m||(m=U(['<ia-icon-share class="br-select-menu__icon" aria-hidden="true"></ia-icon-share>']))):"edit-pencil"===this.icon?(0,L.qy)(g||(g=U(['<ia-icon-edit-pencil class="br-select-menu__icon" aria-hidden="true"></ia-icon-edit-pencil>']))):"ellipses"===this.icon?(0,L.qy)(y||(y=U(['<ia-icon-ellipses class="br-select-menu__icon" aria-hidden="true"></ia-icon-ellipses>']))):""}},{kind:"method",key:"render",value:function(){var e,t,n=null!==(e=this.label)&&void 0!==e?e:"",r=!!this.temporaryText,o=r?this.temporaryText:n,i=r&&this.temporaryTextVisible,a=i?o:n,l=null===(t=this.ariaLabel)||void 0===t?void 0:t.trim(),s=l&&l!==a.trim()?l:void 0,c=n.length>=o.length?n:o;return(0,L.qy)(v||(v=U(['\n <button\n type="button"\n class="br-select-menu__option"\n role="menuitem"\n aria-label=',"\n >\n ","\n ","\n </button>\n "])),(0,N.J)(s),this.renderIcon(),r||n?r?(0,L.qy)(b||(b=U(['\n <span class="br-select-menu__label-wrap" style="display: inline-flex; position: relative; align-items: center;">\n <span\n class="br-select-menu__label"\n style="visibility: hidden;"\n aria-hidden="true"\n >','</span>\n <span\n class="br-select-menu__label"\n style="position: absolute; inset: 0; display: inline-flex; align-items: center;"\n aria-live=',"\n >","</span>\n </span>\n "])),c,this.liveLabel?"polite":"off",i?o:n):(0,L.qy)(A||(A=U(['\n <span class="br-select-menu__label" aria-live=',">","</span>\n "])),this.liveLabel?"polite":"off",n):"")}}]}},L.WF);var ve=V([(0,P.EM)("br-select-menu")],function(e,t){var n,r,o=function(t){function n(t){var r;return ue(this,n),r=W(this,n),e(r),r.br=t,r}return J(n,t),he(n)}(t);return{F:o,d:[{kind:"field",key:"br",value:void 0},{kind:"field",decorators:[(0,P.MZ)({type:Boolean,reflect:!0})],key:"showExtended",value:function(){return!1}},{kind:"field",decorators:[(0,P.P)("#br-select-copy-link-option")],key:"copyLinkOption",value:void 0},{kind:"field",decorators:[(0,P.MZ)({type:Boolean,reflect:!0})],key:"open",value:function(){return!1}},{kind:"field",decorators:[(0,P.MZ)({type:Boolean})],key:"copyLinkToHighlightEnabled",value:function(){return!0}},{kind:"field",decorators:[(0,P.MZ)({type:Boolean})],key:"highlightAnnotationEnabled",value:function(){return!0}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"field",key:"_scrollTimeoutId",value:function(){return null}},{kind:"field",key:"_onScroll",value:function(){var e=this;return function(){e.classList.add("br-select-menu__root--scrolling"),null!=e._scrollTimeoutId&&clearTimeout(e._scrollTimeoutId),e._scrollTimeoutId=window.setTimeout(function(){e._scrollTimeoutId=null,e.repositionToSelection(),e.classList.remove("br-select-menu__root--scrolling")},150)}}},{kind:"method",key:"connectedCallback",value:function(){oe(o,"connectedCallback",this,3)([]),this.setAttribute("role","menu"),this.setAttribute("aria-label","Text selection actions"),this.setAttribute("aria-orientation","vertical")}},{kind:"method",key:"disconnectedCallback",value:function(){oe(o,"disconnectedCallback",this,3)([]),window.removeEventListener("scroll",this._onScroll,{capture:!0}),null!=this._scrollTimeoutId&&(clearTimeout(this._scrollTimeoutId),this._scrollTimeoutId=null)}},{kind:"method",key:"renderCopyLinkToHighlightOption",value:function(){return(0,L.qy)(k||(k=U(['\n <br-menu-option\n id="br-select-copy-link-option"\n @mousedown=',"\n @click=",'\n icon="share"\n label="Copy Link to Highlight"\n live-label\n ></br-menu-option>\n '])),function(e){return e.preventDefault()},this.handleCopyLinkToHighlight)}},{kind:"method",key:"renderRemoveOption",value:function(){return(0,L.qy)(w||(w=U(["\n <br-menu-option\n @click=",'\n icon="share"\n label="Delete Highlight and Annotation"\n ></br-menu-option>\n '])),this.handleDeleteHighlight)}},{kind:"method",key:"renderAddAnnotationOption",value:function(){return(0,L.qy)(C||(C=U(["\n <br-menu-option\n @click=",'\n icon="edit-pencil"\n label="Annotate"\n ></br-menu-option>\n '])),this.handleAddAnnotation)}},{kind:"method",key:"renderHighlightOption",value:function(){return(0,L.qy)(x||(x=U(["\n <br-menu-option\n @click=",'\n icon="edit-pencil"\n label="Highlight Selection"\n ></br-menu-option>\n '])),this.handleHighlightSave)}},{kind:"method",key:"renderShowMoreOption",value:function(){return(0,L.qy)(S||(S=U(['\n <br-menu-option\n id="br-select-more"\n @mousedown=',"\n @click=",'\n icon="ellipses"\n aria-label="Show more options"\n ></br-menu-option>\n '])),function(e){return e.preventDefault()},this.toggleExtendedMenu)}},{kind:"method",key:"renderLocalStorageOptions",value:function(){return(0,L.qy)(E||(E=U(["\n <br-menu-option\n @click=",'\n icon="share"\n label="Load Highlights"\n ></br-menu-option>\n <br-menu-option\n @click=','\n icon="share"\n label="Remove Stored Highlights"\n ></br-menu-option>'])),this.renderSavedHighlights,function(){window.localStorage.removeItem(me)})}},{kind:"method",key:"renderDefaultOptions",value:function(){return(0,L.qy)(B||(B=U(["\n ","\n ","\n ","\n "])),this.copyLinkToHighlightEnabled?this.renderCopyLinkToHighlightOption():"",this.highlightAnnotationEnabled&&!this.nodesForRemoval?this.renderHighlightOption():"",this.nodesForRemoval?this.renderRemoveOption():"")}},{kind:"method",key:"renderExtendedOptions",value:function(){return(0,L.qy)(R||(R=U(["\n ","\n ","\n "])),this.renderDefaultOptions(),this.renderLocalStorageOptions())}},{kind:"method",key:"render",value:function(){var e,t=null===(e=this.br.plugins.experiments)||void 0===e?void 0:e.isEnabled("annotateHighlight");return(0,L.qy)(T||(T=U(["\n ","\n ","\n "])),this.showExtended?this.renderExtendedOptions():this.renderDefaultOptions(),!this.showExtended&&t?this.renderShowMoreOption():"")}},{kind:"method",key:"handleCopyLinkToHighlight",value:(r=G(se().m(function e(t){var n,r,o,i,a,l;return se().w(function(e){for(;;)switch(e.n){case 0:if(t.preventDefault(),r=window.getSelection(),o=r.getRangeAt(0),i=this.getNodeTextLayer(o.startContainer)){e.n=1;break}return console.warn("No text layer found for selection"),e.a(2);case 1:return a=_e.fromSelection(r,[i]),l=a.toUrl(),e.n=2,navigator.clipboard.writeText(l);case 2:null===(n=this.copyLinkOption)||void 0===n||n.showTemporaryText("Copied!"),this.br.trigger("copyLinkToHighlight",{textFragment:a,link:l});case 3:return e.a(2)}},e,this)})),function(e){return r.apply(this,arguments)})},{kind:"method",key:"toggleExtendedMenu",value:function(e){e.preventDefault(),this.showExtended=!this.showExtended}},{kind:"method",key:"getNodeTextLayer",value:function(e){var t;if(!e)return null;var n=e instanceof Element?e:e.parentElement;return null!==(t=null==n?void 0:n.closest(".BRtextLayer"))&&void 0!==t?t:null}},{kind:"method",key:"handleHighlightSave",value:function(){var e=window.getSelection(),t="backward"===e.direction?e.focusNode.parentElement:e.anchorNode.parentElement,n=this.getNodeTextLayer(t),r=_e.fromSelection(e,[n.parentElement]);r.uuid="id-".concat(crypto.randomUUID().split("-")[4]);var o=this.loadHighlightsFromLocalStorage();o.push(r),this.saveToLocalStorage(o),this.renderSavedHighlights()}},{kind:"method",key:"handleAddAnnotation",value:function(e){}},{kind:"method",key:"handleDeleteHighlight",value:function(){if(this.nodesForRemoval){var e,t=Te(this.nodesForRemoval[0]),n=q(this.nodesForRemoval);try{for(n.s();!(e=n.n()).done;){var r=e.value,o=r.textContent,i=r.parentElement;i.classList.contains("BRwordElement")||i.classList.contains("BRspace")?(r.remove(),i.textContent=o):console.log("This element did not match removal criteria:",i,r)}}catch(e){n.e(e)}finally{n.f()}this.deleteHighlight(t),this.clearNodesForRemoval()}else console.log("there is nothing to remove")}},{kind:"method",key:"deleteHighlight",value:function(e){for(var t=this.loadHighlightsFromLocalStorage(),n=0;n<t.length;n++)if(t[n].uuid===e)return t.splice(n,1),void this.saveToLocalStorage(t)}},{kind:"method",key:"saveToLocalStorage",value:function(e){window.localStorage.setItem(me,JSON.stringify(e.map(function(e){return e.toJSON()})))}},{kind:"method",key:"loadHighlightsFromLocalStorage",value:function(){return JSON.parse(window.localStorage.getItem(me)||"[]").map(function(e){return _e.fromJSON(e)})}},{kind:"method",key:"renderSavedHighlights",value:function(){var e,t=this,n=q(this.loadHighlightsFromLocalStorage());try{for(n.s();!(e=n.n()).done;){var r=e.value,o=this.br.$(".pagediv".concat(r.pageIndex," .BRtextLayer"))[0];o&&(Be(o,r),z(o).off("mouseup.BRHighlightClick").on("mouseup.BRHighlightClick",function(e){e.target.classList.contains("BRhighlight")&&(e.stopPropagation(),t.handleHighlightClick(e.target))}))}}catch(e){n.e(e)}finally{n.f()}}},{kind:"method",key:"handleHighlightClick",value:function(e){var t=this.getNodeTextLayer(e),n=Te(e),r=t.querySelectorAll(".".concat(n)),o=r[0],i=r[r.length-1],a=document.createRange();a.setStart(o,0),a.setEnd(i,1);var l=window.getSelection();l.removeAllRanges(),l.addRange(a),this.show()}},{kind:"method",key:"repositionToSelection",value:function(){var e=window.getSelection().getRangeAt(0).getBoundingClientRect(),t=(0,F.un)()||(0,F.m0)(),n=(0,F.m0)()?25:(0,F.un)()?15:10,r=t?60:0,o=(e.top<r?e.bottom+r:e.bottom)+n,i=Math.max(10,o)+window.scrollY,a=this.getBoundingClientRect().width,l=document.documentElement.clientWidth,s=a>e.width?e.left+e.width/2-a/2:e.left,c=(0,I.qE)(s,10,l-a-10)+window.scrollX;this.style.top="".concat(i,"px"),this.style.left="".concat(c,"px")}},{kind:"method",key:"show",value:(n=G(se().m(function e(){var t;return se().w(function(e){for(;;)switch(e.n){case 0:if(null===(t=this.br.plugins.translate)||void 0===t||!t.userToggleTranslate){e.n=1;break}return e.a(2);case 1:return this.style.zIndex="1",this.style.position="absolute",this.open=!0,this.classList.remove("br-select-menu__root--scrolling"),window.removeEventListener("scroll",this._onScroll,{capture:!0}),window.addEventListener("scroll",this._onScroll,{capture:!0,passive:!0}),e.n=2,this.updateComplete;case 2:this.repositionToSelection(),this.clearNodesForRemoval();case 3:return e.a(2)}},e,this)})),function(){return n.apply(this,arguments)})},{kind:"method",key:"hide",value:function(){this.open&&(this.showExtended=!1,this.open=!1,window.removeEventListener("scroll",this._onScroll,{capture:!0}),this.clearNodesForRemoval())}},{kind:"field",key:"clearNodesForRemoval",value:function(){var e=this;return function(){e.nodesForRemoval=null,e.requestUpdate()}}}]}},L.WF);function be(e,t){t=t.trim();var n=new RegExp(String.raw(_||(_=U(["^(S+(s+|$)){1,","}"],["^(\\S+(\\s+|$)){1,","}"])),e)),r=t.match(n);return r?r[0].trim():""}function Ae(e,t){t=t.trim();var n=new RegExp(String.raw(j||(j=U(["((^|s+)S+){1,","}s*?$"],["((^|\\s+)\\S+){1,","}\\s*?$"])),e)),r=t.match(n);return r?r[0].trim():""}function ke(e){for(;e.firstChild;)e=e.firstChild;return e}function we(e){for(;e.lastChild;)e=e.lastChild;return e}function Ce(e){return e.replace(/(:|-,|,-|,|\n)/g,function(e){return 1===e.length?" ":" "})}function xe(e,t,n){var r=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).normalize,o=void 0===r?function(e){return e}:r;if(n.length){var i=n[0]===t.startContainer?t.startOffset:0,a=o(Ee(t)),l=o(n[0].textContent.slice(0,i)).length,s=new RegExp(e.source,e.flags.includes("g")?e.flags:"".concat(e.flags,"g")),c=Array.from(a.matchAll(s)).map(function(e){var t=Se(l+e.index,n,!1,{normalize:o}),r=Se(l+e.index+e[0].length,n,!0,{normalize:o});if(t&&r){var i=new Range;return i.setStart(t.node,t.offset),i.setEnd(r.node,r.offset),i}console.warn("Could not find boundary points for regex match, skipping this match",{match:e,start:t,end:r})}).filter(function(e){return!!e});if(null!=c&&c.length)return c}}function Se(e,t,n){var r,o=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).normalize,i=void 0===o?function(e){return e}:o,a=e,l=0,s=q(t);try{for(s.s();!(r=s.n()).done;){var c=r.value,u=c.textContent||"",d=i(u),h=l;if(h+d.length+(n?1:0)>a)for(var f=a-h,p=Math.min(f,u.length),m=n?d.substring(0,f):d.substring(f),g=i(n?u.substring(0,f):u.substring(f)),y=(n?-1:1)*(m.length>g.length?-1:1);p>=0&&p<=u.length;){if(g.length===m.length)return{node:c,offset:p};p+=y,g=i(n?u.substring(0,p):u.substring(p))}l+=d.length}}catch(e){s.e(e)}finally{s.f()}}function Ee(e){var t=Array.from((0,D.nC)(ye(e,"text"),Re)),n=t.map(function(e){return e.textContent}).join(""),r=t[0],o=t[t.length-1];return e.startContainer===r&&(n=n.substring(e.startOffset)),e.endContainer===o&&(n=n.substring(0,n.length-(o.textContent.length-e.endOffset))),n}function Be(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=ke(e),o=we(e),i=new Range;i.setStart(r,0),i.setEnd(o,o.textContent.length);var a=Array.from((0,D.nC)(ye(i,"text"),Re)),l=xe(t.toRegExp({context:!0}),i,a,{normalize:Ce});if(l){var s=Array.from((0,D.nC)(ye(l[0],"text"),Re)),c=xe(t.toRegExp({context:!1}),l[0],s,{normalize:Ce});if(!c)throw new Error("Could not find quote in page");var u=ke(c[0].startContainer),d=ke(c[0].endContainer),h=new Range;if(h.setStart(u,0),h.setEnd(d,d.textContent.length),!u.parentElement.classList.contains("BRhighlight")&&!d.parentElement.classList.contains("BRhighlight"))return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return document.createElement("mark")};if(e.startContainer.nodeType!=Node.TEXT_NODE||e.endContainer.nodeType!=Node.TEXT_NODE)return[];if(e.startContainer===e.endContainer){var n=t();return e.surroundContents(n),[n]}var r=e.startContainer,o=e.cloneRange();o.setEndAfter(r);var i=e.endContainer,a=e.cloneRange();a.setStartBefore(i);var l=[];e.setStartAfter(r),e.setEndBefore(i);for(var s=document.createTreeWalker(e.commonAncestorContainer,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:function(t){return e.intersectsNode(t)?t.nodeType===Node.TEXT_NODE?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP:NodeFilter.FILTER_REJECT}}),c=s.nextNode();c;){if(c.nodeType===Node.TEXT_NODE){var u=t();c.parentNode.insertBefore(u,c),u.appendChild(c),l.push(u)}c=s.nextNode()}var d=t();o.surroundContents(d);var h=t();return a.surroundContents(h),[d].concat(l,[h])}(h,function(){var e=document.createElement("mark");return e.classList.add("BRhighlight"),n&&e.classList.add(n),t.uuid&&e.classList.add(t.uuid),e})}else console.warn("Could not find quote with context in page")}function Re(e){var t;return!(null!==(t=e.previousElementSibling)&&void 0!==t&&t.classList.contains("BRspace"))}function Te(e){if(!e)return null;var t=Array.from(null==e?void 0:e.classList).filter(function(e){if(e.slice(0,2).includes("id"))return e});return t.length?t[0]:null}var _e=function(){function e(t){var n=t.prefix,r=t.quote,o=t.quoteStart,i=t.quoteEnd,a=t.suffix,l=t.pageNumber,s=t.pageIndex,c=t.uuid;ue(this,e),this.prefix=n,this.quote=null!=r?r:null,this.quoteStart=null!=o?o:null,this.quoteEnd=null!=i?i:null,this.suffix=a,this.pageNumber=l,this.pageIndex=s,this.uuid=null!=c?c:null}return he(e,[{key:"toUrl",value:function(){var e=new URLSearchParams(window.location.search);e.set("text",this.toNormalizedString());var t=window.location,n=this.pageNumber||"n".concat(this.pageIndex),r=t.pathname.replace(/((?:^|[#/])page)\/[^/]+/,"$1/".concat(n)),o=t.hash?t.hash.replace(/((?:^|[#/])page)\/[^/]+/,"$1/".concat(n)):"";return"".concat(t.origin).concat(r,"?").concat(e).concat(o)}},{key:"toNormalizedString",value:function(){var e=function(e){return function(e){return e.replace(/\s+/g," ").trim()}(Ce(e).trim())},t=this.pageNumber?this.pageNumber:"n".concat(this.pageIndex);t+=":",this.prefix&&(t+=e(this.prefix),t+="-,");var n=this.quote?e(this.quote):null,r=null;if(n&&n.length>80&&(n.match(/\S+/g)||[]).length>=6){var o=be(3,n),i=Ae(3,n);o&&i&&(r={quoteStart:o,quoteEnd:i})}if(n&&!r)t+=n;else if(r)t+="".concat(r.quoteStart,",").concat(r.quoteEnd);else{if(!this.quoteStart||!this.quoteEnd)throw new Error("Text fragment requires either a quote or quoteStart/quoteEnd");t+="".concat(this.quoteStart,",").concat(this.quoteEnd)}return this.suffix&&(t+=",-",t+=e(this.suffix)),t}},{key:"toRegExp",value:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).context,t=void 0!==e&&e,n=this.quote?[this.quote]:[this.quoteStart,this.quoteEnd];t&&(this.prefix&&(n[0]=this.prefix+" "+n[0]),this.suffix&&(n[n.length-1]=n[n.length-1]+" "+this.suffix));var r=function(e){return RegExp.escape(Ce(e)).replace(/(\\x20)+/g,"\\s+")};return 1===n.length?new RegExp(r(n[0]),"gi"):new RegExp(r(n[0])+"[\\s\\S]*?"+r(n[1]),"gi")}},{key:"toJSON",value:function(){return{prefix:this.prefix,quote:this.quote,quoteStart:this.quoteStart,quoteEnd:this.quoteEnd,suffix:this.suffix,pageNumber:this.pageNumber,pageIndex:this.pageIndex,uuid:this.uuid}}}],[{key:"fromString",value:function(t,n,r){var o=t.match(/^(?:(.*?):)?(?:(.*?)-,)?(.*?)(?:,-(.*))?$/);if(!o)throw new Error("Invalid text fragment format: ".concat(t));var i=o[1]||null,a=o[2]||null,l=(o[3]||"").split(","),s=null,c=null,u=null;if(1===l.length)s=l[0];else{if(2!==l.length)throw new Error("Invalid text fragment quote format: ".concat(t));c=l[0],u=l[1]}var d=o[4]||null,h=i?n.getPageIndex(i):r;if("number"!=typeof h)throw new Error("Could not determine page index for text fragment with page number ".concat(i));if(!(s||c&&u))throw new Error("Invalid text fragment quote format: ".concat(t));return new e({prefix:a,quote:s,quoteStart:c,quoteEnd:u,suffix:d,pageNumber:i,pageIndex:h})}},{key:"fromJSON",value:function(t){return new e(t)}},{key:"fromSelection",value:function(t,n){var r,o,i=t.getRangeAt(0),a=new Range,l=we(i.startContainer),s=ke(i.endContainer);a.setStart(l,0),a.setEnd(s,0==i.endOffset?0:null!==(r=null===(o=s.textContent)||void 0===o?void 0:o.length)&&void 0!==r?r:0);var u=document.createRange();u.setStart(ke(n[0]),0),u.setEnd(l,0);var d=document.createRange();d.setStart(s,a.endOffset);var h=we(n[n.length-1]);d.setEnd(h,Math.max(0,h.textContent.length-1));var f=Ee(u),p=Ae(3,f),m=(0,c.rj)(p),g=Ee(d),y=be(3,g),v=(0,c.rj)(y);m<3&&(y=be(6-m,g),v=(0,c.rj)(y)),v<3&&(p=Ae(6-v,f),m=(0,c.rj)(p));var b=Ee(a),A=l.parentElement.closest(".BRpagecontainer");return new e({quote:b,prefix:p,suffix:y,pageNumber:A.getAttribute("data-page-num"),pageIndex:parseFloat(A.getAttribute("data-index"))})}}])}()},4565:function(e,t,n){function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}n.d(t,{l:function(){return a}}),n(2675),n(9463),n(2259),n(5700),n(3792),n(9572),n(2892),n(6099),n(7764),n(2953);var a=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.maxSize=t,this.entries=[]},(t=[{key:"add",value:function(e){this.entries.length>=this.maxSize&&this.entries.shift(),this.entries.push(e)}}])&&o(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}()},1989:function(e,t,n){function r(){var e,t,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function l(n,r,i,a){var l=r&&r.prototype instanceof c?r:c,u=Object.create(l.prototype);return o(u,"_invoke",function(n,r,o){var i,a,l,c=0,u=o||[],d=!1,h={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,a=0,l=e,h.n=n,s}};function f(n,r){for(a=n,l=r,t=0;!d&&c&&!o&&t<u.length;t++){var o,i=u[t],f=h.p,p=i[2];n>3?(o=p===r)&&(l=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=f&&((o=n<2&&f<i[1])?(a=0,h.v=r,h.n=i[1]):f<p&&(o=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,h.n=p,a=0))}if(o||n>1)return s;throw d=!0,r}return function(o,u,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&f(u,p),a=u,l=p;(t=a<2?e:l)||!d;){i||(a?a<3?(a>1&&(h.n=-1),f(a,l)):h.n=l:h.v=l);try{if(c=2,i){if(a||(o="next"),t=i[o]){if(!(t=t.call(i,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(l=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((t=(d=h.n<0)?l:n.call(r,h))!==s)break}catch(t){i=e,a=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,i,a),!0),u}var s={};function c(){}function u(){}function d(){}t=Object.getPrototypeOf;var h=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),f=d.prototype=c.prototype=Object.create(h);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,a,"GeneratorFunction")),e.prototype=Object.create(f),e}return u.prototype=d,o(f,"constructor",d),o(d,"constructor",u),u.displayName="GeneratorFunction",o(d,a,"GeneratorFunction"),o(f),o(f,a,"Generator"),o(f,i,function(){return this}),o(f,"toString",function(){return"[object Generator]"}),(r=function(){return{w:l,m:p}})()}function o(e,t,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,n,r){function a(t,n){o(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},o(e,t,n,r)}n.d(t,{Px:function(){return f},eU:function(){return d},nC:function(){return h},pp:function(){return p},yU:function(){return m}}),n(2675),n(9463),n(2259),n(3418),n(3792),n(4782),n(2010),n(875),n(6099),n(7495),n(8781),n(7764),n(2953);var i=r().m(h),a=r().m(f),l=r().m(p),s=r().m(m);function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw i}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(e,t){var n,r=0,o=c(e);try{for(o.s();!(n=o.n()).done;){var i=n.value;if(r==t)return i;r++}}catch(e){o.e(e)}finally{o.f()}}function h(e,t){var n,o,a,l;return r().w(function(r){for(;;)switch(r.p=r.n){case 0:n=c(e),r.p=1,n.s();case 2:if((o=n.n()).done){r.n=4;break}if(a=o.value,!t(a)){r.n=3;break}return r.n=3,a;case 3:r.n=2;break;case 4:r.n=6;break;case 5:r.p=5,l=r.v,n.e(l);case 6:return r.p=6,n.f(),r.f(6);case 7:return r.a(2)}},i,null,[[1,5,6,7]])}function f(e,t){var n,o,i,l;return r().w(function(r){for(;;)switch(r.p=r.n){case 0:n=c(e),r.p=1,n.s();case 2:if((o=n.n()).done){r.n=4;break}return i=o.value,r.n=3,t(i);case 3:r.n=2;break;case 4:r.n=6;break;case 5:r.p=5,l=r.v,n.e(l);case 6:return r.p=6,n.f(),r.f(6);case 7:return r.a(2)}},a,null,[[1,5,6,7]])}function p(e){var t,n,o,i,a,s,u;return r().w(function(r){for(;;)switch(r.p=r.n){case 0:t=void 0,n=void 0,o=void 0,i=c(e),r.p=1,i.s();case 2:if((a=i.n()).done){r.n=5;break}if(s=a.value,void 0===n){r.n=3;break}return o=s,r.n=3,[t,n,o];case 3:t=n,n=s,o=void 0;case 4:r.n=2;break;case 5:r.n=7;break;case 6:r.p=6,u=r.v,i.e(u);case 7:return r.p=7,i.f(),r.f(7);case 8:if(void 0===n){r.n=9;break}return r.n=9,[t,n,o];case 9:return r.a(2)}},l,null,[[1,6,7,8]])}function m(e,t){var n,o,i,a;return r().w(function(r){for(;;)switch(r.n){case 0:n=e[Symbol.iterator](),o=t[Symbol.iterator]();case 1:if(i=n.next(),a=o.next(),!i.done||!a.done){r.n=2;break}return r.a(2);case 2:if(!i.done&&!a.done){r.n=3;break}throw new Error("zip: one of the iterators is done");case 3:return r.n=4,[i.value,a.value];case 4:r.n=1;break;case 5:return r.a(2)}},s)}},9073:function(e,t,n){function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function o(e){var t=e.match(/\S+/g);return t?t.length:0}function i(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a;return null==e?void 0:e.replace(/\{\{([^}]*?)\}\}/g,function(e,i){if(!i)return e;var a,l=function(e){if(Array.isArray(e))return e}(a=i.split("|").map(function(e){return e.trim()}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(a)||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.")}(),s=l[0],c=r(l).slice(1);if(!(s in n)&&!(s in t))return e;var u=s in n?n[s]:s in t?t[s]:null;return c.map(function(e){return o[e]}).reduce(function(e,t){return t(e)},u&&u.toString())})}n.d(t,{gT:function(){return i},rj:function(){return o}}),n(2675),n(9463),n(2259),n(3418),n(3792),n(2062),n(2712),n(4782),n(2010),n(6099),n(7495),n(8781),n(7764),n(1761),n(5440),n(2762),n(2953);var a={urlencode:encodeURIComponent}}},function(e){e(296)}]);
|
|
1081
3
|
//# sourceMappingURL=plugin.text_selection.js.map
|