archive/app/assets/javascripts/archive/pdf/viewer.js

21327 lines
735 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @licstart The following is the entire license notice for the
* Javascript code in this page
*
* Copyright 2022 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @licend The above is the entire license notice for the
* Javascript code in this page
*/
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ window.lang = document.getElementsByTagName('html')[0].getAttribute('lang');
/******/ var __webpack_modules__ = ([
/* 0 */,
/* 1 */
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.compatibilityParams = exports.OptionKind = exports.AppOptions = void 0;
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var compatibilityParams = Object.create(null);
exports.compatibilityParams = compatibilityParams;
{
var userAgent = navigator.userAgent || "";
var platform = navigator.platform || "";
var maxTouchPoints = navigator.maxTouchPoints || 1;
var isAndroid = /Android/.test(userAgent);
var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1;
(function checkCanvasSizeLimitation() {
if (isIOS || isAndroid) {
compatibilityParams.maxCanvasPixels = 5242880;
}
})();
}
var OptionKind = {
VIEWER: 0x02,
API: 0x04,
WORKER: 0x08,
PREFERENCE: 0x80
};
exports.OptionKind = OptionKind;
var defaultOptions = {
annotationMode: {
value: 2,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
cursorToolOnLoad: {
value: 0,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
defaultUrl: {
value: "/assets/archive/pdf/compressed.tracemonkey-pldi-09.pdf",
kind: OptionKind.VIEWER
},
defaultZoomValue: {
value: "",
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
disableHistory: {
value: false,
kind: OptionKind.VIEWER
},
disablePageLabels: {
value: false,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
enablePermissions: {
value: false,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
enablePrintAutoRotate: {
value: true,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
enableScripting: {
value: true,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
externalLinkRel: {
value: "noopener noreferrer nofollow",
kind: OptionKind.VIEWER
},
externalLinkTarget: {
value: 0,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
historyUpdateUrl: {
value: false,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
ignoreDestinationZoom: {
value: false,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
imageResourcesPath: {
value: "/assets/archive/pdf/images/",
kind: OptionKind.VIEWER
},
maxCanvasPixels: {
value: 16777216,
compatibility: compatibilityParams.maxCanvasPixels,
kind: OptionKind.VIEWER
},
pdfBugEnabled: {
value: false,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
printResolution: {
value: 300,
kind: OptionKind.VIEWER
},
renderer: {
value: "canvas",
kind: OptionKind.VIEWER
},
sidebarViewOnLoad: {
value: -1,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
scrollModeOnLoad: {
value: -1,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
spreadModeOnLoad: {
value: -1,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
textLayerMode: {
value: 1,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
useOnlyCssZoom: {
value: false,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
viewerCssTheme: {
value: 0,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
viewOnLoad: {
value: 0,
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
},
cMapPacked: {
value: true,
kind: OptionKind.API
},
cMapUrl: {
value: "/assets/archive/pdf/bcmaps/",
kind: OptionKind.API
},
disableAutoFetch: {
value: false,
kind: OptionKind.API + OptionKind.PREFERENCE
},
disableFontFace: {
value: false,
kind: OptionKind.API + OptionKind.PREFERENCE
},
disableRange: {
value: false,
kind: OptionKind.API + OptionKind.PREFERENCE
},
disableStream: {
value: false,
kind: OptionKind.API + OptionKind.PREFERENCE
},
docBaseUrl: {
value: "",
kind: OptionKind.API
},
enableXfa: {
value: true,
kind: OptionKind.API + OptionKind.PREFERENCE
},
fontExtraProperties: {
value: false,
kind: OptionKind.API
},
isEvalSupported: {
value: true,
kind: OptionKind.API
},
maxImageSize: {
value: -1,
kind: OptionKind.API
},
pdfBug: {
value: false,
kind: OptionKind.API
},
standardFontDataUrl: {
value: "/assets/archive/pdf/standard_fonts/",
kind: OptionKind.API
},
verbosity: {
value: 1,
kind: OptionKind.API
},
workerPort: {
value: null,
kind: OptionKind.WORKER
},
workerSrc: {
value: "/assets/archive/pdf/pdf.worker.js",
kind: OptionKind.WORKER
}
};
{
defaultOptions.disablePreferences = {
value: false,
kind: OptionKind.VIEWER
};
defaultOptions.locale = {
value: navigator.language || "en-US",
kind: OptionKind.VIEWER
};
defaultOptions.sandboxBundleSrc = {
value: "/assets/archive/pdf/pdf.sandbox.js",
kind: OptionKind.VIEWER
};
defaultOptions.renderer.kind += OptionKind.PREFERENCE;
}
var userOptions = Object.create(null);
var AppOptions = /*#__PURE__*/function () {
function AppOptions() {
_classCallCheck(this, AppOptions);
throw new Error("Cannot initialize AppOptions.");
}
_createClass(AppOptions, null, [{
key: "get",
value: function get(name) {
var userOption = userOptions[name];
if (userOption !== undefined) {
return userOption;
}
var defaultOption = defaultOptions[name];
if (defaultOption !== undefined) {
var _defaultOption$compat;
return (_defaultOption$compat = defaultOption.compatibility) !== null && _defaultOption$compat !== void 0 ? _defaultOption$compat : defaultOption.value;
}
return undefined;
}
}, {
key: "getAll",
value: function getAll() {
var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
var options = Object.create(null);
for (var name in defaultOptions) {
var _defaultOption$compat2;
var defaultOption = defaultOptions[name];
if (kind) {
if ((kind & defaultOption.kind) === 0) {
continue;
}
if (kind === OptionKind.PREFERENCE) {
var value = defaultOption.value,
valueType = _typeof(value);
if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) {
options[name] = value;
continue;
}
throw new Error("Invalid type for preference: ".concat(name));
}
}
var userOption = userOptions[name];
options[name] = userOption !== undefined ? userOption : (_defaultOption$compat2 = defaultOption.compatibility) !== null && _defaultOption$compat2 !== void 0 ? _defaultOption$compat2 : defaultOption.value;
}
return options;
}
}, {
key: "set",
value: function set(name, value) {
userOptions[name] = value;
}
}, {
key: "setAll",
value: function setAll(options) {
for (var name in options) {
userOptions[name] = options[name];
}
}
}, {
key: "remove",
value: function remove(name) {
delete userOptions[name];
}
}, {
key: "_hasUserOptions",
value: function _hasUserOptions() {
return Object.keys(userOptions).length > 0;
}
}]);
return AppOptions;
}();
exports.AppOptions = AppOptions;
/***/ }),
/* 2 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFViewerApplication = exports.PDFPrintServiceFactory = exports.DefaultExternalServices = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _ui_utils = __webpack_require__(5);
var _app_options = __webpack_require__(1);
var _event_utils = __webpack_require__(6);
var _pdfjsLib = __webpack_require__(7);
var _pdf_cursor_tools = __webpack_require__(8);
var _pdf_link_service = __webpack_require__(10);
var _overlay_manager = __webpack_require__(11);
var _password_prompt = __webpack_require__(12);
var _pdf_attachment_viewer = __webpack_require__(13);
var _pdf_document_properties = __webpack_require__(15);
var _pdf_find_bar = __webpack_require__(16);
var _pdf_find_controller = __webpack_require__(17);
var _pdf_history = __webpack_require__(19);
var _pdf_layer_viewer = __webpack_require__(20);
var _pdf_outline_viewer = __webpack_require__(21);
var _pdf_presentation_mode = __webpack_require__(22);
var _pdf_rendering_queue = __webpack_require__(23);
var _pdf_scripting_manager = __webpack_require__(24);
var _pdf_sidebar = __webpack_require__(25);
var _pdf_sidebar_resizer = __webpack_require__(26);
var _pdf_thumbnail_viewer = __webpack_require__(27);
var _pdf_viewer = __webpack_require__(29);
var _secondary_toolbar = __webpack_require__(38);
var _toolbar = __webpack_require__(39);
var _view_history = __webpack_require__(40);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
var FORCE_PAGES_LOADED_TIMEOUT = 10000;
var WHEEL_ZOOM_DISABLED_TIMEOUT = 1000;
var ViewOnLoad = {
UNKNOWN: -1,
PREVIOUS: 0,
INITIAL: 1
};
var ViewerCssTheme = {
AUTOMATIC: 0,
LIGHT: 1,
DARK: 2
};
var KNOWN_VERSIONS = ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0", "2.1", "2.2", "2.3"];
var KNOWN_GENERATORS = ["acrobat distiller", "acrobat pdfwriter", "adobe livecycle", "adobe pdf library", "adobe photoshop", "ghostscript", "tcpdf", "cairo", "dvipdfm", "dvips", "pdftex", "pdfkit", "itext", "prince", "quarkxpress", "mac os x", "microsoft", "openoffice", "oracle", "luradocument", "pdf-xchange", "antenna house", "aspose.cells", "fpdf"];
var DefaultExternalServices = /*#__PURE__*/function () {
function DefaultExternalServices() {
_classCallCheck(this, DefaultExternalServices);
throw new Error("Cannot initialize DefaultExternalServices.");
}
_createClass(DefaultExternalServices, null, [{
key: "updateFindControlState",
value: function updateFindControlState(data) {}
}, {
key: "updateFindMatchesCount",
value: function updateFindMatchesCount(data) {}
}, {
key: "initPassiveLoading",
value: function initPassiveLoading(callbacks) {}
}, {
key: "reportTelemetry",
value: function reportTelemetry(data) {}
}, {
key: "createDownloadManager",
value: function createDownloadManager(options) {
throw new Error("Not implemented: createDownloadManager");
}
}, {
key: "createPreferences",
value: function createPreferences() {
throw new Error("Not implemented: createPreferences");
}
}, {
key: "createL10n",
value: function createL10n(options) {
throw new Error("Not implemented: createL10n");
}
}, {
key: "createScripting",
value: function createScripting(options) {
throw new Error("Not implemented: createScripting");
}
}, {
key: "supportsIntegratedFind",
get: function get() {
return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false);
}
}, {
key: "supportsDocumentFonts",
get: function get() {
return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true);
}
}, {
key: "supportedMouseWheelZoomModifierKeys",
get: function get() {
return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", {
ctrlKey: true,
metaKey: true
});
}
}, {
key: "isInAutomation",
get: function get() {
return (0, _pdfjsLib.shadow)(this, "isInAutomation", false);
}
}]);
return DefaultExternalServices;
}();
exports.DefaultExternalServices = DefaultExternalServices;
var PDFViewerApplication = {
initialBookmark: document.location.hash.substring(1),
_initializedCapability: (0, _pdfjsLib.createPromiseCapability)(),
appConfig: null,
pdfDocument: null,
pdfLoadingTask: null,
printService: null,
pdfViewer: null,
pdfThumbnailViewer: null,
pdfRenderingQueue: null,
pdfPresentationMode: null,
pdfDocumentProperties: null,
pdfLinkService: null,
pdfHistory: null,
pdfSidebar: null,
pdfSidebarResizer: null,
pdfOutlineViewer: null,
pdfAttachmentViewer: null,
pdfLayerViewer: null,
pdfCursorTools: null,
pdfScriptingManager: null,
store: null,
downloadManager: null,
overlayManager: null,
preferences: null,
toolbar: null,
secondaryToolbar: null,
eventBus: null,
l10n: null,
isInitialViewSet: false,
downloadComplete: false,
isViewerEmbedded: window.parent !== window,
url: "",
baseUrl: "",
_downloadUrl: "",
externalServices: DefaultExternalServices,
_boundEvents: Object.create(null),
documentInfo: null,
metadata: null,
_contentDispositionFilename: null,
_contentLength: null,
_saveInProgress: false,
_docStats: null,
_wheelUnusedTicks: 0,
_idleCallbacks: new Set(),
initialize: function initialize(appConfig) {
var _this = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var appContainer;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_this.preferences = _this.externalServices.createPreferences();
_this.appConfig = appConfig;
_context.next = 4;
return _this._readPreferences();
case 4:
_context.next = 6;
return _this._parseHashParameters();
case 6:
_this._forceCssTheme();
_context.next = 9;
return _this._initializeL10n();
case 9:
if (_this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === _pdf_link_service.LinkTarget.NONE) {
_app_options.AppOptions.set("externalLinkTarget", _pdf_link_service.LinkTarget.TOP);
}
_context.next = 12;
return _this._initializeViewerComponents();
case 12:
_this.bindEvents();
_this.bindWindowEvents();
appContainer = appConfig.appContainer || document.documentElement;
_this.l10n.translate(appContainer).then(function () {
_this.eventBus.dispatch("localized", {
source: _this
});
});
_this._initializedCapability.resolve();
case 17:
case "end":
return _context.stop();
}
}
}, _callee);
}))();
},
_readPreferences: function _readPreferences() {
var _this2 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (!_app_options.AppOptions.get("disablePreferences")) {
_context2.next = 2;
break;
}
return _context2.abrupt("return");
case 2:
if (_app_options.AppOptions._hasUserOptions()) {
console.warn("_readPreferences: The Preferences may override manually set AppOptions; " + 'please use the "disablePreferences"-option in order to prevent that.');
}
_context2.prev = 3;
_context2.t0 = _app_options.AppOptions;
_context2.next = 7;
return _this2.preferences.getAll();
case 7:
_context2.t1 = _context2.sent;
_context2.t0.setAll.call(_context2.t0, _context2.t1);
_context2.next = 14;
break;
case 11:
_context2.prev = 11;
_context2.t2 = _context2["catch"](3);
console.error("_readPreferences: \"".concat(_context2.t2 === null || _context2.t2 === void 0 ? void 0 : _context2.t2.message, "\"."));
case 14:
case "end":
return _context2.stop();
}
}
}, _callee2, null, [[3, 11]]);
}))();
},
_parseHashParameters: function _parseHashParameters() {
var _this3 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
var hash, params, waitOn, viewer, enabled;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
if (_app_options.AppOptions.get("pdfBugEnabled")) {
_context3.next = 2;
break;
}
return _context3.abrupt("return");
case 2:
hash = document.location.hash.substring(1);
if (hash) {
_context3.next = 5;
break;
}
return _context3.abrupt("return");
case 5:
params = (0, _ui_utils.parseQueryString)(hash), waitOn = [];
if (params.get("disableworker") === "true") {
waitOn.push(loadFakeWorker());
}
if (params.has("disablerange")) {
_app_options.AppOptions.set("disableRange", params.get("disablerange") === "true");
}
if (params.has("disablestream")) {
_app_options.AppOptions.set("disableStream", params.get("disablestream") === "true");
}
if (params.has("disableautofetch")) {
_app_options.AppOptions.set("disableAutoFetch", params.get("disableautofetch") === "true");
}
if (params.has("disablefontface")) {
_app_options.AppOptions.set("disableFontFace", params.get("disablefontface") === "true");
}
if (params.has("disablehistory")) {
_app_options.AppOptions.set("disableHistory", params.get("disablehistory") === "true");
}
if (params.has("verbosity")) {
_app_options.AppOptions.set("verbosity", params.get("verbosity") | 0);
}
if (!params.has("textlayer")) {
_context3.next = 22;
break;
}
_context3.t0 = params.get("textlayer");
_context3.next = _context3.t0 === "off" ? 17 : _context3.t0 === "visible" ? 19 : _context3.t0 === "shadow" ? 19 : _context3.t0 === "hover" ? 19 : 22;
break;
case 17:
_app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE);
return _context3.abrupt("break", 22);
case 19:
viewer = _this3.appConfig.viewerContainer;
viewer.classList.add("textLayer-".concat(params.get("textlayer")));
return _context3.abrupt("break", 22);
case 22:
if (params.has("pdfbug")) {
_app_options.AppOptions.set("pdfBug", true);
_app_options.AppOptions.set("fontExtraProperties", true);
enabled = params.get("pdfbug").split(",");
waitOn.push(initPDFBug(enabled));
}
if (params.has("locale")) {
_app_options.AppOptions.set("locale", params.get("locale"));
}
if (!(waitOn.length === 0)) {
_context3.next = 26;
break;
}
return _context3.abrupt("return");
case 26:
_context3.prev = 26;
_context3.next = 29;
return Promise.all(waitOn);
case 29:
_context3.next = 34;
break;
case 31:
_context3.prev = 31;
_context3.t1 = _context3["catch"](26);
console.error("_parseHashParameters: \"".concat(_context3.t1.message, "\"."));
case 34:
case "end":
return _context3.stop();
}
}
}, _callee3, null, [[26, 31]]);
}))();
},
_initializeL10n: function _initializeL10n() {
var _this4 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
var dir;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_this4.l10n = _this4.externalServices.createL10n({
locale: _app_options.AppOptions.get("locale")
});
_context4.next = 3;
return _this4.l10n.getDirection();
case 3:
dir = _context4.sent;
document.getElementsByTagName("html")[0].dir = dir;
case 5:
case "end":
return _context4.stop();
}
}
}, _callee4);
}))();
},
_forceCssTheme: function _forceCssTheme() {
var cssTheme = _app_options.AppOptions.get("viewerCssTheme");
if (cssTheme === ViewerCssTheme.AUTOMATIC || !Object.values(ViewerCssTheme).includes(cssTheme)) {
return;
}
try {
var styleSheet = document.styleSheets[0];
var cssRules = (styleSheet === null || styleSheet === void 0 ? void 0 : styleSheet.cssRules) || [];
for (var i = 0, ii = cssRules.length; i < ii; i++) {
var _rule$media;
var rule = cssRules[i];
if (rule instanceof CSSMediaRule && ((_rule$media = rule.media) === null || _rule$media === void 0 ? void 0 : _rule$media[0]) === "(prefers-color-scheme: dark)") {
if (cssTheme === ViewerCssTheme.LIGHT) {
styleSheet.deleteRule(i);
return;
}
var darkRules = /^@media \(prefers-color-scheme: dark\) {\n\s*([\w\s-.,:;/\\{}()]+)\n}$/.exec(rule.cssText);
if (darkRules !== null && darkRules !== void 0 && darkRules[1]) {
styleSheet.deleteRule(i);
styleSheet.insertRule(darkRules[1], i);
}
return;
}
}
} catch (reason) {
console.error("_forceCssTheme: \"".concat(reason === null || reason === void 0 ? void 0 : reason.message, "\"."));
}
},
_initializeViewerComponents: function _initializeViewerComponents() {
var _this5 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
var appConfig, externalServices, eventBus, pdfRenderingQueue, pdfLinkService, downloadManager, findController, pdfScriptingManager, container, viewer;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
appConfig = _this5.appConfig, externalServices = _this5.externalServices;
eventBus = externalServices.isInAutomation ? new _event_utils.AutomationEventBus() : new _event_utils.EventBus();
_this5.eventBus = eventBus;
_this5.overlayManager = new _overlay_manager.OverlayManager();
pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
pdfRenderingQueue.onIdle = _this5._cleanup.bind(_this5);
_this5.pdfRenderingQueue = pdfRenderingQueue;
pdfLinkService = new _pdf_link_service.PDFLinkService({
eventBus: eventBus,
externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"),
externalLinkRel: _app_options.AppOptions.get("externalLinkRel"),
ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom")
});
_this5.pdfLinkService = pdfLinkService;
downloadManager = externalServices.createDownloadManager();
_this5.downloadManager = downloadManager;
findController = new _pdf_find_controller.PDFFindController({
linkService: pdfLinkService,
eventBus: eventBus
});
_this5.findController = findController;
pdfScriptingManager = new _pdf_scripting_manager.PDFScriptingManager({
eventBus: eventBus,
sandboxBundleSrc: _app_options.AppOptions.get("sandboxBundleSrc"),
scriptingFactory: externalServices,
docPropertiesLookup: _this5._scriptingDocProperties.bind(_this5)
});
_this5.pdfScriptingManager = pdfScriptingManager;
container = appConfig.mainContainer;
viewer = appConfig.viewerContainer;
_this5.pdfViewer = new _pdf_viewer.PDFViewer({
container: container,
viewer: viewer,
eventBus: eventBus,
renderingQueue: pdfRenderingQueue,
linkService: pdfLinkService,
downloadManager: downloadManager,
findController: findController,
scriptingManager: _app_options.AppOptions.get("enableScripting") && pdfScriptingManager,
renderer: _app_options.AppOptions.get("renderer"),
l10n: _this5.l10n,
textLayerMode: _app_options.AppOptions.get("textLayerMode"),
annotationMode: _app_options.AppOptions.get("annotationMode"),
imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"),
enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"),
useOnlyCssZoom: _app_options.AppOptions.get("useOnlyCssZoom"),
maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels"),
enablePermissions: _app_options.AppOptions.get("enablePermissions")
});
pdfRenderingQueue.setViewer(_this5.pdfViewer);
pdfLinkService.setViewer(_this5.pdfViewer);
pdfScriptingManager.setViewer(_this5.pdfViewer);
_this5.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({
container: appConfig.sidebar.thumbnailView,
eventBus: eventBus,
renderingQueue: pdfRenderingQueue,
linkService: pdfLinkService,
l10n: _this5.l10n
});
pdfRenderingQueue.setThumbnailViewer(_this5.pdfThumbnailViewer);
if (!_this5.isViewerEmbedded && !_app_options.AppOptions.get("disableHistory")) {
_this5.pdfHistory = new _pdf_history.PDFHistory({
linkService: pdfLinkService,
eventBus: eventBus
});
pdfLinkService.setHistory(_this5.pdfHistory);
}
if (!_this5.supportsIntegratedFind) {
_this5.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, _this5.l10n);
}
_this5.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, _this5.overlayManager, eventBus, _this5.l10n);
_this5.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({
container: container,
eventBus: eventBus,
cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad")
});
_this5.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, _this5.l10n);
_this5.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus);
if (_this5.supportsFullscreen) {
_this5.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({
container: container,
pdfViewer: _this5.pdfViewer,
eventBus: eventBus
});
}
_this5.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, _this5.overlayManager, _this5.l10n, _this5.isViewerEmbedded);
_this5.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({
container: appConfig.sidebar.outlineView,
eventBus: eventBus,
linkService: pdfLinkService
});
_this5.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({
container: appConfig.sidebar.attachmentsView,
eventBus: eventBus,
downloadManager: downloadManager
});
_this5.pdfLayerViewer = new _pdf_layer_viewer.PDFLayerViewer({
container: appConfig.sidebar.layersView,
eventBus: eventBus,
l10n: _this5.l10n
});
_this5.pdfSidebar = new _pdf_sidebar.PDFSidebar({
elements: appConfig.sidebar,
pdfViewer: _this5.pdfViewer,
pdfThumbnailViewer: _this5.pdfThumbnailViewer,
eventBus: eventBus,
l10n: _this5.l10n
});
_this5.pdfSidebar.onToggled = _this5.forceRendering.bind(_this5);
_this5.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, _this5.l10n);
case 37:
case "end":
return _context5.stop();
}
}
}, _callee5);
}))();
},
run: function run(config) {
this.initialize(config).then(webViewerInitialized);
},
get initialized() {
return this._initializedCapability.settled;
},
get initializedPromise() {
return this._initializedCapability.promise;
},
zoomIn: function zoomIn(steps) {
if (this.pdfViewer.isInPresentationMode) {
return;
}
this.pdfViewer.increaseScale(steps);
},
zoomOut: function zoomOut(steps) {
if (this.pdfViewer.isInPresentationMode) {
return;
}
this.pdfViewer.decreaseScale(steps);
},
zoomReset: function zoomReset() {
if (this.pdfViewer.isInPresentationMode) {
return;
}
this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
},
get pagesCount() {
return this.pdfDocument ? this.pdfDocument.numPages : 0;
},
get page() {
return this.pdfViewer.currentPageNumber;
},
set page(val) {
this.pdfViewer.currentPageNumber = val;
},
get supportsPrinting() {
return PDFPrintServiceFactory.instance.supportsPrinting;
},
get supportsFullscreen() {
return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", document.fullscreenEnabled);
},
get supportsIntegratedFind() {
return this.externalServices.supportsIntegratedFind;
},
get supportsDocumentFonts() {
return this.externalServices.supportsDocumentFonts;
},
get loadingBar() {
var bar = new _ui_utils.ProgressBar("#loadingBar");
return (0, _pdfjsLib.shadow)(this, "loadingBar", bar);
},
get supportedMouseWheelZoomModifierKeys() {
return this.externalServices.supportedMouseWheelZoomModifierKeys;
},
initPassiveLoading: function initPassiveLoading() {
throw new Error("Not implemented: initPassiveLoading");
},
setTitleUsingUrl: function setTitleUsingUrl() {
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
var downloadUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
this.url = url;
this.baseUrl = url.split("#")[0];
if (downloadUrl) {
this._downloadUrl = downloadUrl === url ? this.baseUrl : downloadUrl.split("#")[0];
}
var title = (0, _pdfjsLib.getPdfFilenameFromUrl)(url, "");
if (!title) {
try {
title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url;
} catch (ex) {
title = url;
}
}
this.setTitle(title);
},
setTitle: function setTitle(title) {
if (this.isViewerEmbedded) {
return;
}
document.title = title;
},
get _docFilename() {
return this._contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url);
},
_hideViewBookmark: function _hideViewBookmark() {
var _this$appConfig = this.appConfig,
toolbar = _this$appConfig.toolbar,
secondaryToolbar = _this$appConfig.secondaryToolbar;
toolbar.viewBookmark.hidden = true;
secondaryToolbar.viewBookmarkButton.hidden = true;
},
_cancelIdleCallbacks: function _cancelIdleCallbacks() {
if (!this._idleCallbacks.size) {
return;
}
var _iterator = _createForOfIteratorHelper(this._idleCallbacks),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var callback = _step.value;
window.cancelIdleCallback(callback);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
this._idleCallbacks.clear();
},
close: function close() {
var _this6 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
var _this6$pdfDocument, _this6$pdfHistory, _this6$findBar;
var container, promises;
return _regenerator["default"].wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_this6._unblockDocumentLoadEvent();
_this6._hideViewBookmark();
container = _this6.appConfig.errorWrapper.container;
container.hidden = true;
if (_this6.pdfLoadingTask) {
_context6.next = 6;
break;
}
return _context6.abrupt("return");
case 6:
if (!(((_this6$pdfDocument = _this6.pdfDocument) === null || _this6$pdfDocument === void 0 ? void 0 : _this6$pdfDocument.annotationStorage.size) > 0 && _this6._annotationStorageModified)) {
_context6.next = 14;
break;
}
_context6.prev = 7;
_context6.next = 10;
return _this6.save({
sourceEventType: "save"
});
case 10:
_context6.next = 14;
break;
case 12:
_context6.prev = 12;
_context6.t0 = _context6["catch"](7);
case 14:
promises = [];
promises.push(_this6.pdfLoadingTask.destroy());
_this6.pdfLoadingTask = null;
if (_this6.pdfDocument) {
_this6.pdfDocument = null;
_this6.pdfThumbnailViewer.setDocument(null);
_this6.pdfViewer.setDocument(null);
_this6.pdfLinkService.setDocument(null);
_this6.pdfDocumentProperties.setDocument(null);
}
_this6.pdfLinkService.externalLinkEnabled = true;
_this6.store = null;
_this6.isInitialViewSet = false;
_this6.downloadComplete = false;
_this6.url = "";
_this6.baseUrl = "";
_this6._downloadUrl = "";
_this6.documentInfo = null;
_this6.metadata = null;
_this6._contentDispositionFilename = null;
_this6._contentLength = null;
_this6._saveInProgress = false;
_this6._docStats = null;
_this6._cancelIdleCallbacks();
promises.push(_this6.pdfScriptingManager.destroyPromise);
_this6.pdfSidebar.reset();
_this6.pdfOutlineViewer.reset();
_this6.pdfAttachmentViewer.reset();
_this6.pdfLayerViewer.reset();
(_this6$pdfHistory = _this6.pdfHistory) === null || _this6$pdfHistory === void 0 ? void 0 : _this6$pdfHistory.reset();
(_this6$findBar = _this6.findBar) === null || _this6$findBar === void 0 ? void 0 : _this6$findBar.reset();
_this6.toolbar.reset();
_this6.secondaryToolbar.reset();
if (typeof PDFBug !== "undefined") {
PDFBug.cleanup();
}
_context6.next = 44;
return Promise.all(promises);
case 44:
case "end":
return _context6.stop();
}
}
}, _callee6, null, [[7, 12]]);
}))();
},
open: function open(file, args) {
var _this7 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
var workerParameters, key, parameters, apiParameters, _key, value, _key2, loadingTask;
return _regenerator["default"].wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
if (!_this7.pdfLoadingTask) {
_context7.next = 3;
break;
}
_context7.next = 3;
return _this7.close();
case 3:
workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER);
for (key in workerParameters) {
_pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key];
}
parameters = Object.create(null);
if (typeof file === "string") {
_this7.setTitleUsingUrl(file, file);
parameters.url = file;
} else if (file && "byteLength" in file) {
parameters.data = file;
} else if (file.url && file.originalUrl) {
_this7.setTitleUsingUrl(file.originalUrl, file.url);
parameters.url = file.url;
}
apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API);
for (_key in apiParameters) {
value = apiParameters[_key];
if (_key === "docBaseUrl" && !value) {}
parameters[_key] = value;
}
if (args) {
for (_key2 in args) {
parameters[_key2] = args[_key2];
}
}
loadingTask = (0, _pdfjsLib.getDocument)(parameters);
_this7.pdfLoadingTask = loadingTask;
loadingTask.onPassword = function (updateCallback, reason) {
_this7.pdfLinkService.externalLinkEnabled = false;
_this7.passwordPrompt.setUpdateCallback(updateCallback, reason);
_this7.passwordPrompt.open();
};
loadingTask.onProgress = function (_ref) {
var loaded = _ref.loaded,
total = _ref.total;
_this7.progress(loaded / total);
};
loadingTask.onUnsupportedFeature = _this7.fallback.bind(_this7);
return _context7.abrupt("return", loadingTask.promise.then(function (pdfDocument) {
_this7.load(pdfDocument);
}, function (reason) {
if (loadingTask !== _this7.pdfLoadingTask) {
return undefined;
}
var key = "loading_error";
if (reason instanceof _pdfjsLib.InvalidPDFException) {
key = "invalid_file_error";
} else if (reason instanceof _pdfjsLib.MissingPDFException) {
key = "missing_file_error";
} else if (reason instanceof _pdfjsLib.UnexpectedResponseException) {
key = "unexpected_response_error";
}
return _this7.l10n.get(key).then(function (msg) {
_this7._documentError(msg, {
message: reason === null || reason === void 0 ? void 0 : reason.message
});
throw reason;
});
}));
case 16:
case "end":
return _context7.stop();
}
}
}, _callee7);
}))();
},
_ensureDownloadComplete: function _ensureDownloadComplete() {
if (this.pdfDocument && this.downloadComplete) {
return;
}
throw new Error("PDF document not downloaded.");
},
download: function download() {
var _arguments = arguments,
_this8 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
var _ref2, _ref2$sourceEventType, sourceEventType, url, filename, data, blob;
return _regenerator["default"].wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
_ref2 = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {}, _ref2$sourceEventType = _ref2.sourceEventType, sourceEventType = _ref2$sourceEventType === void 0 ? "download" : _ref2$sourceEventType;
url = _this8._downloadUrl, filename = _this8._docFilename;
_context8.prev = 2;
_this8._ensureDownloadComplete();
_context8.next = 6;
return _this8.pdfDocument.getData();
case 6:
data = _context8.sent;
blob = new Blob([data], {
type: "application/pdf"
});
_context8.next = 10;
return _this8.downloadManager.download(blob, url, filename, sourceEventType);
case 10:
_context8.next = 16;
break;
case 12:
_context8.prev = 12;
_context8.t0 = _context8["catch"](2);
_context8.next = 16;
return _this8.downloadManager.downloadUrl(url, filename);
case 16:
case "end":
return _context8.stop();
}
}
}, _callee8, null, [[2, 12]]);
}))();
},
save: function save() {
var _arguments2 = arguments,
_this9 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
var _ref3, _ref3$sourceEventType, sourceEventType, url, filename, data, blob;
return _regenerator["default"].wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
_ref3 = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {}, _ref3$sourceEventType = _ref3.sourceEventType, sourceEventType = _ref3$sourceEventType === void 0 ? "download" : _ref3$sourceEventType;
if (!_this9._saveInProgress) {
_context9.next = 3;
break;
}
return _context9.abrupt("return");
case 3:
_this9._saveInProgress = true;
_context9.next = 6;
return _this9.pdfScriptingManager.dispatchWillSave();
case 6:
url = _this9._downloadUrl, filename = _this9._docFilename;
_context9.prev = 7;
_this9._ensureDownloadComplete();
_context9.next = 11;
return _this9.pdfDocument.saveDocument();
case 11:
data = _context9.sent;
blob = new Blob([data], {
type: "application/pdf"
});
_context9.next = 15;
return _this9.downloadManager.download(blob, url, filename, sourceEventType);
case 15:
_context9.next = 22;
break;
case 17:
_context9.prev = 17;
_context9.t0 = _context9["catch"](7);
console.error("Error when saving the document: ".concat(_context9.t0.message));
_context9.next = 22;
return _this9.download({
sourceEventType: sourceEventType
});
case 22:
_context9.prev = 22;
_context9.next = 25;
return _this9.pdfScriptingManager.dispatchDidSave();
case 25:
_this9._saveInProgress = false;
return _context9.finish(22);
case 27:
case "end":
return _context9.stop();
}
}
}, _callee9, null, [[7, 17, 22, 27]]);
}))();
},
downloadOrSave: function downloadOrSave(options) {
var _this$pdfDocument;
if (((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage.size) > 0) {
this.save(options);
} else {
this.download(options);
}
},
fallback: function fallback(featureId) {
this.externalServices.reportTelemetry({
type: "unsupportedFeature",
featureId: featureId
});
},
_documentError: function _documentError(message) {
var _moreInfo$message;
var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
this._unblockDocumentLoadEvent();
this._otherError(message, moreInfo);
this.eventBus.dispatch("documenterror", {
source: this,
message: message,
reason: (_moreInfo$message = moreInfo === null || moreInfo === void 0 ? void 0 : moreInfo.message) !== null && _moreInfo$message !== void 0 ? _moreInfo$message : null
});
},
_otherError: function _otherError(message) {
var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var moreInfoText = [this.l10n.get("error_version_info", {
version: _pdfjsLib.version || "?",
build: _pdfjsLib.build || "?"
})];
if (moreInfo) {
moreInfoText.push(this.l10n.get("error_message", {
message: moreInfo.message
}));
if (moreInfo.stack) {
moreInfoText.push(this.l10n.get("error_stack", {
stack: moreInfo.stack
}));
} else {
if (moreInfo.filename) {
moreInfoText.push(this.l10n.get("error_file", {
file: moreInfo.filename
}));
}
if (moreInfo.lineNumber) {
moreInfoText.push(this.l10n.get("error_line", {
line: moreInfo.lineNumber
}));
}
}
}
var errorWrapperConfig = this.appConfig.errorWrapper;
var errorWrapper = errorWrapperConfig.container;
errorWrapper.hidden = false;
var errorMessage = errorWrapperConfig.errorMessage;
errorMessage.textContent = message;
var closeButton = errorWrapperConfig.closeButton;
closeButton.onclick = function () {
errorWrapper.hidden = true;
};
var errorMoreInfo = errorWrapperConfig.errorMoreInfo;
var moreInfoButton = errorWrapperConfig.moreInfoButton;
var lessInfoButton = errorWrapperConfig.lessInfoButton;
moreInfoButton.onclick = function () {
errorMoreInfo.hidden = false;
moreInfoButton.hidden = true;
lessInfoButton.hidden = false;
errorMoreInfo.style.height = errorMoreInfo.scrollHeight + "px";
};
lessInfoButton.onclick = function () {
errorMoreInfo.hidden = true;
moreInfoButton.hidden = false;
lessInfoButton.hidden = true;
};
moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
closeButton.oncontextmenu = _ui_utils.noContextMenuHandler;
moreInfoButton.hidden = false;
lessInfoButton.hidden = true;
Promise.all(moreInfoText).then(function (parts) {
errorMoreInfo.value = parts.join("\n");
});
},
progress: function progress(level) {
var _this10 = this;
if (this.downloadComplete) {
return;
}
var percent = Math.round(level * 100);
if (percent > this.loadingBar.percent || isNaN(percent)) {
this.loadingBar.percent = percent;
var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams.disableAutoFetch : _app_options.AppOptions.get("disableAutoFetch");
if (disableAutoFetch && percent) {
if (this.disableAutoFetchLoadingBarTimeout) {
clearTimeout(this.disableAutoFetchLoadingBarTimeout);
this.disableAutoFetchLoadingBarTimeout = null;
}
this.loadingBar.show();
this.disableAutoFetchLoadingBarTimeout = setTimeout(function () {
_this10.loadingBar.hide();
_this10.disableAutoFetchLoadingBarTimeout = null;
}, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT);
}
}
},
load: function load(pdfDocument) {
var _this11 = this;
this.pdfDocument = pdfDocument;
pdfDocument.getDownloadInfo().then(function (_ref4) {
var length = _ref4.length;
_this11._contentLength = length;
_this11.downloadComplete = true;
_this11.loadingBar.hide();
firstPagePromise.then(function () {
_this11.eventBus.dispatch("documentloaded", {
source: _this11
});
});
});
var pageLayoutPromise = pdfDocument.getPageLayout()["catch"](function () {});
var pageModePromise = pdfDocument.getPageMode()["catch"](function () {});
var openActionPromise = pdfDocument.getOpenAction()["catch"](function () {});
this.toolbar.setPagesCount(pdfDocument.numPages, false);
this.secondaryToolbar.setPagesCount(pdfDocument.numPages);
var baseDocumentUrl;
baseDocumentUrl = null;
this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl);
this.pdfDocumentProperties.setDocument(pdfDocument, this.url);
var pdfViewer = this.pdfViewer;
pdfViewer.setDocument(pdfDocument);
var firstPagePromise = pdfViewer.firstPagePromise,
onePageRendered = pdfViewer.onePageRendered,
pagesPromise = pdfViewer.pagesPromise;
var pdfThumbnailViewer = this.pdfThumbnailViewer;
pdfThumbnailViewer.setDocument(pdfDocument);
var storedPromise = (this.store = new _view_history.ViewHistory(pdfDocument.fingerprints[0])).getMultiple({
page: null,
zoom: _ui_utils.DEFAULT_SCALE_VALUE,
scrollLeft: "0",
scrollTop: "0",
rotation: null,
sidebarView: _ui_utils.SidebarView.UNKNOWN,
scrollMode: _ui_utils.ScrollMode.UNKNOWN,
spreadMode: _ui_utils.SpreadMode.UNKNOWN
})["catch"](function () {
return Object.create(null);
});
firstPagePromise.then(function (pdfPage) {
_this11.loadingBar.setWidth(_this11.appConfig.viewerContainer);
_this11._initializeAnnotationStorageCallbacks(pdfDocument);
Promise.all([_ui_utils.animationStarted, storedPromise, pageLayoutPromise, pageModePromise, openActionPromise]).then( /*#__PURE__*/function () {
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10(_ref5) {
var _ref7, timeStamp, stored, pageLayout, pageMode, openAction, viewOnLoad, initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode, modes;
return _regenerator["default"].wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
_ref7 = _slicedToArray(_ref5, 5), timeStamp = _ref7[0], stored = _ref7[1], pageLayout = _ref7[2], pageMode = _ref7[3], openAction = _ref7[4];
viewOnLoad = _app_options.AppOptions.get("viewOnLoad");
_this11._initializePdfHistory({
fingerprint: pdfDocument.fingerprints[0],
viewOnLoad: viewOnLoad,
initialDest: openAction === null || openAction === void 0 ? void 0 : openAction.dest
});
initialBookmark = _this11.initialBookmark;
zoom = _app_options.AppOptions.get("defaultZoomValue");
hash = zoom ? "zoom=".concat(zoom) : null;
rotation = null;
sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad");
scrollMode = _app_options.AppOptions.get("scrollModeOnLoad");
spreadMode = _app_options.AppOptions.get("spreadModeOnLoad");
if (stored.page && viewOnLoad !== ViewOnLoad.INITIAL) {
hash = "page=".concat(stored.page, "&zoom=").concat(zoom || stored.zoom, ",") + "".concat(stored.scrollLeft, ",").concat(stored.scrollTop);
rotation = parseInt(stored.rotation, 10);
if (sidebarView === _ui_utils.SidebarView.UNKNOWN) {
sidebarView = stored.sidebarView | 0;
}
if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) {
scrollMode = stored.scrollMode | 0;
}
if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
spreadMode = stored.spreadMode | 0;
}
}
if (pageMode && sidebarView === _ui_utils.SidebarView.UNKNOWN) {
sidebarView = (0, _ui_utils.apiPageModeToSidebarView)(pageMode);
}
if (pageLayout && scrollMode === _ui_utils.ScrollMode.UNKNOWN && spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
modes = (0, _ui_utils.apiPageLayoutToViewerModes)(pageLayout);
spreadMode = modes.spreadMode;
}
_this11.setInitialView(hash, {
rotation: rotation,
sidebarView: sidebarView,
scrollMode: scrollMode,
spreadMode: spreadMode
});
_this11.eventBus.dispatch("documentinit", {
source: _this11
});
if (!_this11.isViewerEmbedded) {
pdfViewer.focus();
}
_context10.next = 18;
return Promise.race([pagesPromise, new Promise(function (resolve) {
setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT);
})]);
case 18:
if (!(!initialBookmark && !hash)) {
_context10.next = 20;
break;
}
return _context10.abrupt("return");
case 20:
if (!pdfViewer.hasEqualPageSizes) {
_context10.next = 22;
break;
}
return _context10.abrupt("return");
case 22:
_this11.initialBookmark = initialBookmark;
pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;
_this11.setInitialView(hash);
case 25:
case "end":
return _context10.stop();
}
}
}, _callee10);
}));
return function (_x) {
return _ref6.apply(this, arguments);
};
}())["catch"](function () {
_this11.setInitialView();
}).then(function () {
pdfViewer.update();
});
});
pagesPromise.then(function () {
_this11._unblockDocumentLoadEvent();
_this11._initializeAutoPrint(pdfDocument, openActionPromise);
}, function (reason) {
_this11.l10n.get("loading_error").then(function (msg) {
_this11._documentError(msg, {
message: reason === null || reason === void 0 ? void 0 : reason.message
});
});
});
onePageRendered.then(function (data) {
_this11.externalServices.reportTelemetry({
type: "pageInfo",
timestamp: data.timestamp
});
pdfDocument.getOutline().then(function (outline) {
if (pdfDocument !== _this11.pdfDocument) {
return;
}
_this11.pdfOutlineViewer.render({
outline: outline,
pdfDocument: pdfDocument
});
});
pdfDocument.getAttachments().then(function (attachments) {
if (pdfDocument !== _this11.pdfDocument) {
return;
}
_this11.pdfAttachmentViewer.render({
attachments: attachments
});
});
pdfViewer.optionalContentConfigPromise.then(function (optionalContentConfig) {
if (pdfDocument !== _this11.pdfDocument) {
return;
}
_this11.pdfLayerViewer.render({
optionalContentConfig: optionalContentConfig,
pdfDocument: pdfDocument
});
});
if ("requestIdleCallback" in window) {
var callback = window.requestIdleCallback(function () {
_this11._collectTelemetry(pdfDocument);
_this11._idleCallbacks["delete"](callback);
}, {
timeout: 1000
});
_this11._idleCallbacks.add(callback);
}
});
this._initializePageLabels(pdfDocument);
this._initializeMetadata(pdfDocument);
},
_scriptingDocProperties: function _scriptingDocProperties(pdfDocument) {
var _this12 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
var _this12$metadata, _this12$metadata2;
return _regenerator["default"].wrap(function _callee11$(_context11) {
while (1) {
switch (_context11.prev = _context11.next) {
case 0:
if (_this12.documentInfo) {
_context11.next = 5;
break;
}
_context11.next = 3;
return new Promise(function (resolve) {
_this12.eventBus._on("metadataloaded", resolve, {
once: true
});
});
case 3:
if (!(pdfDocument !== _this12.pdfDocument)) {
_context11.next = 5;
break;
}
return _context11.abrupt("return", null);
case 5:
if (_this12._contentLength) {
_context11.next = 10;
break;
}
_context11.next = 8;
return new Promise(function (resolve) {
_this12.eventBus._on("documentloaded", resolve, {
once: true
});
});
case 8:
if (!(pdfDocument !== _this12.pdfDocument)) {
_context11.next = 10;
break;
}
return _context11.abrupt("return", null);
case 10:
return _context11.abrupt("return", _objectSpread(_objectSpread({}, _this12.documentInfo), {}, {
baseURL: _this12.baseUrl,
filesize: _this12._contentLength,
filename: _this12._docFilename,
metadata: (_this12$metadata = _this12.metadata) === null || _this12$metadata === void 0 ? void 0 : _this12$metadata.getRaw(),
authors: (_this12$metadata2 = _this12.metadata) === null || _this12$metadata2 === void 0 ? void 0 : _this12$metadata2.get("dc:creator"),
numPages: _this12.pagesCount,
URL: _this12.url
}));
case 11:
case "end":
return _context11.stop();
}
}
}, _callee11);
}))();
},
_collectTelemetry: function _collectTelemetry(pdfDocument) {
var _this13 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
var markInfo, tagged;
return _regenerator["default"].wrap(function _callee12$(_context12) {
while (1) {
switch (_context12.prev = _context12.next) {
case 0:
_context12.next = 2;
return _this13.pdfDocument.getMarkInfo();
case 2:
markInfo = _context12.sent;
if (!(pdfDocument !== _this13.pdfDocument)) {
_context12.next = 5;
break;
}
return _context12.abrupt("return");
case 5:
tagged = (markInfo === null || markInfo === void 0 ? void 0 : markInfo.Marked) || false;
_this13.externalServices.reportTelemetry({
type: "tagged",
tagged: tagged
});
case 7:
case "end":
return _context12.stop();
}
}
}, _callee12);
}))();
},
_initializeAutoPrint: function _initializeAutoPrint(pdfDocument, openActionPromise) {
var _this14 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
var _yield$Promise$all, _yield$Promise$all2, openAction, javaScript, triggerAutoPrint, _iterator2, _step2, js;
return _regenerator["default"].wrap(function _callee13$(_context13) {
while (1) {
switch (_context13.prev = _context13.next) {
case 0:
_context13.next = 2;
return Promise.all([openActionPromise, !_this14.pdfViewer.enableScripting ? pdfDocument.getJavaScript() : null]);
case 2:
_yield$Promise$all = _context13.sent;
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
openAction = _yield$Promise$all2[0];
javaScript = _yield$Promise$all2[1];
if (!(pdfDocument !== _this14.pdfDocument)) {
_context13.next = 8;
break;
}
return _context13.abrupt("return");
case 8:
triggerAutoPrint = false;
if ((openAction === null || openAction === void 0 ? void 0 : openAction.action) === "Print") {
triggerAutoPrint = true;
}
if (!javaScript) {
_context13.next = 31;
break;
}
javaScript.some(function (js) {
if (!js) {
return false;
}
console.warn("Warning: JavaScript support is not enabled");
_this14.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript);
return true;
});
if (triggerAutoPrint) {
_context13.next = 31;
break;
}
_iterator2 = _createForOfIteratorHelper(javaScript);
_context13.prev = 14;
_iterator2.s();
case 16:
if ((_step2 = _iterator2.n()).done) {
_context13.next = 23;
break;
}
js = _step2.value;
if (!(js && _ui_utils.AutoPrintRegExp.test(js))) {
_context13.next = 21;
break;
}
triggerAutoPrint = true;
return _context13.abrupt("break", 23);
case 21:
_context13.next = 16;
break;
case 23:
_context13.next = 28;
break;
case 25:
_context13.prev = 25;
_context13.t0 = _context13["catch"](14);
_iterator2.e(_context13.t0);
case 28:
_context13.prev = 28;
_iterator2.f();
return _context13.finish(28);
case 31:
if (triggerAutoPrint) {
_this14.triggerPrinting();
}
case 32:
case "end":
return _context13.stop();
}
}
}, _callee13, null, [[14, 25, 28, 31]]);
}))();
},
_initializeMetadata: function _initializeMetadata(pdfDocument) {
var _this15 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
var _this15$_contentDispo, _this15$_contentLengt;
var _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, pdfTitle, metadataTitle, versionId, generatorId, producer, formType;
return _regenerator["default"].wrap(function _callee14$(_context14) {
while (1) {
switch (_context14.prev = _context14.next) {
case 0:
_context14.next = 2;
return pdfDocument.getMetadata();
case 2:
_yield$pdfDocument$ge = _context14.sent;
info = _yield$pdfDocument$ge.info;
metadata = _yield$pdfDocument$ge.metadata;
contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename;
contentLength = _yield$pdfDocument$ge.contentLength;
if (!(pdfDocument !== _this15.pdfDocument)) {
_context14.next = 9;
break;
}
return _context14.abrupt("return");
case 9:
_this15.documentInfo = info;
_this15.metadata = metadata;
(_this15$_contentDispo = _this15._contentDispositionFilename) !== null && _this15$_contentDispo !== void 0 ? _this15$_contentDispo : _this15._contentDispositionFilename = contentDispositionFilename;
(_this15$_contentLengt = _this15._contentLength) !== null && _this15$_contentLengt !== void 0 ? _this15$_contentLengt : _this15._contentLength = contentLength;
console.log("PDF ".concat(pdfDocument.fingerprints[0], " [").concat(info.PDFFormatVersion, " ") + "".concat((info.Producer || "-").trim(), " / ").concat((info.Creator || "-").trim(), "] ") + "(PDF.js: ".concat(_pdfjsLib.version || "-", ")"));
pdfTitle = info === null || info === void 0 ? void 0 : info.Title;
metadataTitle = metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:title");
if (metadataTitle) {
if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) {
pdfTitle = metadataTitle;
}
}
if (pdfTitle) {
_this15.setTitle("".concat(pdfTitle, " - ").concat(contentDispositionFilename || document.title));
} else if (contentDispositionFilename) {
_this15.setTitle(contentDispositionFilename);
}
if (info.IsXFAPresent && !info.IsAcroFormPresent && !pdfDocument.isPureXfa) {
if (pdfDocument.loadingParams.enableXfa) {
console.warn("Warning: XFA Foreground documents are not supported");
} else {
console.warn("Warning: XFA support is not enabled");
}
_this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
} else if ((info.IsAcroFormPresent || info.IsXFAPresent) && !_this15.pdfViewer.renderForms) {
console.warn("Warning: Interactive form support is not enabled");
_this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
}
if (info.IsSignaturesPresent) {
console.warn("Warning: Digital signatures validation is not supported");
_this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.signatures);
}
versionId = "other";
if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) {
versionId = "v".concat(info.PDFFormatVersion.replace(".", "_"));
}
generatorId = "other";
if (info.Producer) {
producer = info.Producer.toLowerCase();
KNOWN_GENERATORS.some(function (generator) {
if (!producer.includes(generator)) {
return false;
}
generatorId = generator.replace(/[ .-]/g, "_");
return true;
});
}
formType = null;
if (info.IsXFAPresent) {
formType = "xfa";
} else if (info.IsAcroFormPresent) {
formType = "acroform";
}
_this15.externalServices.reportTelemetry({
type: "documentInfo",
version: versionId,
generator: generatorId,
formType: formType
});
_this15.eventBus.dispatch("metadataloaded", {
source: _this15
});
case 28:
case "end":
return _context14.stop();
}
}
}, _callee14);
}))();
},
_initializePageLabels: function _initializePageLabels(pdfDocument) {
var _this16 = this;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
var labels, numLabels, standardLabels, emptyLabels, i, label, pdfViewer, pdfThumbnailViewer, toolbar;
return _regenerator["default"].wrap(function _callee15$(_context15) {
while (1) {
switch (_context15.prev = _context15.next) {
case 0:
_context15.next = 2;
return pdfDocument.getPageLabels();
case 2:
labels = _context15.sent;
if (!(pdfDocument !== _this16.pdfDocument)) {
_context15.next = 5;
break;
}
return _context15.abrupt("return");
case 5:
if (!(!labels || _app_options.AppOptions.get("disablePageLabels"))) {
_context15.next = 7;
break;
}
return _context15.abrupt("return");
case 7:
numLabels = labels.length;
standardLabels = 0, emptyLabels = 0;
i = 0;
case 10:
if (!(i < numLabels)) {
_context15.next = 24;
break;
}
label = labels[i];
if (!(label === (i + 1).toString())) {
_context15.next = 16;
break;
}
standardLabels++;
_context15.next = 21;
break;
case 16:
if (!(label === "")) {
_context15.next = 20;
break;
}
emptyLabels++;
_context15.next = 21;
break;
case 20:
return _context15.abrupt("break", 24);
case 21:
i++;
_context15.next = 10;
break;
case 24:
if (!(standardLabels >= numLabels || emptyLabels >= numLabels)) {
_context15.next = 26;
break;
}
return _context15.abrupt("return");
case 26:
pdfViewer = _this16.pdfViewer, pdfThumbnailViewer = _this16.pdfThumbnailViewer, toolbar = _this16.toolbar;
pdfViewer.setPageLabels(labels);
pdfThumbnailViewer.setPageLabels(labels);
toolbar.setPagesCount(numLabels, true);
toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
case 31:
case "end":
return _context15.stop();
}
}
}, _callee15);
}))();
},
_initializePdfHistory: function _initializePdfHistory(_ref8) {
var fingerprint = _ref8.fingerprint,
viewOnLoad = _ref8.viewOnLoad,
_ref8$initialDest = _ref8.initialDest,
initialDest = _ref8$initialDest === void 0 ? null : _ref8$initialDest;
if (!this.pdfHistory) {
return;
}
this.pdfHistory.initialize({
fingerprint: fingerprint,
resetHistory: viewOnLoad === ViewOnLoad.INITIAL,
updateUrl: _app_options.AppOptions.get("historyUpdateUrl")
});
if (this.pdfHistory.initialBookmark) {
this.initialBookmark = this.pdfHistory.initialBookmark;
this.initialRotation = this.pdfHistory.initialRotation;
}
if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) {
this.initialBookmark = JSON.stringify(initialDest);
this.pdfHistory.push({
explicitDest: initialDest,
pageNumber: null
});
}
},
_initializeAnnotationStorageCallbacks: function _initializeAnnotationStorageCallbacks(pdfDocument) {
var _this17 = this;
if (pdfDocument !== this.pdfDocument) {
return;
}
var annotationStorage = pdfDocument.annotationStorage;
annotationStorage.onSetModified = function () {
window.addEventListener("beforeunload", beforeUnload);
_this17._annotationStorageModified = true;
};
annotationStorage.onResetModified = function () {
window.removeEventListener("beforeunload", beforeUnload);
delete _this17._annotationStorageModified;
};
},
setInitialView: function setInitialView(storedHash) {
var _this18 = this;
var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
rotation = _ref9.rotation,
sidebarView = _ref9.sidebarView,
scrollMode = _ref9.scrollMode,
spreadMode = _ref9.spreadMode;
var setRotation = function setRotation(angle) {
if ((0, _ui_utils.isValidRotation)(angle)) {
_this18.pdfViewer.pagesRotation = angle;
}
};
var setViewerModes = function setViewerModes(scroll, spread) {
if ((0, _ui_utils.isValidScrollMode)(scroll)) {
_this18.pdfViewer.scrollMode = scroll;
}
if ((0, _ui_utils.isValidSpreadMode)(spread)) {
_this18.pdfViewer.spreadMode = spread;
}
};
this.isInitialViewSet = true;
this.pdfSidebar.setInitialView(sidebarView);
setViewerModes(scrollMode, spreadMode);
if (this.initialBookmark) {
setRotation(this.initialRotation);
delete this.initialRotation;
this.pdfLinkService.setHash(this.initialBookmark);
this.initialBookmark = null;
} else if (storedHash) {
setRotation(rotation);
this.pdfLinkService.setHash(storedHash);
}
this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel);
this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber);
if (!this.pdfViewer.currentScaleValue) {
this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
}
},
_cleanup: function _cleanup() {
if (!this.pdfDocument) {
return;
}
this.pdfViewer.cleanup();
this.pdfThumbnailViewer.cleanup();
this.pdfDocument.cleanup(this.pdfViewer.renderer === _ui_utils.RendererType.SVG);
},
forceRendering: function forceRendering() {
this.pdfRenderingQueue.printing = !!this.printService;
this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible;
this.pdfRenderingQueue.renderHighestPriority();
},
beforePrint: function beforePrint() {
var _this19 = this;
this.pdfScriptingManager.dispatchWillPrint();
if (this.printService) {
return;
}
if (!this.supportsPrinting) {
this.l10n.get("printing_not_supported").then(function (msg) {
_this19._otherError(msg);
});
return;
}
if (!this.pdfViewer.pageViewsReady) {
this.l10n.get("printing_not_ready").then(function (msg) {
window.alert(msg);
});
return;
}
var pagesOverview = this.pdfViewer.getPagesOverview();
var printContainer = this.appConfig.printContainer;
var printResolution = _app_options.AppOptions.get("printResolution");
var optionalContentConfigPromise = this.pdfViewer.optionalContentConfigPromise;
var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, this.l10n);
this.printService = printService;
this.forceRendering();
printService.layout();
this.externalServices.reportTelemetry({
type: "print"
});
},
afterPrint: function afterPrint() {
this.pdfScriptingManager.dispatchDidPrint();
if (this.printService) {
var _this$pdfDocument2;
this.printService.destroy();
this.printService = null;
(_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.annotationStorage.resetModified();
}
this.forceRendering();
},
rotatePages: function rotatePages(delta) {
this.pdfViewer.pagesRotation += delta;
},
requestPresentationMode: function requestPresentationMode() {
var _this$pdfPresentation;
(_this$pdfPresentation = this.pdfPresentationMode) === null || _this$pdfPresentation === void 0 ? void 0 : _this$pdfPresentation.request();
},
triggerPrinting: function triggerPrinting() {
if (!this.supportsPrinting) {
return;
}
window.print();
},
bindEvents: function bindEvents() {
var eventBus = this.eventBus,
_boundEvents = this._boundEvents;
_boundEvents.beforePrint = this.beforePrint.bind(this);
_boundEvents.afterPrint = this.afterPrint.bind(this);
eventBus._on("resize", webViewerResize);
eventBus._on("hashchange", webViewerHashchange);
eventBus._on("beforeprint", _boundEvents.beforePrint);
eventBus._on("afterprint", _boundEvents.afterPrint);
eventBus._on("pagerendered", webViewerPageRendered);
eventBus._on("updateviewarea", webViewerUpdateViewarea);
eventBus._on("pagechanging", webViewerPageChanging);
eventBus._on("scalechanging", webViewerScaleChanging);
eventBus._on("rotationchanging", webViewerRotationChanging);
eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged);
eventBus._on("pagemode", webViewerPageMode);
eventBus._on("namedaction", webViewerNamedAction);
eventBus._on("presentationmodechanged", webViewerPresentationModeChanged);
eventBus._on("presentationmode", webViewerPresentationMode);
eventBus._on("print", webViewerPrint);
eventBus._on("download", webViewerDownload);
eventBus._on("save", webViewerSave);
eventBus._on("firstpage", webViewerFirstPage);
eventBus._on("lastpage", webViewerLastPage);
eventBus._on("nextpage", webViewerNextPage);
eventBus._on("previouspage", webViewerPreviousPage);
eventBus._on("zoomin", webViewerZoomIn);
eventBus._on("zoomout", webViewerZoomOut);
eventBus._on("zoomreset", webViewerZoomReset);
eventBus._on("pagenumberchanged", webViewerPageNumberChanged);
eventBus._on("scalechanged", webViewerScaleChanged);
eventBus._on("rotatecw", webViewerRotateCw);
eventBus._on("rotateccw", webViewerRotateCcw);
eventBus._on("optionalcontentconfig", webViewerOptionalContentConfig);
eventBus._on("switchscrollmode", webViewerSwitchScrollMode);
eventBus._on("scrollmodechanged", webViewerScrollModeChanged);
eventBus._on("switchspreadmode", webViewerSwitchSpreadMode);
eventBus._on("spreadmodechanged", webViewerSpreadModeChanged);
eventBus._on("documentproperties", webViewerDocumentProperties);
eventBus._on("findfromurlhash", webViewerFindFromUrlHash);
eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount);
eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState);
if (_app_options.AppOptions.get("pdfBug")) {
_boundEvents.reportPageStatsPDFBug = reportPageStatsPDFBug;
eventBus._on("pagerendered", _boundEvents.reportPageStatsPDFBug);
eventBus._on("pagechanging", _boundEvents.reportPageStatsPDFBug);
}
eventBus._on("fileinputchange", webViewerFileInputChange);
eventBus._on("openfile", webViewerOpenFile);
},
bindWindowEvents: function bindWindowEvents() {
var eventBus = this.eventBus,
_boundEvents = this._boundEvents;
_boundEvents.windowResize = function () {
eventBus.dispatch("resize", {
source: window
});
};
_boundEvents.windowHashChange = function () {
eventBus.dispatch("hashchange", {
source: window,
hash: document.location.hash.substring(1)
});
};
_boundEvents.windowBeforePrint = function () {
eventBus.dispatch("beforeprint", {
source: window
});
};
_boundEvents.windowAfterPrint = function () {
eventBus.dispatch("afterprint", {
source: window
});
};
_boundEvents.windowUpdateFromSandbox = function (event) {
eventBus.dispatch("updatefromsandbox", {
source: window,
detail: event.detail
});
};
window.addEventListener("visibilitychange", webViewerVisibilityChange);
window.addEventListener("wheel", webViewerWheel, {
passive: false
});
window.addEventListener("touchstart", webViewerTouchStart, {
passive: false
});
window.addEventListener("click", webViewerClick);
window.addEventListener("keydown", webViewerKeyDown);
window.addEventListener("resize", _boundEvents.windowResize);
window.addEventListener("hashchange", _boundEvents.windowHashChange);
window.addEventListener("beforeprint", _boundEvents.windowBeforePrint);
window.addEventListener("afterprint", _boundEvents.windowAfterPrint);
window.addEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox);
},
unbindEvents: function unbindEvents() {
var eventBus = this.eventBus,
_boundEvents = this._boundEvents;
eventBus._off("resize", webViewerResize);
eventBus._off("hashchange", webViewerHashchange);
eventBus._off("beforeprint", _boundEvents.beforePrint);
eventBus._off("afterprint", _boundEvents.afterPrint);
eventBus._off("pagerendered", webViewerPageRendered);
eventBus._off("updateviewarea", webViewerUpdateViewarea);
eventBus._off("pagechanging", webViewerPageChanging);
eventBus._off("scalechanging", webViewerScaleChanging);
eventBus._off("rotationchanging", webViewerRotationChanging);
eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged);
eventBus._off("pagemode", webViewerPageMode);
eventBus._off("namedaction", webViewerNamedAction);
eventBus._off("presentationmodechanged", webViewerPresentationModeChanged);
eventBus._off("presentationmode", webViewerPresentationMode);
eventBus._off("print", webViewerPrint);
eventBus._off("download", webViewerDownload);
eventBus._off("save", webViewerSave);
eventBus._off("firstpage", webViewerFirstPage);
eventBus._off("lastpage", webViewerLastPage);
eventBus._off("nextpage", webViewerNextPage);
eventBus._off("previouspage", webViewerPreviousPage);
eventBus._off("zoomin", webViewerZoomIn);
eventBus._off("zoomout", webViewerZoomOut);
eventBus._off("zoomreset", webViewerZoomReset);
eventBus._off("pagenumberchanged", webViewerPageNumberChanged);
eventBus._off("scalechanged", webViewerScaleChanged);
eventBus._off("rotatecw", webViewerRotateCw);
eventBus._off("rotateccw", webViewerRotateCcw);
eventBus._off("optionalcontentconfig", webViewerOptionalContentConfig);
eventBus._off("switchscrollmode", webViewerSwitchScrollMode);
eventBus._off("scrollmodechanged", webViewerScrollModeChanged);
eventBus._off("switchspreadmode", webViewerSwitchSpreadMode);
eventBus._off("spreadmodechanged", webViewerSpreadModeChanged);
eventBus._off("documentproperties", webViewerDocumentProperties);
eventBus._off("findfromurlhash", webViewerFindFromUrlHash);
eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount);
eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState);
if (_boundEvents.reportPageStatsPDFBug) {
eventBus._off("pagerendered", _boundEvents.reportPageStatsPDFBug);
eventBus._off("pagechanging", _boundEvents.reportPageStatsPDFBug);
_boundEvents.reportPageStatsPDFBug = null;
}
eventBus._off("fileinputchange", webViewerFileInputChange);
eventBus._off("openfile", webViewerOpenFile);
_boundEvents.beforePrint = null;
_boundEvents.afterPrint = null;
},
unbindWindowEvents: function unbindWindowEvents() {
var _boundEvents = this._boundEvents;
window.removeEventListener("visibilitychange", webViewerVisibilityChange);
window.removeEventListener("wheel", webViewerWheel, {
passive: false
});
window.removeEventListener("touchstart", webViewerTouchStart, {
passive: false
});
window.removeEventListener("click", webViewerClick);
window.removeEventListener("keydown", webViewerKeyDown);
window.removeEventListener("resize", _boundEvents.windowResize);
window.removeEventListener("hashchange", _boundEvents.windowHashChange);
window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint);
window.removeEventListener("afterprint", _boundEvents.windowAfterPrint);
window.removeEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox);
_boundEvents.windowResize = null;
_boundEvents.windowHashChange = null;
_boundEvents.windowBeforePrint = null;
_boundEvents.windowAfterPrint = null;
_boundEvents.windowUpdateFromSandbox = null;
},
accumulateWheelTicks: function accumulateWheelTicks(ticks) {
if (this._wheelUnusedTicks > 0 && ticks < 0 || this._wheelUnusedTicks < 0 && ticks > 0) {
this._wheelUnusedTicks = 0;
}
this._wheelUnusedTicks += ticks;
var wholeTicks = Math.sign(this._wheelUnusedTicks) * Math.floor(Math.abs(this._wheelUnusedTicks));
this._wheelUnusedTicks -= wholeTicks;
return wholeTicks;
},
_unblockDocumentLoadEvent: function _unblockDocumentLoadEvent() {
if (document.blockUnblockOnload) {
document.blockUnblockOnload(false);
}
this._unblockDocumentLoadEvent = function () {};
},
_reportDocumentStatsTelemetry: function _reportDocumentStatsTelemetry() {
var stats = this.pdfDocument.stats;
if (stats !== this._docStats) {
this._docStats = stats;
this.externalServices.reportTelemetry({
type: "documentStats",
stats: stats
});
}
},
get scriptingReady() {
return this.pdfScriptingManager.ready;
}
};
exports.PDFViewerApplication = PDFViewerApplication;
var validateFileURL;
{
var HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"];
validateFileURL = function validateFileURL(file) {
if (file === undefined) {
return;
}
try {
var viewerOrigin = new URL(window.location.href).origin || "null";
if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) {
return;
}
var fileOrigin = new URL(file, window.location.href).origin;
if (fileOrigin !== viewerOrigin) {
throw new Error("file origin does not match viewer's");
}
} catch (ex) {
PDFViewerApplication.l10n.get("loading_error").then(function (msg) {
PDFViewerApplication._documentError(msg, {
message: ex === null || ex === void 0 ? void 0 : ex.message
});
});
throw ex;
}
};
}
function loadFakeWorker() {
return _loadFakeWorker.apply(this, arguments);
}
function _loadFakeWorker() {
_loadFakeWorker = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
return _regenerator["default"].wrap(function _callee16$(_context16) {
while (1) {
switch (_context16.prev = _context16.next) {
case 0:
if (!_pdfjsLib.GlobalWorkerOptions.workerSrc) {
_pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get("workerSrc");
}
_context16.next = 3;
return (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.workerSrc);
case 3:
case "end":
return _context16.stop();
}
}
}, _callee16);
}));
return _loadFakeWorker.apply(this, arguments);
}
function initPDFBug(_x2) {
return _initPDFBug.apply(this, arguments);
}
function _initPDFBug() {
_initPDFBug = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee17(enabledTabs) {
var _PDFViewerApplication7, debuggerScriptPath, mainContainer;
return _regenerator["default"].wrap(function _callee17$(_context17) {
while (1) {
switch (_context17.prev = _context17.next) {
case 0:
_PDFViewerApplication7 = PDFViewerApplication.appConfig, debuggerScriptPath = _PDFViewerApplication7.debuggerScriptPath, mainContainer = _PDFViewerApplication7.mainContainer;
_context17.next = 3;
return (0, _pdfjsLib.loadScript)(debuggerScriptPath);
case 3:
PDFBug.init({
OPS: _pdfjsLib.OPS
}, mainContainer, enabledTabs);
case 4:
case "end":
return _context17.stop();
}
}
}, _callee17);
}));
return _initPDFBug.apply(this, arguments);
}
function reportPageStatsPDFBug(_ref10) {
var _pageView$pdfPage;
var pageNumber = _ref10.pageNumber;
if (typeof Stats === "undefined" || !Stats.enabled) {
return;
}
var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1);
var pageStats = pageView === null || pageView === void 0 ? void 0 : (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.stats;
if (!pageStats) {
return;
}
Stats.add(pageNumber, pageStats);
}
function webViewerInitialized() {
var _params$get;
var appConfig = PDFViewerApplication.appConfig;
var file;
var queryString = document.location.search.substring(1);
var params = (0, _ui_utils.parseQueryString)(queryString);
file = document.body.dataset.url;
validateFileURL(file);
var fileInput_label = document.createElement("label");
fileInput_label.setAttribute("for",appConfig.openFileInputName);
fileInput_label.setAttribute("style", "display: none;");
fileInput_label.innerHTML = "File Input";
document.body.appendChild(fileInput_label);
var fileInput = document.createElement("input");
fileInput.id = appConfig.openFileInputName;
fileInput.className = "fileInput";
fileInput.setAttribute("type", "file");
fileInput.setAttribute("title", "File Input");
fileInput.oncontextmenu = _ui_utils.noContextMenuHandler;
document.body.appendChild(fileInput);
if (!window.File || !window.FileReader || !window.FileList || !window.Blob) {
appConfig.toolbar.openFile.hidden = true;
appConfig.secondaryToolbar.openFileButton.hidden = true;
} else {
fileInput.value = null;
}
fileInput.addEventListener("change", function (evt) {
var files = evt.target.files;
if (!files || files.length === 0) {
return;
}
PDFViewerApplication.eventBus.dispatch("fileinputchange", {
source: this,
fileInput: evt.target
});
});
appConfig.mainContainer.addEventListener("dragover", function (evt) {
evt.preventDefault();
evt.dataTransfer.dropEffect = "move";
});
appConfig.mainContainer.addEventListener("drop", function (evt) {
evt.preventDefault();
var files = evt.dataTransfer.files;
if (!files || files.length === 0) {
return;
}
PDFViewerApplication.eventBus.dispatch("fileinputchange", {
source: this,
fileInput: evt.dataTransfer
});
});
if (!PDFViewerApplication.supportsDocumentFonts) {
_app_options.AppOptions.set("disableFontFace", true);
PDFViewerApplication.l10n.get("web_fonts_disabled").then(function (msg) {
console.warn(msg);
});
}
if (!PDFViewerApplication.supportsPrinting) {
appConfig.toolbar.print.classList.add("hidden");
appConfig.secondaryToolbar.printButton.classList.add("hidden");
}
if (!PDFViewerApplication.supportsFullscreen) {
appConfig.toolbar.presentationModeButton.classList.add("hidden");
appConfig.secondaryToolbar.presentationModeButton.classList.add("hidden");
}
if (PDFViewerApplication.supportsIntegratedFind) {
appConfig.toolbar.viewFind.classList.add("hidden");
}
appConfig.mainContainer.addEventListener("transitionend", function (evt) {
if (evt.target === this) {
PDFViewerApplication.eventBus.dispatch("resize", {
source: this
});
}
}, true);
try {
webViewerOpenFileViaURL(file);
} catch (reason) {
PDFViewerApplication.l10n.get("loading_error").then(function (msg) {
PDFViewerApplication._documentError(msg, reason);
});
}
}
function webViewerOpenFileViaURL(file) {
if (file) {
PDFViewerApplication.open(file);
} else {
PDFViewerApplication._hideViewBookmark();
}
}
function webViewerPageRendered(_ref11) {
var pageNumber = _ref11.pageNumber,
error = _ref11.error;
if (pageNumber === PDFViewerApplication.page) {
PDFViewerApplication.toolbar.updateLoadingIndicatorState(false);
}
if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1);
var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageNumber - 1);
if (pageView && thumbnailView) {
thumbnailView.setImage(pageView);
}
}
if (error) {
PDFViewerApplication.l10n.get("rendering_error").then(function (msg) {
PDFViewerApplication._otherError(msg, error);
});
}
PDFViewerApplication._reportDocumentStatsTelemetry();
}
function webViewerPageMode(_ref12) {
var mode = _ref12.mode;
var view;
switch (mode) {
case "thumbs":
view = _ui_utils.SidebarView.THUMBS;
break;
case "bookmarks":
case "outline":
view = _ui_utils.SidebarView.OUTLINE;
break;
case "attachments":
view = _ui_utils.SidebarView.ATTACHMENTS;
break;
case "layers":
view = _ui_utils.SidebarView.LAYERS;
break;
case "none":
view = _ui_utils.SidebarView.NONE;
break;
default:
console.error('Invalid "pagemode" hash parameter: ' + mode);
return;
}
PDFViewerApplication.pdfSidebar.switchView(view, true);
}
function webViewerNamedAction(evt) {
switch (evt.action) {
case "GoToPage":
PDFViewerApplication.appConfig.toolbar.pageNumber.select();
break;
case "Find":
if (!PDFViewerApplication.supportsIntegratedFind) {
PDFViewerApplication.findBar.toggle();
}
break;
case "Print":
PDFViewerApplication.triggerPrinting();
break;
case "SaveAs":
webViewerSave();
break;
}
}
function webViewerPresentationModeChanged(evt) {
PDFViewerApplication.pdfViewer.presentationModeState = evt.state;
}
function webViewerSidebarViewChanged(evt) {
PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;
if (PDFViewerApplication.isInitialViewSet) {
var _PDFViewerApplication;
(_PDFViewerApplication = PDFViewerApplication.store) === null || _PDFViewerApplication === void 0 ? void 0 : _PDFViewerApplication.set("sidebarView", evt.view)["catch"](function () {});
}
}
function webViewerUpdateViewarea(evt) {
var location = evt.location;
if (PDFViewerApplication.isInitialViewSet) {
var _PDFViewerApplication2;
(_PDFViewerApplication2 = PDFViewerApplication.store) === null || _PDFViewerApplication2 === void 0 ? void 0 : _PDFViewerApplication2.setMultiple({
page: location.pageNumber,
zoom: location.scale,
scrollLeft: location.left,
scrollTop: location.top,
rotation: location.rotation
})["catch"](function () {});
}
var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);
PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;
PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href;
var currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
var loading = (currentPage === null || currentPage === void 0 ? void 0 : currentPage.renderingState) !== _ui_utils.RenderingStates.FINISHED;
PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);
}
function webViewerScrollModeChanged(evt) {
if (PDFViewerApplication.isInitialViewSet) {
var _PDFViewerApplication3;
(_PDFViewerApplication3 = PDFViewerApplication.store) === null || _PDFViewerApplication3 === void 0 ? void 0 : _PDFViewerApplication3.set("scrollMode", evt.mode)["catch"](function () {});
}
}
function webViewerSpreadModeChanged(evt) {
if (PDFViewerApplication.isInitialViewSet) {
var _PDFViewerApplication4;
(_PDFViewerApplication4 = PDFViewerApplication.store) === null || _PDFViewerApplication4 === void 0 ? void 0 : _PDFViewerApplication4.set("spreadMode", evt.mode)["catch"](function () {});
}
}
function webViewerResize() {
var pdfDocument = PDFViewerApplication.pdfDocument,
pdfViewer = PDFViewerApplication.pdfViewer;
if (!pdfDocument) {
return;
}
var currentScaleValue = pdfViewer.currentScaleValue;
if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === "page-width") {
pdfViewer.currentScaleValue = currentScaleValue;
}
pdfViewer.update();
}
function webViewerHashchange(evt) {
var _PDFViewerApplication5;
var hash = evt.hash;
if (!hash) {
return;
}
if (!PDFViewerApplication.isInitialViewSet) {
PDFViewerApplication.initialBookmark = hash;
} else if (!((_PDFViewerApplication5 = PDFViewerApplication.pdfHistory) !== null && _PDFViewerApplication5 !== void 0 && _PDFViewerApplication5.popStateInProgress)) {
PDFViewerApplication.pdfLinkService.setHash(hash);
}
}
var webViewerFileInputChange, webViewerOpenFile;
{
webViewerFileInputChange = function webViewerFileInputChange(evt) {
var _PDFViewerApplication6;
if ((_PDFViewerApplication6 = PDFViewerApplication.pdfViewer) !== null && _PDFViewerApplication6 !== void 0 && _PDFViewerApplication6.isInPresentationMode) {
return;
}
var file = evt.fileInput.files[0];
var url = URL.createObjectURL(file);
if (file.name) {
url = {
url: url,
originalUrl: file.name
};
}
PDFViewerApplication.open(url);
};
webViewerOpenFile = function webViewerOpenFile(evt) {
var openFileInputName = PDFViewerApplication.appConfig.openFileInputName;
document.getElementById(openFileInputName).click();
};
}
function webViewerPresentationMode() {
PDFViewerApplication.requestPresentationMode();
}
function webViewerPrint() {
PDFViewerApplication.triggerPrinting();
}
function webViewerDownload() {
PDFViewerApplication.downloadOrSave({
sourceEventType: "download"
});
}
function webViewerSave() {
PDFViewerApplication.downloadOrSave({
sourceEventType: "save"
});
}
function webViewerFirstPage() {
if (PDFViewerApplication.pdfDocument) {
PDFViewerApplication.page = 1;
}
}
function webViewerLastPage() {
if (PDFViewerApplication.pdfDocument) {
PDFViewerApplication.page = PDFViewerApplication.pagesCount;
}
}
function webViewerNextPage() {
PDFViewerApplication.pdfViewer.nextPage();
}
function webViewerPreviousPage() {
PDFViewerApplication.pdfViewer.previousPage();
}
function webViewerZoomIn() {
PDFViewerApplication.zoomIn();
}
function webViewerZoomOut() {
PDFViewerApplication.zoomOut();
}
function webViewerZoomReset() {
PDFViewerApplication.zoomReset();
}
function webViewerPageNumberChanged(evt) {
var pdfViewer = PDFViewerApplication.pdfViewer;
if (evt.value !== "") {
PDFViewerApplication.pdfLinkService.goToPage(evt.value);
}
if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) {
PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
}
}
function webViewerScaleChanged(evt) {
PDFViewerApplication.pdfViewer.currentScaleValue = evt.value;
}
function webViewerRotateCw() {
PDFViewerApplication.rotatePages(90);
}
function webViewerRotateCcw() {
PDFViewerApplication.rotatePages(-90);
}
function webViewerOptionalContentConfig(evt) {
PDFViewerApplication.pdfViewer.optionalContentConfigPromise = evt.promise;
}
function webViewerSwitchScrollMode(evt) {
PDFViewerApplication.pdfViewer.scrollMode = evt.mode;
}
function webViewerSwitchSpreadMode(evt) {
PDFViewerApplication.pdfViewer.spreadMode = evt.mode;
}
function webViewerDocumentProperties() {
PDFViewerApplication.pdfDocumentProperties.open();
}
function webViewerFindFromUrlHash(evt) {
PDFViewerApplication.eventBus.dispatch("find", {
source: evt.source,
type: "",
query: evt.query,
phraseSearch: evt.phraseSearch,
caseSensitive: false,
entireWord: false,
highlightAll: true,
findPrevious: false,
matchDiacritics: true
});
}
function webViewerUpdateFindMatchesCount(_ref13) {
var matchesCount = _ref13.matchesCount;
if (PDFViewerApplication.supportsIntegratedFind) {
PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount);
} else {
PDFViewerApplication.findBar.updateResultsCount(matchesCount);
}
}
function webViewerUpdateFindControlState(_ref14) {
var state = _ref14.state,
previous = _ref14.previous,
matchesCount = _ref14.matchesCount,
rawQuery = _ref14.rawQuery;
if (PDFViewerApplication.supportsIntegratedFind) {
PDFViewerApplication.externalServices.updateFindControlState({
result: state,
findPrevious: previous,
matchesCount: matchesCount,
rawQuery: rawQuery
});
} else {
PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount);
}
}
function webViewerScaleChanging(evt) {
PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale);
PDFViewerApplication.pdfViewer.update();
}
function webViewerRotationChanging(evt) {
PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation;
PDFViewerApplication.forceRendering();
PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber;
}
function webViewerPageChanging(_ref15) {
var pageNumber = _ref15.pageNumber,
pageLabel = _ref15.pageLabel;
PDFViewerApplication.toolbar.setPageNumber(pageNumber, pageLabel);
PDFViewerApplication.secondaryToolbar.setPageNumber(pageNumber);
if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(pageNumber);
}
}
function webViewerVisibilityChange(evt) {
if (document.visibilityState === "visible") {
setZoomDisabledTimeout();
}
}
var zoomDisabledTimeout = null;
function setZoomDisabledTimeout() {
if (zoomDisabledTimeout) {
clearTimeout(zoomDisabledTimeout);
}
zoomDisabledTimeout = setTimeout(function () {
zoomDisabledTimeout = null;
}, WHEEL_ZOOM_DISABLED_TIMEOUT);
}
function webViewerWheel(evt) {
var pdfViewer = PDFViewerApplication.pdfViewer,
supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys;
if (pdfViewer.isInPresentationMode) {
return;
}
if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) {
evt.preventDefault();
if (zoomDisabledTimeout || document.visibilityState === "hidden") {
return;
}
var deltaMode = evt.deltaMode;
var delta = (0, _ui_utils.normalizeWheelEventDirection)(evt);
var previousScale = pdfViewer.currentScale;
var ticks = 0;
if (deltaMode === WheelEvent.DOM_DELTA_LINE || deltaMode === WheelEvent.DOM_DELTA_PAGE) {
if (Math.abs(delta) >= 1) {
ticks = Math.sign(delta);
} else {
ticks = PDFViewerApplication.accumulateWheelTicks(delta);
}
} else {
var PIXELS_PER_LINE_SCALE = 30;
ticks = PDFViewerApplication.accumulateWheelTicks(delta / PIXELS_PER_LINE_SCALE);
}
if (ticks < 0) {
PDFViewerApplication.zoomOut(-ticks);
} else if (ticks > 0) {
PDFViewerApplication.zoomIn(ticks);
}
var currentScale = pdfViewer.currentScale;
if (previousScale !== currentScale) {
var scaleCorrectionFactor = currentScale / previousScale - 1;
var rect = pdfViewer.container.getBoundingClientRect();
var dx = evt.clientX - rect.left;
var dy = evt.clientY - rect.top;
pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;
pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;
}
} else {
setZoomDisabledTimeout();
}
}
function webViewerTouchStart(evt) {
if (evt.touches.length > 1) {
evt.preventDefault();
}
}
function webViewerClick(evt) {
if (!PDFViewerApplication.secondaryToolbar.isOpen) {
return;
}
var appConfig = PDFViewerApplication.appConfig;
if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) {
PDFViewerApplication.secondaryToolbar.close();
}
}
function webViewerKeyDown(evt) {
if (PDFViewerApplication.overlayManager.active) {
return;
}
var eventBus = PDFViewerApplication.eventBus,
pdfViewer = PDFViewerApplication.pdfViewer;
var isViewerInPresentationMode = pdfViewer.isInPresentationMode;
var handled = false,
ensureViewerFocused = false;
var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0);
if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) {
switch (evt.keyCode) {
case 70:
if (!PDFViewerApplication.supportsIntegratedFind && !evt.shiftKey) {
PDFViewerApplication.findBar.open();
handled = true;
}
break;
case 71:
if (!PDFViewerApplication.supportsIntegratedFind) {
var state = PDFViewerApplication.findController.state;
if (state) {
var eventState = Object.assign(Object.create(null), state, {
source: window,
type: "again",
findPrevious: cmd === 5 || cmd === 12
});
eventBus.dispatch("find", eventState);
}
handled = true;
}
break;
case 61:
case 107:
case 187:
case 171:
if (!isViewerInPresentationMode) {
PDFViewerApplication.zoomIn();
}
handled = true;
break;
case 173:
case 109:
case 189:
if (!isViewerInPresentationMode) {
PDFViewerApplication.zoomOut();
}
handled = true;
break;
case 48:
case 96:
if (!isViewerInPresentationMode) {
setTimeout(function () {
PDFViewerApplication.zoomReset();
});
handled = false;
}
break;
case 38:
if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {
PDFViewerApplication.page = 1;
handled = true;
ensureViewerFocused = true;
}
break;
case 40:
if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
PDFViewerApplication.page = PDFViewerApplication.pagesCount;
handled = true;
ensureViewerFocused = true;
}
break;
}
}
if (cmd === 1 || cmd === 8) {
switch (evt.keyCode) {
case 83:
eventBus.dispatch("download", {
source: window
});
handled = true;
break;
case 79:
{
eventBus.dispatch("openfile", {
source: window
});
handled = true;
}
break;
}
}
if (cmd === 3 || cmd === 10) {
switch (evt.keyCode) {
case 80:
PDFViewerApplication.requestPresentationMode();
handled = true;
break;
case 71:
PDFViewerApplication.appConfig.toolbar.pageNumber.select();
handled = true;
break;
}
}
if (handled) {
if (ensureViewerFocused && !isViewerInPresentationMode) {
pdfViewer.focus();
}
evt.preventDefault();
return;
}
var curElement = (0, _ui_utils.getActiveOrFocusedElement)();
var curElementTagName = curElement === null || curElement === void 0 ? void 0 : curElement.tagName.toUpperCase();
if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElement !== null && curElement !== void 0 && curElement.isContentEditable) {
if (evt.keyCode !== 27) {
return;
}
}
if (cmd === 0) {
var turnPage = 0,
turnOnlyIfPageFit = false;
switch (evt.keyCode) {
case 38:
case 33:
if (pdfViewer.isVerticalScrollbarEnabled) {
turnOnlyIfPageFit = true;
}
turnPage = -1;
break;
case 8:
if (!isViewerInPresentationMode) {
turnOnlyIfPageFit = true;
}
turnPage = -1;
break;
case 37:
if (pdfViewer.isHorizontalScrollbarEnabled) {
turnOnlyIfPageFit = true;
}
case 75:
case 80:
turnPage = -1;
break;
case 27:
if (PDFViewerApplication.secondaryToolbar.isOpen) {
PDFViewerApplication.secondaryToolbar.close();
handled = true;
}
if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) {
PDFViewerApplication.findBar.close();
handled = true;
}
break;
case 40:
case 34:
if (pdfViewer.isVerticalScrollbarEnabled) {
turnOnlyIfPageFit = true;
}
turnPage = 1;
break;
case 13:
case 32:
if (!isViewerInPresentationMode) {
turnOnlyIfPageFit = true;
}
turnPage = 1;
break;
case 39:
if (pdfViewer.isHorizontalScrollbarEnabled) {
turnOnlyIfPageFit = true;
}
case 74:
case 78:
turnPage = 1;
break;
case 36:
if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {
PDFViewerApplication.page = 1;
handled = true;
ensureViewerFocused = true;
}
break;
case 35:
if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
PDFViewerApplication.page = PDFViewerApplication.pagesCount;
handled = true;
ensureViewerFocused = true;
}
break;
case 83:
PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT);
break;
case 72:
PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND);
break;
case 82:
PDFViewerApplication.rotatePages(90);
break;
case 115:
PDFViewerApplication.pdfSidebar.toggle();
break;
}
if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) {
if (turnPage > 0) {
pdfViewer.nextPage();
} else {
pdfViewer.previousPage();
}
handled = true;
}
}
if (cmd === 4) {
switch (evt.keyCode) {
case 13:
case 32:
if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") {
break;
}
pdfViewer.previousPage();
handled = true;
break;
case 82:
PDFViewerApplication.rotatePages(-90);
break;
}
}
if (!handled && !isViewerInPresentationMode) {
if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") {
ensureViewerFocused = true;
}
}
if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) {
pdfViewer.focus();
}
if (handled) {
evt.preventDefault();
}
}
function beforeUnload(evt) {
evt.preventDefault();
evt.returnValue = "";
return false;
}
var PDFPrintServiceFactory = {
instance: {
supportsPrinting: false,
createPrintService: function createPrintService() {
throw new Error("Not implemented: createPrintService");
}
}
};
exports.PDFPrintServiceFactory = PDFPrintServiceFactory;
/***/ }),
/* 3 */
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__(4);
/***/ }),
/* 4 */
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
/* module decorator */ module = __webpack_require__.nmd(module);
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
var runtime = function (exports) {
"use strict";
var Op = Object.prototype;
var hasOwn = Op.hasOwnProperty;
var undefined;
var $Symbol = typeof Symbol === "function" ? Symbol : {};
var iteratorSymbol = $Symbol.iterator || "@@iterator";
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
function define(obj, key, value) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
return obj[key];
}
try {
define({}, "");
} catch (err) {
define = function define(obj, key, value) {
return obj[key] = value;
};
}
function wrap(innerFn, outerFn, self, tryLocsList) {
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
var generator = Object.create(protoGenerator.prototype);
var context = new Context(tryLocsList || []);
generator._invoke = makeInvokeMethod(innerFn, self, context);
return generator;
}
exports.wrap = wrap;
function tryCatch(fn, obj, arg) {
try {
return {
type: "normal",
arg: fn.call(obj, arg)
};
} catch (err) {
return {
type: "throw",
arg: err
};
}
}
var GenStateSuspendedStart = "suspendedStart";
var GenStateSuspendedYield = "suspendedYield";
var GenStateExecuting = "executing";
var GenStateCompleted = "completed";
var ContinueSentinel = {};
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
var IteratorPrototype = {};
define(IteratorPrototype, iteratorSymbol, function () {
return this;
});
var getProto = Object.getPrototypeOf;
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
IteratorPrototype = NativeIteratorPrototype;
}
var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
GeneratorFunction.prototype = GeneratorFunctionPrototype;
define(Gp, "constructor", GeneratorFunctionPrototype);
define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction");
function defineIteratorMethods(prototype) {
["next", "throw", "return"].forEach(function (method) {
define(prototype, method, function (arg) {
return this._invoke(method, arg);
});
});
}
exports.isGeneratorFunction = function (genFun) {
var ctor = typeof genFun === "function" && genFun.constructor;
return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
};
exports.mark = function (genFun) {
if (Object.setPrototypeOf) {
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
} else {
genFun.__proto__ = GeneratorFunctionPrototype;
define(genFun, toStringTagSymbol, "GeneratorFunction");
}
genFun.prototype = Object.create(Gp);
return genFun;
};
exports.awrap = function (arg) {
return {
__await: arg
};
};
function AsyncIterator(generator, PromiseImpl) {
function invoke(method, arg, resolve, reject) {
var record = tryCatch(generator[method], generator, arg);
if (record.type === "throw") {
reject(record.arg);
} else {
var result = record.arg;
var value = result.value;
if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
return PromiseImpl.resolve(value.__await).then(function (value) {
invoke("next", value, resolve, reject);
}, function (err) {
invoke("throw", err, resolve, reject);
});
}
return PromiseImpl.resolve(value).then(function (unwrapped) {
result.value = unwrapped;
resolve(result);
}, function (error) {
return invoke("throw", error, resolve, reject);
});
}
}
var previousPromise;
function enqueue(method, arg) {
function callInvokeWithMethodAndArg() {
return new PromiseImpl(function (resolve, reject) {
invoke(method, arg, resolve, reject);
});
}
return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
}
this._invoke = enqueue;
}
defineIteratorMethods(AsyncIterator.prototype);
define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
return this;
});
exports.AsyncIterator = AsyncIterator;
exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
if (PromiseImpl === void 0) PromiseImpl = Promise;
var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
return result.done ? result.value : iter.next();
});
};
function makeInvokeMethod(innerFn, self, context) {
var state = GenStateSuspendedStart;
return function invoke(method, arg) {
if (state === GenStateExecuting) {
throw new Error("Generator is already running");
}
if (state === GenStateCompleted) {
if (method === "throw") {
throw arg;
}
return doneResult();
}
context.method = method;
context.arg = arg;
while (true) {
var delegate = context.delegate;
if (delegate) {
var delegateResult = maybeInvokeDelegate(delegate, context);
if (delegateResult) {
if (delegateResult === ContinueSentinel) continue;
return delegateResult;
}
}
if (context.method === "next") {
context.sent = context._sent = context.arg;
} else if (context.method === "throw") {
if (state === GenStateSuspendedStart) {
state = GenStateCompleted;
throw context.arg;
}
context.dispatchException(context.arg);
} else if (context.method === "return") {
context.abrupt("return", context.arg);
}
state = GenStateExecuting;
var record = tryCatch(innerFn, self, context);
if (record.type === "normal") {
state = context.done ? GenStateCompleted : GenStateSuspendedYield;
if (record.arg === ContinueSentinel) {
continue;
}
return {
value: record.arg,
done: context.done
};
} else if (record.type === "throw") {
state = GenStateCompleted;
context.method = "throw";
context.arg = record.arg;
}
}
};
}
function maybeInvokeDelegate(delegate, context) {
var method = delegate.iterator[context.method];
if (method === undefined) {
context.delegate = null;
if (context.method === "throw") {
if (delegate.iterator["return"]) {
context.method = "return";
context.arg = undefined;
maybeInvokeDelegate(delegate, context);
if (context.method === "throw") {
return ContinueSentinel;
}
}
context.method = "throw";
context.arg = new TypeError("The iterator does not provide a 'throw' method");
}
return ContinueSentinel;
}
var record = tryCatch(method, delegate.iterator, context.arg);
if (record.type === "throw") {
context.method = "throw";
context.arg = record.arg;
context.delegate = null;
return ContinueSentinel;
}
var info = record.arg;
if (!info) {
context.method = "throw";
context.arg = new TypeError("iterator result is not an object");
context.delegate = null;
return ContinueSentinel;
}
if (info.done) {
context[delegate.resultName] = info.value;
context.next = delegate.nextLoc;
if (context.method !== "return") {
context.method = "next";
context.arg = undefined;
}
} else {
return info;
}
context.delegate = null;
return ContinueSentinel;
}
defineIteratorMethods(Gp);
define(Gp, toStringTagSymbol, "Generator");
define(Gp, iteratorSymbol, function () {
return this;
});
define(Gp, "toString", function () {
return "[object Generator]";
});
function pushTryEntry(locs) {
var entry = {
tryLoc: locs[0]
};
if (1 in locs) {
entry.catchLoc = locs[1];
}
if (2 in locs) {
entry.finallyLoc = locs[2];
entry.afterLoc = locs[3];
}
this.tryEntries.push(entry);
}
function resetTryEntry(entry) {
var record = entry.completion || {};
record.type = "normal";
delete record.arg;
entry.completion = record;
}
function Context(tryLocsList) {
this.tryEntries = [{
tryLoc: "root"
}];
tryLocsList.forEach(pushTryEntry, this);
this.reset(true);
}
exports.keys = function (object) {
var keys = [];
for (var key in object) {
keys.push(key);
}
keys.reverse();
return function next() {
while (keys.length) {
var key = keys.pop();
if (key in object) {
next.value = key;
next.done = false;
return next;
}
}
next.done = true;
return next;
};
};
function values(iterable) {
if (iterable) {
var iteratorMethod = iterable[iteratorSymbol];
if (iteratorMethod) {
return iteratorMethod.call(iterable);
}
if (typeof iterable.next === "function") {
return iterable;
}
if (!isNaN(iterable.length)) {
var i = -1,
next = function next() {
while (++i < iterable.length) {
if (hasOwn.call(iterable, i)) {
next.value = iterable[i];
next.done = false;
return next;
}
}
next.value = undefined;
next.done = true;
return next;
};
return next.next = next;
}
}
return {
next: doneResult
};
}
exports.values = values;
function doneResult() {
return {
value: undefined,
done: true
};
}
Context.prototype = {
constructor: Context,
reset: function reset(skipTempReset) {
this.prev = 0;
this.next = 0;
this.sent = this._sent = undefined;
this.done = false;
this.delegate = null;
this.method = "next";
this.arg = undefined;
this.tryEntries.forEach(resetTryEntry);
if (!skipTempReset) {
for (var name in this) {
if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
this[name] = undefined;
}
}
}
},
stop: function stop() {
this.done = true;
var rootEntry = this.tryEntries[0];
var rootRecord = rootEntry.completion;
if (rootRecord.type === "throw") {
throw rootRecord.arg;
}
return this.rval;
},
dispatchException: function dispatchException(exception) {
if (this.done) {
throw exception;
}
var context = this;
function handle(loc, caught) {
record.type = "throw";
record.arg = exception;
context.next = loc;
if (caught) {
context.method = "next";
context.arg = undefined;
}
return !!caught;
}
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
var record = entry.completion;
if (entry.tryLoc === "root") {
return handle("end");
}
if (entry.tryLoc <= this.prev) {
var hasCatch = hasOwn.call(entry, "catchLoc");
var hasFinally = hasOwn.call(entry, "finallyLoc");
if (hasCatch && hasFinally) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
} else if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else if (hasCatch) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
}
} else if (hasFinally) {
if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else {
throw new Error("try statement without catch or finally");
}
}
}
},
abrupt: function abrupt(type, arg) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
var finallyEntry = entry;
break;
}
}
if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
finallyEntry = null;
}
var record = finallyEntry ? finallyEntry.completion : {};
record.type = type;
record.arg = arg;
if (finallyEntry) {
this.method = "next";
this.next = finallyEntry.finallyLoc;
return ContinueSentinel;
}
return this.complete(record);
},
complete: function complete(record, afterLoc) {
if (record.type === "throw") {
throw record.arg;
}
if (record.type === "break" || record.type === "continue") {
this.next = record.arg;
} else if (record.type === "return") {
this.rval = this.arg = record.arg;
this.method = "return";
this.next = "end";
} else if (record.type === "normal" && afterLoc) {
this.next = afterLoc;
}
return ContinueSentinel;
},
finish: function finish(finallyLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.finallyLoc === finallyLoc) {
this.complete(entry.completion, entry.afterLoc);
resetTryEntry(entry);
return ContinueSentinel;
}
}
},
"catch": function _catch(tryLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc === tryLoc) {
var record = entry.completion;
if (record.type === "throw") {
var thrown = record.arg;
resetTryEntry(entry);
}
return thrown;
}
}
throw new Error("illegal catch attempt");
},
delegateYield: function delegateYield(iterable, resultName, nextLoc) {
this.delegate = {
iterator: values(iterable),
resultName: resultName,
nextLoc: nextLoc
};
if (this.method === "next") {
this.arg = undefined;
}
return ContinueSentinel;
}
};
return exports;
}(( false ? 0 : _typeof(module)) === "object" ? module.exports : {});
try {
regeneratorRuntime = runtime;
} catch (accidentalStrictMode) {
if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") {
globalThis.regeneratorRuntime = runtime;
} else {
Function("r", "regeneratorRuntime = r")(runtime);
}
}
/***/ }),
/* 5 */
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.animationStarted = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RenderingStates = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.OutputScale = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.AutoPrintRegExp = void 0;
exports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes;
exports.apiPageModeToSidebarView = apiPageModeToSidebarView;
exports.approximateFraction = approximateFraction;
exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
exports.binarySearchFirstItem = binarySearchFirstItem;
exports.getActiveOrFocusedElement = getActiveOrFocusedElement;
exports.getPageSizeInches = getPageSizeInches;
exports.getVisibleElements = getVisibleElements;
exports.isPortraitOrientation = isPortraitOrientation;
exports.isValidRotation = isValidRotation;
exports.isValidScrollMode = isValidScrollMode;
exports.isValidSpreadMode = isValidSpreadMode;
exports.noContextMenuHandler = noContextMenuHandler;
exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
exports.normalizeWheelEventDirection = normalizeWheelEventDirection;
exports.parseQueryString = parseQueryString;
exports.removeNullCharacters = removeNullCharacters;
exports.roundToDivide = roundToDivide;
exports.scrollIntoView = scrollIntoView;
exports.watchScroll = watchScroll;
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var DEFAULT_SCALE_VALUE = "auto";
exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
var DEFAULT_SCALE = 1.0;
exports.DEFAULT_SCALE = DEFAULT_SCALE;
var DEFAULT_SCALE_DELTA = 1.1;
exports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA;
var MIN_SCALE = 0.1;
exports.MIN_SCALE = MIN_SCALE;
var MAX_SCALE = 10.0;
exports.MAX_SCALE = MAX_SCALE;
var UNKNOWN_SCALE = 0;
exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
var MAX_AUTO_SCALE = 1.25;
exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
var SCROLLBAR_PADDING = 40;
exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
var VERTICAL_PADDING = 5;
exports.VERTICAL_PADDING = VERTICAL_PADDING;
var LOADINGBAR_END_OFFSET_VAR = "--loadingBar-end-offset";
var RenderingStates = {
INITIAL: 0,
RUNNING: 1,
PAUSED: 2,
FINISHED: 3
};
exports.RenderingStates = RenderingStates;
var PresentationModeState = {
UNKNOWN: 0,
NORMAL: 1,
CHANGING: 2,
FULLSCREEN: 3
};
exports.PresentationModeState = PresentationModeState;
var SidebarView = {
UNKNOWN: -1,
NONE: 0,
THUMBS: 1,
OUTLINE: 2,
ATTACHMENTS: 3,
LAYERS: 4
};
exports.SidebarView = SidebarView;
var RendererType = {
CANVAS: "canvas",
SVG: "svg"
};
exports.RendererType = RendererType;
var TextLayerMode = {
DISABLE: 0,
ENABLE: 1,
ENABLE_ENHANCE: 2
};
exports.TextLayerMode = TextLayerMode;
var ScrollMode = {
UNKNOWN: -1,
VERTICAL: 0,
HORIZONTAL: 1,
WRAPPED: 2,
PAGE: 3
};
exports.ScrollMode = ScrollMode;
var SpreadMode = {
UNKNOWN: -1,
NONE: 0,
ODD: 1,
EVEN: 2
};
exports.SpreadMode = SpreadMode;
var AutoPrintRegExp = /\bprint\s*\(/;
exports.AutoPrintRegExp = AutoPrintRegExp;
var OutputScale = /*#__PURE__*/function () {
function OutputScale() {
_classCallCheck(this, OutputScale);
var pixelRatio = window.devicePixelRatio || 1;
this.sx = pixelRatio;
this.sy = pixelRatio;
}
_createClass(OutputScale, [{
key: "scaled",
get: function get() {
return this.sx !== 1 || this.sy !== 1;
}
}]);
return OutputScale;
}();
exports.OutputScale = OutputScale;
function scrollIntoView(element, spot) {
var scrollMatches = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var parent = element.offsetParent;
if (!parent) {
console.error("offsetParent is not set -- cannot scroll");
return;
}
var offsetY = element.offsetTop + element.clientTop;
var offsetX = element.offsetLeft + element.clientLeft;
while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains("markedContent") || getComputedStyle(parent).overflow === "hidden")) {
offsetY += parent.offsetTop;
offsetX += parent.offsetLeft;
parent = parent.offsetParent;
if (!parent) {
return;
}
}
if (spot) {
if (spot.top !== undefined) {
offsetY += spot.top;
}
if (spot.left !== undefined) {
offsetX += spot.left;
parent.scrollLeft = offsetX;
}
}
parent.scrollTop = offsetY;
}
function watchScroll(viewAreaElement, callback) {
var debounceScroll = function debounceScroll(evt) {
if (rAF) {
return;
}
rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
rAF = null;
var currentX = viewAreaElement.scrollLeft;
var lastX = state.lastX;
if (currentX !== lastX) {
state.right = currentX > lastX;
}
state.lastX = currentX;
var currentY = viewAreaElement.scrollTop;
var lastY = state.lastY;
if (currentY !== lastY) {
state.down = currentY > lastY;
}
state.lastY = currentY;
callback(state);
});
};
var state = {
right: true,
down: true,
lastX: viewAreaElement.scrollLeft,
lastY: viewAreaElement.scrollTop,
_eventHandler: debounceScroll
};
var rAF = null;
viewAreaElement.addEventListener("scroll", debounceScroll, true);
return state;
}
function parseQueryString(query) {
var params = new Map();
var _iterator = _createForOfIteratorHelper(new URLSearchParams(query)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _step$value = _slicedToArray(_step.value, 2),
key = _step$value[0],
value = _step$value[1];
params.set(key.toLowerCase(), value);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return params;
}
var NullCharactersRegExp = /\x00/g;
var InvisibleCharactersRegExp = /[\x01-\x1F]/g;
function removeNullCharacters(str) {
var replaceInvisible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (typeof str !== "string") {
console.error("The argument must be a string.");
return str;
}
if (replaceInvisible) {
str = str.replace(InvisibleCharactersRegExp, " ");
}
return str.replace(NullCharactersRegExp, "");
}
function binarySearchFirstItem(items, condition) {
var start = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
var minIndex = start;
var maxIndex = items.length - 1;
if (maxIndex < 0 || !condition(items[maxIndex])) {
return items.length;
}
if (condition(items[minIndex])) {
return minIndex;
}
while (minIndex < maxIndex) {
var currentIndex = minIndex + maxIndex >> 1;
var currentItem = items[currentIndex];
if (condition(currentItem)) {
maxIndex = currentIndex;
} else {
minIndex = currentIndex + 1;
}
}
return minIndex;
}
function approximateFraction(x) {
if (Math.floor(x) === x) {
return [x, 1];
}
var xinv = 1 / x;
var limit = 8;
if (xinv > limit) {
return [1, limit];
} else if (Math.floor(xinv) === xinv) {
return [1, xinv];
}
var x_ = x > 1 ? xinv : x;
var a = 0,
b = 1,
c = 1,
d = 1;
while (true) {
var p = a + c,
q = b + d;
if (q > limit) {
break;
}
if (x_ <= p / q) {
c = p;
d = q;
} else {
a = p;
b = q;
}
}
var result;
if (x_ - a / b < c / d - x_) {
result = x_ === x ? [a, b] : [b, a];
} else {
result = x_ === x ? [c, d] : [d, c];
}
return result;
}
function roundToDivide(x, div) {
var r = x % div;
return r === 0 ? x : Math.round(x - r + div);
}
function getPageSizeInches(_ref) {
var view = _ref.view,
userUnit = _ref.userUnit,
rotate = _ref.rotate;
var _view = _slicedToArray(view, 4),
x1 = _view[0],
y1 = _view[1],
x2 = _view[2],
y2 = _view[3];
var changeOrientation = rotate % 180 !== 0;
var width = (x2 - x1) / 72 * userUnit;
var height = (y2 - y1) / 72 * userUnit;
return {
width: changeOrientation ? height : width,
height: changeOrientation ? width : height
};
}
function backtrackBeforeAllVisibleElements(index, views, top) {
if (index < 2) {
return index;
}
var elt = views[index].div;
var pageTop = elt.offsetTop + elt.clientTop;
if (pageTop >= top) {
elt = views[index - 1].div;
pageTop = elt.offsetTop + elt.clientTop;
}
for (var i = index - 2; i >= 0; --i) {
elt = views[i].div;
if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
break;
}
index = i;
}
return index;
}
function getVisibleElements(_ref2) {
var scrollEl = _ref2.scrollEl,
views = _ref2.views,
_ref2$sortByVisibilit = _ref2.sortByVisibility,
sortByVisibility = _ref2$sortByVisibilit === void 0 ? false : _ref2$sortByVisibilit,
_ref2$horizontal = _ref2.horizontal,
horizontal = _ref2$horizontal === void 0 ? false : _ref2$horizontal,
_ref2$rtl = _ref2.rtl,
rtl = _ref2$rtl === void 0 ? false : _ref2$rtl;
var top = scrollEl.scrollTop,
bottom = top + scrollEl.clientHeight;
var left = scrollEl.scrollLeft,
right = left + scrollEl.clientWidth;
function isElementBottomAfterViewTop(view) {
var element = view.div;
var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
return elementBottom > top;
}
function isElementNextAfterViewHorizontally(view) {
var element = view.div;
var elementLeft = element.offsetLeft + element.clientLeft;
var elementRight = elementLeft + element.clientWidth;
return rtl ? elementLeft < right : elementRight > left;
}
var visible = [],
ids = new Set(),
numViews = views.length;
var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);
if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
}
var lastEdge = horizontal ? right : -1;
for (var i = firstVisibleElementInd; i < numViews; i++) {
var view = views[i],
element = view.div;
var currentWidth = element.offsetLeft + element.clientLeft;
var currentHeight = element.offsetTop + element.clientTop;
var viewWidth = element.clientWidth,
viewHeight = element.clientHeight;
var viewRight = currentWidth + viewWidth;
var viewBottom = currentHeight + viewHeight;
if (lastEdge === -1) {
if (viewBottom >= bottom) {
lastEdge = viewBottom;
}
} else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {
break;
}
if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {
continue;
}
var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
var fractionHeight = (viewHeight - hiddenHeight) / viewHeight,
fractionWidth = (viewWidth - hiddenWidth) / viewWidth;
var percent = fractionHeight * fractionWidth * 100 | 0;
visible.push({
id: view.id,
x: currentWidth,
y: currentHeight,
view: view,
percent: percent,
widthPercent: fractionWidth * 100 | 0
});
ids.add(view.id);
}
var first = visible[0],
last = visible[visible.length - 1];
if (sortByVisibility) {
visible.sort(function (a, b) {
var pc = a.percent - b.percent;
if (Math.abs(pc) > 0.001) {
return -pc;
}
return a.id - b.id;
});
}
return {
first: first,
last: last,
views: visible,
ids: ids
};
}
function noContextMenuHandler(evt) {
evt.preventDefault();
}
function normalizeWheelEventDirection(evt) {
var delta = Math.hypot(evt.deltaX, evt.deltaY);
var angle = Math.atan2(evt.deltaY, evt.deltaX);
if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
delta = -delta;
}
return delta;
}
function normalizeWheelEventDelta(evt) {
var delta = normalizeWheelEventDirection(evt);
var MOUSE_DOM_DELTA_PIXEL_MODE = 0;
var MOUSE_DOM_DELTA_LINE_MODE = 1;
var MOUSE_PIXELS_PER_LINE = 30;
var MOUSE_LINES_PER_PAGE = 30;
if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
} else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
delta /= MOUSE_LINES_PER_PAGE;
}
return delta;
}
function isValidRotation(angle) {
return Number.isInteger(angle) && angle % 90 === 0;
}
function isValidScrollMode(mode) {
return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;
}
function isValidSpreadMode(mode) {
return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;
}
function isPortraitOrientation(size) {
return size.width <= size.height;
}
var animationStarted = new Promise(function (resolve) {
window.requestAnimationFrame(resolve);
});
exports.animationStarted = animationStarted;
function clamp(v, min, max) {
return Math.min(Math.max(v, min), max);
}
var ProgressBar = /*#__PURE__*/function () {
function ProgressBar(id) {
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
height = _ref3.height,
width = _ref3.width,
units = _ref3.units;
_classCallCheck(this, ProgressBar);
this.visible = true;
this.div = document.querySelector(id + " .progress");
this.bar = this.div.parentNode;
this.height = height || 100;
this.width = width || 100;
this.units = units || "%";
this.div.style.height = this.height + this.units;
this.percent = 0;
}
_createClass(ProgressBar, [{
key: "_updateBar",
value: function _updateBar() {
if (this._indeterminate) {
this.div.classList.add("indeterminate");
this.div.style.width = this.width + this.units;
return;
}
this.div.classList.remove("indeterminate");
var progressSize = this.width * this._percent / 100;
this.div.style.width = progressSize + this.units;
}
}, {
key: "percent",
get: function get() {
return this._percent;
},
set: function set(val) {
this._indeterminate = isNaN(val);
this._percent = clamp(val, 0, 100);
this._updateBar();
}
}, {
key: "setWidth",
value: function setWidth(viewer) {
if (!viewer) {
return;
}
var container = viewer.parentNode;
var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
if (scrollbarWidth > 0) {
var doc = document.documentElement;
doc.style.setProperty(LOADINGBAR_END_OFFSET_VAR, "".concat(scrollbarWidth, "px"));
}
}
}, {
key: "hide",
value: function hide() {
if (!this.visible) {
return;
}
this.visible = false;
this.bar.classList.add("hidden");
}
}, {
key: "show",
value: function show() {
if (this.visible) {
return;
}
this.visible = true;
this.bar.classList.remove("hidden");
}
}]);
return ProgressBar;
}();
exports.ProgressBar = ProgressBar;
function getActiveOrFocusedElement() {
var curRoot = document;
var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
while ((_curActiveOrFocused = curActiveOrFocused) !== null && _curActiveOrFocused !== void 0 && _curActiveOrFocused.shadowRoot) {
var _curActiveOrFocused;
curRoot = curActiveOrFocused.shadowRoot;
curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
}
return curActiveOrFocused;
}
function apiPageLayoutToViewerModes(layout) {
var scrollMode = ScrollMode.VERTICAL,
spreadMode = SpreadMode.NONE;
switch (layout) {
case "SinglePage":
scrollMode = ScrollMode.PAGE;
break;
case "OneColumn":
break;
case "TwoPageLeft":
scrollMode = ScrollMode.PAGE;
case "TwoColumnLeft":
spreadMode = SpreadMode.ODD;
break;
case "TwoPageRight":
scrollMode = ScrollMode.PAGE;
case "TwoColumnRight":
spreadMode = SpreadMode.EVEN;
break;
}
return {
scrollMode: scrollMode,
spreadMode: spreadMode
};
}
function apiPageModeToSidebarView(mode) {
switch (mode) {
case "UseNone":
return SidebarView.NONE;
case "UseThumbs":
return SidebarView.THUMBS;
case "UseOutlines":
return SidebarView.OUTLINE;
case "UseAttachments":
return SidebarView.ATTACHMENTS;
case "UseOC":
return SidebarView.LAYERS;
}
return SidebarView.NONE;
}
/***/ }),
/* 6 */
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0;
exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
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 } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
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); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
var WaitOnType = {
EVENT: "event",
TIMEOUT: "timeout"
};
exports.WaitOnType = WaitOnType;
function waitOnEventOrTimeout(_ref) {
var target = _ref.target,
name = _ref.name,
_ref$delay = _ref.delay,
delay = _ref$delay === void 0 ? 0 : _ref$delay;
return new Promise(function (resolve, reject) {
if (_typeof(target) !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) {
throw new Error("waitOnEventOrTimeout - invalid parameters.");
}
function handler(type) {
if (target instanceof EventBus) {
target._off(name, eventHandler);
} else {
target.removeEventListener(name, eventHandler);
}
if (timeout) {
clearTimeout(timeout);
}
resolve(type);
}
var eventHandler = handler.bind(null, WaitOnType.EVENT);
if (target instanceof EventBus) {
target._on(name, eventHandler);
} else {
target.addEventListener(name, eventHandler);
}
var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
var timeout = setTimeout(timeoutHandler, delay);
});
}
var EventBus = /*#__PURE__*/function () {
function EventBus() {
_classCallCheck(this, EventBus);
this._listeners = Object.create(null);
}
_createClass(EventBus, [{
key: "on",
value: function on(eventName, listener) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
this._on(eventName, listener, {
external: true,
once: options === null || options === void 0 ? void 0 : options.once
});
}
}, {
key: "off",
value: function off(eventName, listener) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
this._off(eventName, listener, {
external: true,
once: options === null || options === void 0 ? void 0 : options.once
});
}
}, {
key: "dispatch",
value: function dispatch(eventName, data) {
var eventListeners = this._listeners[eventName];
if (!eventListeners || eventListeners.length === 0) {
return;
}
var externalListeners;
var _iterator = _createForOfIteratorHelper(eventListeners.slice(0)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _step$value = _step.value,
_listener = _step$value.listener,
external = _step$value.external,
once = _step$value.once;
if (once) {
this._off(eventName, _listener);
}
if (external) {
(externalListeners || (externalListeners = [])).push(_listener);
continue;
}
_listener(data);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
if (externalListeners) {
var _iterator2 = _createForOfIteratorHelper(externalListeners),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var listener = _step2.value;
listener(data);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
externalListeners = null;
}
}
}, {
key: "_on",
value: function _on(eventName, listener) {
var _this$_listeners;
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []);
eventListeners.push({
listener: listener,
external: (options === null || options === void 0 ? void 0 : options.external) === true,
once: (options === null || options === void 0 ? void 0 : options.once) === true
});
}
}, {
key: "_off",
value: function _off(eventName, listener) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var eventListeners = this._listeners[eventName];
if (!eventListeners) {
return;
}
for (var i = 0, ii = eventListeners.length; i < ii; i++) {
if (eventListeners[i].listener === listener) {
eventListeners.splice(i, 1);
return;
}
}
}
}]);
return EventBus;
}();
exports.EventBus = EventBus;
var AutomationEventBus = /*#__PURE__*/function (_EventBus) {
_inherits(AutomationEventBus, _EventBus);
var _super = _createSuper(AutomationEventBus);
function AutomationEventBus() {
_classCallCheck(this, AutomationEventBus);
return _super.apply(this, arguments);
}
_createClass(AutomationEventBus, [{
key: "dispatch",
value: function dispatch(eventName, data) {
throw new Error("Not implemented: AutomationEventBus.dispatch");
}
}]);
return AutomationEventBus;
}(EventBus);
exports.AutomationEventBus = AutomationEventBus;
/***/ }),
/* 7 */
/***/ ((module) => {
var pdfjsLib;
if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) {
pdfjsLib = window["pdfjs-dist/build/pdf"];
} else {
pdfjsLib = require("../build/pdf.js");
}
module.exports = pdfjsLib;
/***/ }),
/* 8 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFCursorTools = exports.CursorTool = void 0;
var _grab_to_pan = __webpack_require__(9);
var _ui_utils = __webpack_require__(5);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
var CursorTool = {
SELECT: 0,
HAND: 1,
ZOOM: 2
};
exports.CursorTool = CursorTool;
var _dispatchEvent = /*#__PURE__*/new WeakSet();
var _addEventListeners = /*#__PURE__*/new WeakSet();
var PDFCursorTools = /*#__PURE__*/function () {
function PDFCursorTools(_ref) {
var _this = this;
var container = _ref.container,
eventBus = _ref.eventBus,
_ref$cursorToolOnLoad = _ref.cursorToolOnLoad,
cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad;
_classCallCheck(this, PDFCursorTools);
_classPrivateMethodInitSpec(this, _addEventListeners);
_classPrivateMethodInitSpec(this, _dispatchEvent);
this.container = container;
this.eventBus = eventBus;
this.active = CursorTool.SELECT;
this.activeBeforePresentationMode = null;
this.handTool = new _grab_to_pan.GrabToPan({
element: this.container
});
_classPrivateMethodGet(this, _addEventListeners, _addEventListeners2).call(this);
Promise.resolve().then(function () {
_this.switchTool(cursorToolOnLoad);
});
}
_createClass(PDFCursorTools, [{
key: "activeTool",
get: function get() {
return this.active;
}
}, {
key: "switchTool",
value: function switchTool(tool) {
var _this2 = this;
if (this.activeBeforePresentationMode !== null) {
return;
}
if (tool === this.active) {
return;
}
var disableActiveTool = function disableActiveTool() {
switch (_this2.active) {
case CursorTool.SELECT:
break;
case CursorTool.HAND:
_this2.handTool.deactivate();
break;
case CursorTool.ZOOM:
}
};
switch (tool) {
case CursorTool.SELECT:
disableActiveTool();
break;
case CursorTool.HAND:
disableActiveTool();
this.handTool.activate();
break;
case CursorTool.ZOOM:
default:
console.error("switchTool: \"".concat(tool, "\" is an unsupported value."));
return;
}
this.active = tool;
_classPrivateMethodGet(this, _dispatchEvent, _dispatchEvent2).call(this);
}
}]);
return PDFCursorTools;
}();
exports.PDFCursorTools = PDFCursorTools;
function _dispatchEvent2() {
this.eventBus.dispatch("cursortoolchanged", {
source: this,
tool: this.active
});
}
function _addEventListeners2() {
var _this3 = this;
this.eventBus._on("switchcursortool", function (evt) {
_this3.switchTool(evt.tool);
});
this.eventBus._on("presentationmodechanged", function (evt) {
switch (evt.state) {
case _ui_utils.PresentationModeState.FULLSCREEN:
{
var previouslyActive = _this3.active;
_this3.switchTool(CursorTool.SELECT);
_this3.activeBeforePresentationMode = previouslyActive;
break;
}
case _ui_utils.PresentationModeState.NORMAL:
{
var _previouslyActive = _this3.activeBeforePresentationMode;
_this3.activeBeforePresentationMode = null;
_this3.switchTool(_previouslyActive);
break;
}
}
});
}
/***/ }),
/* 9 */
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.GrabToPan = void 0;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
var CSS_CLASS_GRAB = "grab-to-pan-grab";
var _onMouseDown = /*#__PURE__*/new WeakSet();
var _onMouseMove = /*#__PURE__*/new WeakSet();
var _endPan = /*#__PURE__*/new WeakSet();
var GrabToPan = /*#__PURE__*/function () {
function GrabToPan(options) {
_classCallCheck(this, GrabToPan);
_classPrivateMethodInitSpec(this, _endPan);
_classPrivateMethodInitSpec(this, _onMouseMove);
_classPrivateMethodInitSpec(this, _onMouseDown);
this.element = options.element;
this.document = options.element.ownerDocument;
if (typeof options.ignoreTarget === "function") {
this.ignoreTarget = options.ignoreTarget;
}
this.onActiveChanged = options.onActiveChanged;
this.activate = this.activate.bind(this);
this.deactivate = this.deactivate.bind(this);
this.toggle = this.toggle.bind(this);
this._onMouseDown = _classPrivateMethodGet(this, _onMouseDown, _onMouseDown2).bind(this);
this._onMouseMove = _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).bind(this);
this._endPan = _classPrivateMethodGet(this, _endPan, _endPan2).bind(this);
var overlay = this.overlay = document.createElement("div");
overlay.className = "grab-to-pan-grabbing";
}
_createClass(GrabToPan, [{
key: "activate",
value: function activate() {
if (!this.active) {
var _this$onActiveChanged;
this.active = true;
this.element.addEventListener("mousedown", this._onMouseDown, true);
this.element.classList.add(CSS_CLASS_GRAB);
(_this$onActiveChanged = this.onActiveChanged) === null || _this$onActiveChanged === void 0 ? void 0 : _this$onActiveChanged.call(this, true);
}
}
}, {
key: "deactivate",
value: function deactivate() {
if (this.active) {
var _this$onActiveChanged2;
this.active = false;
this.element.removeEventListener("mousedown", this._onMouseDown, true);
this._endPan();
this.element.classList.remove(CSS_CLASS_GRAB);
(_this$onActiveChanged2 = this.onActiveChanged) === null || _this$onActiveChanged2 === void 0 ? void 0 : _this$onActiveChanged2.call(this, false);
}
}
}, {
key: "toggle",
value: function toggle() {
if (this.active) {
this.deactivate();
} else {
this.activate();
}
}
}, {
key: "ignoreTarget",
value: function ignoreTarget(node) {
return node.matches("a[href], a[href] *, input, textarea, button, button *, select, option");
}
}]);
return GrabToPan;
}();
exports.GrabToPan = GrabToPan;
function _onMouseDown2(event) {
if (event.button !== 0 || this.ignoreTarget(event.target)) {
return;
}
if (event.originalTarget) {
try {
event.originalTarget.tagName;
} catch (e) {
return;
}
}
this.scrollLeftStart = this.element.scrollLeft;
this.scrollTopStart = this.element.scrollTop;
this.clientXStart = event.clientX;
this.clientYStart = event.clientY;
this.document.addEventListener("mousemove", this._onMouseMove, true);
this.document.addEventListener("mouseup", this._endPan, true);
this.element.addEventListener("scroll", this._endPan, true);
event.preventDefault();
event.stopPropagation();
var focusedElement = document.activeElement;
if (focusedElement && !focusedElement.contains(event.target)) {
focusedElement.blur();
}
}
function _onMouseMove2(event) {
this.element.removeEventListener("scroll", this._endPan, true);
if (!(event.buttons & 1)) {
this._endPan();
return;
}
var xDiff = event.clientX - this.clientXStart;
var yDiff = event.clientY - this.clientYStart;
var scrollTop = this.scrollTopStart - yDiff;
var scrollLeft = this.scrollLeftStart - xDiff;
if (this.element.scrollTo) {
this.element.scrollTo({
top: scrollTop,
left: scrollLeft,
behavior: "instant"
});
} else {
this.element.scrollTop = scrollTop;
this.element.scrollLeft = scrollLeft;
}
if (!this.overlay.parentNode) {
document.body.appendChild(this.overlay);
}
}
function _endPan2() {
this.element.removeEventListener("scroll", this._endPan, true);
this.document.removeEventListener("mousemove", this._onMouseMove, true);
this.document.removeEventListener("mouseup", this._endPan, true);
this.overlay.remove();
}
/***/ }),
/* 10 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _ui_utils = __webpack_require__(5);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; }
function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
var DEFAULT_LINK_REL = "noopener noreferrer nofollow";
var LinkTarget = {
NONE: 0,
SELF: 1,
BLANK: 2,
PARENT: 3,
TOP: 4
};
exports.LinkTarget = LinkTarget;
function _addLinkAttributes(link) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
url = _ref.url,
target = _ref.target,
rel = _ref.rel,
_ref$enabled = _ref.enabled,
enabled = _ref$enabled === void 0 ? true : _ref$enabled;
if (!url || typeof url !== "string") {
throw new Error('A valid "url" parameter must provided.');
}
var urlNullRemoved = (0, _ui_utils.removeNullCharacters)(url);
if (enabled) {
link.href = link.title = urlNullRemoved;
} else {
link.href = "";
link.title = "Disabled: ".concat(urlNullRemoved);
link.onclick = function () {
return false;
};
}
var targetStr = "";
switch (target) {
case LinkTarget.NONE:
break;
case LinkTarget.SELF:
targetStr = "_self";
break;
case LinkTarget.BLANK:
targetStr = "_blank";
break;
case LinkTarget.PARENT:
targetStr = "_parent";
break;
case LinkTarget.TOP:
targetStr = "_top";
break;
}
link.target = targetStr;
link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
}
var _pagesRefCache = /*#__PURE__*/new WeakMap();
var _goToDestinationHelper = /*#__PURE__*/new WeakSet();
var PDFLinkService = /*#__PURE__*/function () {
function PDFLinkService() {
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
eventBus = _ref2.eventBus,
_ref2$externalLinkTar = _ref2.externalLinkTarget,
externalLinkTarget = _ref2$externalLinkTar === void 0 ? null : _ref2$externalLinkTar,
_ref2$externalLinkRel = _ref2.externalLinkRel,
externalLinkRel = _ref2$externalLinkRel === void 0 ? null : _ref2$externalLinkRel,
_ref2$ignoreDestinati = _ref2.ignoreDestinationZoom,
ignoreDestinationZoom = _ref2$ignoreDestinati === void 0 ? false : _ref2$ignoreDestinati;
_classCallCheck(this, PDFLinkService);
_classPrivateMethodInitSpec(this, _goToDestinationHelper);
_classPrivateFieldInitSpec(this, _pagesRefCache, {
writable: true,
value: new Map()
});
this.eventBus = eventBus;
this.externalLinkTarget = externalLinkTarget;
this.externalLinkRel = externalLinkRel;
this.externalLinkEnabled = true;
this._ignoreDestinationZoom = ignoreDestinationZoom;
this.baseUrl = null;
this.pdfDocument = null;
this.pdfViewer = null;
this.pdfHistory = null;
}
_createClass(PDFLinkService, [{
key: "setDocument",
value: function setDocument(pdfDocument) {
var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
this.baseUrl = baseUrl;
this.pdfDocument = pdfDocument;
_classPrivateFieldGet(this, _pagesRefCache).clear();
}
}, {
key: "setViewer",
value: function setViewer(pdfViewer) {
this.pdfViewer = pdfViewer;
}
}, {
key: "setHistory",
value: function setHistory(pdfHistory) {
this.pdfHistory = pdfHistory;
}
}, {
key: "pagesCount",
get: function get() {
return this.pdfDocument ? this.pdfDocument.numPages : 0;
}
}, {
key: "page",
get: function get() {
return this.pdfViewer.currentPageNumber;
},
set: function set(value) {
this.pdfViewer.currentPageNumber = value;
}
}, {
key: "rotation",
get: function get() {
return this.pdfViewer.pagesRotation;
},
set: function set(value) {
this.pdfViewer.pagesRotation = value;
}
}, {
key: "goToDestination",
value: function () {
var _goToDestination = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(dest) {
var namedDest, explicitDest;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (this.pdfDocument) {
_context.next = 2;
break;
}
return _context.abrupt("return");
case 2:
if (!(typeof dest === "string")) {
_context.next = 9;
break;
}
namedDest = dest;
_context.next = 6;
return this.pdfDocument.getDestination(dest);
case 6:
explicitDest = _context.sent;
_context.next = 13;
break;
case 9:
namedDest = null;
_context.next = 12;
return dest;
case 12:
explicitDest = _context.sent;
case 13:
if (Array.isArray(explicitDest)) {
_context.next = 16;
break;
}
console.error("PDFLinkService.goToDestination: \"".concat(explicitDest, "\" is not ") + "a valid destination array, for dest=\"".concat(dest, "\"."));
return _context.abrupt("return");
case 16:
_classPrivateMethodGet(this, _goToDestinationHelper, _goToDestinationHelper2).call(this, dest, namedDest, explicitDest);
case 17:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function goToDestination(_x) {
return _goToDestination.apply(this, arguments);
}
return goToDestination;
}()
}, {
key: "goToPage",
value: function goToPage(val) {
if (!this.pdfDocument) {
return;
}
var pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;
if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
console.error("PDFLinkService.goToPage: \"".concat(val, "\" is not a valid page."));
return;
}
if (this.pdfHistory) {
this.pdfHistory.pushCurrentPosition();
this.pdfHistory.pushPage(pageNumber);
}
this.pdfViewer.scrollPageIntoView({
pageNumber: pageNumber
});
}
}, {
key: "addLinkAttributes",
value: function addLinkAttributes(link, url) {
var newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
_addLinkAttributes(link, {
url: url,
target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,
rel: this.externalLinkRel,
enabled: this.externalLinkEnabled
});
}
}, {
key: "getDestinationHash",
value: function getDestinationHash(dest) {
if (typeof dest === "string") {
if (dest.length > 0) {
return this.getAnchorUrl("#" + escape(dest));
}
} else if (Array.isArray(dest)) {
var str = JSON.stringify(dest);
if (str.length > 0) {
return this.getAnchorUrl("#" + escape(str));
}
}
return this.getAnchorUrl("");
}
}, {
key: "getAnchorUrl",
value: function getAnchorUrl(anchor) {
return (this.baseUrl || "") + anchor;
}
}, {
key: "setHash",
value: function setHash(hash) {
if (!this.pdfDocument) {
return;
}
var pageNumber, dest;
if (hash.includes("=")) {
var params = (0, _ui_utils.parseQueryString)(hash);
if (params.has("search")) {
this.eventBus.dispatch("findfromurlhash", {
source: this,
query: params.get("search").replace(/"/g, ""),
phraseSearch: params.get("phrase") === "true"
});
}
if (params.has("page")) {
pageNumber = params.get("page") | 0 || 1;
}
if (params.has("zoom")) {
var zoomArgs = params.get("zoom").split(",");
var zoomArg = zoomArgs[0];
var zoomArgNumber = parseFloat(zoomArg);
if (!zoomArg.includes("Fit")) {
dest = [null, {
name: "XYZ"
}, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
} else {
if (zoomArg === "Fit" || zoomArg === "FitB") {
dest = [null, {
name: zoomArg
}];
} else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
dest = [null, {
name: zoomArg
}, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
} else if (zoomArg === "FitR") {
if (zoomArgs.length !== 5) {
console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
} else {
dest = [null, {
name: zoomArg
}, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
}
} else {
console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not a valid zoom value."));
}
}
}
if (dest) {
this.pdfViewer.scrollPageIntoView({
pageNumber: pageNumber || this.page,
destArray: dest,
allowNegativeOffset: true
});
} else if (pageNumber) {
this.page = pageNumber;
}
if (params.has("pagemode")) {
this.eventBus.dispatch("pagemode", {
source: this,
mode: params.get("pagemode")
});
}
if (params.has("nameddest")) {
this.goToDestination(params.get("nameddest"));
}
} else {
dest = unescape(hash);
try {
dest = JSON.parse(dest);
if (!Array.isArray(dest)) {
dest = dest.toString();
}
} catch (ex) {}
if (typeof dest === "string" || _classStaticPrivateMethodGet(PDFLinkService, PDFLinkService, _isValidExplicitDestination).call(PDFLinkService, dest)) {
this.goToDestination(dest);
return;
}
console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not a valid destination."));
}
}
}, {
key: "executeNamedAction",
value: function executeNamedAction(action) {
var _this$pdfHistory, _this$pdfHistory2;
switch (action) {
case "GoBack":
(_this$pdfHistory = this.pdfHistory) === null || _this$pdfHistory === void 0 ? void 0 : _this$pdfHistory.back();
break;
case "GoForward":
(_this$pdfHistory2 = this.pdfHistory) === null || _this$pdfHistory2 === void 0 ? void 0 : _this$pdfHistory2.forward();
break;
case "NextPage":
this.pdfViewer.nextPage();
break;
case "PrevPage":
this.pdfViewer.previousPage();
break;
case "LastPage":
this.page = this.pagesCount;
break;
case "FirstPage":
this.page = 1;
break;
default:
break;
}
this.eventBus.dispatch("namedaction", {
source: this,
action: action
});
}
}, {
key: "cachePageRef",
value: function cachePageRef(pageNum, pageRef) {
if (!pageRef) {
return;
}
var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
_classPrivateFieldGet(this, _pagesRefCache).set(refStr, pageNum);
}
}, {
key: "_cachedPageNumber",
value: function _cachedPageNumber(pageRef) {
if (!pageRef) {
return null;
}
var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
return _classPrivateFieldGet(this, _pagesRefCache).get(refStr) || null;
}
}, {
key: "isPageVisible",
value: function isPageVisible(pageNumber) {
return this.pdfViewer.isPageVisible(pageNumber);
}
}, {
key: "isPageCached",
value: function isPageCached(pageNumber) {
return this.pdfViewer.isPageCached(pageNumber);
}
}]);
return PDFLinkService;
}();
exports.PDFLinkService = PDFLinkService;
function _goToDestinationHelper2(rawDest) {
var _this = this;
var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var explicitDest = arguments.length > 2 ? arguments[2] : undefined;
var destRef = explicitDest[0];
var pageNumber;
if (_typeof(destRef) === "object" && destRef !== null) {
pageNumber = this._cachedPageNumber(destRef);
if (!pageNumber) {
this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
_this.cachePageRef(pageIndex + 1, destRef);
_classPrivateMethodGet(_this, _goToDestinationHelper, _goToDestinationHelper2).call(_this, rawDest, namedDest, explicitDest);
})["catch"](function () {
console.error("PDFLinkService.#goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(rawDest, "\"."));
});
return;
}
} else if (Number.isInteger(destRef)) {
pageNumber = destRef + 1;
} else {
console.error("PDFLinkService.#goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(rawDest, "\"."));
return;
}
if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {
console.error("PDFLinkService.#goToDestinationHelper: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(rawDest, "\"."));
return;
}
if (this.pdfHistory) {
this.pdfHistory.pushCurrentPosition();
this.pdfHistory.push({
namedDest: namedDest,
explicitDest: explicitDest,
pageNumber: pageNumber
});
}
this.pdfViewer.scrollPageIntoView({
pageNumber: pageNumber,
destArray: explicitDest,
ignoreDestinationZoom: this._ignoreDestinationZoom
});
}
function _isValidExplicitDestination(dest) {
if (!Array.isArray(dest)) {
return false;
}
var destLength = dest.length;
if (destLength < 2) {
return false;
}
var page = dest[0];
if (!(_typeof(page) === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
return false;
}
var zoom = dest[1];
if (!(_typeof(zoom) === "object" && typeof zoom.name === "string")) {
return false;
}
var allowNull = true;
switch (zoom.name) {
case "XYZ":
if (destLength !== 5) {
return false;
}
break;
case "Fit":
case "FitB":
return destLength === 2;
case "FitH":
case "FitBH":
case "FitV":
case "FitBV":
if (destLength !== 3) {
return false;
}
break;
case "FitR":
if (destLength !== 6) {
return false;
}
allowNull = false;
break;
default:
return false;
}
for (var i = 2; i < destLength; i++) {
var param = dest[i];
if (!(typeof param === "number" || allowNull && param === null)) {
return false;
}
}
return true;
}
var SimpleLinkService = /*#__PURE__*/function () {
function SimpleLinkService() {
_classCallCheck(this, SimpleLinkService);
this.externalLinkEnabled = true;
}
_createClass(SimpleLinkService, [{
key: "pagesCount",
get: function get() {
return 0;
}
}, {
key: "page",
get: function get() {
return 0;
},
set: function set(value) {}
}, {
key: "rotation",
get: function get() {
return 0;
},
set: function set(value) {}
}, {
key: "goToDestination",
value: function () {
var _goToDestination2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(dest) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function goToDestination(_x2) {
return _goToDestination2.apply(this, arguments);
}
return goToDestination;
}()
}, {
key: "goToPage",
value: function goToPage(val) {}
}, {
key: "addLinkAttributes",
value: function addLinkAttributes(link, url) {
var newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
_addLinkAttributes(link, {
url: url,
enabled: this.externalLinkEnabled
});
}
}, {
key: "getDestinationHash",
value: function getDestinationHash(dest) {
return "#";
}
}, {
key: "getAnchorUrl",
value: function getAnchorUrl(hash) {
return "#";
}
}, {
key: "setHash",
value: function setHash(hash) {}
}, {
key: "executeNamedAction",
value: function executeNamedAction(action) {}
}, {
key: "cachePageRef",
value: function cachePageRef(pageNum, pageRef) {}
}, {
key: "isPageVisible",
value: function isPageVisible(pageNumber) {
return true;
}
}, {
key: "isPageCached",
value: function isPageCached(pageNumber) {
return true;
}
}]);
return SimpleLinkService;
}();
exports.SimpleLinkService = SimpleLinkService;
/***/ }),
/* 11 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.OverlayManager = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var OverlayManager = /*#__PURE__*/function () {
function OverlayManager() {
_classCallCheck(this, OverlayManager);
this._overlays = {};
this._active = null;
this._keyDownBound = this._keyDown.bind(this);
}
_createClass(OverlayManager, [{
key: "active",
get: function get() {
return this._active;
}
}, {
key: "register",
value: function () {
var _register = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, element) {
var callerCloseMethod,
canForceClose,
container,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
callerCloseMethod = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;
canForceClose = _args.length > 3 && _args[3] !== undefined ? _args[3] : false;
if (!(!name || !element || !(container = element.parentNode))) {
_context.next = 6;
break;
}
throw new Error("Not enough parameters.");
case 6:
if (!this._overlays[name]) {
_context.next = 8;
break;
}
throw new Error("The overlay is already registered.");
case 8:
this._overlays[name] = {
element: element,
container: container,
callerCloseMethod: callerCloseMethod,
canForceClose: canForceClose
};
case 9:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function register(_x, _x2) {
return _register.apply(this, arguments);
}
return register;
}()
}, {
key: "unregister",
value: function () {
var _unregister = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(name) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (this._overlays[name]) {
_context2.next = 4;
break;
}
throw new Error("The overlay does not exist.");
case 4:
if (!(this._active === name)) {
_context2.next = 6;
break;
}
throw new Error("The overlay cannot be removed while it is active.");
case 6:
delete this._overlays[name];
case 7:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function unregister(_x3) {
return _unregister.apply(this, arguments);
}
return unregister;
}()
}, {
key: "open",
value: function () {
var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name) {
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
if (this._overlays[name]) {
_context3.next = 4;
break;
}
throw new Error("The overlay does not exist.");
case 4:
if (!this._active) {
_context3.next = 14;
break;
}
if (!this._overlays[name].canForceClose) {
_context3.next = 9;
break;
}
this._closeThroughCaller();
_context3.next = 14;
break;
case 9:
if (!(this._active === name)) {
_context3.next = 13;
break;
}
throw new Error("The overlay is already active.");
case 13:
throw new Error("Another overlay is currently active.");
case 14:
this._active = name;
this._overlays[this._active].element.classList.remove("hidden");
this._overlays[this._active].container.classList.remove("hidden");
window.addEventListener("keydown", this._keyDownBound);
case 18:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function open(_x4) {
return _open.apply(this, arguments);
}
return open;
}()
}, {
key: "close",
value: function () {
var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name) {
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
if (this._overlays[name]) {
_context4.next = 4;
break;
}
throw new Error("The overlay does not exist.");
case 4:
if (this._active) {
_context4.next = 8;
break;
}
throw new Error("The overlay is currently not active.");
case 8:
if (!(this._active !== name)) {
_context4.next = 10;
break;
}
throw new Error("Another overlay is currently active.");
case 10:
this._overlays[this._active].container.classList.add("hidden");
this._overlays[this._active].element.classList.add("hidden");
this._active = null;
window.removeEventListener("keydown", this._keyDownBound);
case 14:
case "end":
return _context4.stop();
}
}
}, _callee4, this);
}));
function close(_x5) {
return _close.apply(this, arguments);
}
return close;
}()
}, {
key: "_keyDown",
value: function _keyDown(evt) {
if (this._active && evt.keyCode === 27) {
this._closeThroughCaller();
evt.preventDefault();
}
}
}, {
key: "_closeThroughCaller",
value: function _closeThroughCaller() {
if (this._overlays[this._active].callerCloseMethod) {
this._overlays[this._active].callerCloseMethod();
}
if (this._active) {
this.close(this._active);
}
}
}]);
return OverlayManager;
}();
exports.OverlayManager = OverlayManager;
/***/ }),
/* 12 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PasswordPrompt = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _pdfjsLib = __webpack_require__(7);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
var _verify = /*#__PURE__*/new WeakSet();
var _cancel = /*#__PURE__*/new WeakSet();
var PasswordPrompt = /*#__PURE__*/function () {
function PasswordPrompt(options, overlayManager, l10n) {
var _this = this;
var isViewerEmbedded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
_classCallCheck(this, PasswordPrompt);
_classPrivateMethodInitSpec(this, _cancel);
_classPrivateMethodInitSpec(this, _verify);
this.overlayName = options.overlayName;
this.container = options.container;
this.label = options.label;
this.input = options.input;
this.submitButton = options.submitButton;
this.cancelButton = options.cancelButton;
this.overlayManager = overlayManager;
this.l10n = l10n;
this._isViewerEmbedded = isViewerEmbedded;
this.updateCallback = null;
this.reason = null;
this.submitButton.addEventListener("click", _classPrivateMethodGet(this, _verify, _verify2).bind(this));
this.cancelButton.addEventListener("click", _classPrivateMethodGet(this, _cancel, _cancel2).bind(this));
this.input.addEventListener("keydown", function (e) {
if (e.keyCode === 13) {
_classPrivateMethodGet(_this, _verify, _verify2).call(_this);
}
});
this.overlayManager.register(this.overlayName, this.container, _classPrivateMethodGet(this, _cancel, _cancel2).bind(this), true);
}
_createClass(PasswordPrompt, [{
key: "open",
value: function () {
var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var passwordIncorrect;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return this.overlayManager.open(this.overlayName);
case 2:
passwordIncorrect = this.reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD;
if (!this._isViewerEmbedded || passwordIncorrect) {
this.input.focus();
}
_context.next = 6;
return this.l10n.get("password_".concat(passwordIncorrect ? "invalid" : "label"));
case 6:
this.label.textContent = _context.sent;
case 7:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function open() {
return _open.apply(this, arguments);
}
return open;
}()
}, {
key: "close",
value: function () {
var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this.overlayManager.close(this.overlayName);
case 2:
this.input.value = "";
case 3:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function close() {
return _close.apply(this, arguments);
}
return close;
}()
}, {
key: "setUpdateCallback",
value: function setUpdateCallback(updateCallback, reason) {
this.updateCallback = updateCallback;
this.reason = reason;
}
}]);
return PasswordPrompt;
}();
exports.PasswordPrompt = PasswordPrompt;
function _verify2() {
var password = this.input.value;
if ((password === null || password === void 0 ? void 0 : password.length) > 0) {
this.close();
this.updateCallback(password);
}
}
function _cancel2() {
this.close();
this.updateCallback(new Error("PasswordPrompt cancelled."));
}
/***/ }),
/* 13 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFAttachmentViewer = void 0;
var _pdfjsLib = __webpack_require__(7);
var _base_tree_viewer = __webpack_require__(14);
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _get() { 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(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
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 } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
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); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
var PDFAttachmentViewer = /*#__PURE__*/function (_BaseTreeViewer) {
_inherits(PDFAttachmentViewer, _BaseTreeViewer);
var _super = _createSuper(PDFAttachmentViewer);
function PDFAttachmentViewer(options) {
var _this;
_classCallCheck(this, PDFAttachmentViewer);
_this = _super.call(this, options);
_this.downloadManager = options.downloadManager;
_this.eventBus._on("fileattachmentannotation", _this._appendAttachment.bind(_assertThisInitialized(_this)));
return _this;
}
_createClass(PDFAttachmentViewer, [{
key: "reset",
value: function reset() {
var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
_get(_getPrototypeOf(PDFAttachmentViewer.prototype), "reset", this).call(this);
this._attachments = null;
if (!keepRenderedCapability) {
this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)();
}
if (this._pendingDispatchEvent) {
clearTimeout(this._pendingDispatchEvent);
}
this._pendingDispatchEvent = null;
}
}, {
key: "_dispatchEvent",
value: function _dispatchEvent(attachmentsCount) {
var _this2 = this;
this._renderedCapability.resolve();
if (this._pendingDispatchEvent) {
clearTimeout(this._pendingDispatchEvent);
this._pendingDispatchEvent = null;
}
if (attachmentsCount === 0) {
this._pendingDispatchEvent = setTimeout(function () {
_this2.eventBus.dispatch("attachmentsloaded", {
source: _this2,
attachmentsCount: 0
});
_this2._pendingDispatchEvent = null;
});
return;
}
this.eventBus.dispatch("attachmentsloaded", {
source: this,
attachmentsCount: attachmentsCount
});
}
}, {
key: "_bindLink",
value: function _bindLink(element, _ref) {
var _this3 = this;
var content = _ref.content,
filename = _ref.filename;
element.onclick = function () {
_this3.downloadManager.openOrDownloadData(element, content, filename);
return false;
};
}
}, {
key: "render",
value: function render(_ref2) {
var attachments = _ref2.attachments,
_ref2$keepRenderedCap = _ref2.keepRenderedCapability,
keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap;
if (this._attachments) {
this.reset(keepRenderedCapability);
}
this._attachments = attachments || null;
if (!attachments) {
this._dispatchEvent(0);
return;
}
var names = Object.keys(attachments).sort(function (a, b) {
return a.toLowerCase().localeCompare(b.toLowerCase());
});
var fragment = document.createDocumentFragment();
var attachmentsCount = 0;
var _iterator = _createForOfIteratorHelper(names),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var name = _step.value;
var item = attachments[name];
var content = item.content,
filename = (0, _pdfjsLib.getFilenameFromUrl)(item.filename);
var div = document.createElement("div");
div.className = "treeItem";
var element = document.createElement("a");
this._bindLink(element, {
content: content,
filename: filename
});
element.textContent = this._normalizeTextContent(filename);
div.appendChild(element);
fragment.appendChild(div);
attachmentsCount++;
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
this._finishRendering(fragment, attachmentsCount);
}
}, {
key: "_appendAttachment",
value: function _appendAttachment(_ref3) {
var _this4 = this;
var id = _ref3.id,
filename = _ref3.filename,
content = _ref3.content;
var renderedPromise = this._renderedCapability.promise;
renderedPromise.then(function () {
if (renderedPromise !== _this4._renderedCapability.promise) {
return;
}
var attachments = _this4._attachments;
if (!attachments) {
attachments = Object.create(null);
} else {
for (var name in attachments) {
if (id === name) {
return;
}
}
}
attachments[id] = {
filename: filename,
content: content
};
_this4.render({
attachments: attachments,
keepRenderedCapability: true
});
});
}
}]);
return PDFAttachmentViewer;
}(_base_tree_viewer.BaseTreeViewer);
exports.PDFAttachmentViewer = PDFAttachmentViewer;
/***/ }),
/* 14 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.BaseTreeViewer = void 0;
var _ui_utils = __webpack_require__(5);
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var TREEITEM_OFFSET_TOP = -100;
var TREEITEM_SELECTED_CLASS = "selected";
var BaseTreeViewer = /*#__PURE__*/function () {
function BaseTreeViewer(options) {
_classCallCheck(this, BaseTreeViewer);
if (this.constructor === BaseTreeViewer) {
throw new Error("Cannot initialize BaseTreeViewer.");
}
this.container = options.container;
this.eventBus = options.eventBus;
this.reset();
}
_createClass(BaseTreeViewer, [{
key: "reset",
value: function reset() {
this._pdfDocument = null;
this._lastToggleIsShow = true;
this._currentTreeItem = null;
this.container.textContent = "";
this.container.classList.remove("treeWithDeepNesting");
}
}, {
key: "_dispatchEvent",
value: function _dispatchEvent(count) {
throw new Error("Not implemented: _dispatchEvent");
}
}, {
key: "_bindLink",
value: function _bindLink(element, params) {
throw new Error("Not implemented: _bindLink");
}
}, {
key: "_normalizeTextContent",
value: function _normalizeTextContent(str) {
return (0, _ui_utils.removeNullCharacters)(str, true) || "\u2013";
}
}, {
key: "_addToggleButton",
value: function _addToggleButton(div) {
var _this = this;
var hidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var toggler = document.createElement("div");
toggler.className = "treeItemToggler";
if (hidden) {
toggler.classList.add("treeItemsHidden");
}
toggler.onclick = function (evt) {
evt.stopPropagation();
toggler.classList.toggle("treeItemsHidden");
if (evt.shiftKey) {
var shouldShowAll = !toggler.classList.contains("treeItemsHidden");
_this._toggleTreeItem(div, shouldShowAll);
}
};
div.insertBefore(toggler, div.firstChild);
}
}, {
key: "_toggleTreeItem",
value: function _toggleTreeItem(root) {
var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
this._lastToggleIsShow = show;
var _iterator = _createForOfIteratorHelper(root.querySelectorAll(".treeItemToggler")),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var toggler = _step.value;
toggler.classList.toggle("treeItemsHidden", !show);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
}, {
key: "_toggleAllTreeItems",
value: function _toggleAllTreeItems() {
this._toggleTreeItem(this.container, !this._lastToggleIsShow);
}
}, {
key: "_finishRendering",
value: function _finishRendering(fragment, count) {
var hasAnyNesting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
if (hasAnyNesting) {
this.container.classList.add("treeWithDeepNesting");
this._lastToggleIsShow = !fragment.querySelector(".treeItemsHidden");
}
this.container.appendChild(fragment);
this._dispatchEvent(count);
}
}, {
key: "render",
value: function render(params) {
throw new Error("Not implemented: render");
}
}, {
key: "_updateCurrentTreeItem",
value: function _updateCurrentTreeItem() {
var treeItem = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
if (this._currentTreeItem) {
this._currentTreeItem.classList.remove(TREEITEM_SELECTED_CLASS);
this._currentTreeItem = null;
}
if (treeItem) {
treeItem.classList.add(TREEITEM_SELECTED_CLASS);
this._currentTreeItem = treeItem;
}
}
}, {
key: "_scrollToCurrentTreeItem",
value: function _scrollToCurrentTreeItem(treeItem) {
if (!treeItem) {
return;
}
var currentNode = treeItem.parentNode;
while (currentNode && currentNode !== this.container) {
if (currentNode.classList.contains("treeItem")) {
var toggler = currentNode.firstElementChild;
toggler === null || toggler === void 0 ? void 0 : toggler.classList.remove("treeItemsHidden");
}
currentNode = currentNode.parentNode;
}
this._updateCurrentTreeItem(treeItem);
this.container.scrollTo(treeItem.offsetLeft, treeItem.offsetTop + TREEITEM_OFFSET_TOP);
}
}]);
return BaseTreeViewer;
}();
exports.BaseTreeViewer = BaseTreeViewer;
/***/ }),
/* 15 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFDocumentProperties = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _pdfjsLib = __webpack_require__(7);
var _ui_utils = __webpack_require__(5);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
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); }
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; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var DEFAULT_FIELD_CONTENT = "-";
var NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
var US_PAGE_NAMES = {
"8.5x11": "Letter",
"8.5x14": "Legal"
};
var METRIC_PAGE_NAMES = {
"297x420": "A3",
"210x297": "A4"
};
function getPageName(size, isPortrait, pageNames) {
var width = isPortrait ? size.width : size.height;
var height = isPortrait ? size.height : size.width;
return pageNames["".concat(width, "x").concat(height)];
}
var PDFDocumentProperties = /*#__PURE__*/function () {
function PDFDocumentProperties(_ref, overlayManager, eventBus, l10n) {
var _this = this;
var overlayName = _ref.overlayName,
fields = _ref.fields,
container = _ref.container,
closeButton = _ref.closeButton;
_classCallCheck(this, PDFDocumentProperties);
this.overlayName = overlayName;
this.fields = fields;
this.container = container;
this.overlayManager = overlayManager;
this.l10n = l10n;
this._reset();
closeButton.addEventListener("click", this.close.bind(this));
this.overlayManager.register(this.overlayName, this.container, this.close.bind(this));
eventBus._on("pagechanging", function (evt) {
_this._currentPageNumber = evt.pageNumber;
});
eventBus._on("rotationchanging", function (evt) {
_this._pagesRotation = evt.pagesRotation;
});
this._isNonMetricLocale = true;
l10n.getLanguage().then(function (locale) {
_this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
});
}
_createClass(PDFDocumentProperties, [{
key: "open",
value: function () {
var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var _this2 = this;
var freezeFieldData, currentPageNumber, pagesRotation, _yield$this$pdfDocume, info, contentDispositionFilename, contentLength, _yield$Promise$all, _yield$Promise$all2, fileName, fileSize, creationDate, modificationDate, pageSize, isLinearized, _yield$this$pdfDocume2, length, data;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
freezeFieldData = function freezeFieldData(data) {
Object.defineProperty(_this2, "fieldData", {
value: Object.freeze(data),
writable: false,
enumerable: true,
configurable: true
});
};
_context.next = 3;
return Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]);
case 3:
currentPageNumber = this._currentPageNumber;
pagesRotation = this._pagesRotation;
if (!(this.fieldData && currentPageNumber === this.fieldData._currentPageNumber && pagesRotation === this.fieldData._pagesRotation)) {
_context.next = 8;
break;
}
this._updateUI();
return _context.abrupt("return");
case 8:
_context.next = 10;
return this.pdfDocument.getMetadata();
case 10:
_yield$this$pdfDocume = _context.sent;
info = _yield$this$pdfDocume.info;
contentDispositionFilename = _yield$this$pdfDocume.contentDispositionFilename;
contentLength = _yield$this$pdfDocume.contentLength;
_context.next = 16;
return Promise.all([contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url), this._parseFileSize(contentLength), this._parseDate(info.CreationDate), this._parseDate(info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) {
return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
}), this._parseLinearization(info.IsLinearized)]);
case 16:
_yield$Promise$all = _context.sent;
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 6);
fileName = _yield$Promise$all2[0];
fileSize = _yield$Promise$all2[1];
creationDate = _yield$Promise$all2[2];
modificationDate = _yield$Promise$all2[3];
pageSize = _yield$Promise$all2[4];
isLinearized = _yield$Promise$all2[5];
freezeFieldData({
fileName: fileName,
fileSize: fileSize,
title: info.Title,
author: info.Author,
subject: info.Subject,
keywords: info.Keywords,
creationDate: creationDate,
modificationDate: modificationDate,
creator: info.Creator,
producer: info.Producer,
version: info.PDFFormatVersion,
pageCount: this.pdfDocument.numPages,
pageSize: pageSize,
linearized: isLinearized,
_currentPageNumber: currentPageNumber,
_pagesRotation: pagesRotation
});
this._updateUI();
_context.next = 28;
return this.pdfDocument.getDownloadInfo();
case 28:
_yield$this$pdfDocume2 = _context.sent;
length = _yield$this$pdfDocume2.length;
if (!(contentLength === length)) {
_context.next = 32;
break;
}
return _context.abrupt("return");
case 32:
data = Object.assign(Object.create(null), this.fieldData);
_context.next = 35;
return this._parseFileSize(length);
case 35:
data.fileSize = _context.sent;
freezeFieldData(data);
this._updateUI();
case 38:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function open() {
return _open.apply(this, arguments);
}
return open;
}()
}, {
key: "close",
value: function close() {
this.overlayManager.close(this.overlayName);
}
}, {
key: "setDocument",
value: function setDocument(pdfDocument) {
var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
if (this.pdfDocument) {
this._reset();
this._updateUI(true);
}
if (!pdfDocument) {
return;
}
this.pdfDocument = pdfDocument;
this.url = url;
this._dataAvailableCapability.resolve();
}
}, {
key: "_reset",
value: function _reset() {
this.pdfDocument = null;
this.url = null;
delete this.fieldData;
this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)();
this._currentPageNumber = 1;
this._pagesRotation = 0;
}
}, {
key: "_updateUI",
value: function _updateUI() {
var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (reset || !this.fieldData) {
for (var id in this.fields) {
this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
}
return;
}
if (this.overlayManager.active !== this.overlayName) {
return;
}
for (var _id in this.fields) {
var content = this.fieldData[_id];
this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
}
}
}, {
key: "_parseFileSize",
value: function () {
var _parseFileSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var fileSize,
kb,
mb,
_args2 = arguments;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
fileSize = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 0;
kb = fileSize / 1024, mb = kb / 1024;
if (kb) {
_context2.next = 4;
break;
}
return _context2.abrupt("return", undefined);
case 4:
return _context2.abrupt("return", this.l10n.get("document_properties_".concat(mb >= 1 ? "mb" : "kb"), {
size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(),
size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(),
size_b: fileSize.toLocaleString()
}));
case 5:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function _parseFileSize() {
return _parseFileSize2.apply(this, arguments);
}
return _parseFileSize;
}()
}, {
key: "_parsePageSize",
value: function () {
var _parsePageSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(pageSizeInches, pagesRotation) {
var isPortrait, sizeInches, sizeMillimeters, rawName, exactMillimeters, intMillimeters, _yield$Promise$all3, _yield$Promise$all4, _yield$Promise$all4$, width, height, unit, name, orientation;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
if (pageSizeInches) {
_context3.next = 2;
break;
}
return _context3.abrupt("return", undefined);
case 2:
if (pagesRotation % 180 !== 0) {
pageSizeInches = {
width: pageSizeInches.height,
height: pageSizeInches.width
};
}
isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
sizeInches = {
width: Math.round(pageSizeInches.width * 100) / 100,
height: Math.round(pageSizeInches.height * 100) / 100
};
sizeMillimeters = {
width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
};
rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);
if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
exactMillimeters = {
width: pageSizeInches.width * 25.4,
height: pageSizeInches.height * 25.4
};
intMillimeters = {
width: Math.round(sizeMillimeters.width),
height: Math.round(sizeMillimeters.height)
};
if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
if (rawName) {
sizeInches = {
width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
height: Math.round(intMillimeters.height / 25.4 * 100) / 100
};
sizeMillimeters = intMillimeters;
}
}
}
_context3.next = 10;
return Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get("document_properties_page_size_unit_".concat(this._isNonMetricLocale ? "inches" : "millimeters")), rawName && this.l10n.get("document_properties_page_size_name_".concat(rawName.toLowerCase())), this.l10n.get("document_properties_page_size_orientation_".concat(isPortrait ? "portrait" : "landscape"))]);
case 10:
_yield$Promise$all3 = _context3.sent;
_yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 4);
_yield$Promise$all4$ = _yield$Promise$all4[0];
width = _yield$Promise$all4$.width;
height = _yield$Promise$all4$.height;
unit = _yield$Promise$all4[1];
name = _yield$Promise$all4[2];
orientation = _yield$Promise$all4[3];
return _context3.abrupt("return", this.l10n.get("document_properties_page_size_dimension_".concat(name ? "name_" : "", "string"), {
width: width.toLocaleString(),
height: height.toLocaleString(),
unit: unit,
name: name,
orientation: orientation
}));
case 19:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function _parsePageSize(_x, _x2) {
return _parsePageSize2.apply(this, arguments);
}
return _parsePageSize;
}()
}, {
key: "_parseDate",
value: function () {
var _parseDate2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(inputDate) {
var dateObject;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate);
if (dateObject) {
_context4.next = 3;
break;
}
return _context4.abrupt("return", undefined);
case 3:
return _context4.abrupt("return", this.l10n.get("document_properties_date_string", {
date: dateObject.toLocaleDateString(),
time: dateObject.toLocaleTimeString()
}));
case 4:
case "end":
return _context4.stop();
}
}
}, _callee4, this);
}));
function _parseDate(_x3) {
return _parseDate2.apply(this, arguments);
}
return _parseDate;
}()
}, {
key: "_parseLinearization",
value: function _parseLinearization(isLinearized) {
return this.l10n.get("document_properties_linearized_".concat(isLinearized ? "yes" : "no"));
}
}]);
return PDFDocumentProperties;
}();
exports.PDFDocumentProperties = PDFDocumentProperties;
/***/ }),
/* 16 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFFindBar = void 0;
var _pdf_find_controller = __webpack_require__(17);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
var MATCHES_COUNT_LIMIT = 1000;
var _adjustWidth = /*#__PURE__*/new WeakSet();
var PDFFindBar = /*#__PURE__*/function () {
function PDFFindBar(options, eventBus, l10n) {
var _this = this;
_classCallCheck(this, PDFFindBar);
_classPrivateMethodInitSpec(this, _adjustWidth);
this.opened = false;
this.bar = options.bar;
this.toggleButton = options.toggleButton;
this.findField = options.findField;
this.highlightAll = options.highlightAllCheckbox;
this.caseSensitive = options.caseSensitiveCheckbox;
this.matchDiacritics = options.matchDiacriticsCheckbox;
this.entireWord = options.entireWordCheckbox;
this.findMsg = options.findMsg;
this.findResultsCount = options.findResultsCount;
this.findPreviousButton = options.findPreviousButton;
this.findNextButton = options.findNextButton;
this.eventBus = eventBus;
this.l10n = l10n;
this.toggleButton.addEventListener("click", function () {
_this.toggle();
});
this.findField.addEventListener("input", function () {
_this.dispatchEvent("");
});
this.bar.addEventListener("keydown", function (e) {
switch (e.keyCode) {
case 13:
if (e.target === _this.findField) {
_this.dispatchEvent("again", e.shiftKey);
}
break;
case 27:
_this.close();
break;
}
});
this.findPreviousButton.addEventListener("click", function () {
_this.dispatchEvent("again", true);
});
this.findNextButton.addEventListener("click", function () {
_this.dispatchEvent("again", false);
});
this.highlightAll.addEventListener("click", function () {
_this.dispatchEvent("highlightallchange");
});
this.caseSensitive.addEventListener("click", function () {
_this.dispatchEvent("casesensitivitychange");
});
this.entireWord.addEventListener("click", function () {
_this.dispatchEvent("entirewordchange");
});
this.matchDiacritics.addEventListener("click", function () {
_this.dispatchEvent("diacriticmatchingchange");
});
this.eventBus._on("resize", _classPrivateMethodGet(this, _adjustWidth, _adjustWidth2).bind(this));
}
_createClass(PDFFindBar, [{
key: "reset",
value: function reset() {
this.updateUIState();
}
}, {
key: "dispatchEvent",
value: function dispatchEvent(type) {
var findPrev = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
this.eventBus.dispatch("find", {
source: this,
type: type,
query: this.findField.value,
phraseSearch: true,
caseSensitive: this.caseSensitive.checked,
entireWord: this.entireWord.checked,
highlightAll: this.highlightAll.checked,
findPrevious: findPrev,
matchDiacritics: this.matchDiacritics.checked
});
}
}, {
key: "updateUIState",
value: function updateUIState(state, previous, matchesCount) {
var _this2 = this;
var findMsg = Promise.resolve("");
var status = "";
switch (state) {
case _pdf_find_controller.FindState.FOUND:
break;
case _pdf_find_controller.FindState.PENDING:
status = "pending";
break;
case _pdf_find_controller.FindState.NOT_FOUND:
findMsg = this.l10n.get("find_not_found");
status = "notFound";
break;
case _pdf_find_controller.FindState.WRAPPED:
findMsg = this.l10n.get("find_reached_".concat(previous ? "top" : "bottom"));
break;
}
this.findField.setAttribute("data-status", status);
findMsg.then(function (msg) {
_this2.findMsg.textContent = msg;
_classPrivateMethodGet(_this2, _adjustWidth, _adjustWidth2).call(_this2);
});
this.updateResultsCount(matchesCount);
}
}, {
key: "updateResultsCount",
value: function updateResultsCount() {
var _this3 = this;
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$current = _ref.current,
current = _ref$current === void 0 ? 0 : _ref$current,
_ref$total = _ref.total,
total = _ref$total === void 0 ? 0 : _ref$total;
var limit = MATCHES_COUNT_LIMIT;
var matchCountMsg = Promise.resolve("");
if (total > 0) {
if (total > limit) {
var key = "find_match_count_limit";
matchCountMsg = this.l10n.get(key, {
limit: limit
});
} else {
var _key = "find_match_count";
matchCountMsg = this.l10n.get(_key, {
current: current,
total: total
});
}
}
matchCountMsg.then(function (msg) {
_this3.findResultsCount.textContent = msg;
_classPrivateMethodGet(_this3, _adjustWidth, _adjustWidth2).call(_this3);
});
}
}, {
key: "open",
value: function open() {
if (!this.opened) {
this.opened = true;
this.toggleButton.classList.add("toggled");
this.toggleButton.setAttribute("aria-expanded", "true");
this.bar.classList.remove("hidden");
}
this.findField.select();
this.findField.focus();
_classPrivateMethodGet(this, _adjustWidth, _adjustWidth2).call(this);
}
}, {
key: "close",
value: function close() {
if (!this.opened) {
return;
}
this.opened = false;
this.toggleButton.classList.remove("toggled");
this.toggleButton.setAttribute("aria-expanded", "false");
this.bar.classList.add("hidden");
this.eventBus.dispatch("findbarclose", {
source: this
});
}
}, {
key: "toggle",
value: function toggle() {
if (this.opened) {
this.close();
} else {
this.open();
}
}
}]);
return PDFFindBar;
}();
exports.PDFFindBar = PDFFindBar;
function _adjustWidth2() {
if (!this.opened) {
return;
}
this.bar.classList.remove("wrapContainers");
var findbarHeight = this.bar.clientHeight;
var inputContainerHeight = this.bar.firstElementChild.clientHeight;
if (findbarHeight > inputContainerHeight) {
this.bar.classList.add("wrapContainers");
}
}
/***/ }),
/* 17 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFFindController = exports.FindState = void 0;
var _ui_utils = __webpack_require__(5);
var _pdfjsLib = __webpack_require__(7);
var _pdf_find_utils = __webpack_require__(18);
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { 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 _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); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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; }
var FindState = {
FOUND: 0,
NOT_FOUND: 1,
WRAPPED: 2,
PENDING: 3
};
exports.FindState = FindState;
var FIND_TIMEOUT = 250;
var MATCH_SCROLL_OFFSET_TOP = -50;
var MATCH_SCROLL_OFFSET_LEFT = -400;
var CHARACTERS_TO_NORMALIZE = {
"\u2010": "-",
"\u2018": "'",
"\u2019": "'",
"\u201A": "'",
"\u201B": "'",
"\u201C": '"',
"\u201D": '"',
"\u201E": '"',
"\u201F": '"',
"\xBC": "1/4",
"\xBD": "1/2",
"\xBE": "3/4"
};
var DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);
var DIACRITICS_EXCEPTION_STR = _toConsumableArray(DIACRITICS_EXCEPTION.values()).map(function (x) {
return String.fromCharCode(x);
}).join("");
var DIACRITICS_REG_EXP = /(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])+/g;
var SPECIAL_CHARS_REG_EXP = /([\$\(-\+\.\?\[-\^\{-\}])|((?:[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]))|([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+)|((?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]))|((?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]))/g;
var NOT_DIACRITIC_FROM_END_REG_EXP = /((?:(?![\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])[\s\S]))(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])*$/;
var NOT_DIACRITIC_FROM_START_REG_EXP = /^(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])*((?:(?![\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])[\s\S]))/;
var normalizationRegex = null;
function normalize(text) {
if (!normalizationRegex) {
var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join("");
normalizationRegex = new RegExp("([".concat(replace, "])|(\\p{M}+(?:-\\n)?)|(\\S-\\n)|(\\n)"), "gum");
}
var rawDiacriticsPositions = [];
var m;
while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {
rawDiacriticsPositions.push([m[0].length, m.index]);
}
var normalized = text.normalize("NFD");
var positions = [[0, 0]];
var k = 0;
var shift = 0;
var shiftOrigin = 0;
var eol = 0;
var hasDiacritics = false;
normalized = normalized.replace(normalizationRegex, function (match, p1, p2, p3, p4, i) {
i -= shiftOrigin;
if (p1) {
var replacement = CHARACTERS_TO_NORMALIZE[match];
var jj = replacement.length;
for (var j = 1; j < jj; j++) {
positions.push([i - shift + j, shift - j]);
}
shift -= jj - 1;
return replacement;
}
if (p2) {
var _rawDiacriticsPositio;
var hasTrailingDashEOL = p2.endsWith("\n");
var len = hasTrailingDashEOL ? p2.length - 2 : p2.length;
hasDiacritics = true;
var _jj = len;
if (i + eol === ((_rawDiacriticsPositio = rawDiacriticsPositions[k]) === null || _rawDiacriticsPositio === void 0 ? void 0 : _rawDiacriticsPositio[1])) {
_jj -= rawDiacriticsPositions[k][0];
++k;
}
for (var _j = 1; _j < _jj + 1; _j++) {
positions.push([i - 1 - shift + _j, shift - _j]);
}
shift -= _jj;
shiftOrigin += _jj;
if (hasTrailingDashEOL) {
i += len - 1;
positions.push([i - shift + 1, 1 + shift]);
shift += 1;
shiftOrigin += 1;
eol += 1;
return p2.slice(0, len);
}
return p2;
}
if (p3) {
positions.push([i - shift + 1, 1 + shift]);
shift += 1;
shiftOrigin += 1;
eol += 1;
return p3.charAt(0);
}
positions.push([i - shift + 1, shift - 1]);
shift -= 1;
shiftOrigin += 1;
eol += 1;
return " ";
});
positions.push([normalized.length, shift]);
return [normalized, positions, hasDiacritics];
}
function getOriginalIndex(diffs, pos, len) {
if (!diffs) {
return [pos, len];
}
var start = pos;
var end = pos + len;
var i = (0, _ui_utils.binarySearchFirstItem)(diffs, function (x) {
return x[0] >= start;
});
if (diffs[i][0] > start) {
--i;
}
var j = (0, _ui_utils.binarySearchFirstItem)(diffs, function (x) {
return x[0] >= end;
}, i);
if (diffs[j][0] > end) {
--j;
}
return [start + diffs[i][1], len + diffs[j][1] - diffs[i][1]];
}
var _onFind = /*#__PURE__*/new WeakSet();
var _onFindBarClose = /*#__PURE__*/new WeakSet();
var PDFFindController = /*#__PURE__*/function () {
function PDFFindController(_ref) {
var linkService = _ref.linkService,
eventBus = _ref.eventBus;
_classCallCheck(this, PDFFindController);
_classPrivateMethodInitSpec(this, _onFindBarClose);
_classPrivateMethodInitSpec(this, _onFind);
this._linkService = linkService;
this._eventBus = eventBus;
this._reset();
eventBus._on("find", _classPrivateMethodGet(this, _onFind, _onFind2).bind(this));
eventBus._on("findbarclose", _classPrivateMethodGet(this, _onFindBarClose, _onFindBarClose2).bind(this));
}
_createClass(PDFFindController, [{
key: "highlightMatches",
get: function get() {
return this._highlightMatches;
}
}, {
key: "pageMatches",
get: function get() {
return this._pageMatches;
}
}, {
key: "pageMatchesLength",
get: function get() {
return this._pageMatchesLength;
}
}, {
key: "selected",
get: function get() {
return this._selected;
}
}, {
key: "state",
get: function get() {
return this._state;
}
}, {
key: "setDocument",
value: function setDocument(pdfDocument) {
if (this._pdfDocument) {
this._reset();
}
if (!pdfDocument) {
return;
}
this._pdfDocument = pdfDocument;
this._firstPageCapability.resolve();
}
}, {
key: "scrollMatchIntoView",
value: function scrollMatchIntoView(_ref2) {
var _ref2$element = _ref2.element,
element = _ref2$element === void 0 ? null : _ref2$element,
_ref2$selectedLeft = _ref2.selectedLeft,
selectedLeft = _ref2$selectedLeft === void 0 ? 0 : _ref2$selectedLeft,
_ref2$pageIndex = _ref2.pageIndex,
pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,
_ref2$matchIndex = _ref2.matchIndex,
matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;
if (!this._scrollMatches || !element) {
return;
} else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {
return;
} else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {
return;
}
this._scrollMatches = false;
var spot = {
top: MATCH_SCROLL_OFFSET_TOP,
left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT
};
(0, _ui_utils.scrollIntoView)(element, spot, true);
}
}, {
key: "_reset",
value: function _reset() {
this._highlightMatches = false;
this._scrollMatches = false;
this._pdfDocument = null;
this._pageMatches = [];
this._pageMatchesLength = [];
this._state = null;
this._selected = {
pageIdx: -1,
matchIdx: -1
};
this._offset = {
pageIdx: null,
matchIdx: null,
wrapped: false
};
this._extractTextPromises = [];
this._pageContents = [];
this._pageDiffs = [];
this._hasDiacritics = [];
this._matchesCountTotal = 0;
this._pagesToSearch = null;
this._pendingFindMatches = new Set();
this._resumePageIdx = null;
this._dirtyMatch = false;
clearTimeout(this._findTimeout);
this._findTimeout = null;
this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
}
}, {
key: "_query",
get: function get() {
if (this._state.query !== this._rawQuery) {
this._rawQuery = this._state.query;
var _normalize = normalize(this._state.query);
var _normalize2 = _slicedToArray(_normalize, 1);
this._normalizedQuery = _normalize2[0];
}
return this._normalizedQuery;
}
}, {
key: "_shouldDirtyMatch",
value: function _shouldDirtyMatch(state) {
if (state.query !== this._state.query) {
return true;
}
switch (state.type) {
case "again":
var pageNumber = this._selected.pageIdx + 1;
var linkService = this._linkService;
if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {
return true;
}
return false;
case "highlightallchange":
return false;
}
return true;
}
}, {
key: "_isEntireWord",
value: function _isEntireWord(content, startIdx, length) {
var match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);
if (match) {
var first = content.charCodeAt(startIdx);
var limit = match[1].charCodeAt(0);
if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {
return false;
}
}
match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);
if (match) {
var last = content.charCodeAt(startIdx + length - 1);
var _limit = match[1].charCodeAt(0);
if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {
return false;
}
}
return true;
}
}, {
key: "_calculateRegExpMatch",
value: function _calculateRegExpMatch(query, entireWord, pageIndex, pageContent) {
var matches = [],
matchesLength = [];
var diffs = this._pageDiffs[pageIndex];
var match;
while ((match = query.exec(pageContent)) !== null) {
if (entireWord && !this._isEntireWord(pageContent, match.index, match[0].length)) {
continue;
}
var _getOriginalIndex = getOriginalIndex(diffs, match.index, match[0].length),
_getOriginalIndex2 = _slicedToArray(_getOriginalIndex, 2),
matchPos = _getOriginalIndex2[0],
matchLen = _getOriginalIndex2[1];
if (matchLen) {
matches.push(matchPos);
matchesLength.push(matchLen);
}
}
this._pageMatches[pageIndex] = matches;
this._pageMatchesLength[pageIndex] = matchesLength;
}
}, {
key: "_convertToRegExpString",
value: function _convertToRegExpString(query, hasDiacritics) {
var matchDiacritics = this._state.matchDiacritics;
var isUnicode = false;
query = query.replace(SPECIAL_CHARS_REG_EXP, function (match, p1, p2, p3, p4, p5) {
if (p1) {
return "[ ]*\\".concat(p1, "[ ]*");
}
if (p2) {
return "[ ]*".concat(p2, "[ ]*");
}
if (p3) {
return "[ ]+";
}
if (matchDiacritics) {
return p4 || p5;
}
if (p4) {
return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : "";
}
if (hasDiacritics) {
isUnicode = true;
return "".concat(p5, "\\p{M}*");
}
return p5;
});
var trailingSpaces = "[ ]*";
if (query.endsWith(trailingSpaces)) {
query = query.slice(0, query.length - trailingSpaces.length);
}
if (matchDiacritics) {
if (hasDiacritics) {
isUnicode = true;
query = "".concat(query, "(?=[").concat(DIACRITICS_EXCEPTION_STR, "]|[^\\p{M}]|$)");
}
}
return [isUnicode, query];
}
}, {
key: "_calculateMatch",
value: function _calculateMatch(pageIndex) {
var _this = this;
var query = this._query;
if (query.length === 0) {
return;
}
var _this$_state = this._state,
caseSensitive = _this$_state.caseSensitive,
entireWord = _this$_state.entireWord,
phraseSearch = _this$_state.phraseSearch;
var pageContent = this._pageContents[pageIndex];
var hasDiacritics = this._hasDiacritics[pageIndex];
var isUnicode = false;
if (phraseSearch) {
var _this$_convertToRegEx = this._convertToRegExpString(query, hasDiacritics);
var _this$_convertToRegEx2 = _slicedToArray(_this$_convertToRegEx, 2);
isUnicode = _this$_convertToRegEx2[0];
query = _this$_convertToRegEx2[1];
} else {
var match = query.match(/\S+/g);
if (match) {
query = match.sort().reverse().map(function (q) {
var _this$_convertToRegEx3 = _this._convertToRegExpString(q, hasDiacritics),
_this$_convertToRegEx4 = _slicedToArray(_this$_convertToRegEx3, 2),
isUnicodePart = _this$_convertToRegEx4[0],
queryPart = _this$_convertToRegEx4[1];
isUnicode || (isUnicode = isUnicodePart);
return "(".concat(queryPart, ")");
}).join("|");
}
}
var flags = "g".concat(isUnicode ? "u" : "").concat(caseSensitive ? "" : "i");
query = new RegExp(query, flags);
this._calculateRegExpMatch(query, entireWord, pageIndex, pageContent);
if (this._state.highlightAll) {
this._updatePage(pageIndex);
}
if (this._resumePageIdx === pageIndex) {
this._resumePageIdx = null;
this._nextPageMatch();
}
var pageMatchesCount = this._pageMatches[pageIndex].length;
if (pageMatchesCount > 0) {
this._matchesCountTotal += pageMatchesCount;
this._updateUIResultsCount();
}
}
}, {
key: "_extractText",
value: function _extractText() {
var _this2 = this;
if (this._extractTextPromises.length > 0) {
return;
}
var promise = Promise.resolve();
var _loop = function _loop(i, ii) {
var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();
_this2._extractTextPromises[i] = extractTextCapability.promise;
promise = promise.then(function () {
return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {
return pdfPage.getTextContent();
}).then(function (textContent) {
var textItems = textContent.items;
var strBuf = [];
for (var j = 0, jj = textItems.length; j < jj; j++) {
strBuf.push(textItems[j].str);
if (textItems[j].hasEOL) {
strBuf.push("\n");
}
}
var _normalize3 = normalize(strBuf.join(""));
var _normalize4 = _slicedToArray(_normalize3, 3);
_this2._pageContents[i] = _normalize4[0];
_this2._pageDiffs[i] = _normalize4[1];
_this2._hasDiacritics[i] = _normalize4[2];
extractTextCapability.resolve(i);
}, function (reason) {
console.error("Unable to get text content for page ".concat(i + 1), reason);
_this2._pageContents[i] = "";
_this2._pageDiffs[i] = null;
_this2._hasDiacritics[i] = false;
extractTextCapability.resolve(i);
});
});
};
for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {
_loop(i, ii);
}
}
}, {
key: "_updatePage",
value: function _updatePage(index) {
if (this._scrollMatches && this._selected.pageIdx === index) {
this._linkService.page = index + 1;
}
this._eventBus.dispatch("updatetextlayermatches", {
source: this,
pageIndex: index
});
}
}, {
key: "_updateAllPages",
value: function _updateAllPages() {
this._eventBus.dispatch("updatetextlayermatches", {
source: this,
pageIndex: -1
});
}
}, {
key: "_nextMatch",
value: function _nextMatch() {
var _this3 = this;
var previous = this._state.findPrevious;
var currentPageIndex = this._linkService.page - 1;
var numPages = this._linkService.pagesCount;
this._highlightMatches = true;
if (this._dirtyMatch) {
this._dirtyMatch = false;
this._selected.pageIdx = this._selected.matchIdx = -1;
this._offset.pageIdx = currentPageIndex;
this._offset.matchIdx = null;
this._offset.wrapped = false;
this._resumePageIdx = null;
this._pageMatches.length = 0;
this._pageMatchesLength.length = 0;
this._matchesCountTotal = 0;
this._updateAllPages();
for (var i = 0; i < numPages; i++) {
if (this._pendingFindMatches.has(i)) {
continue;
}
this._pendingFindMatches.add(i);
this._extractTextPromises[i].then(function (pageIdx) {
_this3._pendingFindMatches["delete"](pageIdx);
_this3._calculateMatch(pageIdx);
});
}
}
if (this._query === "") {
this._updateUIState(FindState.FOUND);
return;
}
if (this._resumePageIdx) {
return;
}
var offset = this._offset;
this._pagesToSearch = numPages;
if (offset.matchIdx !== null) {
var numPageMatches = this._pageMatches[offset.pageIdx].length;
if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {
offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;
this._updateMatch(true);
return;
}
this._advanceOffsetPage(previous);
}
this._nextPageMatch();
}
}, {
key: "_matchesReady",
value: function _matchesReady(matches) {
var offset = this._offset;
var numMatches = matches.length;
var previous = this._state.findPrevious;
if (numMatches) {
offset.matchIdx = previous ? numMatches - 1 : 0;
this._updateMatch(true);
return true;
}
this._advanceOffsetPage(previous);
if (offset.wrapped) {
offset.matchIdx = null;
if (this._pagesToSearch < 0) {
this._updateMatch(false);
return true;
}
}
return false;
}
}, {
key: "_nextPageMatch",
value: function _nextPageMatch() {
if (this._resumePageIdx !== null) {
console.error("There can only be one pending page.");
}
var matches = null;
do {
var pageIdx = this._offset.pageIdx;
matches = this._pageMatches[pageIdx];
if (!matches) {
this._resumePageIdx = pageIdx;
break;
}
} while (!this._matchesReady(matches));
}
}, {
key: "_advanceOffsetPage",
value: function _advanceOffsetPage(previous) {
var offset = this._offset;
var numPages = this._linkService.pagesCount;
offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;
offset.matchIdx = null;
this._pagesToSearch--;
if (offset.pageIdx >= numPages || offset.pageIdx < 0) {
offset.pageIdx = previous ? numPages - 1 : 0;
offset.wrapped = true;
}
}
}, {
key: "_updateMatch",
value: function _updateMatch() {
var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var state = FindState.NOT_FOUND;
var wrapped = this._offset.wrapped;
this._offset.wrapped = false;
if (found) {
var previousPage = this._selected.pageIdx;
this._selected.pageIdx = this._offset.pageIdx;
this._selected.matchIdx = this._offset.matchIdx;
state = wrapped ? FindState.WRAPPED : FindState.FOUND;
if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {
this._updatePage(previousPage);
}
}
this._updateUIState(state, this._state.findPrevious);
if (this._selected.pageIdx !== -1) {
this._scrollMatches = true;
this._updatePage(this._selected.pageIdx);
}
}
}, {
key: "_requestMatchesCount",
value: function _requestMatchesCount() {
var _this$_selected = this._selected,
pageIdx = _this$_selected.pageIdx,
matchIdx = _this$_selected.matchIdx;
var current = 0,
total = this._matchesCountTotal;
if (matchIdx !== -1) {
for (var i = 0; i < pageIdx; i++) {
var _this$_pageMatches$i;
current += ((_this$_pageMatches$i = this._pageMatches[i]) === null || _this$_pageMatches$i === void 0 ? void 0 : _this$_pageMatches$i.length) || 0;
}
current += matchIdx + 1;
}
if (current < 1 || current > total) {
current = total = 0;
}
return {
current: current,
total: total
};
}
}, {
key: "_updateUIResultsCount",
value: function _updateUIResultsCount() {
this._eventBus.dispatch("updatefindmatchescount", {
source: this,
matchesCount: this._requestMatchesCount()
});
}
}, {
key: "_updateUIState",
value: function _updateUIState(state) {
var _this$_state$query, _this$_state2;
var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
this._eventBus.dispatch("updatefindcontrolstate", {
source: this,
state: state,
previous: previous,
matchesCount: this._requestMatchesCount(),
rawQuery: (_this$_state$query = (_this$_state2 = this._state) === null || _this$_state2 === void 0 ? void 0 : _this$_state2.query) !== null && _this$_state$query !== void 0 ? _this$_state$query : null
});
}
}]);
return PDFFindController;
}();
exports.PDFFindController = PDFFindController;
function _onFind2(state) {
var _this4 = this;
if (!state) {
return;
}
var pdfDocument = this._pdfDocument;
var type = state.type;
if (this._state === null || this._shouldDirtyMatch(state)) {
this._dirtyMatch = true;
}
this._state = state;
if (type !== "highlightallchange") {
this._updateUIState(FindState.PENDING);
}
this._firstPageCapability.promise.then(function () {
if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {
return;
}
_this4._extractText();
var findbarClosed = !_this4._highlightMatches;
var pendingTimeout = !!_this4._findTimeout;
if (_this4._findTimeout) {
clearTimeout(_this4._findTimeout);
_this4._findTimeout = null;
}
if (!type) {
_this4._findTimeout = setTimeout(function () {
_this4._nextMatch();
_this4._findTimeout = null;
}, FIND_TIMEOUT);
} else if (_this4._dirtyMatch) {
_this4._nextMatch();
} else if (type === "again") {
_this4._nextMatch();
if (findbarClosed && _this4._state.highlightAll) {
_this4._updateAllPages();
}
} else if (type === "highlightallchange") {
if (pendingTimeout) {
_this4._nextMatch();
} else {
_this4._highlightMatches = true;
}
_this4._updateAllPages();
} else {
_this4._nextMatch();
}
});
}
function _onFindBarClose2(evt) {
var _this5 = this;
var pdfDocument = this._pdfDocument;
this._firstPageCapability.promise.then(function () {
if (!_this5._pdfDocument || pdfDocument && _this5._pdfDocument !== pdfDocument) {
return;
}
if (_this5._findTimeout) {
clearTimeout(_this5._findTimeout);
_this5._findTimeout = null;
}
if (_this5._resumePageIdx) {
_this5._resumePageIdx = null;
_this5._dirtyMatch = true;
}
_this5._updateUIState(FindState.FOUND);
_this5._highlightMatches = false;
_this5._updateAllPages();
});
}
/***/ }),
/* 18 */
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.CharacterType = void 0;
exports.getCharacterType = getCharacterType;
var CharacterType = {
SPACE: 0,
ALPHA_LETTER: 1,
PUNCT: 2,
HAN_LETTER: 3,
KATAKANA_LETTER: 4,
HIRAGANA_LETTER: 5,
HALFWIDTH_KATAKANA_LETTER: 6,
THAI_LETTER: 7
};
exports.CharacterType = CharacterType;
function isAlphabeticalScript(charCode) {
return charCode < 0x2e80;
}
function isAscii(charCode) {
return (charCode & 0xff80) === 0;
}
function isAsciiAlpha(charCode) {
return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;
}
function isAsciiDigit(charCode) {
return charCode >= 0x30 && charCode <= 0x39;
}
function isAsciiSpace(charCode) {
return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;
}
function isHan(charCode) {
return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;
}
function isKatakana(charCode) {
return charCode >= 0x30a0 && charCode <= 0x30ff;
}
function isHiragana(charCode) {
return charCode >= 0x3040 && charCode <= 0x309f;
}
function isHalfwidthKatakana(charCode) {
return charCode >= 0xff60 && charCode <= 0xff9f;
}
function isThai(charCode) {
return (charCode & 0xff80) === 0x0e00;
}
function getCharacterType(charCode) {
if (isAlphabeticalScript(charCode)) {
if (isAscii(charCode)) {
if (isAsciiSpace(charCode)) {
return CharacterType.SPACE;
} else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {
return CharacterType.ALPHA_LETTER;
}
return CharacterType.PUNCT;
} else if (isThai(charCode)) {
return CharacterType.THAI_LETTER;
} else if (charCode === 0xa0) {
return CharacterType.SPACE;
}
return CharacterType.ALPHA_LETTER;
}
if (isHan(charCode)) {
return CharacterType.HAN_LETTER;
} else if (isKatakana(charCode)) {
return CharacterType.KATAKANA_LETTER;
} else if (isHiragana(charCode)) {
return CharacterType.HIRAGANA_LETTER;
} else if (isHalfwidthKatakana(charCode)) {
return CharacterType.HALFWIDTH_KATAKANA_LETTER;
}
return CharacterType.ALPHA_LETTER;
}
/***/ }),
/* 19 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFHistory = void 0;
exports.isDestArraysEqual = isDestArraysEqual;
exports.isDestHashesEqual = isDestHashesEqual;
var _ui_utils = __webpack_require__(5);
var _event_utils = __webpack_require__(6);
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
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); }
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; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var HASH_CHANGE_TIMEOUT = 1000;
var POSITION_UPDATED_THRESHOLD = 50;
var UPDATE_VIEWAREA_TIMEOUT = 1000;
function getCurrentHash() {
return document.location.hash;
}
var PDFHistory = /*#__PURE__*/function () {
function PDFHistory(_ref) {
var _this = this;
var linkService = _ref.linkService,
eventBus = _ref.eventBus;
_classCallCheck(this, PDFHistory);
this.linkService = linkService;
this.eventBus = eventBus;
this._initialized = false;
this._fingerprint = "";
this.reset();
this._boundEvents = null;
this._isViewerInPresentationMode = false;
this.eventBus._on("presentationmodechanged", function (evt) {
_this._isViewerInPresentationMode = evt.state !== _ui_utils.PresentationModeState.NORMAL;
});
this.eventBus._on("pagesinit", function () {
_this._isPagesLoaded = false;
_this.eventBus._on("pagesloaded", function (evt) {
_this._isPagesLoaded = !!evt.pagesCount;
}, {
once: true
});
});
}
_createClass(PDFHistory, [{
key: "initialize",
value: function initialize(_ref2) {
var fingerprint = _ref2.fingerprint,
_ref2$resetHistory = _ref2.resetHistory,
resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,
_ref2$updateUrl = _ref2.updateUrl,
updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;
if (!fingerprint || typeof fingerprint !== "string") {
console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');
return;
}
if (this._initialized) {
this.reset();
}
var reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint;
this._fingerprint = fingerprint;
this._updateUrl = updateUrl === true;
this._initialized = true;
this._bindEvents();
var state = window.history.state;
this._popStateInProgress = false;
this._blockHashChange = 0;
this._currentHash = getCurrentHash();
this._numPositionUpdates = 0;
this._uid = this._maxUid = 0;
this._destination = null;
this._position = null;
if (!this._isValidState(state, true) || resetHistory) {
var _this$_parseCurrentHa = this._parseCurrentHash(true),
hash = _this$_parseCurrentHa.hash,
page = _this$_parseCurrentHa.page,
rotation = _this$_parseCurrentHa.rotation;
if (!hash || reInitialized || resetHistory) {
this._pushOrReplaceState(null, true);
return;
}
this._pushOrReplaceState({
hash: hash,
page: page,
rotation: rotation
}, true);
return;
}
var destination = state.destination;
this._updateInternalState(destination, state.uid, true);
if (destination.rotation !== undefined) {
this._initialRotation = destination.rotation;
}
if (destination.dest) {
this._initialBookmark = JSON.stringify(destination.dest);
this._destination.page = null;
} else if (destination.hash) {
this._initialBookmark = destination.hash;
} else if (destination.page) {
this._initialBookmark = "page=".concat(destination.page);
}
}
}, {
key: "reset",
value: function reset() {
if (this._initialized) {
this._pageHide();
this._initialized = false;
this._unbindEvents();
}
if (this._updateViewareaTimeout) {
clearTimeout(this._updateViewareaTimeout);
this._updateViewareaTimeout = null;
}
this._initialBookmark = null;
this._initialRotation = null;
}
}, {
key: "push",
value: function push(_ref3) {
var _this2 = this;
var _ref3$namedDest = _ref3.namedDest,
namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,
explicitDest = _ref3.explicitDest,
pageNumber = _ref3.pageNumber;
if (!this._initialized) {
return;
}
if (namedDest && typeof namedDest !== "string") {
console.error("PDFHistory.push: " + "\"".concat(namedDest, "\" is not a valid namedDest parameter."));
return;
} else if (!Array.isArray(explicitDest)) {
console.error("PDFHistory.push: " + "\"".concat(explicitDest, "\" is not a valid explicitDest parameter."));
return;
} else if (!this._isValidPage(pageNumber)) {
if (pageNumber !== null || this._destination) {
console.error("PDFHistory.push: " + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
return;
}
}
var hash = namedDest || JSON.stringify(explicitDest);
if (!hash) {
return;
}
var forceReplace = false;
if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {
if (this._destination.page) {
return;
}
forceReplace = true;
}
if (this._popStateInProgress && !forceReplace) {
return;
}
this._pushOrReplaceState({
dest: explicitDest,
hash: hash,
page: pageNumber,
rotation: this.linkService.rotation
}, forceReplace);
if (!this._popStateInProgress) {
this._popStateInProgress = true;
Promise.resolve().then(function () {
_this2._popStateInProgress = false;
});
}
}
}, {
key: "pushPage",
value: function pushPage(pageNumber) {
var _this$_destination,
_this3 = this;
if (!this._initialized) {
return;
}
if (!this._isValidPage(pageNumber)) {
console.error("PDFHistory.pushPage: \"".concat(pageNumber, "\" is not a valid page number."));
return;
}
if (((_this$_destination = this._destination) === null || _this$_destination === void 0 ? void 0 : _this$_destination.page) === pageNumber) {
return;
}
if (this._popStateInProgress) {
return;
}
this._pushOrReplaceState({
dest: null,
hash: "page=".concat(pageNumber),
page: pageNumber,
rotation: this.linkService.rotation
});
if (!this._popStateInProgress) {
this._popStateInProgress = true;
Promise.resolve().then(function () {
_this3._popStateInProgress = false;
});
}
}
}, {
key: "pushCurrentPosition",
value: function pushCurrentPosition() {
if (!this._initialized || this._popStateInProgress) {
return;
}
this._tryPushCurrentPosition();
}
}, {
key: "back",
value: function back() {
if (!this._initialized || this._popStateInProgress) {
return;
}
var state = window.history.state;
if (this._isValidState(state) && state.uid > 0) {
window.history.back();
}
}
}, {
key: "forward",
value: function forward() {
if (!this._initialized || this._popStateInProgress) {
return;
}
var state = window.history.state;
if (this._isValidState(state) && state.uid < this._maxUid) {
window.history.forward();
}
}
}, {
key: "popStateInProgress",
get: function get() {
return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);
}
}, {
key: "initialBookmark",
get: function get() {
return this._initialized ? this._initialBookmark : null;
}
}, {
key: "initialRotation",
get: function get() {
return this._initialized ? this._initialRotation : null;
}
}, {
key: "_pushOrReplaceState",
value: function _pushOrReplaceState(destination) {
var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var shouldReplace = forceReplace || !this._destination;
var newState = {
fingerprint: this._fingerprint,
uid: shouldReplace ? this._uid : this._uid + 1,
destination: destination
};
this._updateInternalState(destination, newState.uid);
var newUrl;
if (this._updateUrl && destination !== null && destination !== void 0 && destination.hash) {
var baseUrl = document.location.href.split("#")[0];
if (!baseUrl.startsWith("file://")) {
newUrl = "".concat(baseUrl, "#").concat(destination.hash);
}
}
if (shouldReplace) {
window.history.replaceState(newState, "", newUrl);
} else {
window.history.pushState(newState, "", newUrl);
}
}
}, {
key: "_tryPushCurrentPosition",
value: function _tryPushCurrentPosition() {
var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (!this._position) {
return;
}
var position = this._position;
if (temporary) {
position = Object.assign(Object.create(null), this._position);
position.temporary = true;
}
if (!this._destination) {
this._pushOrReplaceState(position);
return;
}
if (this._destination.temporary) {
this._pushOrReplaceState(position, true);
return;
}
if (this._destination.hash === position.hash) {
return;
}
if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {
return;
}
var forceReplace = false;
if (this._destination.page >= position.first && this._destination.page <= position.page) {
if (this._destination.dest !== undefined || !this._destination.first) {
return;
}
forceReplace = true;
}
this._pushOrReplaceState(position, forceReplace);
}
}, {
key: "_isValidPage",
value: function _isValidPage(val) {
return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;
}
}, {
key: "_isValidState",
value: function _isValidState(state) {
var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (!state) {
return false;
}
if (state.fingerprint !== this._fingerprint) {
if (checkReload) {
if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) {
return false;
}
var _performance$getEntri = performance.getEntriesByType("navigation"),
_performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),
perfEntry = _performance$getEntri2[0];
if ((perfEntry === null || perfEntry === void 0 ? void 0 : perfEntry.type) !== "reload") {
return false;
}
} else {
return false;
}
}
if (!Number.isInteger(state.uid) || state.uid < 0) {
return false;
}
if (state.destination === null || _typeof(state.destination) !== "object") {
return false;
}
return true;
}
}, {
key: "_updateInternalState",
value: function _updateInternalState(destination, uid) {
var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
if (this._updateViewareaTimeout) {
clearTimeout(this._updateViewareaTimeout);
this._updateViewareaTimeout = null;
}
if (removeTemporary && destination !== null && destination !== void 0 && destination.temporary) {
delete destination.temporary;
}
this._destination = destination;
this._uid = uid;
this._maxUid = Math.max(this._maxUid, uid);
this._numPositionUpdates = 0;
}
}, {
key: "_parseCurrentHash",
value: function _parseCurrentHash() {
var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var hash = unescape(getCurrentHash()).substring(1);
var params = (0, _ui_utils.parseQueryString)(hash);
var nameddest = params.get("nameddest") || "";
var page = params.get("page") | 0;
if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) {
page = null;
}
return {
hash: hash,
page: page,
rotation: this.linkService.rotation
};
}
}, {
key: "_updateViewarea",
value: function _updateViewarea(_ref4) {
var _this4 = this;
var location = _ref4.location;
if (this._updateViewareaTimeout) {
clearTimeout(this._updateViewareaTimeout);
this._updateViewareaTimeout = null;
}
this._position = {
hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : location.pdfOpenParams.substring(1),
page: this.linkService.page,
first: location.pageNumber,
rotation: location.rotation
};
if (this._popStateInProgress) {
return;
}
if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {
this._numPositionUpdates++;
}
if (UPDATE_VIEWAREA_TIMEOUT > 0) {
this._updateViewareaTimeout = setTimeout(function () {
if (!_this4._popStateInProgress) {
_this4._tryPushCurrentPosition(true);
}
_this4._updateViewareaTimeout = null;
}, UPDATE_VIEWAREA_TIMEOUT);
}
}
}, {
key: "_popState",
value: function _popState(_ref5) {
var _this5 = this;
var state = _ref5.state;
var newHash = getCurrentHash(),
hashChanged = this._currentHash !== newHash;
this._currentHash = newHash;
if (!state) {
this._uid++;
var _this$_parseCurrentHa2 = this._parseCurrentHash(),
hash = _this$_parseCurrentHa2.hash,
page = _this$_parseCurrentHa2.page,
rotation = _this$_parseCurrentHa2.rotation;
this._pushOrReplaceState({
hash: hash,
page: page,
rotation: rotation
}, true);
return;
}
if (!this._isValidState(state)) {
return;
}
this._popStateInProgress = true;
if (hashChanged) {
this._blockHashChange++;
(0, _event_utils.waitOnEventOrTimeout)({
target: window,
name: "hashchange",
delay: HASH_CHANGE_TIMEOUT
}).then(function () {
_this5._blockHashChange--;
});
}
var destination = state.destination;
this._updateInternalState(destination, state.uid, true);
if ((0, _ui_utils.isValidRotation)(destination.rotation)) {
this.linkService.rotation = destination.rotation;
}
if (destination.dest) {
this.linkService.goToDestination(destination.dest);
} else if (destination.hash) {
this.linkService.setHash(destination.hash);
} else if (destination.page) {
this.linkService.page = destination.page;
}
Promise.resolve().then(function () {
_this5._popStateInProgress = false;
});
}
}, {
key: "_pageHide",
value: function _pageHide() {
if (!this._destination || this._destination.temporary) {
this._tryPushCurrentPosition();
}
}
}, {
key: "_bindEvents",
value: function _bindEvents() {
if (this._boundEvents) {
return;
}
this._boundEvents = {
updateViewarea: this._updateViewarea.bind(this),
popState: this._popState.bind(this),
pageHide: this._pageHide.bind(this)
};
this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea);
window.addEventListener("popstate", this._boundEvents.popState);
window.addEventListener("pagehide", this._boundEvents.pageHide);
}
}, {
key: "_unbindEvents",
value: function _unbindEvents() {
if (!this._boundEvents) {
return;
}
this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea);
window.removeEventListener("popstate", this._boundEvents.popState);
window.removeEventListener("pagehide", this._boundEvents.pageHide);
this._boundEvents = null;
}
}]);
return PDFHistory;
}();
exports.PDFHistory = PDFHistory;
function isDestHashesEqual(destHash, pushHash) {
if (typeof destHash !== "string" || typeof pushHash !== "string") {
return false;
}
if (destHash === pushHash) {
return true;
}
var nameddest = (0, _ui_utils.parseQueryString)(destHash).get("nameddest");
if (nameddest === pushHash) {
return true;
}
return false;
}
function isDestArraysEqual(firstDest, secondDest) {
function isEntryEqual(first, second) {
if (_typeof(first) !== _typeof(second)) {
return false;
}
if (Array.isArray(first) || Array.isArray(second)) {
return false;
}
if (first !== null && _typeof(first) === "object" && second !== null) {
if (Object.keys(first).length !== Object.keys(second).length) {
return false;
}
for (var key in first) {
if (!isEntryEqual(first[key], second[key])) {
return false;
}
}
return true;
}
return first === second || Number.isNaN(first) && Number.isNaN(second);
}
if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {
return false;
}
if (firstDest.length !== secondDest.length) {
return false;
}
for (var i = 0, ii = firstDest.length; i < ii; i++) {
if (!isEntryEqual(firstDest[i], secondDest[i])) {
return false;
}
}
return true;
}
/***/ }),
/* 20 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFLayerViewer = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _base_tree_viewer = __webpack_require__(14);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _get() { 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(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
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 } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
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); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
var PDFLayerViewer = /*#__PURE__*/function (_BaseTreeViewer) {
_inherits(PDFLayerViewer, _BaseTreeViewer);
var _super = _createSuper(PDFLayerViewer);
function PDFLayerViewer(options) {
var _this;
_classCallCheck(this, PDFLayerViewer);
_this = _super.call(this, options);
_this.l10n = options.l10n;
_this.eventBus._on("resetlayers", _this._resetLayers.bind(_assertThisInitialized(_this)));
_this.eventBus._on("togglelayerstree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this)));
return _this;
}
_createClass(PDFLayerViewer, [{
key: "reset",
value: function reset() {
_get(_getPrototypeOf(PDFLayerViewer.prototype), "reset", this).call(this);
this._optionalContentConfig = null;
}
}, {
key: "_dispatchEvent",
value: function _dispatchEvent(layersCount) {
this.eventBus.dispatch("layersloaded", {
source: this,
layersCount: layersCount
});
}
}, {
key: "_bindLink",
value: function _bindLink(element, _ref) {
var _this2 = this;
var groupId = _ref.groupId,
input = _ref.input;
var setVisibility = function setVisibility() {
_this2._optionalContentConfig.setVisibility(groupId, input.checked);
_this2.eventBus.dispatch("optionalcontentconfig", {
source: _this2,
promise: Promise.resolve(_this2._optionalContentConfig)
});
};
element.onclick = function (evt) {
if (evt.target === input) {
setVisibility();
return true;
} else if (evt.target !== element) {
return true;
}
input.checked = !input.checked;
setVisibility();
return false;
};
}
}, {
key: "_setNestedName",
value: function () {
var _setNestedName2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(element, _ref2) {
var _ref2$name, name;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_ref2$name = _ref2.name, name = _ref2$name === void 0 ? null : _ref2$name;
if (!(typeof name === "string")) {
_context.next = 4;
break;
}
element.textContent = this._normalizeTextContent(name);
return _context.abrupt("return");
case 4:
_context.next = 6;
return this.l10n.get("additional_layers");
case 6:
element.textContent = _context.sent;
element.style.fontStyle = "italic";
case 8:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function _setNestedName(_x, _x2) {
return _setNestedName2.apply(this, arguments);
}
return _setNestedName;
}()
}, {
key: "_addToggleButton",
value: function _addToggleButton(div, _ref3) {
var _ref3$name = _ref3.name,
name = _ref3$name === void 0 ? null : _ref3$name;
_get(_getPrototypeOf(PDFLayerViewer.prototype), "_addToggleButton", this).call(this, div, name === null);
}
}, {
key: "_toggleAllTreeItems",
value: function _toggleAllTreeItems() {
if (!this._optionalContentConfig) {
return;
}
_get(_getPrototypeOf(PDFLayerViewer.prototype), "_toggleAllTreeItems", this).call(this);
}
}, {
key: "render",
value: function render(_ref4) {
var optionalContentConfig = _ref4.optionalContentConfig,
pdfDocument = _ref4.pdfDocument;
if (this._optionalContentConfig) {
this.reset();
}
this._optionalContentConfig = optionalContentConfig || null;
this._pdfDocument = pdfDocument || null;
var groups = optionalContentConfig === null || optionalContentConfig === void 0 ? void 0 : optionalContentConfig.getOrder();
if (!groups) {
this._dispatchEvent(0);
return;
}
var fragment = document.createDocumentFragment(),
queue = [{
parent: fragment,
groups: groups
}];
var layersCount = 0,
hasAnyNesting = false;
while (queue.length > 0) {
var levelData = queue.shift();
var _iterator = _createForOfIteratorHelper(levelData.groups),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var groupId = _step.value;
var div = document.createElement("div");
div.className = "treeItem";
var element = document.createElement("a");
div.appendChild(element);
if (_typeof(groupId) === "object") {
hasAnyNesting = true;
this._addToggleButton(div, groupId);
this._setNestedName(element, groupId);
var itemsDiv = document.createElement("div");
itemsDiv.className = "treeItems";
div.appendChild(itemsDiv);
queue.push({
parent: itemsDiv,
groups: groupId.order
});
} else {
var group = optionalContentConfig.getGroup(groupId);
var input = document.createElement("input");
this._bindLink(element, {
groupId: groupId,
input: input
});
input.type = "checkbox";
input.id = groupId;
input.checked = group.visible;
var label = document.createElement("label");
label.setAttribute("for", groupId);
label.textContent = this._normalizeTextContent(group.name);
element.appendChild(input);
element.appendChild(label);
layersCount++;
}
levelData.parent.appendChild(div);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
this._finishRendering(fragment, layersCount, hasAnyNesting);
}
}, {
key: "_resetLayers",
value: function () {
var _resetLayers2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var optionalContentConfig;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (this._optionalContentConfig) {
_context2.next = 2;
break;
}
return _context2.abrupt("return");
case 2:
_context2.next = 4;
return this._pdfDocument.getOptionalContentConfig();
case 4:
optionalContentConfig = _context2.sent;
this.eventBus.dispatch("optionalcontentconfig", {
source: this,
promise: Promise.resolve(optionalContentConfig)
});
this.render({
optionalContentConfig: optionalContentConfig,
pdfDocument: this._pdfDocument
});
case 7:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function _resetLayers() {
return _resetLayers2.apply(this, arguments);
}
return _resetLayers;
}()
}]);
return PDFLayerViewer;
}(_base_tree_viewer.BaseTreeViewer);
exports.PDFLayerViewer = PDFLayerViewer;
/***/ }),
/* 21 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFOutlineViewer = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _base_tree_viewer = __webpack_require__(14);
var _pdfjsLib = __webpack_require__(7);
var _ui_utils = __webpack_require__(5);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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); } }
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); }); }; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { 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 _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); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _get() { 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(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
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 } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
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); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
var PDFOutlineViewer = /*#__PURE__*/function (_BaseTreeViewer) {
_inherits(PDFOutlineViewer, _BaseTreeViewer);
var _super = _createSuper(PDFOutlineViewer);
function PDFOutlineViewer(options) {
var _this;
_classCallCheck(this, PDFOutlineViewer);
_this = _super.call(this, options);
_this.linkService = options.linkService;
_this.eventBus._on("toggleoutlinetree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this)));
_this.eventBus._on("currentoutlineitem", _this._currentOutlineItem.bind(_assertThisInitialized(_this)));
_this.eventBus._on("pagechanging", function (evt) {
_this._currentPageNumber = evt.pageNumber;
});
_this.eventBus._on("pagesloaded", function (evt) {
_this._isPagesLoaded = !!evt.pagesCount;
if (_this._currentOutlineItemCapability && !_this._currentOutlineItemCapability.settled) {
_this._currentOutlineItemCapability.resolve(_this._isPagesLoaded);
}
});
_this.eventBus._on("sidebarviewchanged", function (evt) {
_this._sidebarView = evt.view;
});
return _this;
}
_createClass(PDFOutlineViewer, [{
key: "reset",
value: function reset() {
_get(_getPrototypeOf(PDFOutlineViewer.prototype), "reset", this).call(this);
this._outline = null;
this._pageNumberToDestHashCapability = null;
this._currentPageNumber = 1;
this._isPagesLoaded = null;
if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) {
this._currentOutlineItemCapability.resolve(false);
}
this._currentOutlineItemCapability = null;
}
}, {
key: "_dispatchEvent",
value: function _dispatchEvent(outlineCount) {
var _this$_pdfDocument;
this._currentOutlineItemCapability = (0, _pdfjsLib.createPromiseCapability)();
if (outlineCount === 0 || (_this$_pdfDocument = this._pdfDocument) !== null && _this$_pdfDocument !== void 0 && _this$_pdfDocument.loadingParams.disableAutoFetch) {
this._currentOutlineItemCapability.resolve(false);
} else if (this._isPagesLoaded !== null) {
this._currentOutlineItemCapability.resolve(this._isPagesLoaded);
}
this.eventBus.dispatch("outlineloaded", {
source: this,
outlineCount: outlineCount,
currentOutlineItemPromise: this._currentOutlineItemCapability.promise
});
}
}, {
key: "_bindLink",
value: function _bindLink(element, _ref) {
var _this2 = this;
var url = _ref.url,
newWindow = _ref.newWindow,
dest = _ref.dest;
var linkService = this.linkService;
if (url) {
linkService.addLinkAttributes(element, url, newWindow);
return;
}
element.href = linkService.getDestinationHash(dest);
element.onclick = function (evt) {
_this2._updateCurrentTreeItem(evt.target.parentNode);
if (dest) {
linkService.goToDestination(dest);
}
return false;
};
}
}, {
key: "_setStyles",
value: function _setStyles(element, _ref2) {
var bold = _ref2.bold,
italic = _ref2.italic;
if (bold) {
element.style.fontWeight = "bold";
}
if (italic) {
element.style.fontStyle = "italic";
}
}
}, {
key: "_addToggleButton",
value: function _addToggleButton(div, _ref3) {
var count = _ref3.count,
items = _ref3.items;
var hidden = false;
if (count < 0) {
var totalCount = items.length;
if (totalCount > 0) {
var queue = _toConsumableArray(items);
while (queue.length > 0) {
var _queue$shift = queue.shift(),
nestedCount = _queue$shift.count,
nestedItems = _queue$shift.items;
if (nestedCount > 0 && nestedItems.length > 0) {
totalCount += nestedItems.length;
queue.push.apply(queue, _toConsumableArray(nestedItems));
}
}
}
if (Math.abs(count) === totalCount) {
hidden = true;
}
}
_get(_getPrototypeOf(PDFOutlineViewer.prototype), "_addToggleButton", this).call(this, div, hidden);
}
}, {
key: "_toggleAllTreeItems",
value: function _toggleAllTreeItems() {
if (!this._outline) {
return;
}
_get(_getPrototypeOf(PDFOutlineViewer.prototype), "_toggleAllTreeItems", this).call(this);
}
}, {
key: "render",
value: function render(_ref4) {
var outline = _ref4.outline,
pdfDocument = _ref4.pdfDocument;
if (this._outline) {
this.reset();
}
this._outline = outline || null;
this._pdfDocument = pdfDocument || null;
if (!outline) {
this._dispatchEvent(0);
return;
}
var fragment = document.createDocumentFragment();
var queue = [{
parent: fragment,
items: outline
}];
var outlineCount = 0,
hasAnyNesting = false;
while (queue.length > 0) {
var levelData = queue.shift();
var _iterator = _createForOfIteratorHelper(levelData.items),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var item = _step.value;
var div = document.createElement("div");
div.className = "treeItem";
var element = document.createElement("a");
this._bindLink(element, item);
this._setStyles(element, item);
element.textContent = this._normalizeTextContent(item.title);
if(element.textContent.trim() == ""){
element.textContent = (window.lang == "zh_tw" ? "投影片編號 " : "Slide ") + (outlineCount + 1);
}
div.appendChild(element);
if (item.items.length > 0) {
hasAnyNesting = true;
this._addToggleButton(div, item);
var itemsDiv = document.createElement("div");
itemsDiv.className = "treeItems";
div.appendChild(itemsDiv);
queue.push({
parent: itemsDiv,
items: item.items
});
}
levelData.parent.appendChild(div);
outlineCount++;
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
this._finishRendering(fragment, outlineCount, hasAnyNesting);
}
}, {
key: "_currentOutlineItem",
value: function () {
var _currentOutlineItem2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var pageNumberToDestHash, i, destHash, linkElement;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (this._isPagesLoaded) {
_context.next = 2;
break;
}
throw new Error("_currentOutlineItem: All pages have not been loaded.");
case 2:
if (!(!this._outline || !this._pdfDocument)) {
_context.next = 4;
break;
}
return _context.abrupt("return");
case 4:
_context.next = 6;
return this._getPageNumberToDestHash(this._pdfDocument);
case 6:
pageNumberToDestHash = _context.sent;
if (pageNumberToDestHash) {
_context.next = 9;
break;
}
return _context.abrupt("return");
case 9:
this._updateCurrentTreeItem(null);
if (!(this._sidebarView !== _ui_utils.SidebarView.OUTLINE)) {
_context.next = 12;
break;
}
return _context.abrupt("return");
case 12:
i = this._currentPageNumber;
case 13:
if (!(i > 0)) {
_context.next = 25;
break;
}
destHash = pageNumberToDestHash.get(i);
if (destHash) {
_context.next = 17;
break;
}
return _context.abrupt("continue", 22);
case 17:
linkElement = this.container.querySelector("a[href=\"".concat(destHash, "\"]"));
if (linkElement) {
_context.next = 20;
break;
}
return _context.abrupt("continue", 22);
case 20:
this._scrollToCurrentTreeItem(linkElement.parentNode);
return _context.abrupt("break", 25);
case 22:
i--;
_context.next = 13;
break;
case 25:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function _currentOutlineItem() {
return _currentOutlineItem2.apply(this, arguments);
}
return _currentOutlineItem;
}()
}, {
key: "_getPageNumberToDestHash",
value: function () {
var _getPageNumberToDestHash2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) {
var pageNumberToDestHash, pageNumberNesting, queue, levelData, currentNesting, _iterator2, _step2, _step2$value, dest, items, explicitDest, pageNumber, _explicitDest, _explicitDest2, destRef, destHash;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (!this._pageNumberToDestHashCapability) {
_context2.next = 2;
break;
}
return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise);
case 2:
this._pageNumberToDestHashCapability = (0, _pdfjsLib.createPromiseCapability)();
pageNumberToDestHash = new Map(), pageNumberNesting = new Map();
queue = [{
nesting: 0,
items: this._outline
}];
case 5:
if (!(queue.length > 0)) {
_context2.next = 56;
break;
}
levelData = queue.shift(), currentNesting = levelData.nesting;
_iterator2 = _createForOfIteratorHelper(levelData.items);
_context2.prev = 8;
_iterator2.s();
case 10:
if ((_step2 = _iterator2.n()).done) {
_context2.next = 46;
break;
}
_step2$value = _step2.value, dest = _step2$value.dest, items = _step2$value.items;
explicitDest = void 0, pageNumber = void 0;
if (!(typeof dest === "string")) {
_context2.next = 21;
break;
}
_context2.next = 16;
return pdfDocument.getDestination(dest);
case 16:
explicitDest = _context2.sent;
if (!(pdfDocument !== this._pdfDocument)) {
_context2.next = 19;
break;
}
return _context2.abrupt("return", null);
case 19:
_context2.next = 22;
break;
case 21:
explicitDest = dest;
case 22:
if (!Array.isArray(explicitDest)) {
_context2.next = 43;
break;
}
_explicitDest = explicitDest, _explicitDest2 = _slicedToArray(_explicitDest, 1), destRef = _explicitDest2[0];
if (!(_typeof(destRef) === "object" && destRef !== null)) {
_context2.next = 41;
break;
}
pageNumber = this.linkService._cachedPageNumber(destRef);
if (pageNumber) {
_context2.next = 39;
break;
}
_context2.prev = 27;
_context2.next = 30;
return pdfDocument.getPageIndex(destRef);
case 30:
_context2.t0 = _context2.sent;
pageNumber = _context2.t0 + 1;
if (!(pdfDocument !== this._pdfDocument)) {
_context2.next = 34;
break;
}
return _context2.abrupt("return", null);
case 34:
this.linkService.cachePageRef(pageNumber, destRef);
_context2.next = 39;
break;
case 37:
_context2.prev = 37;
_context2.t1 = _context2["catch"](27);
case 39:
_context2.next = 42;
break;
case 41:
if (Number.isInteger(destRef)) {
pageNumber = destRef + 1;
}
case 42:
if (Number.isInteger(pageNumber) && (!pageNumberToDestHash.has(pageNumber) || currentNesting > pageNumberNesting.get(pageNumber))) {
destHash = this.linkService.getDestinationHash(dest);
pageNumberToDestHash.set(pageNumber, destHash);
pageNumberNesting.set(pageNumber, currentNesting);
}
case 43:
if (items.length > 0) {
queue.push({
nesting: currentNesting + 1,
items: items
});
}
case 44:
_context2.next = 10;
break;
case 46:
_context2.next = 51;
break;
case 48:
_context2.prev = 48;
_context2.t2 = _context2["catch"](8);
_iterator2.e(_context2.t2);
case 51:
_context2.prev = 51;
_iterator2.f();
return _context2.finish(51);
case 54:
_context2.next = 5;
break;
case 56:
this._pageNumberToDestHashCapability.resolve(pageNumberToDestHash.size > 0 ? pageNumberToDestHash : null);
return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise);
case 58:
case "end":
return _context2.stop();
}
}
}, _callee2, this, [[8, 48, 51, 54], [27, 37]]);
}));
function _getPageNumberToDestHash(_x) {
return _getPageNumberToDestHash2.apply(this, arguments);
}
return _getPageNumberToDestHash;
}()
}]);
return PDFOutlineViewer;
}(_base_tree_viewer.BaseTreeViewer);
exports.PDFOutlineViewer = PDFOutlineViewer;
/***/ }),
/* 22 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFPresentationMode = void 0;
var _ui_utils = __webpack_require__(5);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
var DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500;
var DELAY_BEFORE_HIDING_CONTROLS = 3000;
var ACTIVE_SELECTOR = "pdfPresentationMode";
var CONTROLS_SELECTOR = "pdfPresentationModeControls";
var MOUSE_SCROLL_COOLDOWN_TIME = 50;
var PAGE_SWITCH_THRESHOLD = 0.1;
var SWIPE_MIN_DISTANCE_THRESHOLD = 50;
var SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
var _mouseWheel = /*#__PURE__*/new WeakSet();
var _notifyStateChange = /*#__PURE__*/new WeakSet();
var _setSwitchInProgress = /*#__PURE__*/new WeakSet();
var _resetSwitchInProgress = /*#__PURE__*/new WeakSet();
var _enter = /*#__PURE__*/new WeakSet();
var _exit = /*#__PURE__*/new WeakSet();
var _mouseDown = /*#__PURE__*/new WeakSet();
var _contextMenu = /*#__PURE__*/new WeakSet();
var _showControls = /*#__PURE__*/new WeakSet();
var _hideControls = /*#__PURE__*/new WeakSet();
var _resetMouseScrollState = /*#__PURE__*/new WeakSet();
var _touchSwipe = /*#__PURE__*/new WeakSet();
var _addWindowListeners = /*#__PURE__*/new WeakSet();
var _removeWindowListeners = /*#__PURE__*/new WeakSet();
var _fullscreenChange = /*#__PURE__*/new WeakSet();
var _addFullscreenChangeListeners = /*#__PURE__*/new WeakSet();
var _removeFullscreenChangeListeners = /*#__PURE__*/new WeakSet();
var PDFPresentationMode = /*#__PURE__*/function () {
function PDFPresentationMode(_ref) {
var container = _ref.container,
pdfViewer = _ref.pdfViewer,
eventBus = _ref.eventBus;
_classCallCheck(this, PDFPresentationMode);
_classPrivateMethodInitSpec(this, _removeFullscreenChangeListeners);
_classPrivateMethodInitSpec(this, _addFullscreenChangeListeners);
_classPrivateMethodInitSpec(this, _fullscreenChange);
_classPrivateMethodInitSpec(this, _removeWindowListeners);
_classPrivateMethodInitSpec(this, _addWindowListeners);
_classPrivateMethodInitSpec(this, _touchSwipe);
_classPrivateMethodInitSpec(this, _resetMouseScrollState);
_classPrivateMethodInitSpec(this, _hideControls);
_classPrivateMethodInitSpec(this, _showControls);
_classPrivateMethodInitSpec(this, _contextMenu);
_classPrivateMethodInitSpec(this, _mouseDown);
_classPrivateMethodInitSpec(this, _exit);
_classPrivateMethodInitSpec(this, _enter);
_classPrivateMethodInitSpec(this, _resetSwitchInProgress);
_classPrivateMethodInitSpec(this, _setSwitchInProgress);
_classPrivateMethodInitSpec(this, _notifyStateChange);
_classPrivateMethodInitSpec(this, _mouseWheel);
this.container = container;
this.pdfViewer = pdfViewer;
this.eventBus = eventBus;
this.active = false;
this.args = null;
this.contextMenuOpen = false;
this.mouseScrollTimeStamp = 0;
this.mouseScrollDelta = 0;
this.touchSwipeState = null;
}
_createClass(PDFPresentationMode, [{
key: "request",
value: function request() {
if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount || !this.container.requestFullscreen) {
return false;
}
_classPrivateMethodGet(this, _addFullscreenChangeListeners, _addFullscreenChangeListeners2).call(this);
_classPrivateMethodGet(this, _setSwitchInProgress, _setSwitchInProgress2).call(this);
_classPrivateMethodGet(this, _notifyStateChange, _notifyStateChange2).call(this);
this.container.requestFullscreen();
this.args = {
pageNumber: this.pdfViewer.currentPageNumber,
scaleValue: this.pdfViewer.currentScaleValue,
scrollMode: this.pdfViewer.scrollMode,
spreadMode: this.pdfViewer.spreadMode
};
return true;
}
}]);
return PDFPresentationMode;
}();
exports.PDFPresentationMode = PDFPresentationMode;
function _mouseWheel2(evt) {
if (!this.active) {
return;
}
evt.preventDefault();
var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
var currentTime = Date.now();
var storedTime = this.mouseScrollTimeStamp;
if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
return;
}
if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
_classPrivateMethodGet(this, _resetMouseScrollState, _resetMouseScrollState2).call(this);
}
this.mouseScrollDelta += delta;
if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
var totalDelta = this.mouseScrollDelta;
_classPrivateMethodGet(this, _resetMouseScrollState, _resetMouseScrollState2).call(this);
var success = totalDelta > 0 ? this.pdfViewer.previousPage() : this.pdfViewer.nextPage();
if (success) {
this.mouseScrollTimeStamp = currentTime;
}
}
}
function _notifyStateChange2() {
var state = _ui_utils.PresentationModeState.NORMAL;
if (this.switchInProgress) {
state = _ui_utils.PresentationModeState.CHANGING;
} else if (this.active) {
state = _ui_utils.PresentationModeState.FULLSCREEN;
}
this.eventBus.dispatch("presentationmodechanged", {
source: this,
state: state
});
}
function _setSwitchInProgress2() {
var _this = this;
if (this.switchInProgress) {
clearTimeout(this.switchInProgress);
}
this.switchInProgress = setTimeout(function () {
_classPrivateMethodGet(_this, _removeFullscreenChangeListeners, _removeFullscreenChangeListeners2).call(_this);
delete _this.switchInProgress;
_classPrivateMethodGet(_this, _notifyStateChange, _notifyStateChange2).call(_this);
}, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);
}
function _resetSwitchInProgress2() {
if (this.switchInProgress) {
clearTimeout(this.switchInProgress);
delete this.switchInProgress;
}
}
function _enter2() {
var _this2 = this;
this.active = true;
_classPrivateMethodGet(this, _resetSwitchInProgress, _resetSwitchInProgress2).call(this);
_classPrivateMethodGet(this, _notifyStateChange, _notifyStateChange2).call(this);
this.container.classList.add(ACTIVE_SELECTOR);
setTimeout(function () {
_this2.pdfViewer.scrollMode = _ui_utils.ScrollMode.PAGE;
_this2.pdfViewer.spreadMode = _ui_utils.SpreadMode.NONE;
_this2.pdfViewer.currentPageNumber = _this2.args.pageNumber;
_this2.pdfViewer.currentScaleValue = "page-fit";
}, 0);
_classPrivateMethodGet(this, _addWindowListeners, _addWindowListeners2).call(this);
_classPrivateMethodGet(this, _showControls, _showControls2).call(this);
this.contextMenuOpen = false;
window.getSelection().removeAllRanges();
}
function _exit2() {
var _this3 = this;
var pageNumber = this.pdfViewer.currentPageNumber;
this.container.classList.remove(ACTIVE_SELECTOR);
setTimeout(function () {
_this3.active = false;
_classPrivateMethodGet(_this3, _removeFullscreenChangeListeners, _removeFullscreenChangeListeners2).call(_this3);
_classPrivateMethodGet(_this3, _notifyStateChange, _notifyStateChange2).call(_this3);
_this3.pdfViewer.scrollMode = _this3.args.scrollMode;
_this3.pdfViewer.spreadMode = _this3.args.spreadMode;
_this3.pdfViewer.currentScaleValue = _this3.args.scaleValue;
_this3.pdfViewer.currentPageNumber = pageNumber;
_this3.args = null;
}, 0);
_classPrivateMethodGet(this, _removeWindowListeners, _removeWindowListeners2).call(this);
_classPrivateMethodGet(this, _hideControls, _hideControls2).call(this);
_classPrivateMethodGet(this, _resetMouseScrollState, _resetMouseScrollState2).call(this);
this.contextMenuOpen = false;
}
function _mouseDown2(evt) {
if (this.contextMenuOpen) {
this.contextMenuOpen = false;
evt.preventDefault();
return;
}
if (evt.button === 0) {
var isInternalLink = evt.target.href && evt.target.classList.contains("internalLink");
if (!isInternalLink) {
evt.preventDefault();
if (evt.shiftKey) {
this.pdfViewer.previousPage();
} else {
this.pdfViewer.nextPage();
}
}
}
}
function _contextMenu2() {
this.contextMenuOpen = true;
}
function _showControls2() {
var _this4 = this;
if (this.controlsTimeout) {
clearTimeout(this.controlsTimeout);
} else {
this.container.classList.add(CONTROLS_SELECTOR);
}
this.controlsTimeout = setTimeout(function () {
_this4.container.classList.remove(CONTROLS_SELECTOR);
delete _this4.controlsTimeout;
}, DELAY_BEFORE_HIDING_CONTROLS);
}
function _hideControls2() {
if (!this.controlsTimeout) {
return;
}
clearTimeout(this.controlsTimeout);
this.container.classList.remove(CONTROLS_SELECTOR);
delete this.controlsTimeout;
}
function _resetMouseScrollState2() {
this.mouseScrollTimeStamp = 0;
this.mouseScrollDelta = 0;
}
function _touchSwipe2(evt) {
if (!this.active) {
return;
}
if (evt.touches.length > 1) {
this.touchSwipeState = null;
return;
}
switch (evt.type) {
case "touchstart":
this.touchSwipeState = {
startX: evt.touches[0].pageX,
startY: evt.touches[0].pageY,
endX: evt.touches[0].pageX,
endY: evt.touches[0].pageY
};
break;
case "touchmove":
if (this.touchSwipeState === null) {
return;
}
this.touchSwipeState.endX = evt.touches[0].pageX;
this.touchSwipeState.endY = evt.touches[0].pageY;
evt.preventDefault();
break;
case "touchend":
if (this.touchSwipeState === null) {
return;
}
var delta = 0;
var dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
var dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
var absAngle = Math.abs(Math.atan2(dy, dx));
if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) {
delta = dx;
} else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) {
delta = dy;
}
if (delta > 0) {
this.pdfViewer.previousPage();
} else if (delta < 0) {
this.pdfViewer.nextPage();
}
break;
}
}
function _addWindowListeners2() {
this.showControlsBind = _classPrivateMethodGet(this, _showControls, _showControls2).bind(this);
this.mouseDownBind = _classPrivateMethodGet(this, _mouseDown, _mouseDown2).bind(this);
this.mouseWheelBind = _classPrivateMethodGet(this, _mouseWheel, _mouseWheel2).bind(this);
this.resetMouseScrollStateBind = _classPrivateMethodGet(this, _resetMouseScrollState, _resetMouseScrollState2).bind(this);
this.contextMenuBind = _classPrivateMethodGet(this, _contextMenu, _contextMenu2).bind(this);
this.touchSwipeBind = _classPrivateMethodGet(this, _touchSwipe, _touchSwipe2).bind(this);
window.addEventListener("mousemove", this.showControlsBind);
window.addEventListener("mousedown", this.mouseDownBind);
window.addEventListener("wheel", this.mouseWheelBind, {
passive: false
});
window.addEventListener("keydown", this.resetMouseScrollStateBind);
window.addEventListener("contextmenu", this.contextMenuBind);
window.addEventListener("touchstart", this.touchSwipeBind);
window.addEventListener("touchmove", this.touchSwipeBind);
window.addEventListener("touchend", this.touchSwipeBind);
}
function _removeWindowListeners2() {
window.removeEventListener("mousemove", this.showControlsBind);
window.removeEventListener("mousedown", this.mouseDownBind);
window.removeEventListener("wheel", this.mouseWheelBind, {
passive: false
});
window.removeEventListener("keydown", this.resetMouseScrollStateBind);
window.removeEventListener("contextmenu", this.contextMenuBind);
window.removeEventListener("touchstart", this.touchSwipeBind);
window.removeEventListener("touchmove", this.touchSwipeBind);
window.removeEventListener("touchend", this.touchSwipeBind);
delete this.showControlsBind;
delete this.mouseDownBind;
delete this.mouseWheelBind;
delete this.resetMouseScrollStateBind;
delete this.contextMenuBind;
delete this.touchSwipeBind;
}
function _fullscreenChange2() {
if (document.fullscreenElement) {
_classPrivateMethodGet(this, _enter, _enter2).call(this);
} else {
_classPrivateMethodGet(this, _exit, _exit2).call(this);
}
}
function _addFullscreenChangeListeners2() {
this.fullscreenChangeBind = _classPrivateMethodGet(this, _fullscreenChange, _fullscreenChange2).bind(this);
window.addEventListener("fullscreenchange", this.fullscreenChangeBind);
}
function _removeFullscreenChangeListeners2() {
window.removeEventListener("fullscreenchange", this.fullscreenChangeBind);
delete this.fullscreenChangeBind;
}
/***/ }),
/* 23 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFRenderingQueue = void 0;
var _pdfjsLib = __webpack_require__(7);
var _ui_utils = __webpack_require__(5);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var CLEANUP_TIMEOUT = 30000;
var PDFRenderingQueue = /*#__PURE__*/function () {
function PDFRenderingQueue() {
_classCallCheck(this, PDFRenderingQueue);
this.pdfViewer = null;
this.pdfThumbnailViewer = null;
this.onIdle = null;
this.highestPriorityPage = null;
this.idleTimeout = null;
this.printing = false;
this.isThumbnailViewEnabled = false;
}
_createClass(PDFRenderingQueue, [{
key: "setViewer",
value: function setViewer(pdfViewer) {
this.pdfViewer = pdfViewer;
}
}, {
key: "setThumbnailViewer",
value: function setThumbnailViewer(pdfThumbnailViewer) {
this.pdfThumbnailViewer = pdfThumbnailViewer;
}
}, {
key: "isHighestPriority",
value: function isHighestPriority(view) {
return this.highestPriorityPage === view.renderingId;
}
}, {
key: "hasViewer",
value: function hasViewer() {
return !!this.pdfViewer;
}
}, {
key: "renderHighestPriority",
value: function renderHighestPriority(currentlyVisiblePages) {
var _this$pdfThumbnailVie;
if (this.idleTimeout) {
clearTimeout(this.idleTimeout);
this.idleTimeout = null;
}
if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
return;
}
if (this.isThumbnailViewEnabled && (_this$pdfThumbnailVie = this.pdfThumbnailViewer) !== null && _this$pdfThumbnailVie !== void 0 && _this$pdfThumbnailVie.forceRendering()) {
return;
}
if (this.printing) {
return;
}
if (this.onIdle) {
this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
}
}
}, {
key: "getHighestPriority",
value: function getHighestPriority(visible, views, scrolledDown) {
var preRenderExtra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
var visibleViews = visible.views,
numVisible = visibleViews.length;
if (numVisible === 0) {
return null;
}
for (var i = 0; i < numVisible; i++) {
var view = visibleViews[i].view;
if (!this.isViewFinished(view)) {
return view;
}
}
var firstId = visible.first.id,
lastId = visible.last.id;
if (lastId - firstId + 1 > numVisible) {
var visibleIds = visible.ids;
for (var _i = 1, ii = lastId - firstId; _i < ii; _i++) {
var holeId = scrolledDown ? firstId + _i : lastId - _i;
if (visibleIds.has(holeId)) {
continue;
}
var holeView = views[holeId - 1];
if (!this.isViewFinished(holeView)) {
return holeView;
}
}
}
var preRenderIndex = scrolledDown ? lastId : firstId - 2;
var preRenderView = views[preRenderIndex];
if (preRenderView && !this.isViewFinished(preRenderView)) {
return preRenderView;
}
if (preRenderExtra) {
preRenderIndex += scrolledDown ? 1 : -1;
preRenderView = views[preRenderIndex];
if (preRenderView && !this.isViewFinished(preRenderView)) {
return preRenderView;
}
}
return null;
}
}, {
key: "isViewFinished",
value: function isViewFinished(view) {
return view.renderingState === _ui_utils.RenderingStates.FINISHED;
}
}, {
key: "renderView",
value: function renderView(view) {
var _this = this;
switch (view.renderingState) {
case _ui_utils.RenderingStates.FINISHED:
return false;
case _ui_utils.RenderingStates.PAUSED:
this.highestPriorityPage = view.renderingId;
view.resume();
break;
case _ui_utils.RenderingStates.RUNNING:
this.highestPriorityPage = view.renderingId;
break;
case _ui_utils.RenderingStates.INITIAL:
this.highestPriorityPage = view.renderingId;
view.draw()["finally"](function () {
_this.renderHighestPriority();
})["catch"](function (reason) {
if (reason instanceof _pdfjsLib.RenderingCancelledException) {
return;
}
console.error("renderView: \"".concat(reason, "\""));
});
break;
}
return true;
}
}]);
return PDFRenderingQueue;
}();
exports.PDFRenderingQueue = PDFRenderingQueue;
/***/ }),
/* 24 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFScriptingManager = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _ui_utils = __webpack_require__(5);
var _pdfjsLib = __webpack_require__(7);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { 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 _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
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); }
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; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var PDFScriptingManager = /*#__PURE__*/function () {
function PDFScriptingManager(_ref) {
var eventBus = _ref.eventBus,
_ref$sandboxBundleSrc = _ref.sandboxBundleSrc,
sandboxBundleSrc = _ref$sandboxBundleSrc === void 0 ? null : _ref$sandboxBundleSrc,
_ref$scriptingFactory = _ref.scriptingFactory,
scriptingFactory = _ref$scriptingFactory === void 0 ? null : _ref$scriptingFactory,
_ref$docPropertiesLoo = _ref.docPropertiesLookup,
docPropertiesLookup = _ref$docPropertiesLoo === void 0 ? null : _ref$docPropertiesLoo;
_classCallCheck(this, PDFScriptingManager);
this._pdfDocument = null;
this._pdfViewer = null;
this._closeCapability = null;
this._destroyCapability = null;
this._scripting = null;
this._mouseState = Object.create(null);
this._ready = false;
this._eventBus = eventBus;
this._sandboxBundleSrc = sandboxBundleSrc;
this._scriptingFactory = scriptingFactory;
this._docPropertiesLookup = docPropertiesLookup;
}
_createClass(PDFScriptingManager, [{
key: "setViewer",
value: function setViewer(pdfViewer) {
this._pdfViewer = pdfViewer;
}
}, {
key: "setDocument",
value: function () {
var _setDocument = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) {
var _this = this,
_this$_scripting3;
var _yield$Promise$all, _yield$Promise$all2, objects, calculationOrder, docActions, _iterator, _step, _step$value, name, listener, _iterator2, _step2, _step2$value, _name, _listener, docProperties;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (!this._pdfDocument) {
_context2.next = 3;
break;
}
_context2.next = 3;
return this._destroyScripting();
case 3:
this._pdfDocument = pdfDocument;
if (pdfDocument) {
_context2.next = 6;
break;
}
return _context2.abrupt("return");
case 6:
_context2.next = 8;
return Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);
case 8:
_yield$Promise$all = _context2.sent;
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
objects = _yield$Promise$all2[0];
calculationOrder = _yield$Promise$all2[1];
docActions = _yield$Promise$all2[2];
if (!(!objects && !docActions)) {
_context2.next = 17;
break;
}
_context2.next = 16;
return this._destroyScripting();
case 16:
return _context2.abrupt("return");
case 17:
if (!(pdfDocument !== this._pdfDocument)) {
_context2.next = 19;
break;
}
return _context2.abrupt("return");
case 19:
_context2.prev = 19;
this._scripting = this._createScripting();
_context2.next = 29;
break;
case 23:
_context2.prev = 23;
_context2.t0 = _context2["catch"](19);
console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message, "\"."));
_context2.next = 28;
return this._destroyScripting();
case 28:
return _context2.abrupt("return");
case 29:
this._internalEvents.set("updatefromsandbox", function (event) {
if ((event === null || event === void 0 ? void 0 : event.source) !== window) {
return;
}
_this._updateFromSandbox(event.detail);
});
this._internalEvents.set("dispatcheventinsandbox", function (event) {
var _this$_scripting;
(_this$_scripting = _this._scripting) === null || _this$_scripting === void 0 ? void 0 : _this$_scripting.dispatchEventInSandbox(event.detail);
});
this._internalEvents.set("pagechanging", function (_ref2) {
var pageNumber = _ref2.pageNumber,
previous = _ref2.previous;
if (pageNumber === previous) {
return;
}
_this._dispatchPageClose(previous);
_this._dispatchPageOpen(pageNumber);
});
this._internalEvents.set("pagerendered", function (_ref3) {
var pageNumber = _ref3.pageNumber;
if (!_this._pageOpenPending.has(pageNumber)) {
return;
}
if (pageNumber !== _this._pdfViewer.currentPageNumber) {
return;
}
_this._dispatchPageOpen(pageNumber);
});
this._internalEvents.set("pagesdestroy", /*#__PURE__*/function () {
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) {
var _this$_scripting2, _this$_closeCapabilit;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return _this._dispatchPageClose(_this._pdfViewer.currentPageNumber);
case 2:
_context.next = 4;
return (_this$_scripting2 = _this._scripting) === null || _this$_scripting2 === void 0 ? void 0 : _this$_scripting2.dispatchEventInSandbox({
id: "doc",
name: "WillClose"
});
case 4:
(_this$_closeCapabilit = _this._closeCapability) === null || _this$_closeCapabilit === void 0 ? void 0 : _this$_closeCapabilit.resolve();
case 5:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function (_x2) {
return _ref4.apply(this, arguments);
};
}());
this._domEvents.set("mousedown", function (event) {
_this._mouseState.isDown = true;
});
this._domEvents.set("mouseup", function (event) {
_this._mouseState.isDown = false;
});
_iterator = _createForOfIteratorHelper(this._internalEvents);
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
_step$value = _slicedToArray(_step.value, 2), name = _step$value[0], listener = _step$value[1];
this._eventBus._on(name, listener);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
_iterator2 = _createForOfIteratorHelper(this._domEvents);
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
_step2$value = _slicedToArray(_step2.value, 2), _name = _step2$value[0], _listener = _step2$value[1];
window.addEventListener(_name, _listener);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
_context2.prev = 40;
_context2.next = 43;
return this._getDocProperties();
case 43:
docProperties = _context2.sent;
if (!(pdfDocument !== this._pdfDocument)) {
_context2.next = 46;
break;
}
return _context2.abrupt("return");
case 46:
_context2.next = 48;
return this._scripting.createSandbox({
objects: objects,
calculationOrder: calculationOrder,
appInfo: {
platform: navigator.platform,
language: navigator.language
},
docInfo: _objectSpread(_objectSpread({}, docProperties), {}, {
actions: docActions
})
});
case 48:
this._eventBus.dispatch("sandboxcreated", {
source: this
});
_context2.next = 57;
break;
case 51:
_context2.prev = 51;
_context2.t1 = _context2["catch"](40);
console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t1 === null || _context2.t1 === void 0 ? void 0 : _context2.t1.message, "\"."));
_context2.next = 56;
return this._destroyScripting();
case 56:
return _context2.abrupt("return");
case 57:
_context2.next = 59;
return (_this$_scripting3 = this._scripting) === null || _this$_scripting3 === void 0 ? void 0 : _this$_scripting3.dispatchEventInSandbox({
id: "doc",
name: "Open"
});
case 59:
_context2.next = 61;
return this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true);
case 61:
Promise.resolve().then(function () {
if (pdfDocument === _this._pdfDocument) {
_this._ready = true;
}
});
case 62:
case "end":
return _context2.stop();
}
}
}, _callee2, this, [[19, 23], [40, 51]]);
}));
function setDocument(_x) {
return _setDocument.apply(this, arguments);
}
return setDocument;
}()
}, {
key: "dispatchWillSave",
value: function () {
var _dispatchWillSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(detail) {
var _this$_scripting4;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
return _context3.abrupt("return", (_this$_scripting4 = this._scripting) === null || _this$_scripting4 === void 0 ? void 0 : _this$_scripting4.dispatchEventInSandbox({
id: "doc",
name: "WillSave"
}));
case 1:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function dispatchWillSave(_x3) {
return _dispatchWillSave.apply(this, arguments);
}
return dispatchWillSave;
}()
}, {
key: "dispatchDidSave",
value: function () {
var _dispatchDidSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(detail) {
var _this$_scripting5;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
return _context4.abrupt("return", (_this$_scripting5 = this._scripting) === null || _this$_scripting5 === void 0 ? void 0 : _this$_scripting5.dispatchEventInSandbox({
id: "doc",
name: "DidSave"
}));
case 1:
case "end":
return _context4.stop();
}
}
}, _callee4, this);
}));
function dispatchDidSave(_x4) {
return _dispatchDidSave.apply(this, arguments);
}
return dispatchDidSave;
}()
}, {
key: "dispatchWillPrint",
value: function () {
var _dispatchWillPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(detail) {
var _this$_scripting6;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
return _context5.abrupt("return", (_this$_scripting6 = this._scripting) === null || _this$_scripting6 === void 0 ? void 0 : _this$_scripting6.dispatchEventInSandbox({
id: "doc",
name: "WillPrint"
}));
case 1:
case "end":
return _context5.stop();
}
}
}, _callee5, this);
}));
function dispatchWillPrint(_x5) {
return _dispatchWillPrint.apply(this, arguments);
}
return dispatchWillPrint;
}()
}, {
key: "dispatchDidPrint",
value: function () {
var _dispatchDidPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(detail) {
var _this$_scripting7;
return _regenerator["default"].wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
return _context6.abrupt("return", (_this$_scripting7 = this._scripting) === null || _this$_scripting7 === void 0 ? void 0 : _this$_scripting7.dispatchEventInSandbox({
id: "doc",
name: "DidPrint"
}));
case 1:
case "end":
return _context6.stop();
}
}
}, _callee6, this);
}));
function dispatchDidPrint(_x6) {
return _dispatchDidPrint.apply(this, arguments);
}
return dispatchDidPrint;
}()
}, {
key: "mouseState",
get: function get() {
return this._mouseState;
}
}, {
key: "destroyPromise",
get: function get() {
var _this$_destroyCapabil;
return ((_this$_destroyCapabil = this._destroyCapability) === null || _this$_destroyCapabil === void 0 ? void 0 : _this$_destroyCapabil.promise) || null;
}
}, {
key: "ready",
get: function get() {
return this._ready;
}
}, {
key: "_internalEvents",
get: function get() {
return (0, _pdfjsLib.shadow)(this, "_internalEvents", new Map());
}
}, {
key: "_domEvents",
get: function get() {
return (0, _pdfjsLib.shadow)(this, "_domEvents", new Map());
}
}, {
key: "_pageOpenPending",
get: function get() {
return (0, _pdfjsLib.shadow)(this, "_pageOpenPending", new Set());
}
}, {
key: "_visitedPages",
get: function get() {
return (0, _pdfjsLib.shadow)(this, "_visitedPages", new Map());
}
}, {
key: "_updateFromSandbox",
value: function () {
var _updateFromSandbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(detail) {
var isInPresentationMode, id, siblings, command, value, modes, ids, _iterator3, _step3, elementId, element, _this$_pdfDocument;
return _regenerator["default"].wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode;
id = detail.id, siblings = detail.siblings, command = detail.command, value = detail.value;
if (id) {
_context7.next = 46;
break;
}
_context7.t0 = command;
_context7.next = _context7.t0 === "clear" ? 6 : _context7.t0 === "error" ? 8 : _context7.t0 === "layout" ? 10 : _context7.t0 === "page-num" ? 15 : _context7.t0 === "print" ? 17 : _context7.t0 === "println" ? 21 : _context7.t0 === "zoom" ? 23 : _context7.t0 === "SaveAs" ? 27 : _context7.t0 === "FirstPage" ? 29 : _context7.t0 === "LastPage" ? 31 : _context7.t0 === "NextPage" ? 33 : _context7.t0 === "PrevPage" ? 35 : _context7.t0 === "ZoomViewIn" ? 37 : _context7.t0 === "ZoomViewOut" ? 41 : 45;
break;
case 6:
console.clear();
return _context7.abrupt("break", 45);
case 8:
console.error(value);
return _context7.abrupt("break", 45);
case 10:
if (!isInPresentationMode) {
_context7.next = 12;
break;
}
return _context7.abrupt("return");
case 12:
modes = (0, _ui_utils.apiPageLayoutToViewerModes)(value);
this._pdfViewer.spreadMode = modes.spreadMode;
return _context7.abrupt("break", 45);
case 15:
this._pdfViewer.currentPageNumber = value + 1;
return _context7.abrupt("break", 45);
case 17:
_context7.next = 19;
return this._pdfViewer.pagesPromise;
case 19:
this._eventBus.dispatch("print", {
source: this
});
return _context7.abrupt("break", 45);
case 21:
console.log(value);
return _context7.abrupt("break", 45);
case 23:
if (!isInPresentationMode) {
_context7.next = 25;
break;
}
return _context7.abrupt("return");
case 25:
this._pdfViewer.currentScaleValue = value;
return _context7.abrupt("break", 45);
case 27:
this._eventBus.dispatch("save", {
source: this
});
return _context7.abrupt("break", 45);
case 29:
this._pdfViewer.currentPageNumber = 1;
return _context7.abrupt("break", 45);
case 31:
this._pdfViewer.currentPageNumber = this._pdfViewer.pagesCount;
return _context7.abrupt("break", 45);
case 33:
this._pdfViewer.nextPage();
return _context7.abrupt("break", 45);
case 35:
this._pdfViewer.previousPage();
return _context7.abrupt("break", 45);
case 37:
if (!isInPresentationMode) {
_context7.next = 39;
break;
}
return _context7.abrupt("return");
case 39:
this._pdfViewer.increaseScale();
return _context7.abrupt("break", 45);
case 41:
if (!isInPresentationMode) {
_context7.next = 43;
break;
}
return _context7.abrupt("return");
case 43:
this._pdfViewer.decreaseScale();
return _context7.abrupt("break", 45);
case 45:
return _context7.abrupt("return");
case 46:
if (!isInPresentationMode) {
_context7.next = 49;
break;
}
if (!detail.focus) {
_context7.next = 49;
break;
}
return _context7.abrupt("return");
case 49:
delete detail.id;
delete detail.siblings;
ids = siblings ? [id].concat(_toConsumableArray(siblings)) : [id];
_iterator3 = _createForOfIteratorHelper(ids);
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
elementId = _step3.value;
element = document.getElementById(elementId);
if (element) {
element.dispatchEvent(new CustomEvent("updatefromsandbox", {
detail: detail
}));
} else {
(_this$_pdfDocument = this._pdfDocument) === null || _this$_pdfDocument === void 0 ? void 0 : _this$_pdfDocument.annotationStorage.setValue(elementId, detail);
}
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
case 54:
case "end":
return _context7.stop();
}
}
}, _callee7, this);
}));
function _updateFromSandbox(_x7) {
return _updateFromSandbox2.apply(this, arguments);
}
return _updateFromSandbox;
}()
}, {
key: "_dispatchPageOpen",
value: function () {
var _dispatchPageOpen2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9(pageNumber) {
var _this2 = this;
var initialize,
pdfDocument,
visitedPages,
pageView,
actionsPromise,
_args9 = arguments;
return _regenerator["default"].wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
initialize = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : false;
pdfDocument = this._pdfDocument, visitedPages = this._visitedPages;
if (initialize) {
this._closeCapability = (0, _pdfjsLib.createPromiseCapability)();
}
if (this._closeCapability) {
_context9.next = 5;
break;
}
return _context9.abrupt("return");
case 5:
pageView = this._pdfViewer.getPageView(pageNumber - 1);
if (!((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) !== _ui_utils.RenderingStates.FINISHED)) {
_context9.next = 9;
break;
}
this._pageOpenPending.add(pageNumber);
return _context9.abrupt("return");
case 9:
this._pageOpenPending["delete"](pageNumber);
actionsPromise = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
var _pageView$pdfPage, _this2$_scripting;
var actions;
return _regenerator["default"].wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
_context8.next = 2;
return !visitedPages.has(pageNumber) ? (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.getJSActions() : null;
case 2:
actions = _context8.sent;
if (!(pdfDocument !== _this2._pdfDocument)) {
_context8.next = 5;
break;
}
return _context8.abrupt("return");
case 5:
_context8.next = 7;
return (_this2$_scripting = _this2._scripting) === null || _this2$_scripting === void 0 ? void 0 : _this2$_scripting.dispatchEventInSandbox({
id: "page",
name: "PageOpen",
pageNumber: pageNumber,
actions: actions
});
case 7:
case "end":
return _context8.stop();
}
}
}, _callee8);
}))();
visitedPages.set(pageNumber, actionsPromise);
case 12:
case "end":
return _context9.stop();
}
}
}, _callee9, this);
}));
function _dispatchPageOpen(_x8) {
return _dispatchPageOpen2.apply(this, arguments);
}
return _dispatchPageOpen;
}()
}, {
key: "_dispatchPageClose",
value: function () {
var _dispatchPageClose2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10(pageNumber) {
var _this$_scripting8;
var pdfDocument, visitedPages, actionsPromise;
return _regenerator["default"].wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
pdfDocument = this._pdfDocument, visitedPages = this._visitedPages;
if (this._closeCapability) {
_context10.next = 3;
break;
}
return _context10.abrupt("return");
case 3:
if (!this._pageOpenPending.has(pageNumber)) {
_context10.next = 5;
break;
}
return _context10.abrupt("return");
case 5:
actionsPromise = visitedPages.get(pageNumber);
if (actionsPromise) {
_context10.next = 8;
break;
}
return _context10.abrupt("return");
case 8:
visitedPages.set(pageNumber, null);
_context10.next = 11;
return actionsPromise;
case 11:
if (!(pdfDocument !== this._pdfDocument)) {
_context10.next = 13;
break;
}
return _context10.abrupt("return");
case 13:
_context10.next = 15;
return (_this$_scripting8 = this._scripting) === null || _this$_scripting8 === void 0 ? void 0 : _this$_scripting8.dispatchEventInSandbox({
id: "page",
name: "PageClose",
pageNumber: pageNumber
});
case 15:
case "end":
return _context10.stop();
}
}
}, _callee10, this);
}));
function _dispatchPageClose(_x9) {
return _dispatchPageClose2.apply(this, arguments);
}
return _dispatchPageClose;
}()
}, {
key: "_getDocProperties",
value: function () {
var _getDocProperties2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
return _regenerator["default"].wrap(function _callee11$(_context11) {
while (1) {
switch (_context11.prev = _context11.next) {
case 0:
if (!this._docPropertiesLookup) {
_context11.next = 2;
break;
}
return _context11.abrupt("return", this._docPropertiesLookup(this._pdfDocument));
case 2:
throw new Error("_getDocProperties: Unable to lookup properties.");
case 3:
case "end":
return _context11.stop();
}
}
}, _callee11, this);
}));
function _getDocProperties() {
return _getDocProperties2.apply(this, arguments);
}
return _getDocProperties;
}()
}, {
key: "_createScripting",
value: function _createScripting() {
this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)();
if (this._scripting) {
throw new Error("_createScripting: Scripting already exists.");
}
if (this._scriptingFactory) {
return this._scriptingFactory.createScripting({
sandboxBundleSrc: this._sandboxBundleSrc
});
}
throw new Error("_createScripting: Cannot create scripting.");
}
}, {
key: "_destroyScripting",
value: function () {
var _destroyScripting2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
var _this$_destroyCapabil3;
var _this$_destroyCapabil2, _iterator4, _step4, _step4$value, name, listener, _iterator5, _step5, _step5$value, _name2, _listener2;
return _regenerator["default"].wrap(function _callee12$(_context12) {
while (1) {
switch (_context12.prev = _context12.next) {
case 0:
if (this._scripting) {
_context12.next = 4;
break;
}
this._pdfDocument = null;
(_this$_destroyCapabil2 = this._destroyCapability) === null || _this$_destroyCapabil2 === void 0 ? void 0 : _this$_destroyCapabil2.resolve();
return _context12.abrupt("return");
case 4:
if (!this._closeCapability) {
_context12.next = 8;
break;
}
_context12.next = 7;
return Promise.race([this._closeCapability.promise, new Promise(function (resolve) {
setTimeout(resolve, 1000);
})])["catch"](function (reason) {});
case 7:
this._closeCapability = null;
case 8:
this._pdfDocument = null;
_context12.prev = 9;
_context12.next = 12;
return this._scripting.destroySandbox();
case 12:
_context12.next = 16;
break;
case 14:
_context12.prev = 14;
_context12.t0 = _context12["catch"](9);
case 16:
_iterator4 = _createForOfIteratorHelper(this._internalEvents);
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
_step4$value = _slicedToArray(_step4.value, 2), name = _step4$value[0], listener = _step4$value[1];
this._eventBus._off(name, listener);
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
this._internalEvents.clear();
_iterator5 = _createForOfIteratorHelper(this._domEvents);
try {
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
_step5$value = _slicedToArray(_step5.value, 2), _name2 = _step5$value[0], _listener2 = _step5$value[1];
window.removeEventListener(_name2, _listener2);
}
} catch (err) {
_iterator5.e(err);
} finally {
_iterator5.f();
}
this._domEvents.clear();
this._pageOpenPending.clear();
this._visitedPages.clear();
this._scripting = null;
delete this._mouseState.isDown;
this._ready = false;
(_this$_destroyCapabil3 = this._destroyCapability) === null || _this$_destroyCapabil3 === void 0 ? void 0 : _this$_destroyCapabil3.resolve();
case 28:
case "end":
return _context12.stop();
}
}
}, _callee12, this, [[9, 14]]);
}));
function _destroyScripting() {
return _destroyScripting2.apply(this, arguments);
}
return _destroyScripting;
}()
}]);
return PDFScriptingManager;
}();
exports.PDFScriptingManager = PDFScriptingManager;
/***/ }),
/* 25 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFSidebar = void 0;
var _ui_utils = __webpack_require__(5);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var UI_NOTIFICATION_CLASS = "pdfSidebarNotification";
var PDFSidebar = /*#__PURE__*/function () {
function PDFSidebar(_ref) {
var elements = _ref.elements,
pdfViewer = _ref.pdfViewer,
pdfThumbnailViewer = _ref.pdfThumbnailViewer,
eventBus = _ref.eventBus,
l10n = _ref.l10n;
_classCallCheck(this, PDFSidebar);
this.isOpen = false;
this.active = _ui_utils.SidebarView.THUMBS;
this.isInitialViewSet = false;
this.onToggled = null;
this.pdfViewer = pdfViewer;
this.pdfThumbnailViewer = pdfThumbnailViewer;
this.outerContainer = elements.outerContainer;
this.viewerContainer = elements.viewerContainer;
this.toggleButton = elements.toggleButton;
this.thumbnailButton = elements.thumbnailButton;
this.outlineButton = elements.outlineButton;
this.attachmentsButton = elements.attachmentsButton;
this.layersButton = elements.layersButton;
this.thumbnailView = elements.thumbnailView;
this.outlineView = elements.outlineView;
this.attachmentsView = elements.attachmentsView;
this.layersView = elements.layersView;
this._outlineOptionsContainer = elements.outlineOptionsContainer;
this._currentOutlineItemButton = elements.currentOutlineItemButton;
this.eventBus = eventBus;
this.l10n = l10n;
this._addEventListeners();
}
_createClass(PDFSidebar, [{
key: "reset",
value: function reset() {
this.isInitialViewSet = false;
this._hideUINotification(true);
this.switchView(_ui_utils.SidebarView.THUMBS);
this.outlineButton.disabled = false;
this.attachmentsButton.disabled = false;
this.layersButton.disabled = false;
this._currentOutlineItemButton.disabled = true;
}
}, {
key: "visibleView",
get: function get() {
return this.isOpen ? this.active : _ui_utils.SidebarView.NONE;
}
}, {
key: "isThumbnailViewVisible",
get: function get() {
return this.isOpen && this.active === _ui_utils.SidebarView.THUMBS;
}
}, {
key: "isOutlineViewVisible",
get: function get() {
return this.isOpen && this.active === _ui_utils.SidebarView.OUTLINE;
}
}, {
key: "isAttachmentsViewVisible",
get: function get() {
return this.isOpen && this.active === _ui_utils.SidebarView.ATTACHMENTS;
}
}, {
key: "isLayersViewVisible",
get: function get() {
return this.isOpen && this.active === _ui_utils.SidebarView.LAYERS;
}
}, {
key: "setInitialView",
value: function setInitialView() {
var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ui_utils.SidebarView.NONE;
if (this.isInitialViewSet) {
return;
}
this.isInitialViewSet = true;
if (view === _ui_utils.SidebarView.NONE || view === _ui_utils.SidebarView.UNKNOWN) {
this._dispatchEvent();
return;
}
if (!this._switchView(view, true)) {
this._dispatchEvent();
}
}
}, {
key: "switchView",
value: function switchView(view) {
var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
this._switchView(view, forceOpen);
}
}, {
key: "_switchView",
value: function _switchView(view) {
var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var isViewChanged = view !== this.active;
var shouldForceRendering = false;
switch (view) {
case _ui_utils.SidebarView.NONE:
if (this.isOpen) {
this.close();
return true;
}
return false;
case _ui_utils.SidebarView.THUMBS:
if (this.isOpen && isViewChanged) {
shouldForceRendering = true;
}
break;
case _ui_utils.SidebarView.OUTLINE:
if (this.outlineButton.disabled) {
return false;
}
break;
case _ui_utils.SidebarView.ATTACHMENTS:
if (this.attachmentsButton.disabled) {
return false;
}
break;
case _ui_utils.SidebarView.LAYERS:
if (this.layersButton.disabled) {
return false;
}
break;
default:
console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view."));
return false;
}
this.active = view;
this.thumbnailButton.classList.toggle("toggled", view === _ui_utils.SidebarView.THUMBS);
this.outlineButton.classList.toggle("toggled", view === _ui_utils.SidebarView.OUTLINE);
this.attachmentsButton.classList.toggle("toggled", view === _ui_utils.SidebarView.ATTACHMENTS);
this.layersButton.classList.toggle("toggled", view === _ui_utils.SidebarView.LAYERS);
this.thumbnailView.classList.toggle("hidden", view !== _ui_utils.SidebarView.THUMBS);
this.outlineView.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE);
this.attachmentsView.classList.toggle("hidden", view !== _ui_utils.SidebarView.ATTACHMENTS);
this.layersView.classList.toggle("hidden", view !== _ui_utils.SidebarView.LAYERS);
this._outlineOptionsContainer.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE);
if (forceOpen && !this.isOpen) {
this.open();
return true;
}
if (shouldForceRendering) {
this._updateThumbnailViewer();
this._forceRendering();
}
if (isViewChanged) {
this._dispatchEvent();
}
return isViewChanged;
}
}, {
key: "open",
value: function open() {
if (this.isOpen) {
return;
}
this.isOpen = true;
this.toggleButton.classList.add("toggled");
this.toggleButton.setAttribute("aria-expanded", "true");
this.outerContainer.classList.add("sidebarMoving", "sidebarOpen");
if (this.active === _ui_utils.SidebarView.THUMBS) {
this._updateThumbnailViewer();
}
this._forceRendering();
this._dispatchEvent();
this._hideUINotification();
}
}, {
key: "close",
value: function close() {
if (!this.isOpen) {
return;
}
this.isOpen = false;
this.toggleButton.classList.remove("toggled");
this.toggleButton.setAttribute("aria-expanded", "false");
this.outerContainer.classList.add("sidebarMoving");
this.outerContainer.classList.remove("sidebarOpen");
this._forceRendering();
this._dispatchEvent();
}
}, {
key: "toggle",
value: function toggle() {
if (this.isOpen) {
this.close();
} else {
this.open();
}
}
}, {
key: "_dispatchEvent",
value: function _dispatchEvent() {
this.eventBus.dispatch("sidebarviewchanged", {
source: this,
view: this.visibleView
});
}
}, {
key: "_forceRendering",
value: function _forceRendering() {
if (this.onToggled) {
this.onToggled();
} else {
this.pdfViewer.forceRendering();
this.pdfThumbnailViewer.forceRendering();
}
}
}, {
key: "_updateThumbnailViewer",
value: function _updateThumbnailViewer() {
var pdfViewer = this.pdfViewer,
pdfThumbnailViewer = this.pdfThumbnailViewer;
var pagesCount = pdfViewer.pagesCount;
for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
var pageView = pdfViewer.getPageView(pageIndex);
if ((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) === _ui_utils.RenderingStates.FINISHED) {
var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);
thumbnailView.setImage(pageView);
}
}
pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
}
}, {
key: "_showUINotification",
value: function _showUINotification() {
var _this = this;
this.l10n.get("toggle_sidebar_notification2.title").then(function (msg) {
_this.toggleButton.title = msg;
});
if (!this.isOpen) {
this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);
}
}
}, {
key: "_hideUINotification",
value: function _hideUINotification() {
var _this2 = this;
var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (this.isOpen || reset) {
this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);
}
if (reset) {
this.l10n.get("toggle_sidebar.title").then(function (msg) {
_this2.toggleButton.title = msg;
});
}
}
}, {
key: "_addEventListeners",
value: function _addEventListeners() {
var _this3 = this;
this.viewerContainer.addEventListener("transitionend", function (evt) {
if (evt.target === _this3.viewerContainer) {
_this3.outerContainer.classList.remove("sidebarMoving");
}
});
this.toggleButton.addEventListener("click", function () {
_this3.toggle();
});
this.thumbnailButton.addEventListener("click", function () {
_this3.switchView(_ui_utils.SidebarView.THUMBS);
});
this.outlineButton.addEventListener("click", function () {
_this3.switchView(_ui_utils.SidebarView.OUTLINE);
});
this.outlineButton.addEventListener("dblclick", function () {
_this3.eventBus.dispatch("toggleoutlinetree", {
source: _this3
});
});
this.attachmentsButton.addEventListener("click", function () {
_this3.switchView(_ui_utils.SidebarView.ATTACHMENTS);
});
this.layersButton.addEventListener("click", function () {
_this3.switchView(_ui_utils.SidebarView.LAYERS);
});
this.layersButton.addEventListener("dblclick", function () {
_this3.eventBus.dispatch("resetlayers", {
source: _this3
});
});
this._currentOutlineItemButton.addEventListener("click", function () {
_this3.eventBus.dispatch("currentoutlineitem", {
source: _this3
});
});
var onTreeLoaded = function onTreeLoaded(count, button, view) {
button.disabled = !count;
if (count) {
_this3._showUINotification();
} else if (_this3.active === view) {
_this3.switchView(_ui_utils.SidebarView.THUMBS);
}
};
this.eventBus._on("outlineloaded", function (evt) {
onTreeLoaded(evt.outlineCount, _this3.outlineButton, _ui_utils.SidebarView.OUTLINE);
evt.currentOutlineItemPromise.then(function (enabled) {
if (!_this3.isInitialViewSet) {
return;
}
_this3._currentOutlineItemButton.disabled = !enabled;
});
});
this.eventBus._on("attachmentsloaded", function (evt) {
onTreeLoaded(evt.attachmentsCount, _this3.attachmentsButton, _ui_utils.SidebarView.ATTACHMENTS);
});
this.eventBus._on("layersloaded", function (evt) {
onTreeLoaded(evt.layersCount, _this3.layersButton, _ui_utils.SidebarView.LAYERS);
});
this.eventBus._on("presentationmodechanged", function (evt) {
if (evt.state === _ui_utils.PresentationModeState.NORMAL && _this3.isThumbnailViewVisible) {
_this3._updateThumbnailViewer();
}
});
}
}]);
return PDFSidebar;
}();
exports.PDFSidebar = PDFSidebar;
/***/ }),
/* 26 */
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFSidebarResizer = void 0;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var SIDEBAR_WIDTH_VAR = "--sidebar-width";
var SIDEBAR_MIN_WIDTH = 200;
var SIDEBAR_RESIZING_CLASS = "sidebarResizing";
var PDFSidebarResizer = /*#__PURE__*/function () {
function PDFSidebarResizer(options, eventBus, l10n) {
var _this = this;
_classCallCheck(this, PDFSidebarResizer);
this.isRTL = false;
this.sidebarOpen = false;
this.doc = document.documentElement;
this._width = null;
this._outerContainerWidth = null;
this._boundEvents = Object.create(null);
this.outerContainer = options.outerContainer;
this.resizer = options.resizer;
this.eventBus = eventBus;
l10n.getDirection().then(function (dir) {
_this.isRTL = dir === "rtl";
});
this._addEventListeners();
}
_createClass(PDFSidebarResizer, [{
key: "outerContainerWidth",
get: function get() {
return this._outerContainerWidth || (this._outerContainerWidth = this.outerContainer.clientWidth);
}
}, {
key: "_updateWidth",
value: function _updateWidth() {
var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var maxWidth = Math.floor(this.outerContainerWidth / 2);
if (width > maxWidth) {
width = maxWidth;
}
if (width < SIDEBAR_MIN_WIDTH) {
width = SIDEBAR_MIN_WIDTH;
}
if (width === this._width) {
return false;
}
this._width = width;
this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, "".concat(width, "px"));
return true;
}
}, {
key: "_mouseMove",
value: function _mouseMove(evt) {
var width = evt.clientX;
if (this.isRTL) {
width = this.outerContainerWidth - width;
}
this._updateWidth(width);
}
}, {
key: "_mouseUp",
value: function _mouseUp(evt) {
this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
this.eventBus.dispatch("resize", {
source: this
});
var _boundEvents = this._boundEvents;
window.removeEventListener("mousemove", _boundEvents.mouseMove);
window.removeEventListener("mouseup", _boundEvents.mouseUp);
}
}, {
key: "_addEventListeners",
value: function _addEventListeners() {
var _this2 = this;
var _boundEvents = this._boundEvents;
_boundEvents.mouseMove = this._mouseMove.bind(this);
_boundEvents.mouseUp = this._mouseUp.bind(this);
this.resizer.addEventListener("mousedown", function (evt) {
if (evt.button !== 0) {
return;
}
_this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
window.addEventListener("mousemove", _boundEvents.mouseMove);
window.addEventListener("mouseup", _boundEvents.mouseUp);
});
this.eventBus._on("sidebarviewchanged", function (evt) {
_this2.sidebarOpen = !!(evt !== null && evt !== void 0 && evt.view);
});
this.eventBus._on("resize", function (evt) {
if ((evt === null || evt === void 0 ? void 0 : evt.source) !== window) {
return;
}
_this2._outerContainerWidth = null;
if (!_this2._width) {
return;
}
if (!_this2.sidebarOpen) {
_this2._updateWidth(_this2._width);
return;
}
_this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
var updated = _this2._updateWidth(_this2._width);
Promise.resolve().then(function () {
_this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
if (updated) {
_this2.eventBus.dispatch("resize", {
source: _this2
});
}
});
});
}
}]);
return PDFSidebarResizer;
}();
exports.PDFSidebarResizer = PDFSidebarResizer;
/***/ }),
/* 27 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFThumbnailViewer = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _ui_utils = __webpack_require__(5);
var _pdf_thumbnail_view = __webpack_require__(28);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
var THUMBNAIL_SCROLL_MARGIN = -19;
var THUMBNAIL_SELECTED_CLASS = "selected";
var _ensurePdfPageLoaded = /*#__PURE__*/new WeakSet();
var _getScrollAhead = /*#__PURE__*/new WeakSet();
var PDFThumbnailViewer = /*#__PURE__*/function () {
function PDFThumbnailViewer(_ref) {
var _this = this;
var container = _ref.container,
eventBus = _ref.eventBus,
linkService = _ref.linkService,
renderingQueue = _ref.renderingQueue,
l10n = _ref.l10n;
_classCallCheck(this, PDFThumbnailViewer);
_classPrivateMethodInitSpec(this, _getScrollAhead);
_classPrivateMethodInitSpec(this, _ensurePdfPageLoaded);
this.container = container;
this.linkService = linkService;
this.renderingQueue = renderingQueue;
this.l10n = l10n;
this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this));
this._resetView();
eventBus._on("optionalcontentconfigchanged", function () {
_this._setImageDisabled = true;
});
}
_createClass(PDFThumbnailViewer, [{
key: "_scrollUpdated",
value: function _scrollUpdated() {
this.renderingQueue.renderHighestPriority();
}
}, {
key: "getThumbnail",
value: function getThumbnail(index) {
return this._thumbnails[index];
}
}, {
key: "_getVisibleThumbs",
value: function _getVisibleThumbs() {
return (0, _ui_utils.getVisibleElements)({
scrollEl: this.container,
views: this._thumbnails
});
}
}, {
key: "scrollThumbnailIntoView",
value: function scrollThumbnailIntoView(pageNumber) {
if (!this.pdfDocument) {
return;
}
var thumbnailView = this._thumbnails[pageNumber - 1];
if (!thumbnailView) {
console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
return;
}
if (pageNumber !== this._currentPageNumber) {
var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
}
var _this$_getVisibleThum = this._getVisibleThumbs(),
first = _this$_getVisibleThum.first,
last = _this$_getVisibleThum.last,
views = _this$_getVisibleThum.views;
if (views.length > 0) {
var shouldScroll = false;
if (pageNumber <= first.id || pageNumber >= last.id) {
shouldScroll = true;
} else {
var _iterator = _createForOfIteratorHelper(views),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _step$value = _step.value,
id = _step$value.id,
percent = _step$value.percent;
if (id !== pageNumber) {
continue;
}
shouldScroll = percent < 100;
break;
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
if (shouldScroll) {
(0, _ui_utils.scrollIntoView)(thumbnailView.div, {
top: THUMBNAIL_SCROLL_MARGIN
});
}
}
this._currentPageNumber = pageNumber;
}
}, {
key: "pagesRotation",
get: function get() {
return this._pagesRotation;
},
set: function set(rotation) {
if (!(0, _ui_utils.isValidRotation)(rotation)) {
throw new Error("Invalid thumbnails rotation angle.");
}
if (!this.pdfDocument) {
return;
}
if (this._pagesRotation === rotation) {
return;
}
this._pagesRotation = rotation;
var updateArgs = {
rotation: rotation
};
var _iterator2 = _createForOfIteratorHelper(this._thumbnails),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var thumbnail = _step2.value;
thumbnail.update(updateArgs);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
}, {
key: "cleanup",
value: function cleanup() {
for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
if (this._thumbnails[i] && this._thumbnails[i].renderingState !== _ui_utils.RenderingStates.FINISHED) {
this._thumbnails[i].reset();
}
}
_pdf_thumbnail_view.TempImageFactory.destroyCanvas();
}
}, {
key: "_resetView",
value: function _resetView() {
this._thumbnails = [];
this._currentPageNumber = 1;
this._pageLabels = null;
this._pagesRotation = 0;
this._optionalContentConfigPromise = null;
this._setImageDisabled = false;
this.container.textContent = "";
}
}, {
key: "setDocument",
value: function setDocument(pdfDocument) {
var _this2 = this;
if (this.pdfDocument) {
this._cancelRendering();
this._resetView();
}
this.pdfDocument = pdfDocument;
if (!pdfDocument) {
return;
}
var firstPagePromise = pdfDocument.getPage(1);
var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
firstPagePromise.then(function (firstPdfPage) {
_this2._optionalContentConfigPromise = optionalContentConfigPromise;
var pagesCount = pdfDocument.numPages;
var viewport = firstPdfPage.getViewport({
scale: 1
});
var checkSetImageDisabled = function checkSetImageDisabled() {
return _this2._setImageDisabled;
};
for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
container: _this2.container,
id: pageNum,
defaultViewport: viewport.clone(),
optionalContentConfigPromise: optionalContentConfigPromise,
linkService: _this2.linkService,
renderingQueue: _this2.renderingQueue,
checkSetImageDisabled: checkSetImageDisabled,
l10n: _this2.l10n
});
_this2._thumbnails.push(thumbnail);
}
var firstThumbnailView = _this2._thumbnails[0];
if (firstThumbnailView) {
firstThumbnailView.setPdfPage(firstPdfPage);
}
var thumbnailView = _this2._thumbnails[_this2._currentPageNumber - 1];
thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
})["catch"](function (reason) {
console.error("Unable to initialize thumbnail viewer", reason);
});
}
}, {
key: "_cancelRendering",
value: function _cancelRendering() {
for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
if (this._thumbnails[i]) {
this._thumbnails[i].cancelRendering();
}
}
}
}, {
key: "setPageLabels",
value: function setPageLabels(labels) {
if (!this.pdfDocument) {
return;
}
if (!labels) {
this._pageLabels = null;
} else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
this._pageLabels = null;
console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.");
} else {
this._pageLabels = labels;
}
for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
var _this$_pageLabels$i, _this$_pageLabels;
this._thumbnails[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels = this._pageLabels) === null || _this$_pageLabels === void 0 ? void 0 : _this$_pageLabels[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null);
}
}
}, {
key: "forceRendering",
value: function forceRendering() {
var _this3 = this;
var visibleThumbs = this._getVisibleThumbs();
var scrollAhead = _classPrivateMethodGet(this, _getScrollAhead, _getScrollAhead2).call(this, visibleThumbs);
var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, scrollAhead);
if (thumbView) {
_classPrivateMethodGet(this, _ensurePdfPageLoaded, _ensurePdfPageLoaded2).call(this, thumbView).then(function () {
_this3.renderingQueue.renderView(thumbView);
});
return true;
}
return false;
}
}]);
return PDFThumbnailViewer;
}();
exports.PDFThumbnailViewer = PDFThumbnailViewer;
function _ensurePdfPageLoaded2(_x) {
return _ensurePdfPageLoaded3.apply(this, arguments);
}
function _ensurePdfPageLoaded3() {
_ensurePdfPageLoaded3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(thumbView) {
var pdfPage;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!thumbView.pdfPage) {
_context.next = 2;
break;
}
return _context.abrupt("return", thumbView.pdfPage);
case 2:
_context.prev = 2;
_context.next = 5;
return this.pdfDocument.getPage(thumbView.id);
case 5:
pdfPage = _context.sent;
if (!thumbView.pdfPage) {
thumbView.setPdfPage(pdfPage);
}
return _context.abrupt("return", pdfPage);
case 10:
_context.prev = 10;
_context.t0 = _context["catch"](2);
console.error("Unable to get page for thumb view", _context.t0);
return _context.abrupt("return", null);
case 14:
case "end":
return _context.stop();
}
}
}, _callee, this, [[2, 10]]);
}));
return _ensurePdfPageLoaded3.apply(this, arguments);
}
function _getScrollAhead2(visible) {
var _visible$first, _visible$last;
if (((_visible$first = visible.first) === null || _visible$first === void 0 ? void 0 : _visible$first.id) === 1) {
return true;
} else if (((_visible$last = visible.last) === null || _visible$last === void 0 ? void 0 : _visible$last.id) === this._thumbnails.length) {
return false;
}
return this.scroll.down;
}
/***/ }),
/* 28 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.TempImageFactory = exports.PDFThumbnailView = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _ui_utils = __webpack_require__(5);
var _pdfjsLib = __webpack_require__(7);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
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); }
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; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
function _classCheckPrivateStaticFieldDescriptor(descriptor, action) { if (descriptor === undefined) { throw new TypeError("attempted to " + action + " private static field before its declaration"); } }
function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } }
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
var DRAW_UPSCALE_FACTOR = 2;
var MAX_NUM_SCALING_STEPS = 3;
var THUMBNAIL_CANVAS_BORDER_WIDTH = 1;
var THUMBNAIL_WIDTH = 98;
var TempImageFactory = /*#__PURE__*/function () {
function TempImageFactory() {
_classCallCheck(this, TempImageFactory);
}
_createClass(TempImageFactory, null, [{
key: "getCanvas",
value: function getCanvas(width, height) {
var tempCanvas = _classStaticPrivateFieldSpecGet(this, TempImageFactory, _tempCanvas) || _classStaticPrivateFieldSpecSet(this, TempImageFactory, _tempCanvas, document.createElement("canvas"));
tempCanvas.width = width;
tempCanvas.height = height;
tempCanvas.mozOpaque = true;
var ctx = tempCanvas.getContext("2d", {
alpha: false
});
ctx.save();
ctx.fillStyle = "rgb(255, 255, 255)";
ctx.fillRect(0, 0, width, height);
ctx.restore();
return [tempCanvas, tempCanvas.getContext("2d")];
}
}, {
key: "destroyCanvas",
value: function destroyCanvas() {
var tempCanvas = _classStaticPrivateFieldSpecGet(this, TempImageFactory, _tempCanvas);
if (tempCanvas) {
tempCanvas.width = 0;
tempCanvas.height = 0;
}
_classStaticPrivateFieldSpecSet(this, TempImageFactory, _tempCanvas, null);
}
}]);
return TempImageFactory;
}();
exports.TempImageFactory = TempImageFactory;
var _tempCanvas = {
writable: true,
value: null
};
var PDFThumbnailView = /*#__PURE__*/function () {
function PDFThumbnailView(_ref) {
var container = _ref.container,
id = _ref.id,
defaultViewport = _ref.defaultViewport,
optionalContentConfigPromise = _ref.optionalContentConfigPromise,
linkService = _ref.linkService,
renderingQueue = _ref.renderingQueue,
checkSetImageDisabled = _ref.checkSetImageDisabled,
l10n = _ref.l10n;
_classCallCheck(this, PDFThumbnailView);
this.id = id;
this.renderingId = "thumbnail" + id;
this.pageLabel = null;
this.pdfPage = null;
this.rotation = 0;
this.viewport = defaultViewport;
this.pdfPageRotate = defaultViewport.rotation;
this._optionalContentConfigPromise = optionalContentConfigPromise || null;
this.linkService = linkService;
this.renderingQueue = renderingQueue;
this.renderTask = null;
this.renderingState = _ui_utils.RenderingStates.INITIAL;
this.resume = null;
this._checkSetImageDisabled = checkSetImageDisabled || function () {
return false;
};
var pageWidth = this.viewport.width,
pageHeight = this.viewport.height,
pageRatio = pageWidth / pageHeight;
this.canvasWidth = THUMBNAIL_WIDTH;
this.canvasHeight = this.canvasWidth / pageRatio | 0;
this.scale = this.canvasWidth / pageWidth;
this.l10n = l10n;
var anchor = document.createElement("a");
anchor.href = linkService.getAnchorUrl("#page=" + id);
this._thumbPageTitle.then(function (msg) {
anchor.title = msg;
});
anchor.onclick = function () {
linkService.goToPage(id);
return false;
};
this.anchor = anchor;
var div = document.createElement("div");
div.className = "thumbnail";
div.setAttribute("data-page-number", this.id);
this.div = div;
var ring = document.createElement("div");
ring.className = "thumbnailSelectionRing";
var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
ring.style.width = this.canvasWidth + borderAdjustment + "px";
ring.style.height = this.canvasHeight + borderAdjustment + "px";
this.ring = ring;
div.appendChild(ring);
var span = document.createElement("span");
span.setAttribute("style","display: none;");
span.innerHTML = this.id;
div.appendChild(span);
anchor.appendChild(div);
container.appendChild(anchor);
}
_createClass(PDFThumbnailView, [{
key: "setPdfPage",
value: function setPdfPage(pdfPage) {
this.pdfPage = pdfPage;
this.pdfPageRotate = pdfPage.rotate;
var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
this.viewport = pdfPage.getViewport({
scale: 1,
rotation: totalRotation
});
this.reset();
}
}, {
key: "reset",
value: function reset() {
this.cancelRendering();
this.renderingState = _ui_utils.RenderingStates.INITIAL;
var pageWidth = this.viewport.width,
pageHeight = this.viewport.height,
pageRatio = pageWidth / pageHeight;
this.canvasHeight = this.canvasWidth / pageRatio | 0;
this.scale = this.canvasWidth / pageWidth;
this.div.removeAttribute("data-loaded");
var ring = this.ring;
ring.textContent = "";
var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
ring.style.width = this.canvasWidth + borderAdjustment + "px";
ring.style.height = this.canvasHeight + borderAdjustment + "px";
if (this.canvas) {
this.canvas.width = 0;
this.canvas.height = 0;
delete this.canvas;
}
if (this.image) {
this.image.removeAttribute("src");
delete this.image;
}
}
}, {
key: "update",
value: function update(_ref2) {
var _ref2$rotation = _ref2.rotation,
rotation = _ref2$rotation === void 0 ? null : _ref2$rotation;
if (typeof rotation === "number") {
this.rotation = rotation;
}
var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
this.viewport = this.viewport.clone({
scale: 1,
rotation: totalRotation
});
this.reset();
}
}, {
key: "cancelRendering",
value: function cancelRendering() {
if (this.renderTask) {
this.renderTask.cancel();
this.renderTask = null;
}
this.resume = null;
}
}, {
key: "_getPageDrawContext",
value: function _getPageDrawContext() {
var upscaleFactor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
var canvas = document.createElement("canvas");
canvas.mozOpaque = true;
var ctx = canvas.getContext("2d", {
alpha: false
});
var outputScale = new _ui_utils.OutputScale();
canvas.width = upscaleFactor * this.canvasWidth * outputScale.sx | 0;
canvas.height = upscaleFactor * this.canvasHeight * outputScale.sy | 0;
var transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;
return {
ctx: ctx,
canvas: canvas,
transform: transform
};
}
}, {
key: "_convertCanvasToImage",
value: function _convertCanvasToImage(canvas) {
if (this.renderingState !== _ui_utils.RenderingStates.FINISHED) {
throw new Error("_convertCanvasToImage: Rendering has not finished.");
}
var reducedCanvas = this._reduceImage(canvas);
var image = document.createElement("img");
image.className = "thumbnailImage";
this._thumbPageCanvas.then(function (msg) {
image.setAttribute("aria-label", msg);
});
image.style.width = this.canvasWidth + "px";
image.style.height = this.canvasHeight + "px";
image.src = reducedCanvas.toDataURL();
this.image = image;
this.div.setAttribute("data-loaded", true);
this.ring.appendChild(image);
reducedCanvas.width = 0;
reducedCanvas.height = 0;
}
}, {
key: "draw",
value: function draw() {
var _this = this;
if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {
console.error("Must be in new state before drawing");
return Promise.resolve();
}
var pdfPage = this.pdfPage;
if (!pdfPage) {
this.renderingState = _ui_utils.RenderingStates.FINISHED;
return Promise.reject(new Error("pdfPage is not loaded"));
}
this.renderingState = _ui_utils.RenderingStates.RUNNING;
var finishRenderTask = /*#__PURE__*/function () {
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var error,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
error = _args.length > 0 && _args[0] !== undefined ? _args[0] : null;
if (renderTask === _this.renderTask) {
_this.renderTask = null;
}
if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {
_context.next = 4;
break;
}
return _context.abrupt("return");
case 4:
_this.renderingState = _ui_utils.RenderingStates.FINISHED;
_this._convertCanvasToImage(canvas);
if (!error) {
_context.next = 8;
break;
}
throw error;
case 8:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function finishRenderTask() {
return _ref3.apply(this, arguments);
};
}();
var _this$_getPageDrawCon = this._getPageDrawContext(DRAW_UPSCALE_FACTOR),
ctx = _this$_getPageDrawCon.ctx,
canvas = _this$_getPageDrawCon.canvas,
transform = _this$_getPageDrawCon.transform;
var drawViewport = this.viewport.clone({
scale: DRAW_UPSCALE_FACTOR * this.scale
});
var renderContinueCallback = function renderContinueCallback(cont) {
if (!_this.renderingQueue.isHighestPriority(_this)) {
_this.renderingState = _ui_utils.RenderingStates.PAUSED;
_this.resume = function () {
_this.renderingState = _ui_utils.RenderingStates.RUNNING;
cont();
};
return;
}
cont();
};
var renderContext = {
canvasContext: ctx,
transform: transform,
viewport: drawViewport,
optionalContentConfigPromise: this._optionalContentConfigPromise
};
var renderTask = this.renderTask = pdfPage.render(renderContext);
renderTask.onContinue = renderContinueCallback;
var resultPromise = renderTask.promise.then(function () {
return finishRenderTask(null);
}, function (error) {
return finishRenderTask(error);
});
resultPromise["finally"](function () {
canvas.width = 0;
canvas.height = 0;
var pageCached = _this.linkService.isPageCached(_this.id);
if (!pageCached) {
var _this$pdfPage;
(_this$pdfPage = _this.pdfPage) === null || _this$pdfPage === void 0 ? void 0 : _this$pdfPage.cleanup();
}
});
return resultPromise;
}
}, {
key: "setImage",
value: function setImage(pageView) {
if (this._checkSetImageDisabled()) {
return;
}
if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {
return;
}
var canvas = pageView.canvas,
pdfPage = pageView.pdfPage;
if (!canvas) {
return;
}
if (!this.pdfPage) {
this.setPdfPage(pdfPage);
}
this.renderingState = _ui_utils.RenderingStates.FINISHED;
this._convertCanvasToImage(canvas);
}
}, {
key: "_reduceImage",
value: function _reduceImage(img) {
var _this$_getPageDrawCon2 = this._getPageDrawContext(),
ctx = _this$_getPageDrawCon2.ctx,
canvas = _this$_getPageDrawCon2.canvas;
if (img.width <= 2 * canvas.width) {
ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height);
return canvas;
}
var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS;
var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS;
var _TempImageFactory$get = TempImageFactory.getCanvas(reducedWidth, reducedHeight),
_TempImageFactory$get2 = _slicedToArray(_TempImageFactory$get, 2),
reducedImage = _TempImageFactory$get2[0],
reducedImageCtx = _TempImageFactory$get2[1];
while (reducedWidth > img.width || reducedHeight > img.height) {
reducedWidth >>= 1;
reducedHeight >>= 1;
}
reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight);
while (reducedWidth > 2 * canvas.width) {
reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1);
reducedWidth >>= 1;
reducedHeight >>= 1;
}
ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height);
return canvas;
}
}, {
key: "_thumbPageTitle",
get: function get() {
var _this$pageLabel;
return this.l10n.get("thumb_page_title", {
page: (_this$pageLabel = this.pageLabel) !== null && _this$pageLabel !== void 0 ? _this$pageLabel : this.id
});
}
}, {
key: "_thumbPageCanvas",
get: function get() {
var _this$pageLabel2;
return this.l10n.get("thumb_page_canvas", {
page: (_this$pageLabel2 = this.pageLabel) !== null && _this$pageLabel2 !== void 0 ? _this$pageLabel2 : this.id
});
}
}, {
key: "setPageLabel",
value: function setPageLabel(label) {
var _this2 = this;
this.pageLabel = typeof label === "string" ? label : null;
this._thumbPageTitle.then(function (msg) {
_this2.anchor.title = msg;
});
if (this.renderingState !== _ui_utils.RenderingStates.FINISHED) {
return;
}
this._thumbPageCanvas.then(function (msg) {
var _this2$image;
(_this2$image = _this2.image) === null || _this2$image === void 0 ? void 0 : _this2$image.setAttribute("aria-label", msg);
});
}
}]);
return PDFThumbnailView;
}();
exports.PDFThumbnailView = PDFThumbnailView;
/***/ }),
/* 29 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFViewer = exports.PDFSinglePageViewer = void 0;
var _ui_utils = __webpack_require__(5);
var _base_viewer = __webpack_require__(30);
function _get() { 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(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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 } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
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); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
var PDFViewer = /*#__PURE__*/function (_BaseViewer) {
_inherits(PDFViewer, _BaseViewer);
var _super = _createSuper(PDFViewer);
function PDFViewer() {
_classCallCheck(this, PDFViewer);
return _super.apply(this, arguments);
}
return _createClass(PDFViewer);
}(_base_viewer.BaseViewer);
exports.PDFViewer = PDFViewer;
var PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer2) {
_inherits(PDFSinglePageViewer, _BaseViewer2);
var _super2 = _createSuper(PDFSinglePageViewer);
function PDFSinglePageViewer() {
_classCallCheck(this, PDFSinglePageViewer);
return _super2.apply(this, arguments);
}
_createClass(PDFSinglePageViewer, [{
key: "_resetView",
value: function _resetView() {
_get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this);
this._scrollMode = _ui_utils.ScrollMode.PAGE;
this._spreadMode = _ui_utils.SpreadMode.NONE;
}
}, {
key: "scrollMode",
set: function set(mode) {}
}, {
key: "_updateScrollMode",
value: function _updateScrollMode() {}
}, {
key: "spreadMode",
set: function set(mode) {}
}, {
key: "_updateSpreadMode",
value: function _updateSpreadMode() {}
}]);
return PDFSinglePageViewer;
}(_base_viewer.BaseViewer);
exports.PDFSinglePageViewer = PDFSinglePageViewer;
/***/ }),
/* 30 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PagesCountLimit = exports.PDFPageViewBuffer = exports.BaseViewer = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _pdfjsLib = __webpack_require__(7);
var _ui_utils = __webpack_require__(5);
var _annotation_layer_builder = __webpack_require__(31);
var _l10n_utils = __webpack_require__(32);
var _pdf_page_view = __webpack_require__(33);
var _pdf_rendering_queue = __webpack_require__(23);
var _pdf_link_service = __webpack_require__(10);
var _struct_tree_layer_builder = __webpack_require__(34);
var _text_highlighter = __webpack_require__(35);
var _text_layer_builder = __webpack_require__(36);
var _xfa_layer_builder = __webpack_require__(37);
var _Symbol$iterator;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
var DEFAULT_CACHE_SIZE = 10;
var ENABLE_PERMISSIONS_CLASS = "enablePermissions";
var PagesCountLimit = {
FORCE_SCROLL_MODE_PAGE: 15000,
FORCE_LAZY_PAGE_INIT: 7500,
PAUSE_EAGER_PAGE_INIT: 250
};
exports.PagesCountLimit = PagesCountLimit;
var _buf = /*#__PURE__*/new WeakMap();
var _size = /*#__PURE__*/new WeakMap();
var _destroyFirstView = /*#__PURE__*/new WeakSet();
_Symbol$iterator = Symbol.iterator;
var PDFPageViewBuffer = /*#__PURE__*/function () {
function PDFPageViewBuffer(size) {
_classCallCheck(this, PDFPageViewBuffer);
_classPrivateMethodInitSpec(this, _destroyFirstView);
_classPrivateFieldInitSpec(this, _buf, {
writable: true,
value: new Set()
});
_classPrivateFieldInitSpec(this, _size, {
writable: true,
value: 0
});
_classPrivateFieldSet(this, _size, size);
}
_createClass(PDFPageViewBuffer, [{
key: "push",
value: function push(view) {
var buf = _classPrivateFieldGet(this, _buf);
if (buf.has(view)) {
buf["delete"](view);
}
buf.add(view);
if (buf.size > _classPrivateFieldGet(this, _size)) {
_classPrivateMethodGet(this, _destroyFirstView, _destroyFirstView2).call(this);
}
}
}, {
key: "resize",
value: function resize(newSize) {
var idsToKeep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
_classPrivateFieldSet(this, _size, newSize);
var buf = _classPrivateFieldGet(this, _buf);
if (idsToKeep) {
var ii = buf.size;
var i = 1;
var _iterator = _createForOfIteratorHelper(buf),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var view = _step.value;
if (idsToKeep.has(view.id)) {
buf["delete"](view);
buf.add(view);
}
if (++i > ii) {
break;
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
while (buf.size > _classPrivateFieldGet(this, _size)) {
_classPrivateMethodGet(this, _destroyFirstView, _destroyFirstView2).call(this);
}
}
}, {
key: "has",
value: function has(view) {
return _classPrivateFieldGet(this, _buf).has(view);
}
}, {
key: _Symbol$iterator,
value: function value() {
return _classPrivateFieldGet(this, _buf).keys();
}
}]);
return PDFPageViewBuffer;
}();
exports.PDFPageViewBuffer = PDFPageViewBuffer;
function _destroyFirstView2() {
var firstView = _classPrivateFieldGet(this, _buf).keys().next().value;
firstView === null || firstView === void 0 ? void 0 : firstView.destroy();
_classPrivateFieldGet(this, _buf)["delete"](firstView);
}
var _buffer = /*#__PURE__*/new WeakMap();
var _annotationMode = /*#__PURE__*/new WeakMap();
var _previousAnnotationMode = /*#__PURE__*/new WeakMap();
var _enablePermissions = /*#__PURE__*/new WeakMap();
var _previousContainerHeight = /*#__PURE__*/new WeakMap();
var _scrollModePageState = /*#__PURE__*/new WeakMap();
var _onVisibilityChange = /*#__PURE__*/new WeakMap();
var _initializePermissions = /*#__PURE__*/new WeakSet();
var _onePageRenderedOrForceFetch = /*#__PURE__*/new WeakSet();
var _ensurePageViewVisible = /*#__PURE__*/new WeakSet();
var _isSameScale = /*#__PURE__*/new WeakSet();
var _ensurePdfPageLoaded = /*#__PURE__*/new WeakSet();
var _getScrollAhead = /*#__PURE__*/new WeakSet();
var _toggleLoadingIconSpinner = /*#__PURE__*/new WeakSet();
var BaseViewer = /*#__PURE__*/function () {
function BaseViewer(options) {
var _this$container,
_this$viewer,
_options$textLayerMod,
_options$annotationMo,
_this = this;
_classCallCheck(this, BaseViewer);
_classPrivateMethodInitSpec(this, _toggleLoadingIconSpinner);
_classPrivateMethodInitSpec(this, _getScrollAhead);
_classPrivateMethodInitSpec(this, _ensurePdfPageLoaded);
_classPrivateMethodInitSpec(this, _isSameScale);
_classPrivateMethodInitSpec(this, _ensurePageViewVisible);
_classPrivateMethodInitSpec(this, _onePageRenderedOrForceFetch);
_classPrivateMethodInitSpec(this, _initializePermissions);
_classPrivateFieldInitSpec(this, _buffer, {
writable: true,
value: null
});
_classPrivateFieldInitSpec(this, _annotationMode, {
writable: true,
value: _pdfjsLib.AnnotationMode.ENABLE_FORMS
});
_classPrivateFieldInitSpec(this, _previousAnnotationMode, {
writable: true,
value: null
});
_classPrivateFieldInitSpec(this, _enablePermissions, {
writable: true,
value: false
});
_classPrivateFieldInitSpec(this, _previousContainerHeight, {
writable: true,
value: 0
});
_classPrivateFieldInitSpec(this, _scrollModePageState, {
writable: true,
value: null
});
_classPrivateFieldInitSpec(this, _onVisibilityChange, {
writable: true,
value: null
});
if (this.constructor === BaseViewer) {
throw new Error("Cannot initialize BaseViewer.");
}
var viewerVersion = '2.14.44';
if (_pdfjsLib.version !== viewerVersion) {
throw new Error("The API version \"".concat(_pdfjsLib.version, "\" does not match the Viewer version \"").concat(viewerVersion, "\"."));
}
this.container = options.container;
this.viewer = options.viewer || options.container.firstElementChild;
if (!(((_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.tagName.toUpperCase()) === "DIV" && ((_this$viewer = this.viewer) === null || _this$viewer === void 0 ? void 0 : _this$viewer.tagName.toUpperCase()) === "DIV")) {
throw new Error("Invalid `container` and/or `viewer` option.");
}
if (this.container.offsetParent && getComputedStyle(this.container).position !== "absolute") {
throw new Error("The `container` must be absolutely positioned.");
}
this.eventBus = options.eventBus;
this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
this.downloadManager = options.downloadManager || null;
this.findController = options.findController || null;
this._scriptingManager = options.scriptingManager || null;
this.removePageBorders = options.removePageBorders || false;
this.textLayerMode = (_options$textLayerMod = options.textLayerMode) !== null && _options$textLayerMod !== void 0 ? _options$textLayerMod : _ui_utils.TextLayerMode.ENABLE;
_classPrivateFieldSet(this, _annotationMode, (_options$annotationMo = options.annotationMode) !== null && _options$annotationMo !== void 0 ? _options$annotationMo : _pdfjsLib.AnnotationMode.ENABLE_FORMS);
this.imageResourcesPath = options.imageResourcesPath || "";
this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
this.useOnlyCssZoom = options.useOnlyCssZoom || false;
this.maxCanvasPixels = options.maxCanvasPixels;
this.l10n = options.l10n || _l10n_utils.NullL10n;
_classPrivateFieldSet(this, _enablePermissions, options.enablePermissions || false);
this.defaultRenderingQueue = !options.renderingQueue;
if (this.defaultRenderingQueue) {
this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
this.renderingQueue.setViewer(this);
} else {
this.renderingQueue = options.renderingQueue;
}
this._doc = document.documentElement;
this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));
this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;
this._onBeforeDraw = this._onAfterDraw = null;
this._resetView();
if (this.removePageBorders) {
this.viewer.classList.add("removePageBorders");
}
Promise.resolve().then(function () {
_this.eventBus.dispatch("baseviewerinit", {
source: _this
});
});
}
_createClass(BaseViewer, [{
key: "pagesCount",
get: function get() {
return this._pages.length;
}
}, {
key: "getPageView",
value: function getPageView(index) {
return this._pages[index];
}
}, {
key: "pageViewsReady",
get: function get() {
if (!this._pagesCapability.settled) {
return false;
}
return this._pages.every(function (pageView) {
return pageView === null || pageView === void 0 ? void 0 : pageView.pdfPage;
});
}
}, {
key: "renderForms",
get: function get() {
return _classPrivateFieldGet(this, _annotationMode) === _pdfjsLib.AnnotationMode.ENABLE_FORMS;
}
}, {
key: "enableScripting",
get: function get() {
return !!this._scriptingManager;
}
}, {
key: "currentPageNumber",
get: function get() {
return this._currentPageNumber;
},
set: function set(val) {
if (!Number.isInteger(val)) {
throw new Error("Invalid page number.");
}
if (!this.pdfDocument) {
return;
}
if (!this._setCurrentPageNumber(val, true)) {
console.error("currentPageNumber: \"".concat(val, "\" is not a valid page."));
}
}
}, {
key: "_setCurrentPageNumber",
value: function _setCurrentPageNumber(val) {
var _this$_pageLabels, _this$_pageLabels2;
var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (this._currentPageNumber === val) {
if (resetCurrentPageView) {
this._resetCurrentPageView();
}
return true;
}
if (!(0 < val && val <= this.pagesCount)) {
return false;
}
var previous = this._currentPageNumber;
this._currentPageNumber = val;
this.eventBus.dispatch("pagechanging", {
source: this,
pageNumber: val,
pageLabel: (_this$_pageLabels = (_this$_pageLabels2 = this._pageLabels) === null || _this$_pageLabels2 === void 0 ? void 0 : _this$_pageLabels2[val - 1]) !== null && _this$_pageLabels !== void 0 ? _this$_pageLabels : null,
previous: previous
});
if (resetCurrentPageView) {
this._resetCurrentPageView();
}
return true;
}
}, {
key: "currentPageLabel",
get: function get() {
var _this$_pageLabels3, _this$_pageLabels4;
return (_this$_pageLabels3 = (_this$_pageLabels4 = this._pageLabels) === null || _this$_pageLabels4 === void 0 ? void 0 : _this$_pageLabels4[this._currentPageNumber - 1]) !== null && _this$_pageLabels3 !== void 0 ? _this$_pageLabels3 : null;
},
set: function set(val) {
if (!this.pdfDocument) {
return;
}
var page = val | 0;
if (this._pageLabels) {
var i = this._pageLabels.indexOf(val);
if (i >= 0) {
page = i + 1;
}
}
if (!this._setCurrentPageNumber(page, true)) {
console.error("currentPageLabel: \"".concat(val, "\" is not a valid page."));
}
}
}, {
key: "currentScale",
get: function get() {
return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;
},
set: function set(val) {
if (isNaN(val)) {
throw new Error("Invalid numeric scale.");
}
if (!this.pdfDocument) {
return;
}
this._setScale(val, false);
}
}, {
key: "currentScaleValue",
get: function get() {
return this._currentScaleValue;
},
set: function set(val) {
if (!this.pdfDocument) {
return;
}
this._setScale(val, false);
}
}, {
key: "pagesRotation",
get: function get() {
return this._pagesRotation;
},
set: function set(rotation) {
if (!(0, _ui_utils.isValidRotation)(rotation)) {
throw new Error("Invalid pages rotation angle.");
}
if (!this.pdfDocument) {
return;
}
rotation %= 360;
if (rotation < 0) {
rotation += 360;
}
if (this._pagesRotation === rotation) {
return;
}
this._pagesRotation = rotation;
var pageNumber = this._currentPageNumber;
var updateArgs = {
rotation: rotation
};
var _iterator2 = _createForOfIteratorHelper(this._pages),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var pageView = _step2.value;
pageView.update(updateArgs);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
if (this._currentScaleValue) {
this._setScale(this._currentScaleValue, true);
}
this.eventBus.dispatch("rotationchanging", {
source: this,
pagesRotation: rotation,
pageNumber: pageNumber
});
if (this.defaultRenderingQueue) {
this.update();
}
}
}, {
key: "firstPagePromise",
get: function get() {
return this.pdfDocument ? this._firstPageCapability.promise : null;
}
}, {
key: "onePageRendered",
get: function get() {
return this.pdfDocument ? this._onePageRenderedCapability.promise : null;
}
}, {
key: "pagesPromise",
get: function get() {
return this.pdfDocument ? this._pagesCapability.promise : null;
}
}, {
key: "setDocument",
value: function setDocument(pdfDocument) {
var _this2 = this;
if (this.pdfDocument) {
this.eventBus.dispatch("pagesdestroy", {
source: this
});
this._cancelRendering();
this._resetView();
if (this.findController) {
this.findController.setDocument(null);
}
if (this._scriptingManager) {
this._scriptingManager.setDocument(null);
}
}
this.pdfDocument = pdfDocument;
if (!pdfDocument) {
return;
}
var isPureXfa = pdfDocument.isPureXfa;
var pagesCount = pdfDocument.numPages;
var firstPagePromise = pdfDocument.getPage(1);
var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();
var permissionsPromise = _classPrivateFieldGet(this, _enablePermissions) ? pdfDocument.getPermissions() : Promise.resolve();
if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {
console.warn("Forcing PAGE-scrolling for performance reasons, given the length of the document.");
var mode = this._scrollMode = _ui_utils.ScrollMode.PAGE;
this.eventBus.dispatch("scrollmodechanged", {
source: this,
mode: mode
});
}
this._pagesCapability.promise.then(function () {
_this2.eventBus.dispatch("pagesloaded", {
source: _this2,
pagesCount: pagesCount
});
}, function () {});
this._onBeforeDraw = function (evt) {
var pageView = _this2._pages[evt.pageNumber - 1];
if (!pageView) {
return;
}
_classPrivateFieldGet(_this2, _buffer).push(pageView);
};
this.eventBus._on("pagerender", this._onBeforeDraw);
this._onAfterDraw = function (evt) {
if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {
return;
}
_this2._onePageRenderedCapability.resolve({
timestamp: evt.timestamp
});
_this2.eventBus._off("pagerendered", _this2._onAfterDraw);
_this2._onAfterDraw = null;
if (_classPrivateFieldGet(_this2, _onVisibilityChange)) {
document.removeEventListener("visibilitychange", _classPrivateFieldGet(_this2, _onVisibilityChange));
_classPrivateFieldSet(_this2, _onVisibilityChange, null);
}
};
this.eventBus._on("pagerendered", this._onAfterDraw);
Promise.all([firstPagePromise, permissionsPromise]).then(function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
firstPdfPage = _ref2[0],
permissions = _ref2[1];
if (pdfDocument !== _this2.pdfDocument) {
return;
}
_this2._firstPageCapability.resolve(firstPdfPage);
_this2._optionalContentConfigPromise = optionalContentConfigPromise;
_classPrivateMethodGet(_this2, _initializePermissions, _initializePermissions2).call(_this2, permissions);
var viewerElement = _this2._scrollMode === _ui_utils.ScrollMode.PAGE ? null : _this2.viewer;
var scale = _this2.currentScale;
var viewport = firstPdfPage.getViewport({
scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS
});
var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !isPureXfa ? _this2 : null;
var annotationLayerFactory = _classPrivateFieldGet(_this2, _annotationMode) !== _pdfjsLib.AnnotationMode.DISABLE ? _this2 : null;
var xfaLayerFactory = isPureXfa ? _this2 : null;
for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
var pageView = new _pdf_page_view.PDFPageView({
container: viewerElement,
eventBus: _this2.eventBus,
id: pageNum,
scale: scale,
defaultViewport: viewport.clone(),
optionalContentConfigPromise: optionalContentConfigPromise,
renderingQueue: _this2.renderingQueue,
textLayerFactory: textLayerFactory,
textLayerMode: _this2.textLayerMode,
annotationLayerFactory: annotationLayerFactory,
annotationMode: _classPrivateFieldGet(_this2, _annotationMode),
xfaLayerFactory: xfaLayerFactory,
textHighlighterFactory: _this2,
structTreeLayerFactory: _this2,
imageResourcesPath: _this2.imageResourcesPath,
renderer: _this2.renderer,
useOnlyCssZoom: _this2.useOnlyCssZoom,
maxCanvasPixels: _this2.maxCanvasPixels,
l10n: _this2.l10n
});
_this2._pages.push(pageView);
}
var firstPageView = _this2._pages[0];
if (firstPageView) {
firstPageView.setPdfPage(firstPdfPage);
_this2.linkService.cachePageRef(1, firstPdfPage.ref);
}
if (_this2._scrollMode === _ui_utils.ScrollMode.PAGE) {
_classPrivateMethodGet(_this2, _ensurePageViewVisible, _ensurePageViewVisible2).call(_this2);
} else if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {
_this2._updateSpreadMode();
}
_classPrivateMethodGet(_this2, _onePageRenderedOrForceFetch, _onePageRenderedOrForceFetch2).call(_this2).then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var getPagesLeft, _loop, _pageNum;
return _regenerator["default"].wrap(function _callee$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (_this2.findController) {
_this2.findController.setDocument(pdfDocument);
}
if (_this2._scriptingManager) {
_this2._scriptingManager.setDocument(pdfDocument);
}
if (!(pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT)) {
_context2.next = 5;
break;
}
_this2._pagesCapability.resolve();
return _context2.abrupt("return");
case 5:
getPagesLeft = pagesCount - 1;
if (!(getPagesLeft <= 0)) {
_context2.next = 9;
break;
}
_this2._pagesCapability.resolve();
return _context2.abrupt("return");
case 9:
_loop = /*#__PURE__*/_regenerator["default"].mark(function _loop(_pageNum) {
var promise;
return _regenerator["default"].wrap(function _loop$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
promise = pdfDocument.getPage(_pageNum).then(function (pdfPage) {
var pageView = _this2._pages[_pageNum - 1];
if (!pageView.pdfPage) {
pageView.setPdfPage(pdfPage);
}
_this2.linkService.cachePageRef(_pageNum, pdfPage.ref);
if (--getPagesLeft === 0) {
_this2._pagesCapability.resolve();
}
}, function (reason) {
console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason);
if (--getPagesLeft === 0) {
_this2._pagesCapability.resolve();
}
});
if (!(_pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0)) {
_context.next = 4;
break;
}
_context.next = 4;
return promise;
case 4:
case "end":
return _context.stop();
}
}
}, _loop);
});
_pageNum = 2;
case 11:
if (!(_pageNum <= pagesCount)) {
_context2.next = 16;
break;
}
return _context2.delegateYield(_loop(_pageNum), "t0", 13);
case 13:
++_pageNum;
_context2.next = 11;
break;
case 16:
case "end":
return _context2.stop();
}
}
}, _callee);
})));
_this2.eventBus.dispatch("pagesinit", {
source: _this2
});
pdfDocument.getMetadata().then(function (_ref4) {
var info = _ref4.info;
if (pdfDocument !== _this2.pdfDocument) {
return;
}
if (info.Language) {
_this2.viewer.lang = info.Language;
}
});
if (_this2.defaultRenderingQueue) {
_this2.update();
}
})["catch"](function (reason) {
console.error("Unable to initialize viewer", reason);
_this2._pagesCapability.reject(reason);
});
}
}, {
key: "setPageLabels",
value: function setPageLabels(labels) {
if (!this.pdfDocument) {
return;
}
if (!labels) {
this._pageLabels = null;
} else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
this._pageLabels = null;
console.error("setPageLabels: Invalid page labels.");
} else {
this._pageLabels = labels;
}
for (var i = 0, ii = this._pages.length; i < ii; i++) {
var _this$_pageLabels$i, _this$_pageLabels5;
this._pages[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels5 = this._pageLabels) === null || _this$_pageLabels5 === void 0 ? void 0 : _this$_pageLabels5[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null);
}
}
}, {
key: "_resetView",
value: function _resetView() {
this._pages = [];
this._currentPageNumber = 1;
this._currentScale = _ui_utils.UNKNOWN_SCALE;
this._currentScaleValue = null;
this._pageLabels = null;
_classPrivateFieldSet(this, _buffer, new PDFPageViewBuffer(DEFAULT_CACHE_SIZE));
this._location = null;
this._pagesRotation = 0;
this._optionalContentConfigPromise = null;
this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();
this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
this._previousScrollMode = _ui_utils.ScrollMode.UNKNOWN;
this._spreadMode = _ui_utils.SpreadMode.NONE;
_classPrivateFieldSet(this, _scrollModePageState, {
previousPageNumber: 1,
scrollDown: true,
pages: []
});
if (this._onBeforeDraw) {
this.eventBus._off("pagerender", this._onBeforeDraw);
this._onBeforeDraw = null;
}
if (this._onAfterDraw) {
this.eventBus._off("pagerendered", this._onAfterDraw);
this._onAfterDraw = null;
}
if (_classPrivateFieldGet(this, _onVisibilityChange)) {
document.removeEventListener("visibilitychange", _classPrivateFieldGet(this, _onVisibilityChange));
_classPrivateFieldSet(this, _onVisibilityChange, null);
}
this.viewer.textContent = "";
this._updateScrollMode();
this.viewer.removeAttribute("lang");
this.viewer.classList.remove(ENABLE_PERMISSIONS_CLASS);
if (_classPrivateFieldGet(this, _previousAnnotationMode) !== null) {
_classPrivateFieldSet(this, _annotationMode, _classPrivateFieldGet(this, _previousAnnotationMode));
_classPrivateFieldSet(this, _previousAnnotationMode, null);
}
}
}, {
key: "_scrollUpdate",
value: function _scrollUpdate() {
if (this.pagesCount === 0) {
return;
}
this.update();
}
}, {
key: "_scrollIntoView",
value: function _scrollIntoView(_ref5) {
var pageDiv = _ref5.pageDiv,
_ref5$pageSpot = _ref5.pageSpot,
pageSpot = _ref5$pageSpot === void 0 ? null : _ref5$pageSpot,
_ref5$pageNumber = _ref5.pageNumber,
pageNumber = _ref5$pageNumber === void 0 ? null : _ref5$pageNumber;
if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {
if (pageNumber) {
this._setCurrentPageNumber(pageNumber);
}
_classPrivateMethodGet(this, _ensurePageViewVisible, _ensurePageViewVisible2).call(this);
this.update();
}
if (!pageSpot && !this.isInPresentationMode) {
var left = pageDiv.offsetLeft + pageDiv.clientLeft;
var right = left + pageDiv.clientWidth;
var _this$container2 = this.container,
scrollLeft = _this$container2.scrollLeft,
clientWidth = _this$container2.clientWidth;
if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {
pageSpot = {
left: 0,
top: 0
};
}
}
(0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
}
}, {
key: "_setScaleUpdatePages",
value: function _setScaleUpdatePages(newScale, newValue) {
var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
this._currentScaleValue = newValue.toString();
if (_classPrivateMethodGet(this, _isSameScale, _isSameScale2).call(this, newScale)) {
if (preset) {
this.eventBus.dispatch("scalechanging", {
source: this,
scale: newScale,
presetValue: newValue
});
}
return;
}
this._doc.style.setProperty("--zoom-factor", newScale);
this._doc.style.setProperty("--viewport-scale-factor", newScale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS);
var updateArgs = {
scale: newScale
};
var _iterator3 = _createForOfIteratorHelper(this._pages),
_step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
var pageView = _step3.value;
pageView.update(updateArgs);
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
this._currentScale = newScale;
if (!noScroll) {
var page = this._currentPageNumber,
dest;
if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
page = this._location.pageNumber;
dest = [null, {
name: "XYZ"
}, this._location.left, this._location.top, null];
}
this.scrollPageIntoView({
pageNumber: page,
destArray: dest,
allowNegativeOffset: true
});
}
this.eventBus.dispatch("scalechanging", {
source: this,
scale: newScale,
presetValue: preset ? newValue : undefined
});
if (this.defaultRenderingQueue) {
this.update();
}
_classPrivateFieldSet(this, _previousContainerHeight, this.container.clientHeight);
}
}, {
key: "_pageWidthScaleFactor",
get: function get() {
if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL) {
return 2;
}
return 1;
}
}, {
key: "_setScale",
value: function _setScale(value) {
var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var scale = parseFloat(value);
if (scale > 0) {
this._setScaleUpdatePages(scale, value, noScroll, false);
} else {
var currentPage = this._pages[this._currentPageNumber - 1];
if (!currentPage) {
return;
}
var hPadding = _ui_utils.SCROLLBAR_PADDING,
vPadding = _ui_utils.VERTICAL_PADDING;
if (this.isInPresentationMode) {
hPadding = vPadding = 4;
} else if (this.removePageBorders) {
hPadding = vPadding = 0;
}
if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL) {
var _ref6 = [vPadding, hPadding];
hPadding = _ref6[0];
vPadding = _ref6[1];
}
var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor;
var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;
switch (value) {
case "page-actual":
scale = 1;
break;
case "page-width":
scale = pageWidthScale;
break;
case "page-height":
scale = pageHeightScale;
break;
case "page-fit":
scale = Math.min(pageWidthScale, pageHeightScale);
break;
case "auto":
var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);
scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);
break;
default:
console.error("_setScale: \"".concat(value, "\" is an unknown zoom value."));
return;
}
this._setScaleUpdatePages(scale, value, noScroll, true);
}
}
}, {
key: "_resetCurrentPageView",
value: function _resetCurrentPageView() {
if (this.isInPresentationMode) {
this._setScale(this._currentScaleValue, true);
}
var pageView = this._pages[this._currentPageNumber - 1];
this._scrollIntoView({
pageDiv: pageView.div
});
}
}, {
key: "pageLabelToPageNumber",
value: function pageLabelToPageNumber(label) {
if (!this._pageLabels) {
return null;
}
var i = this._pageLabels.indexOf(label);
if (i < 0) {
return null;
}
return i + 1;
}
}, {
key: "scrollPageIntoView",
value: function scrollPageIntoView(_ref7) {
var pageNumber = _ref7.pageNumber,
_ref7$destArray = _ref7.destArray,
destArray = _ref7$destArray === void 0 ? null : _ref7$destArray,
_ref7$allowNegativeOf = _ref7.allowNegativeOffset,
allowNegativeOffset = _ref7$allowNegativeOf === void 0 ? false : _ref7$allowNegativeOf,
_ref7$ignoreDestinati = _ref7.ignoreDestinationZoom,
ignoreDestinationZoom = _ref7$ignoreDestinati === void 0 ? false : _ref7$ignoreDestinati;
if (!this.pdfDocument) {
return;
}
var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];
if (!pageView) {
console.error("scrollPageIntoView: \"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
return;
}
if (this.isInPresentationMode || !destArray) {
this._setCurrentPageNumber(pageNumber, true);
return;
}
var x = 0,
y = 0;
var width = 0,
height = 0,
widthScale,
heightScale;
var changeOrientation = pageView.rotation % 180 !== 0;
var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
var scale = 0;
switch (destArray[1].name) {
case "XYZ":
x = destArray[2];
y = destArray[3];
scale = destArray[4];
x = x !== null ? x : 0;
y = y !== null ? y : pageHeight;
break;
case "Fit":
case "FitB":
scale = "page-fit";
break;
case "FitH":
case "FitBH":
y = destArray[2];
scale = "page-width";
if (y === null && this._location) {
x = this._location.left;
y = this._location.top;
} else if (typeof y !== "number" || y < 0) {
y = pageHeight;
}
break;
case "FitV":
case "FitBV":
x = destArray[2];
width = pageWidth;
height = pageHeight;
scale = "page-height";
break;
case "FitR":
x = destArray[2];
y = destArray[3];
width = destArray[4] - x;
height = destArray[5] - y;
var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;
var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;
widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
break;
default:
console.error("scrollPageIntoView: \"".concat(destArray[1].name, "\" is not a valid destination type."));
return;
}
if (!ignoreDestinationZoom) {
if (scale && scale !== this._currentScale) {
this.currentScaleValue = scale;
} else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {
this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
}
}
if (scale === "page-fit" && !destArray[4]) {
this._scrollIntoView({
pageDiv: pageView.div,
pageNumber: pageNumber
});
return;
}
var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];
var left = Math.min(boundingRect[0][0], boundingRect[1][0]);
var top = Math.min(boundingRect[0][1], boundingRect[1][1]);
if (!allowNegativeOffset) {
left = Math.max(left, 0);
top = Math.max(top, 0);
}
this._scrollIntoView({
pageDiv: pageView.div,
pageSpot: {
left: left,
top: top
},
pageNumber: pageNumber
});
}
}, {
key: "_updateLocation",
value: function _updateLocation(firstPage) {
var currentScale = this._currentScale;
var currentScaleValue = this._currentScaleValue;
var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;
var pageNumber = firstPage.id;
var pdfOpenParams = "#page=" + pageNumber;
pdfOpenParams += "&zoom=" + normalizedScaleValue;
var currentPageView = this._pages[pageNumber - 1];
var container = this.container;
var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);
var intLeft = Math.round(topLeft[0]);
var intTop = Math.round(topLeft[1]);
pdfOpenParams += "," + intLeft + "," + intTop;
this._location = {
pageNumber: pageNumber,
scale: normalizedScaleValue,
top: intTop,
left: intLeft,
rotation: this._pagesRotation,
pdfOpenParams: pdfOpenParams
};
}
}, {
key: "update",
value: function update() {
var visible = this._getVisiblePages();
var visiblePages = visible.views,
numVisiblePages = visiblePages.length;
if (numVisiblePages === 0) {
return;
}
var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);
_classPrivateFieldGet(this, _buffer).resize(newCacheSize, visible.ids);
this.renderingQueue.renderHighestPriority(visible);
if (!this.isInPresentationMode) {
var isSimpleLayout = this._spreadMode === _ui_utils.SpreadMode.NONE && (this._scrollMode === _ui_utils.ScrollMode.PAGE || this._scrollMode === _ui_utils.ScrollMode.VERTICAL);
var currentId = this._currentPageNumber;
var stillFullyVisible = false;
var _iterator4 = _createForOfIteratorHelper(visiblePages),
_step4;
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
var page = _step4.value;
if (page.percent < 100) {
break;
}
if (page.id === currentId && isSimpleLayout) {
stillFullyVisible = true;
break;
}
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
if (!stillFullyVisible) {
currentId = visiblePages[0].id;
}
this._setCurrentPageNumber(currentId);
}
this._updateLocation(visible.first);
this.eventBus.dispatch("updateviewarea", {
source: this,
location: this._location
});
}
}, {
key: "containsElement",
value: function containsElement(element) {
return this.container.contains(element);
}
}, {
key: "focus",
value: function focus() {
this.container.focus();
}
}, {
key: "_isContainerRtl",
get: function get() {
return getComputedStyle(this.container).direction === "rtl";
}
}, {
key: "isInPresentationMode",
get: function get() {
return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;
}
}, {
key: "isChangingPresentationMode",
get: function get() {
return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;
}
}, {
key: "isHorizontalScrollbarEnabled",
get: function get() {
return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
}
}, {
key: "isVerticalScrollbarEnabled",
get: function get() {
return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
}
}, {
key: "_getCurrentVisiblePage",
value: function _getCurrentVisiblePage() {
if (!this.pagesCount) {
return {
views: []
};
}
var pageView = this._pages[this._currentPageNumber - 1];
var element = pageView.div;
var view = {
id: pageView.id,
x: element.offsetLeft + element.clientLeft,
y: element.offsetTop + element.clientTop,
view: pageView
};
var ids = new Set([pageView.id]);
return {
first: view,
last: view,
views: [view],
ids: ids
};
}
}, {
key: "_getVisiblePages",
value: function _getVisiblePages() {
if (this.isInPresentationMode) {
return this._getCurrentVisiblePage();
}
var views = this._scrollMode === _ui_utils.ScrollMode.PAGE ? _classPrivateFieldGet(this, _scrollModePageState).pages : this._pages,
horizontal = this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL,
rtl = horizontal && this._isContainerRtl;
return (0, _ui_utils.getVisibleElements)({
scrollEl: this.container,
views: views,
sortByVisibility: true,
horizontal: horizontal,
rtl: rtl
});
}
}, {
key: "isPageVisible",
value: function isPageVisible(pageNumber) {
if (!this.pdfDocument) {
return false;
}
if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
console.error("isPageVisible: \"".concat(pageNumber, "\" is not a valid page."));
return false;
}
return this._getVisiblePages().ids.has(pageNumber);
}
}, {
key: "isPageCached",
value: function isPageCached(pageNumber) {
if (!this.pdfDocument) {
return false;
}
if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
console.error("isPageCached: \"".concat(pageNumber, "\" is not a valid page."));
return false;
}
var pageView = this._pages[pageNumber - 1];
return _classPrivateFieldGet(this, _buffer).has(pageView);
}
}, {
key: "cleanup",
value: function cleanup() {
for (var i = 0, ii = this._pages.length; i < ii; i++) {
if (this._pages[i] && this._pages[i].renderingState !== _ui_utils.RenderingStates.FINISHED) {
this._pages[i].reset();
}
}
}
}, {
key: "_cancelRendering",
value: function _cancelRendering() {
for (var i = 0, ii = this._pages.length; i < ii; i++) {
if (this._pages[i]) {
this._pages[i].cancelRendering();
}
}
}
}, {
key: "forceRendering",
value: function forceRendering(currentlyVisiblePages) {
var _this3 = this;
var visiblePages = currentlyVisiblePages || this._getVisiblePages();
var scrollAhead = _classPrivateMethodGet(this, _getScrollAhead, _getScrollAhead2).call(this, visiblePages);
var preRenderExtra = this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL;
var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);
_classPrivateMethodGet(this, _toggleLoadingIconSpinner, _toggleLoadingIconSpinner2).call(this, visiblePages.ids);
if (pageView) {
_classPrivateMethodGet(this, _ensurePdfPageLoaded, _ensurePdfPageLoaded2).call(this, pageView).then(function () {
_this3.renderingQueue.renderView(pageView);
});
return true;
}
return false;
}
}, {
key: "createTextLayerBuilder",
value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
var eventBus = arguments.length > 4 ? arguments[4] : undefined;
var highlighter = arguments.length > 5 ? arguments[5] : undefined;
return new _text_layer_builder.TextLayerBuilder({
textLayerDiv: textLayerDiv,
eventBus: eventBus,
pageIndex: pageIndex,
viewport: viewport,
enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection,
highlighter: highlighter
});
}
}, {
key: "createTextHighlighter",
value: function createTextHighlighter(pageIndex, eventBus) {
return new _text_highlighter.TextHighlighter({
eventBus: eventBus,
pageIndex: pageIndex,
findController: this.isInPresentationMode ? null : this.findController
});
}
}, {
key: "createAnnotationLayerBuilder",
value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
var _this$pdfDocument, _this$pdfDocument2, _this$pdfDocument3, _this$_scriptingManag;
var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
var renderForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n;
var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;
var fieldObjectsPromise = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : null;
var annotationCanvasMap = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : null;
return new _annotation_layer_builder.AnnotationLayerBuilder({
pageDiv: pageDiv,
pdfPage: pdfPage,
annotationStorage: annotationStorage || ((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage),
imageResourcesPath: imageResourcesPath,
renderForms: renderForms,
linkService: this.linkService,
downloadManager: this.downloadManager,
l10n: l10n,
enableScripting: enableScripting !== null && enableScripting !== void 0 ? enableScripting : this.enableScripting,
hasJSActionsPromise: hasJSActionsPromise || ((_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.hasJSActions()),
fieldObjectsPromise: fieldObjectsPromise || ((_this$pdfDocument3 = this.pdfDocument) === null || _this$pdfDocument3 === void 0 ? void 0 : _this$pdfDocument3.getFieldObjects()),
mouseState: mouseState || ((_this$_scriptingManag = this._scriptingManager) === null || _this$_scriptingManag === void 0 ? void 0 : _this$_scriptingManag.mouseState),
annotationCanvasMap: annotationCanvasMap
});
}
}, {
key: "createXfaLayerBuilder",
value: function createXfaLayerBuilder(pageDiv, pdfPage) {
var _this$pdfDocument4;
var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
return new _xfa_layer_builder.XfaLayerBuilder({
pageDiv: pageDiv,
pdfPage: pdfPage,
annotationStorage: annotationStorage || ((_this$pdfDocument4 = this.pdfDocument) === null || _this$pdfDocument4 === void 0 ? void 0 : _this$pdfDocument4.annotationStorage),
linkService: this.linkService
});
}
}, {
key: "createStructTreeLayerBuilder",
value: function createStructTreeLayerBuilder(pdfPage) {
return new _struct_tree_layer_builder.StructTreeLayerBuilder({
pdfPage: pdfPage
});
}
}, {
key: "hasEqualPageSizes",
get: function get() {
var firstPageView = this._pages[0];
for (var i = 1, ii = this._pages.length; i < ii; ++i) {
var pageView = this._pages[i];
if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
return false;
}
}
return true;
}
}, {
key: "getPagesOverview",
value: function getPagesOverview() {
var _this4 = this;
return this._pages.map(function (pageView) {
var viewport = pageView.pdfPage.getViewport({
scale: 1
});
if (!_this4.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) {
return {
width: viewport.width,
height: viewport.height,
rotation: viewport.rotation
};
}
return {
width: viewport.height,
height: viewport.width,
rotation: (viewport.rotation - 90) % 360
};
});
}
}, {
key: "optionalContentConfigPromise",
get: function get() {
if (!this.pdfDocument) {
return Promise.resolve(null);
}
if (!this._optionalContentConfigPromise) {
return this.pdfDocument.getOptionalContentConfig();
}
return this._optionalContentConfigPromise;
},
set: function set(promise) {
if (!(promise instanceof Promise)) {
throw new Error("Invalid optionalContentConfigPromise: ".concat(promise));
}
if (!this.pdfDocument) {
return;
}
if (!this._optionalContentConfigPromise) {
return;
}
this._optionalContentConfigPromise = promise;
var updateArgs = {
optionalContentConfigPromise: promise
};
var _iterator5 = _createForOfIteratorHelper(this._pages),
_step5;
try {
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
var pageView = _step5.value;
pageView.update(updateArgs);
}
} catch (err) {
_iterator5.e(err);
} finally {
_iterator5.f();
}
this.update();
this.eventBus.dispatch("optionalcontentconfigchanged", {
source: this,
promise: promise
});
}
}, {
key: "scrollMode",
get: function get() {
return this._scrollMode;
},
set: function set(mode) {
if (this._scrollMode === mode) {
return;
}
if (!(0, _ui_utils.isValidScrollMode)(mode)) {
throw new Error("Invalid scroll mode: ".concat(mode));
}
if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {
return;
}
this._previousScrollMode = this._scrollMode;
this._scrollMode = mode;
this.eventBus.dispatch("scrollmodechanged", {
source: this,
mode: mode
});
this._updateScrollMode(this._currentPageNumber);
}
}, {
key: "_updateScrollMode",
value: function _updateScrollMode() {
var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
var scrollMode = this._scrollMode,
viewer = this.viewer;
viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);
viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED);
if (!this.pdfDocument || !pageNumber) {
return;
}
if (scrollMode === _ui_utils.ScrollMode.PAGE) {
_classPrivateMethodGet(this, _ensurePageViewVisible, _ensurePageViewVisible2).call(this);
} else if (this._previousScrollMode === _ui_utils.ScrollMode.PAGE) {
this._updateSpreadMode();
}
if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
this._setScale(this._currentScaleValue, true);
}
this._setCurrentPageNumber(pageNumber, true);
this.update();
}
}, {
key: "spreadMode",
get: function get() {
return this._spreadMode;
},
set: function set(mode) {
if (this._spreadMode === mode) {
return;
}
if (!(0, _ui_utils.isValidSpreadMode)(mode)) {
throw new Error("Invalid spread mode: ".concat(mode));
}
this._spreadMode = mode;
this.eventBus.dispatch("spreadmodechanged", {
source: this,
mode: mode
});
this._updateSpreadMode(this._currentPageNumber);
}
}, {
key: "_updateSpreadMode",
value: function _updateSpreadMode() {
var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
if (!this.pdfDocument) {
return;
}
var viewer = this.viewer,
pages = this._pages;
if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {
_classPrivateMethodGet(this, _ensurePageViewVisible, _ensurePageViewVisible2).call(this);
} else {
viewer.textContent = "";
if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
for (var i = 0, ii = pages.length; i < ii; ++i) {
viewer.appendChild(pages[i].div);
}
} else {
var parity = this._spreadMode - 1;
var spread = null;
for (var _i2 = 0, _ii = pages.length; _i2 < _ii; ++_i2) {
if (spread === null) {
spread = document.createElement("div");
spread.className = "spread";
viewer.appendChild(spread);
} else if (_i2 % 2 === parity) {
spread = spread.cloneNode(false);
viewer.appendChild(spread);
}
spread.appendChild(pages[_i2].div);
}
}
}
if (!pageNumber) {
return;
}
if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
this._setScale(this._currentScaleValue, true);
}
this._setCurrentPageNumber(pageNumber, true);
this.update();
}
}, {
key: "_getPageAdvance",
value: function _getPageAdvance(currentPageNumber) {
var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
switch (this._scrollMode) {
case _ui_utils.ScrollMode.WRAPPED:
{
var _this$_getVisiblePage = this._getVisiblePages(),
views = _this$_getVisiblePage.views,
pageLayout = new Map();
var _iterator6 = _createForOfIteratorHelper(views),
_step6;
try {
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
var _step6$value = _step6.value,
id = _step6$value.id,
y = _step6$value.y,
percent = _step6$value.percent,
widthPercent = _step6$value.widthPercent;
if (percent === 0 || widthPercent < 100) {
continue;
}
var yArray = pageLayout.get(y);
if (!yArray) {
pageLayout.set(y, yArray || (yArray = []));
}
yArray.push(id);
}
} catch (err) {
_iterator6.e(err);
} finally {
_iterator6.f();
}
var _iterator7 = _createForOfIteratorHelper(pageLayout.values()),
_step7;
try {
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
var _yArray = _step7.value;
var currentIndex = _yArray.indexOf(currentPageNumber);
if (currentIndex === -1) {
continue;
}
var numPages = _yArray.length;
if (numPages === 1) {
break;
}
if (previous) {
for (var i = currentIndex - 1, ii = 0; i >= ii; i--) {
var currentId = _yArray[i],
expectedId = _yArray[i + 1] - 1;
if (currentId < expectedId) {
return currentPageNumber - expectedId;
}
}
} else {
for (var _i3 = currentIndex + 1, _ii2 = numPages; _i3 < _ii2; _i3++) {
var _currentId = _yArray[_i3],
_expectedId = _yArray[_i3 - 1] + 1;
if (_currentId > _expectedId) {
return _expectedId - currentPageNumber;
}
}
}
if (previous) {
var firstId = _yArray[0];
if (firstId < currentPageNumber) {
return currentPageNumber - firstId + 1;
}
} else {
var lastId = _yArray[numPages - 1];
if (lastId > currentPageNumber) {
return lastId - currentPageNumber + 1;
}
}
break;
}
} catch (err) {
_iterator7.e(err);
} finally {
_iterator7.f();
}
break;
}
case _ui_utils.ScrollMode.HORIZONTAL:
{
break;
}
case _ui_utils.ScrollMode.PAGE:
case _ui_utils.ScrollMode.VERTICAL:
{
if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
break;
}
var parity = this._spreadMode - 1;
if (previous && currentPageNumber % 2 !== parity) {
break;
} else if (!previous && currentPageNumber % 2 === parity) {
break;
}
var _this$_getVisiblePage2 = this._getVisiblePages(),
_views = _this$_getVisiblePage2.views,
_expectedId2 = previous ? currentPageNumber - 1 : currentPageNumber + 1;
var _iterator8 = _createForOfIteratorHelper(_views),
_step8;
try {
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
var _step8$value = _step8.value,
_id = _step8$value.id,
_percent = _step8$value.percent,
_widthPercent = _step8$value.widthPercent;
if (_id !== _expectedId2) {
continue;
}
if (_percent > 0 && _widthPercent === 100) {
return 2;
}
break;
}
} catch (err) {
_iterator8.e(err);
} finally {
_iterator8.f();
}
break;
}
}
return 1;
}
}, {
key: "nextPage",
value: function nextPage() {
var currentPageNumber = this._currentPageNumber,
pagesCount = this.pagesCount;
if (currentPageNumber >= pagesCount) {
return false;
}
var advance = this._getPageAdvance(currentPageNumber, false) || 1;
this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);
return true;
}
}, {
key: "previousPage",
value: function previousPage() {
var currentPageNumber = this._currentPageNumber;
if (currentPageNumber <= 1) {
return false;
}
var advance = this._getPageAdvance(currentPageNumber, true) || 1;
this.currentPageNumber = Math.max(currentPageNumber - advance, 1);
return true;
}
}, {
key: "increaseScale",
value: function increaseScale() {
var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
var newScale = this._currentScale;
do {
newScale = (newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);
newScale = Math.ceil(newScale * 10) / 10;
newScale = Math.min(_ui_utils.MAX_SCALE, newScale);
} while (--steps > 0 && newScale < _ui_utils.MAX_SCALE);
this.currentScaleValue = newScale;
}
}, {
key: "decreaseScale",
value: function decreaseScale() {
var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
var newScale = this._currentScale;
do {
newScale = (newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);
newScale = Math.floor(newScale * 10) / 10;
newScale = Math.max(_ui_utils.MIN_SCALE, newScale);
} while (--steps > 0 && newScale > _ui_utils.MIN_SCALE);
this.currentScaleValue = newScale;
}
}]);
return BaseViewer;
}();
exports.BaseViewer = BaseViewer;
function _initializePermissions2(permissions) {
if (!permissions) {
return;
}
if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY)) {
this.viewer.classList.add(ENABLE_PERMISSIONS_CLASS);
}
if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(_pdfjsLib.PermissionFlag.FILL_INTERACTIVE_FORMS)) {
if (_classPrivateFieldGet(this, _annotationMode) === _pdfjsLib.AnnotationMode.ENABLE_FORMS) {
_classPrivateFieldSet(this, _previousAnnotationMode, _classPrivateFieldGet(this, _annotationMode));
_classPrivateFieldSet(this, _annotationMode, _pdfjsLib.AnnotationMode.ENABLE);
}
}
}
function _onePageRenderedOrForceFetch2() {
var _this5 = this;
if (document.visibilityState === "hidden" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {
return Promise.resolve();
}
var visibilityChangePromise = new Promise(function (resolve) {
_classPrivateFieldSet(_this5, _onVisibilityChange, function () {
if (document.visibilityState !== "hidden") {
return;
}
resolve();
document.removeEventListener("visibilitychange", _classPrivateFieldGet(_this5, _onVisibilityChange));
_classPrivateFieldSet(_this5, _onVisibilityChange, null);
});
document.addEventListener("visibilitychange", _classPrivateFieldGet(_this5, _onVisibilityChange));
});
return Promise.race([this._onePageRenderedCapability.promise, visibilityChangePromise]);
}
function _ensurePageViewVisible2() {
if (this._scrollMode !== _ui_utils.ScrollMode.PAGE) {
throw new Error("#ensurePageViewVisible: Invalid scrollMode value.");
}
var pageNumber = this._currentPageNumber,
state = _classPrivateFieldGet(this, _scrollModePageState),
viewer = this.viewer;
viewer.textContent = "";
state.pages.length = 0;
if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
var pageView = this._pages[pageNumber - 1];
if (this.isInPresentationMode) {
var spread = document.createElement("div");
spread.className = "spread";
var dummyPage = document.createElement("div");
dummyPage.className = "dummyPage";
dummyPage.style.height = "".concat(this.container.clientHeight, "px");
spread.appendChild(dummyPage);
spread.appendChild(pageView.div);
viewer.appendChild(spread);
} else {
viewer.appendChild(pageView.div);
}
state.pages.push(pageView);
} else {
var pageIndexSet = new Set(),
parity = this._spreadMode - 1;
if (pageNumber % 2 !== parity) {
pageIndexSet.add(pageNumber - 1);
pageIndexSet.add(pageNumber);
} else {
pageIndexSet.add(pageNumber - 2);
pageIndexSet.add(pageNumber - 1);
}
var _spread = null;
var _iterator9 = _createForOfIteratorHelper(pageIndexSet),
_step9;
try {
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
var i = _step9.value;
var _pageView = this._pages[i];
if (!_pageView) {
continue;
}
if (_spread === null) {
_spread = document.createElement("div");
_spread.className = "spread";
viewer.appendChild(_spread);
} else if (i % 2 === parity) {
_spread = _spread.cloneNode(false);
viewer.appendChild(_spread);
}
_spread.appendChild(_pageView.div);
state.pages.push(_pageView);
}
} catch (err) {
_iterator9.e(err);
} finally {
_iterator9.f();
}
}
state.scrollDown = pageNumber >= state.previousPageNumber;
state.previousPageNumber = pageNumber;
}
function _isSameScale2(newScale) {
if (this.isInPresentationMode && this.container.clientHeight !== _classPrivateFieldGet(this, _previousContainerHeight)) {
return false;
}
return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;
}
function _ensurePdfPageLoaded2(_x) {
return _ensurePdfPageLoaded3.apply(this, arguments);
}
function _ensurePdfPageLoaded3() {
_ensurePdfPageLoaded3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pageView) {
var _this$linkService$_ca, _this$linkService, pdfPage;
return _regenerator["default"].wrap(function _callee2$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
if (!pageView.pdfPage) {
_context3.next = 2;
break;
}
return _context3.abrupt("return", pageView.pdfPage);
case 2:
_context3.prev = 2;
_context3.next = 5;
return this.pdfDocument.getPage(pageView.id);
case 5:
pdfPage = _context3.sent;
if (!pageView.pdfPage) {
pageView.setPdfPage(pdfPage);
}
if (!((_this$linkService$_ca = (_this$linkService = this.linkService)._cachedPageNumber) !== null && _this$linkService$_ca !== void 0 && _this$linkService$_ca.call(_this$linkService, pdfPage.ref))) {
this.linkService.cachePageRef(pageView.id, pdfPage.ref);
}
return _context3.abrupt("return", pdfPage);
case 11:
_context3.prev = 11;
_context3.t0 = _context3["catch"](2);
console.error("Unable to get page for page view", _context3.t0);
return _context3.abrupt("return", null);
case 15:
case "end":
return _context3.stop();
}
}
}, _callee2, this, [[2, 11]]);
}));
return _ensurePdfPageLoaded3.apply(this, arguments);
}
function _getScrollAhead2(visible) {
var _visible$first, _visible$last;
if (((_visible$first = visible.first) === null || _visible$first === void 0 ? void 0 : _visible$first.id) === 1) {
return true;
} else if (((_visible$last = visible.last) === null || _visible$last === void 0 ? void 0 : _visible$last.id) === this.pagesCount) {
return false;
}
switch (this._scrollMode) {
case _ui_utils.ScrollMode.PAGE:
return _classPrivateFieldGet(this, _scrollModePageState).scrollDown;
case _ui_utils.ScrollMode.HORIZONTAL:
return this.scroll.right;
}
return this.scroll.down;
}
function _toggleLoadingIconSpinner2(visibleIds) {
var _iterator10 = _createForOfIteratorHelper(visibleIds),
_step10;
try {
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
var id = _step10.value;
var pageView = this._pages[id - 1];
pageView === null || pageView === void 0 ? void 0 : pageView.toggleLoadingIconSpinner(true);
}
} catch (err) {
_iterator10.e(err);
} finally {
_iterator10.f();
}
var _iterator11 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _buffer)),
_step11;
try {
for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
var _pageView2 = _step11.value;
if (visibleIds.has(_pageView2.id)) {
continue;
}
_pageView2.toggleLoadingIconSpinner(false);
}
} catch (err) {
_iterator11.e(err);
} finally {
_iterator11.f();
}
}
/***/ }),
/* 31 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.AnnotationLayerBuilder = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _pdfjsLib = __webpack_require__(7);
var _l10n_utils = __webpack_require__(32);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
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); }
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; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var AnnotationLayerBuilder = /*#__PURE__*/function () {
function AnnotationLayerBuilder(_ref) {
var pageDiv = _ref.pageDiv,
pdfPage = _ref.pdfPage,
linkService = _ref.linkService,
downloadManager = _ref.downloadManager,
_ref$annotationStorag = _ref.annotationStorage,
annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,
_ref$imageResourcesPa = _ref.imageResourcesPath,
imageResourcesPath = _ref$imageResourcesPa === void 0 ? "" : _ref$imageResourcesPa,
_ref$renderForms = _ref.renderForms,
renderForms = _ref$renderForms === void 0 ? true : _ref$renderForms,
_ref$l10n = _ref.l10n,
l10n = _ref$l10n === void 0 ? _l10n_utils.NullL10n : _ref$l10n,
_ref$enableScripting = _ref.enableScripting,
enableScripting = _ref$enableScripting === void 0 ? false : _ref$enableScripting,
_ref$hasJSActionsProm = _ref.hasJSActionsPromise,
hasJSActionsPromise = _ref$hasJSActionsProm === void 0 ? null : _ref$hasJSActionsProm,
_ref$fieldObjectsProm = _ref.fieldObjectsPromise,
fieldObjectsPromise = _ref$fieldObjectsProm === void 0 ? null : _ref$fieldObjectsProm,
_ref$mouseState = _ref.mouseState,
mouseState = _ref$mouseState === void 0 ? null : _ref$mouseState,
_ref$annotationCanvas = _ref.annotationCanvasMap,
annotationCanvasMap = _ref$annotationCanvas === void 0 ? null : _ref$annotationCanvas;
_classCallCheck(this, AnnotationLayerBuilder);
this.pageDiv = pageDiv;
this.pdfPage = pdfPage;
this.linkService = linkService;
this.downloadManager = downloadManager;
this.imageResourcesPath = imageResourcesPath;
this.renderForms = renderForms;
this.l10n = l10n;
this.annotationStorage = annotationStorage;
this.enableScripting = enableScripting;
this._hasJSActionsPromise = hasJSActionsPromise;
this._fieldObjectsPromise = fieldObjectsPromise;
this._mouseState = mouseState;
this._annotationCanvasMap = annotationCanvasMap;
this.div = null;
this._cancelled = false;
}
_createClass(AnnotationLayerBuilder, [{
key: "render",
value: function () {
var _render = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(viewport) {
var intent,
_yield$Promise$all,
_yield$Promise$all2,
annotations,
_yield$Promise$all2$,
hasJSActions,
_yield$Promise$all2$2,
fieldObjects,
parameters,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
intent = _args.length > 1 && _args[1] !== undefined ? _args[1] : "display";
_context.next = 3;
return Promise.all([this.pdfPage.getAnnotations({
intent: intent
}), this._hasJSActionsPromise, this._fieldObjectsPromise]);
case 3:
_yield$Promise$all = _context.sent;
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
annotations = _yield$Promise$all2[0];
_yield$Promise$all2$ = _yield$Promise$all2[1];
hasJSActions = _yield$Promise$all2$ === void 0 ? false : _yield$Promise$all2$;
_yield$Promise$all2$2 = _yield$Promise$all2[2];
fieldObjects = _yield$Promise$all2$2 === void 0 ? null : _yield$Promise$all2$2;
if (!(this._cancelled || annotations.length === 0)) {
_context.next = 12;
break;
}
return _context.abrupt("return");
case 12:
parameters = {
viewport: viewport.clone({
dontFlip: true
}),
div: this.div,
annotations: annotations,
page: this.pdfPage,
imageResourcesPath: this.imageResourcesPath,
renderForms: this.renderForms,
linkService: this.linkService,
downloadManager: this.downloadManager,
annotationStorage: this.annotationStorage,
enableScripting: this.enableScripting,
hasJSActions: hasJSActions,
fieldObjects: fieldObjects,
mouseState: this._mouseState,
annotationCanvasMap: this._annotationCanvasMap
};
if (this.div) {
_pdfjsLib.AnnotationLayer.update(parameters);
} else {
this.div = document.createElement("div");
this.div.className = "annotationLayer";
this.pageDiv.appendChild(this.div);
parameters.div = this.div;
_pdfjsLib.AnnotationLayer.render(parameters);
this.l10n.translate(this.div);
}
case 14:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function render(_x) {
return _render.apply(this, arguments);
}
return render;
}()
}, {
key: "cancel",
value: function cancel() {
this._cancelled = true;
}
}, {
key: "hide",
value: function hide() {
if (!this.div) {
return;
}
this.div.hidden = true;
}
}]);
return AnnotationLayerBuilder;
}();
exports.AnnotationLayerBuilder = AnnotationLayerBuilder;
/***/ }),
/* 32 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.NullL10n = void 0;
exports.fixupLangCode = fixupLangCode;
exports.getL10nFallback = getL10nFallback;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
var DEFAULT_L10N_STRINGS = {
of_pages: "of {{pagesCount}}",
page_of_pages: "({{pageNumber}} of {{pagesCount}})",
document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)",
document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)",
document_properties_date_string: "{{date}}, {{time}}",
document_properties_page_size_unit_inches: "in",
document_properties_page_size_unit_millimeters: "mm",
document_properties_page_size_orientation_portrait: "portrait",
document_properties_page_size_orientation_landscape: "landscape",
document_properties_page_size_name_a3: "A3",
document_properties_page_size_name_a4: "A4",
document_properties_page_size_name_letter: "Letter",
document_properties_page_size_name_legal: "Legal",
document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})",
document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",
document_properties_linearized_yes: "Yes",
document_properties_linearized_no: "No",
print_progress_percent: "{{progress}}%",
"toggle_sidebar.title": "Toggle Sidebar",
"toggle_sidebar_notification2.title": "Toggle Sidebar (document contains outline/attachments/layers)",
additional_layers: "Additional Layers",
page_landmark: "Page {{page}}",
thumb_page_title: "Page {{page}}",
thumb_page_canvas: "Thumbnail of Page {{page}}",
find_reached_top: "Reached top of document, continued from bottom",
find_reached_bottom: "Reached end of document, continued from top",
"find_match_count[one]": "{{current}} of {{total}} match",
"find_match_count[other]": "{{current}} of {{total}} matches",
"find_match_count_limit[one]": "More than {{limit}} match",
"find_match_count_limit[other]": "More than {{limit}} matches",
find_not_found: "Phrase not found",
error_version_info: "PDF.js v{{version}} (build: {{build}})",
error_message: "Message: {{message}}",
error_stack: "Stack: {{stack}}",
error_file: "File: {{file}}",
error_line: "Line: {{line}}",
rendering_error: "An error occurred while rendering the page.",
page_scale_width: "Page Width",
page_scale_fit: "Page Fit",
page_scale_auto: "Automatic Zoom",
page_scale_actual: "Actual Size",
page_scale_percent: "{{scale}}%",
loading: "Loading…",
loading_error: "An error occurred while loading the PDF.",
invalid_file_error: "Invalid or corrupted PDF file.",
missing_file_error: "Missing PDF file.",
unexpected_response_error: "Unexpected server response.",
printing_not_supported: "Warning: Printing is not fully supported by this browser.",
printing_not_ready: "Warning: The PDF is not fully loaded for printing.",
web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts."
};
function getL10nFallback(key, args) {
switch (key) {
case "find_match_count":
key = "find_match_count[".concat(args.total === 1 ? "one" : "other", "]");
break;
case "find_match_count_limit":
key = "find_match_count_limit[".concat(args.limit === 1 ? "one" : "other", "]");
break;
}
return DEFAULT_L10N_STRINGS[key] || "";
}
var PARTIAL_LANG_CODES = {
en: "en-US",
es: "es-ES",
fy: "fy-NL",
ga: "ga-IE",
gu: "gu-IN",
hi: "hi-IN",
hy: "hy-AM",
nb: "nb-NO",
ne: "ne-NP",
nn: "nn-NO",
pa: "pa-IN",
pt: "pt-PT",
sv: "sv-SE",
zh: "zh-CN"
};
function fixupLangCode(langCode) {
return PARTIAL_LANG_CODES[langCode === null || langCode === void 0 ? void 0 : langCode.toLowerCase()] || langCode;
}
function formatL10nValue(text, args) {
if (!args) {
return text;
}
return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) {
return name in args ? args[name] : "{{" + name + "}}";
});
}
var NullL10n = {
getLanguage: function getLanguage() {
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
return _context.abrupt("return", "en-us");
case 1:
case "end":
return _context.stop();
}
}
}, _callee);
}))();
},
getDirection: function getDirection() {
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", "ltr");
case 1:
case "end":
return _context2.stop();
}
}
}, _callee2);
}))();
},
get: function get(key) {
var _arguments = arguments;
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
var args, fallback;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
args = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : null;
fallback = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : getL10nFallback(key, args);
return _context3.abrupt("return", formatL10nValue(fallback, args));
case 3:
case "end":
return _context3.stop();
}
}
}, _callee3);
}))();
},
translate: function translate(element) {
return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
case "end":
return _context4.stop();
}
}
}, _callee4);
}))();
}
};
exports.NullL10n = NullL10n;
/***/ }),
/* 33 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFPageView = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _pdfjsLib = __webpack_require__(7);
var _ui_utils = __webpack_require__(5);
var _app_options = __webpack_require__(1);
var _l10n_utils = __webpack_require__(32);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
var MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216;
var _annotationMode = /*#__PURE__*/new WeakMap();
var PDFPageView = /*#__PURE__*/function () {
function PDFPageView(options) {
var _options$textLayerMod, _options$annotationMo, _options$textHighligh, _this$renderingQueue;
_classCallCheck(this, PDFPageView);
_classPrivateFieldInitSpec(this, _annotationMode, {
writable: true,
value: _pdfjsLib.AnnotationMode.ENABLE_FORMS
});
var container = options.container;
var defaultViewport = options.defaultViewport;
this.id = options.id;
this.renderingId = "page" + this.id;
this.pdfPage = null;
this.pageLabel = null;
this.rotation = 0;
this.scale = options.scale || _ui_utils.DEFAULT_SCALE;
this.viewport = defaultViewport;
this.pdfPageRotate = defaultViewport.rotation;
this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;
this.hasRestrictedScaling = false;
this.textLayerMode = (_options$textLayerMod = options.textLayerMode) !== null && _options$textLayerMod !== void 0 ? _options$textLayerMod : _ui_utils.TextLayerMode.ENABLE;
_classPrivateFieldSet(this, _annotationMode, (_options$annotationMo = options.annotationMode) !== null && _options$annotationMo !== void 0 ? _options$annotationMo : _pdfjsLib.AnnotationMode.ENABLE_FORMS);
this.imageResourcesPath = options.imageResourcesPath || "";
this.useOnlyCssZoom = options.useOnlyCssZoom || false;
this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;
this.eventBus = options.eventBus;
this.renderingQueue = options.renderingQueue;
this.textLayerFactory = options.textLayerFactory;
this.annotationLayerFactory = options.annotationLayerFactory;
this.xfaLayerFactory = options.xfaLayerFactory;
this.textHighlighter = (_options$textHighligh = options.textHighlighterFactory) === null || _options$textHighligh === void 0 ? void 0 : _options$textHighligh.createTextHighlighter(this.id - 1, this.eventBus);
this.structTreeLayerFactory = options.structTreeLayerFactory;
this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
this.l10n = options.l10n || _l10n_utils.NullL10n;
this.paintTask = null;
this.paintedViewportMap = new WeakMap();
this.renderingState = _ui_utils.RenderingStates.INITIAL;
this.resume = null;
this._renderError = null;
this._isStandalone = !((_this$renderingQueue = this.renderingQueue) !== null && _this$renderingQueue !== void 0 && _this$renderingQueue.hasViewer());
this._annotationCanvasMap = null;
this.annotationLayer = null;
this.textLayer = null;
this.zoomLayer = null;
this.xfaLayer = null;
this.structTreeLayer = null;
var div = document.createElement("div");
div.className = "page";
div.style.width = Math.floor(this.viewport.width) + "px";
div.style.height = Math.floor(this.viewport.height) + "px";
div.setAttribute("data-page-number", this.id);
div.setAttribute("role", "region");
this.l10n.get("page_landmark", {
page: this.id
}).then(function (msg) {
div.setAttribute("aria-label", msg);
});
this.div = div;
container === null || container === void 0 ? void 0 : container.appendChild(div);
}
_createClass(PDFPageView, [{
key: "setPdfPage",
value: function setPdfPage(pdfPage) {
this.pdfPage = pdfPage;
this.pdfPageRotate = pdfPage.rotate;
var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
this.viewport = pdfPage.getViewport({
scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,
rotation: totalRotation
});
this.reset();
}
}, {
key: "destroy",
value: function destroy() {
this.reset();
if (this.pdfPage) {
this.pdfPage.cleanup();
}
}
}, {
key: "_renderAnnotationLayer",
value: function () {
var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var error;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
error = null;
_context.prev = 1;
_context.next = 4;
return this.annotationLayer.render(this.viewport, "display");
case 4:
_context.next = 9;
break;
case 6:
_context.prev = 6;
_context.t0 = _context["catch"](1);
error = _context.t0;
case 9:
_context.prev = 9;
this.eventBus.dispatch("annotationlayerrendered", {
source: this,
pageNumber: this.id,
error: error
});
return _context.finish(9);
case 12:
case "end":
return _context.stop();
}
}
}, _callee, this, [[1, 6, 9, 12]]);
}));
function _renderAnnotationLayer() {
return _renderAnnotationLayer2.apply(this, arguments);
}
return _renderAnnotationLayer;
}()
}, {
key: "_renderXfaLayer",
value: function () {
var _renderXfaLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var error, result;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
error = null;
_context2.prev = 1;
_context2.next = 4;
return this.xfaLayer.render(this.viewport, "display");
case 4:
result = _context2.sent;
if (this.textHighlighter) {
this._buildXfaTextContentItems(result.textDivs);
}
_context2.next = 11;
break;
case 8:
_context2.prev = 8;
_context2.t0 = _context2["catch"](1);
error = _context2.t0;
case 11:
_context2.prev = 11;
this.eventBus.dispatch("xfalayerrendered", {
source: this,
pageNumber: this.id,
error: error
});
return _context2.finish(11);
case 14:
case "end":
return _context2.stop();
}
}
}, _callee2, this, [[1, 8, 11, 14]]);
}));
function _renderXfaLayer() {
return _renderXfaLayer2.apply(this, arguments);
}
return _renderXfaLayer;
}()
}, {
key: "_buildXfaTextContentItems",
value: function () {
var _buildXfaTextContentItems2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(textDivs) {
var text, items, _iterator, _step, item;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this.pdfPage.getTextContent();
case 2:
text = _context3.sent;
items = [];
_iterator = _createForOfIteratorHelper(text.items);
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
item = _step.value;
items.push(item.str);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
this.textHighlighter.setTextMapping(textDivs, items);
this.textHighlighter.enable();
case 8:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function _buildXfaTextContentItems(_x) {
return _buildXfaTextContentItems2.apply(this, arguments);
}
return _buildXfaTextContentItems;
}()
}, {
key: "_resetZoomLayer",
value: function _resetZoomLayer() {
var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (!this.zoomLayer) {
return;
}
var zoomLayerCanvas = this.zoomLayer.firstChild;
this.paintedViewportMap["delete"](zoomLayerCanvas);
zoomLayerCanvas.width = 0;
zoomLayerCanvas.height = 0;
if (removeFromDOM) {
this.zoomLayer.remove();
}
this.zoomLayer = null;
}
}, {
key: "reset",
value: function reset() {
var _this$annotationLayer,
_this$xfaLayer,
_this = this;
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$keepZoomLayer = _ref.keepZoomLayer,
keepZoomLayer = _ref$keepZoomLayer === void 0 ? false : _ref$keepZoomLayer,
_ref$keepAnnotationLa = _ref.keepAnnotationLayer,
keepAnnotationLayer = _ref$keepAnnotationLa === void 0 ? false : _ref$keepAnnotationLa,
_ref$keepXfaLayer = _ref.keepXfaLayer,
keepXfaLayer = _ref$keepXfaLayer === void 0 ? false : _ref$keepXfaLayer;
this.cancelRendering({
keepAnnotationLayer: keepAnnotationLayer,
keepXfaLayer: keepXfaLayer
});
this.renderingState = _ui_utils.RenderingStates.INITIAL;
var div = this.div;
div.style.width = Math.floor(this.viewport.width) + "px";
div.style.height = Math.floor(this.viewport.height) + "px";
var childNodes = div.childNodes,
zoomLayerNode = keepZoomLayer && this.zoomLayer || null,
annotationLayerNode = keepAnnotationLayer && ((_this$annotationLayer = this.annotationLayer) === null || _this$annotationLayer === void 0 ? void 0 : _this$annotationLayer.div) || null,
xfaLayerNode = keepXfaLayer && ((_this$xfaLayer = this.xfaLayer) === null || _this$xfaLayer === void 0 ? void 0 : _this$xfaLayer.div) || null;
for (var i = childNodes.length - 1; i >= 0; i--) {
var node = childNodes[i];
switch (node) {
case zoomLayerNode:
case annotationLayerNode:
case xfaLayerNode:
continue;
}
node.remove();
}
div.removeAttribute("data-loaded");
if (annotationLayerNode) {
this.annotationLayer.hide();
}
if (xfaLayerNode) {
this.xfaLayer.hide();
}
if (!zoomLayerNode) {
if (this.canvas) {
this.paintedViewportMap["delete"](this.canvas);
this.canvas.width = 0;
this.canvas.height = 0;
delete this.canvas;
}
this._resetZoomLayer();
}
if (this.svg) {
this.paintedViewportMap["delete"](this.svg);
delete this.svg;
}
this.loadingIconDiv = document.createElement("div");
this.loadingIconDiv.className = "loadingIcon notVisible";
if (this._isStandalone) {
this.toggleLoadingIconSpinner(true);
}
this.loadingIconDiv.setAttribute("role", "img");
this.l10n.get("loading").then(function (msg) {
var _this$loadingIconDiv;
(_this$loadingIconDiv = _this.loadingIconDiv) === null || _this$loadingIconDiv === void 0 ? void 0 : _this$loadingIconDiv.setAttribute("aria-label", msg);
});
div.appendChild(this.loadingIconDiv);
}
}, {
key: "update",
value: function update(_ref2) {
var _ref2$scale = _ref2.scale,
scale = _ref2$scale === void 0 ? 0 : _ref2$scale,
_ref2$rotation = _ref2.rotation,
rotation = _ref2$rotation === void 0 ? null : _ref2$rotation,
_ref2$optionalContent = _ref2.optionalContentConfigPromise,
optionalContentConfigPromise = _ref2$optionalContent === void 0 ? null : _ref2$optionalContent;
this.scale = scale || this.scale;
if (typeof rotation === "number") {
this.rotation = rotation;
}
if (optionalContentConfigPromise instanceof Promise) {
this._optionalContentConfigPromise = optionalContentConfigPromise;
}
var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
var viewportScale = this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;
this.viewport = this.viewport.clone({
scale: viewportScale,
rotation: totalRotation
});
if (this._isStandalone) {
var style = document.documentElement.style;
style.setProperty("--zoom-factor", this.scale);
style.setProperty("--viewport-scale-factor", viewportScale);
}
if (this.svg) {
this.cssTransform({
target: this.svg,
redrawAnnotationLayer: true,
redrawXfaLayer: true
});
this.eventBus.dispatch("pagerendered", {
source: this,
pageNumber: this.id,
cssTransform: true,
timestamp: performance.now(),
error: this._renderError
});
return;
}
var isScalingRestricted = false;
if (this.canvas && this.maxCanvasPixels > 0) {
var outputScale = this.outputScale;
if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {
isScalingRestricted = true;
}
}
if (this.canvas) {
if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {
this.cssTransform({
target: this.canvas,
redrawAnnotationLayer: true,
redrawXfaLayer: true
});
this.eventBus.dispatch("pagerendered", {
source: this,
pageNumber: this.id,
cssTransform: true,
timestamp: performance.now(),
error: this._renderError
});
return;
}
if (!this.zoomLayer && !this.canvas.hidden) {
this.zoomLayer = this.canvas.parentNode;
this.zoomLayer.style.position = "absolute";
}
}
if (this.zoomLayer) {
this.cssTransform({
target: this.zoomLayer.firstChild
});
}
this.reset({
keepZoomLayer: true,
keepAnnotationLayer: true,
keepXfaLayer: true
});
}
}, {
key: "cancelRendering",
value: function cancelRendering() {
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref3$keepAnnotationL = _ref3.keepAnnotationLayer,
keepAnnotationLayer = _ref3$keepAnnotationL === void 0 ? false : _ref3$keepAnnotationL,
_ref3$keepXfaLayer = _ref3.keepXfaLayer,
keepXfaLayer = _ref3$keepXfaLayer === void 0 ? false : _ref3$keepXfaLayer;
if (this.paintTask) {
this.paintTask.cancel();
this.paintTask = null;
}
this.resume = null;
if (this.textLayer) {
this.textLayer.cancel();
this.textLayer = null;
}
if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {
this.annotationLayer.cancel();
this.annotationLayer = null;
this._annotationCanvasMap = null;
}
if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {
var _this$textHighlighter;
this.xfaLayer.cancel();
this.xfaLayer = null;
(_this$textHighlighter = this.textHighlighter) === null || _this$textHighlighter === void 0 ? void 0 : _this$textHighlighter.disable();
}
if (this._onTextLayerRendered) {
this.eventBus._off("textlayerrendered", this._onTextLayerRendered);
this._onTextLayerRendered = null;
}
}
}, {
key: "cssTransform",
value: function cssTransform(_ref4) {
var target = _ref4.target,
_ref4$redrawAnnotatio = _ref4.redrawAnnotationLayer,
redrawAnnotationLayer = _ref4$redrawAnnotatio === void 0 ? false : _ref4$redrawAnnotatio,
_ref4$redrawXfaLayer = _ref4.redrawXfaLayer,
redrawXfaLayer = _ref4$redrawXfaLayer === void 0 ? false : _ref4$redrawXfaLayer;
var width = this.viewport.width;
var height = this.viewport.height;
var div = this.div;
target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px";
target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px";
var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;
var absRotation = Math.abs(relativeRotation);
var scaleX = 1,
scaleY = 1;
if (absRotation === 90 || absRotation === 270) {
scaleX = height / width;
scaleY = width / height;
}
target.style.transform = "rotate(".concat(relativeRotation, "deg) scale(").concat(scaleX, ", ").concat(scaleY, ")");
if (this.textLayer) {
var textLayerViewport = this.textLayer.viewport;
var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;
var textAbsRotation = Math.abs(textRelativeRotation);
var scale = width / textLayerViewport.width;
if (textAbsRotation === 90 || textAbsRotation === 270) {
scale = width / textLayerViewport.height;
}
var textLayerDiv = this.textLayer.textLayerDiv;
var transX, transY;
switch (textAbsRotation) {
case 0:
transX = transY = 0;
break;
case 90:
transX = 0;
transY = "-" + textLayerDiv.style.height;
break;
case 180:
transX = "-" + textLayerDiv.style.width;
transY = "-" + textLayerDiv.style.height;
break;
case 270:
transX = "-" + textLayerDiv.style.width;
transY = 0;
break;
default:
console.error("Bad rotation value.");
break;
}
textLayerDiv.style.transform = "rotate(".concat(textAbsRotation, "deg) ") + "scale(".concat(scale, ") ") + "translate(".concat(transX, ", ").concat(transY, ")");
textLayerDiv.style.transformOrigin = "0% 0%";
}
if (redrawAnnotationLayer && this.annotationLayer) {
this._renderAnnotationLayer();
}
if (redrawXfaLayer && this.xfaLayer) {
this._renderXfaLayer();
}
}
}, {
key: "width",
get: function get() {
return this.viewport.width;
}
}, {
key: "height",
get: function get() {
return this.viewport.height;
}
}, {
key: "getPagePoint",
value: function getPagePoint(x, y) {
return this.viewport.convertToPdfPoint(x, y);
}
}, {
key: "toggleLoadingIconSpinner",
value: function toggleLoadingIconSpinner() {
var _this$loadingIconDiv2;
var viewVisible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
(_this$loadingIconDiv2 = this.loadingIconDiv) === null || _this$loadingIconDiv2 === void 0 ? void 0 : _this$loadingIconDiv2.classList.toggle("notVisible", !viewVisible);
}
}, {
key: "draw",
value: function draw() {
var _this$annotationLayer2,
_this$xfaLayer2,
_this2 = this;
if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {
console.error("Must be in new state before drawing");
this.reset();
}
var div = this.div,
pdfPage = this.pdfPage;
if (!pdfPage) {
this.renderingState = _ui_utils.RenderingStates.FINISHED;
if (this.loadingIconDiv) {
this.loadingIconDiv.remove();
delete this.loadingIconDiv;
}
return Promise.reject(new Error("pdfPage is not loaded"));
}
this.renderingState = _ui_utils.RenderingStates.RUNNING;
var canvasWrapper = document.createElement("div");
canvasWrapper.style.width = div.style.width;
canvasWrapper.style.height = div.style.height;
canvasWrapper.classList.add("canvasWrapper");
if ((_this$annotationLayer2 = this.annotationLayer) !== null && _this$annotationLayer2 !== void 0 && _this$annotationLayer2.div) {
div.insertBefore(canvasWrapper, this.annotationLayer.div);
} else {
div.appendChild(canvasWrapper);
}
var textLayer = null;
if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {
var _this$annotationLayer3;
var textLayerDiv = document.createElement("div");
textLayerDiv.className = "textLayer";
textLayerDiv.style.width = canvasWrapper.style.width;
textLayerDiv.style.height = canvasWrapper.style.height;
if ((_this$annotationLayer3 = this.annotationLayer) !== null && _this$annotationLayer3 !== void 0 && _this$annotationLayer3.div) {
div.insertBefore(textLayerDiv, this.annotationLayer.div);
} else {
div.appendChild(textLayerDiv);
}
textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus, this.textHighlighter);
}
this.textLayer = textLayer;
if (_classPrivateFieldGet(this, _annotationMode) !== _pdfjsLib.AnnotationMode.DISABLE && this.annotationLayerFactory) {
this._annotationCanvasMap || (this._annotationCanvasMap = new Map());
this.annotationLayer || (this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, _classPrivateFieldGet(this, _annotationMode) === _pdfjsLib.AnnotationMode.ENABLE_FORMS, this.l10n, null, null, null, null, this._annotationCanvasMap));
}
if ((_this$xfaLayer2 = this.xfaLayer) !== null && _this$xfaLayer2 !== void 0 && _this$xfaLayer2.div) {
div.appendChild(this.xfaLayer.div);
}
var renderContinueCallback = null;
if (this.renderingQueue) {
renderContinueCallback = function renderContinueCallback(cont) {
if (!_this2.renderingQueue.isHighestPriority(_this2)) {
_this2.renderingState = _ui_utils.RenderingStates.PAUSED;
_this2.resume = function () {
_this2.renderingState = _ui_utils.RenderingStates.RUNNING;
cont();
};
return;
}
cont();
};
}
var finishPaintTask = /*#__PURE__*/function () {
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
var error,
_args4 = arguments;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
error = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : null;
if (paintTask === _this2.paintTask) {
_this2.paintTask = null;
}
if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {
_context4.next = 5;
break;
}
_this2._renderError = null;
return _context4.abrupt("return");
case 5:
_this2._renderError = error;
_this2.renderingState = _ui_utils.RenderingStates.FINISHED;
if (_this2.loadingIconDiv) {
_this2.loadingIconDiv.remove();
delete _this2.loadingIconDiv;
}
_this2._resetZoomLayer(true);
_this2.eventBus.dispatch("pagerendered", {
source: _this2,
pageNumber: _this2.id,
cssTransform: false,
timestamp: performance.now(),
error: _this2._renderError
});
if (!error) {
_context4.next = 12;
break;
}
throw error;
case 12:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
return function finishPaintTask() {
return _ref5.apply(this, arguments);
};
}();
var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);
paintTask.onRenderContinue = renderContinueCallback;
this.paintTask = paintTask;
var resultPromise = paintTask.promise.then(function () {
return finishPaintTask(null).then(function () {
if (textLayer) {
var readableStream = pdfPage.streamTextContent({
includeMarkedContent: true
});
textLayer.setTextContentStream(readableStream);
textLayer.render();
}
if (_this2.annotationLayer) {
_this2._renderAnnotationLayer();
}
});
}, function (reason) {
return finishPaintTask(reason);
});
if (this.xfaLayerFactory) {
if (!this.xfaLayer) {
this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder(div, pdfPage, null);
}
this._renderXfaLayer();
}
if (this.structTreeLayerFactory && this.textLayer && this.canvas) {
this._onTextLayerRendered = function (event) {
if (event.pageNumber !== _this2.id) {
return;
}
_this2.eventBus._off("textlayerrendered", _this2._onTextLayerRendered);
_this2._onTextLayerRendered = null;
if (!_this2.canvas) {
return;
}
_this2.pdfPage.getStructTree().then(function (tree) {
if (!tree) {
return;
}
if (!_this2.canvas) {
return;
}
var treeDom = _this2.structTreeLayer.render(tree);
treeDom.classList.add("structTree");
_this2.canvas.appendChild(treeDom);
});
};
this.eventBus._on("textlayerrendered", this._onTextLayerRendered);
this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder(pdfPage);
}
div.setAttribute("data-loaded", true);
this.eventBus.dispatch("pagerender", {
source: this,
pageNumber: this.id
});
return resultPromise;
}
}, {
key: "paintOnCanvas",
value: function paintOnCanvas(canvasWrapper) {
var renderCapability = (0, _pdfjsLib.createPromiseCapability)();
var result = {
promise: renderCapability.promise,
onRenderContinue: function onRenderContinue(cont) {
cont();
},
cancel: function cancel() {
renderTask.cancel();
}
};
var viewport = this.viewport;
var canvas = document.createElement("canvas");
canvas.hidden = true;
var isCanvasHidden = true;
var showCanvas = function showCanvas() {
if (isCanvasHidden) {
canvas.hidden = false;
isCanvasHidden = false;
}
};
canvasWrapper.appendChild(canvas);
this.canvas = canvas;
canvas.mozOpaque = true;
var ctx = canvas.getContext("2d", {
alpha: false
});
var outputScale = this.outputScale = new _ui_utils.OutputScale();
if (this.useOnlyCssZoom) {
var actualSizeViewport = viewport.clone({
scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS
});
outputScale.sx *= actualSizeViewport.width / viewport.width;
outputScale.sy *= actualSizeViewport.height / viewport.height;
}
if (this.maxCanvasPixels > 0) {
var pixelsInViewport = viewport.width * viewport.height;
var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);
if (outputScale.sx > maxScale || outputScale.sy > maxScale) {
outputScale.sx = maxScale;
outputScale.sy = maxScale;
this.hasRestrictedScaling = true;
} else {
this.hasRestrictedScaling = false;
}
}
var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);
var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);
canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);
canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);
canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px";
canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px";
this.paintedViewportMap.set(canvas, viewport);
var transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;
var renderContext = {
canvasContext: ctx,
transform: transform,
viewport: this.viewport,
annotationMode: _classPrivateFieldGet(this, _annotationMode),
optionalContentConfigPromise: this._optionalContentConfigPromise,
annotationCanvasMap: this._annotationCanvasMap
};
var renderTask = this.pdfPage.render(renderContext);
renderTask.onContinue = function (cont) {
showCanvas();
if (result.onRenderContinue) {
result.onRenderContinue(cont);
} else {
cont();
}
};
renderTask.promise.then(function () {
showCanvas();
renderCapability.resolve();
}, function (error) {
showCanvas();
renderCapability.reject(error);
});
return result;
}
}, {
key: "paintOnSvg",
value: function paintOnSvg(wrapper) {
var _this3 = this;
var cancelled = false;
var ensureNotCancelled = function ensureNotCancelled() {
if (cancelled) {
throw new _pdfjsLib.RenderingCancelledException("Rendering cancelled, page ".concat(_this3.id), "svg");
}
};
var pdfPage = this.pdfPage;
var actualSizeViewport = this.viewport.clone({
scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS
});
var promise = pdfPage.getOperatorList({
annotationMode: _classPrivateFieldGet(this, _annotationMode)
}).then(function (opList) {
ensureNotCancelled();
var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);
return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {
ensureNotCancelled();
_this3.svg = svg;
_this3.paintedViewportMap.set(svg, actualSizeViewport);
svg.style.width = wrapper.style.width;
svg.style.height = wrapper.style.height;
_this3.renderingState = _ui_utils.RenderingStates.FINISHED;
wrapper.appendChild(svg);
});
});
return {
promise: promise,
onRenderContinue: function onRenderContinue(cont) {
cont();
},
cancel: function cancel() {
cancelled = true;
}
};
}
}, {
key: "setPageLabel",
value: function setPageLabel(label) {
this.pageLabel = typeof label === "string" ? label : null;
if (this.pageLabel !== null) {
this.div.setAttribute("data-page-label", this.pageLabel);
} else {
this.div.removeAttribute("data-page-label");
}
}
}]);
return PDFPageView;
}();
exports.PDFPageView = PDFPageView;
/***/ }),
/* 34 */
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.StructTreeLayerBuilder = void 0;
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var PDF_ROLE_TO_HTML_ROLE = {
Document: null,
DocumentFragment: null,
Part: "group",
Sect: "group",
Div: "group",
Aside: "note",
NonStruct: "none",
P: null,
H: "heading",
Title: null,
FENote: "note",
Sub: "group",
Lbl: null,
Span: null,
Em: null,
Strong: null,
Link: "link",
Annot: "note",
Form: "form",
Ruby: null,
RB: null,
RT: null,
RP: null,
Warichu: null,
WT: null,
WP: null,
L: "list",
LI: "listitem",
LBody: null,
Table: "table",
TR: "row",
TH: "columnheader",
TD: "cell",
THead: "columnheader",
TBody: null,
TFoot: null,
Caption: null,
Figure: "figure",
Formula: null,
Artifact: null
};
var HEADING_PATTERN = /^H(\d+)$/;
var StructTreeLayerBuilder = /*#__PURE__*/function () {
function StructTreeLayerBuilder(_ref) {
var pdfPage = _ref.pdfPage;
_classCallCheck(this, StructTreeLayerBuilder);
this.pdfPage = pdfPage;
}
_createClass(StructTreeLayerBuilder, [{
key: "render",
value: function render(structTree) {
return this._walk(structTree);
}
}, {
key: "_setAttributes",
value: function _setAttributes(structElement, htmlElement) {
if (structElement.alt !== undefined) {
htmlElement.setAttribute("aria-label", structElement.alt);
}
if (structElement.id !== undefined) {
htmlElement.setAttribute("aria-owns", structElement.id);
}
if (structElement.lang !== undefined) {
htmlElement.setAttribute("lang", structElement.lang);
}
}
}, {
key: "_walk",
value: function _walk(node) {
if (!node) {
return null;
}
var element = document.createElement("span");
if ("role" in node) {
var role = node.role;
var match = role.match(HEADING_PATTERN);
if (match) {
element.setAttribute("role", "heading");
element.setAttribute("aria-level", match[1]);
} else if (PDF_ROLE_TO_HTML_ROLE[role]) {
element.setAttribute("role", PDF_ROLE_TO_HTML_ROLE[role]);
}
}
this._setAttributes(node, element);
if (node.children) {
if (node.children.length === 1 && "id" in node.children[0]) {
this._setAttributes(node.children[0], element);
} else {
var _iterator = _createForOfIteratorHelper(node.children),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var kid = _step.value;
element.appendChild(this._walk(kid));
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
}
return element;
}
}]);
return StructTreeLayerBuilder;
}();
exports.StructTreeLayerBuilder = StructTreeLayerBuilder;
/***/ }),
/* 35 */
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.TextHighlighter = void 0;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var TextHighlighter = /*#__PURE__*/function () {
function TextHighlighter(_ref) {
var findController = _ref.findController,
eventBus = _ref.eventBus,
pageIndex = _ref.pageIndex;
_classCallCheck(this, TextHighlighter);
this.findController = findController;
this.matches = [];
this.eventBus = eventBus;
this.pageIdx = pageIndex;
this._onUpdateTextLayerMatches = null;
this.textDivs = null;
this.textContentItemsStr = null;
this.enabled = false;
}
_createClass(TextHighlighter, [{
key: "setTextMapping",
value: function setTextMapping(divs, texts) {
this.textDivs = divs;
this.textContentItemsStr = texts;
}
}, {
key: "enable",
value: function enable() {
var _this = this;
if (!this.textDivs || !this.textContentItemsStr) {
throw new Error("Text divs and strings have not been set.");
}
if (this.enabled) {
throw new Error("TextHighlighter is already enabled.");
}
this.enabled = true;
if (!this._onUpdateTextLayerMatches) {
this._onUpdateTextLayerMatches = function (evt) {
if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {
_this._updateMatches();
}
};
this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches);
}
this._updateMatches();
}
}, {
key: "disable",
value: function disable() {
if (!this.enabled) {
return;
}
this.enabled = false;
if (this._onUpdateTextLayerMatches) {
this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches);
this._onUpdateTextLayerMatches = null;
}
}
}, {
key: "_convertMatches",
value: function _convertMatches(matches, matchesLength) {
if (!matches) {
return [];
}
var textContentItemsStr = this.textContentItemsStr;
var i = 0,
iIndex = 0;
var end = textContentItemsStr.length - 1;
var result = [];
for (var m = 0, mm = matches.length; m < mm; m++) {
var matchIdx = matches[m];
while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
iIndex += textContentItemsStr[i].length;
i++;
}
if (i === textContentItemsStr.length) {
console.error("Could not find a matching mapping");
}
var match = {
begin: {
divIdx: i,
offset: matchIdx - iIndex
}
};
matchIdx += matchesLength[m];
while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {
iIndex += textContentItemsStr[i].length;
i++;
}
match.end = {
divIdx: i,
offset: matchIdx - iIndex
};
result.push(match);
}
return result;
}
}, {
key: "_renderMatches",
value: function _renderMatches(matches) {
if (matches.length === 0) {
return;
}
var findController = this.findController,
pageIdx = this.pageIdx;
var textContentItemsStr = this.textContentItemsStr,
textDivs = this.textDivs;
var isSelectedPage = pageIdx === findController.selected.pageIdx;
var selectedMatchIdx = findController.selected.matchIdx;
var highlightAll = findController.state.highlightAll;
var prevEnd = null;
var infinity = {
divIdx: -1,
offset: undefined
};
function beginText(begin, className) {
var divIdx = begin.divIdx;
textDivs[divIdx].textContent = "";
return appendTextToDiv(divIdx, 0, begin.offset, className);
}
function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
var div = textDivs[divIdx];
if (div.nodeType === Node.TEXT_NODE) {
var span = document.createElement("span");
div.parentNode.insertBefore(span, div);
span.appendChild(div);
textDivs[divIdx] = span;
div = span;
}
var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
var node = document.createTextNode(content);
if (className) {
var _span = document.createElement("span");
_span.className = "".concat(className, " appended");
_span.appendChild(node);
div.appendChild(_span);
return className.includes("selected") ? _span.offsetLeft : 0;
}
div.appendChild(node);
return 0;
}
var i0 = selectedMatchIdx,
i1 = i0 + 1;
if (highlightAll) {
i0 = 0;
i1 = matches.length;
} else if (!isSelectedPage) {
return;
}
for (var i = i0; i < i1; i++) {
var match = matches[i];
var begin = match.begin;
var end = match.end;
var isSelected = isSelectedPage && i === selectedMatchIdx;
var highlightSuffix = isSelected ? " selected" : "";
var selectedLeft = 0;
if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
if (prevEnd !== null) {
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
}
beginText(begin);
} else {
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
}
if (begin.divIdx === end.divIdx) {
selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix);
} else {
selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix);
for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
textDivs[n0].className = "highlight middle" + highlightSuffix;
}
beginText(end, "highlight end" + highlightSuffix);
}
prevEnd = end;
if (isSelected) {
findController.scrollMatchIntoView({
element: textDivs[begin.divIdx],
selectedLeft: selectedLeft,
pageIndex: pageIdx,
matchIndex: selectedMatchIdx
});
}
}
if (prevEnd) {
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
}
}
}, {
key: "_updateMatches",
value: function _updateMatches() {
if (!this.enabled) {
return;
}
var findController = this.findController,
matches = this.matches,
pageIdx = this.pageIdx;
var textContentItemsStr = this.textContentItemsStr,
textDivs = this.textDivs;
var clearedUntilDivIdx = -1;
for (var i = 0, ii = matches.length; i < ii; i++) {
var match = matches[i];
var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);
for (var n = begin, end = match.end.divIdx; n <= end; n++) {
var div = textDivs[n];
div.textContent = textContentItemsStr[n];
div.className = "";
}
clearedUntilDivIdx = match.end.divIdx + 1;
}
if (!(findController !== null && findController !== void 0 && findController.highlightMatches)) {
return;
}
var pageMatches = findController.pageMatches[pageIdx] || null;
var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
this.matches = this._convertMatches(pageMatches, pageMatchesLength);
this._renderMatches(this.matches);
}
}]);
return TextHighlighter;
}();
exports.TextHighlighter = TextHighlighter;
/***/ }),
/* 36 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.TextLayerBuilder = void 0;
var _pdfjsLib = __webpack_require__(7);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var EXPAND_DIVS_TIMEOUT = 300;
var TextLayerBuilder = /*#__PURE__*/function () {
function TextLayerBuilder(_ref) {
var textLayerDiv = _ref.textLayerDiv,
eventBus = _ref.eventBus,
pageIndex = _ref.pageIndex,
viewport = _ref.viewport,
_ref$highlighter = _ref.highlighter,
highlighter = _ref$highlighter === void 0 ? null : _ref$highlighter,
_ref$enhanceTextSelec = _ref.enhanceTextSelection,
enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;
_classCallCheck(this, TextLayerBuilder);
this.textLayerDiv = textLayerDiv;
this.eventBus = eventBus;
this.textContent = null;
this.textContentItemsStr = [];
this.textContentStream = null;
this.renderingDone = false;
this.pageNumber = pageIndex + 1;
this.viewport = viewport;
this.textDivs = [];
this.textLayerRenderTask = null;
this.highlighter = highlighter;
this.enhanceTextSelection = enhanceTextSelection;
this._bindMouse();
}
_createClass(TextLayerBuilder, [{
key: "_finishRendering",
value: function _finishRendering() {
this.renderingDone = true;
if (!this.enhanceTextSelection) {
var endOfContent = document.createElement("div");
endOfContent.className = "endOfContent";
this.textLayerDiv.appendChild(endOfContent);
}
this.eventBus.dispatch("textlayerrendered", {
source: this,
pageNumber: this.pageNumber,
numTextDivs: this.textDivs.length
});
}
}, {
key: "render",
value: function render() {
var _this$highlighter,
_this = this;
var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
if (!(this.textContent || this.textContentStream) || this.renderingDone) {
return;
}
this.cancel();
this.textDivs.length = 0;
(_this$highlighter = this.highlighter) === null || _this$highlighter === void 0 ? void 0 : _this$highlighter.setTextMapping(this.textDivs, this.textContentItemsStr);
var textLayerFrag = document.createDocumentFragment();
this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({
textContent: this.textContent,
textContentStream: this.textContentStream,
container: textLayerFrag,
viewport: this.viewport,
textDivs: this.textDivs,
textContentItemsStr: this.textContentItemsStr,
timeout: timeout,
enhanceTextSelection: this.enhanceTextSelection
});
this.textLayerRenderTask.promise.then(function () {
var _this$highlighter2;
_this.textLayerDiv.appendChild(textLayerFrag);
_this._finishRendering();
(_this$highlighter2 = _this.highlighter) === null || _this$highlighter2 === void 0 ? void 0 : _this$highlighter2.enable();
}, function (reason) {});
}
}, {
key: "cancel",
value: function cancel() {
var _this$highlighter3;
if (this.textLayerRenderTask) {
this.textLayerRenderTask.cancel();
this.textLayerRenderTask = null;
}
(_this$highlighter3 = this.highlighter) === null || _this$highlighter3 === void 0 ? void 0 : _this$highlighter3.disable();
}
}, {
key: "setTextContentStream",
value: function setTextContentStream(readableStream) {
this.cancel();
this.textContentStream = readableStream;
}
}, {
key: "setTextContent",
value: function setTextContent(textContent) {
this.cancel();
this.textContent = textContent;
}
}, {
key: "_bindMouse",
value: function _bindMouse() {
var _this2 = this;
var div = this.textLayerDiv;
var expandDivsTimer = null;
div.addEventListener("mousedown", function (evt) {
if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
_this2.textLayerRenderTask.expandTextDivs(true);
if (expandDivsTimer) {
clearTimeout(expandDivsTimer);
expandDivsTimer = null;
}
return;
}
var end = div.querySelector(".endOfContent");
if (!end) {
return;
}
var adjustTop = evt.target !== div;
adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none";
if (adjustTop) {
var divBounds = div.getBoundingClientRect();
var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
end.style.top = (r * 100).toFixed(2) + "%";
}
end.classList.add("active");
});
div.addEventListener("mouseup", function () {
if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
expandDivsTimer = setTimeout(function () {
if (_this2.textLayerRenderTask) {
_this2.textLayerRenderTask.expandTextDivs(false);
}
expandDivsTimer = null;
}, EXPAND_DIVS_TIMEOUT);
return;
}
var end = div.querySelector(".endOfContent");
if (!end) {
return;
}
end.style.top = "";
end.classList.remove("active");
});
}
}]);
return TextLayerBuilder;
}();
exports.TextLayerBuilder = TextLayerBuilder;
/***/ }),
/* 37 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.XfaLayerBuilder = void 0;
var _pdfjsLib = __webpack_require__(7);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var XfaLayerBuilder = /*#__PURE__*/function () {
function XfaLayerBuilder(_ref) {
var pageDiv = _ref.pageDiv,
pdfPage = _ref.pdfPage,
_ref$annotationStorag = _ref.annotationStorage,
annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,
linkService = _ref.linkService,
_ref$xfaHtml = _ref.xfaHtml,
xfaHtml = _ref$xfaHtml === void 0 ? null : _ref$xfaHtml;
_classCallCheck(this, XfaLayerBuilder);
this.pageDiv = pageDiv;
this.pdfPage = pdfPage;
this.annotationStorage = annotationStorage;
this.linkService = linkService;
this.xfaHtml = xfaHtml;
this.div = null;
this._cancelled = false;
}
_createClass(XfaLayerBuilder, [{
key: "render",
value: function render(viewport) {
var _this = this;
var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display";
if (intent === "print") {
var parameters = {
viewport: viewport.clone({
dontFlip: true
}),
div: this.div,
xfaHtml: this.xfaHtml,
annotationStorage: this.annotationStorage,
linkService: this.linkService,
intent: intent
};
var div = document.createElement("div");
this.pageDiv.appendChild(div);
parameters.div = div;
var result = _pdfjsLib.XfaLayer.render(parameters);
return Promise.resolve(result);
}
return this.pdfPage.getXfa().then(function (xfaHtml) {
if (_this._cancelled || !xfaHtml) {
return {
textDivs: []
};
}
var parameters = {
viewport: viewport.clone({
dontFlip: true
}),
div: _this.div,
xfaHtml: xfaHtml,
annotationStorage: _this.annotationStorage,
linkService: _this.linkService,
intent: intent
};
if (_this.div) {
return _pdfjsLib.XfaLayer.update(parameters);
}
_this.div = document.createElement("div");
_this.pageDiv.appendChild(_this.div);
parameters.div = _this.div;
return _pdfjsLib.XfaLayer.render(parameters);
})["catch"](function (error) {
console.error(error);
});
}
}, {
key: "cancel",
value: function cancel() {
this._cancelled = true;
}
}, {
key: "hide",
value: function hide() {
if (!this.div) {
return;
}
this.div.hidden = true;
}
}]);
return XfaLayerBuilder;
}();
exports.XfaLayerBuilder = XfaLayerBuilder;
/***/ }),
/* 38 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.SecondaryToolbar = void 0;
var _ui_utils = __webpack_require__(5);
var _pdf_cursor_tools = __webpack_require__(8);
var _base_viewer = __webpack_require__(30);
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
var _updateUIState = /*#__PURE__*/new WeakSet();
var _bindClickListeners = /*#__PURE__*/new WeakSet();
var _bindCursorToolsListener = /*#__PURE__*/new WeakSet();
var _bindScrollModeListener = /*#__PURE__*/new WeakSet();
var _bindSpreadModeListener = /*#__PURE__*/new WeakSet();
var _setMaxHeight = /*#__PURE__*/new WeakSet();
var SecondaryToolbar = /*#__PURE__*/function () {
function SecondaryToolbar(options, mainContainer, eventBus) {
_classCallCheck(this, SecondaryToolbar);
_classPrivateMethodInitSpec(this, _setMaxHeight);
_classPrivateMethodInitSpec(this, _bindSpreadModeListener);
_classPrivateMethodInitSpec(this, _bindScrollModeListener);
_classPrivateMethodInitSpec(this, _bindCursorToolsListener);
_classPrivateMethodInitSpec(this, _bindClickListeners);
_classPrivateMethodInitSpec(this, _updateUIState);
this.toolbar = options.toolbar;
this.toggleButton = options.toggleButton;
this.toolbarButtonContainer = options.toolbarButtonContainer;
this.buttons = [{
element: options.presentationModeButton,
eventName: "presentationmode",
close: true
}, {
element: options.openFileButton,
eventName: "openfile",
close: true
}, {
element: options.printButton,
eventName: "print",
close: true
}, {
element: options.downloadButton,
eventName: "download",
close: true
}, {
element: options.viewBookmarkButton,
eventName: null,
close: true
}, {
element: options.firstPageButton,
eventName: "firstpage",
close: true
}, {
element: options.lastPageButton,
eventName: "lastpage",
close: true
}, {
element: options.pageRotateCwButton,
eventName: "rotatecw",
close: false
}, {
element: options.pageRotateCcwButton,
eventName: "rotateccw",
close: false
}, {
element: options.cursorSelectToolButton,
eventName: "switchcursortool",
eventDetails: {
tool: _pdf_cursor_tools.CursorTool.SELECT
},
close: true
}, {
element: options.cursorHandToolButton,
eventName: "switchcursortool",
eventDetails: {
tool: _pdf_cursor_tools.CursorTool.HAND
},
close: true
}, {
element: options.scrollPageButton,
eventName: "switchscrollmode",
eventDetails: {
mode: _ui_utils.ScrollMode.PAGE
},
close: true
}, {
element: options.scrollVerticalButton,
eventName: "switchscrollmode",
eventDetails: {
mode: _ui_utils.ScrollMode.VERTICAL
},
close: true
}, {
element: options.scrollHorizontalButton,
eventName: "switchscrollmode",
eventDetails: {
mode: _ui_utils.ScrollMode.HORIZONTAL
},
close: true
}, {
element: options.scrollWrappedButton,
eventName: "switchscrollmode",
eventDetails: {
mode: _ui_utils.ScrollMode.WRAPPED
},
close: true
}, {
element: options.spreadNoneButton,
eventName: "switchspreadmode",
eventDetails: {
mode: _ui_utils.SpreadMode.NONE
},
close: true
}, {
element: options.spreadOddButton,
eventName: "switchspreadmode",
eventDetails: {
mode: _ui_utils.SpreadMode.ODD
},
close: true
}, {
element: options.spreadEvenButton,
eventName: "switchspreadmode",
eventDetails: {
mode: _ui_utils.SpreadMode.EVEN
},
close: true
}, {
element: options.documentPropertiesButton,
eventName: "documentproperties",
close: true
}];
this.items = {
firstPage: options.firstPageButton,
lastPage: options.lastPageButton,
pageRotateCw: options.pageRotateCwButton,
pageRotateCcw: options.pageRotateCcwButton
};
this.mainContainer = mainContainer;
this.eventBus = eventBus;
this.opened = false;
this.containerHeight = null;
this.previousContainerHeight = null;
this.reset();
_classPrivateMethodGet(this, _bindClickListeners, _bindClickListeners2).call(this);
_classPrivateMethodGet(this, _bindCursorToolsListener, _bindCursorToolsListener2).call(this, options);
_classPrivateMethodGet(this, _bindScrollModeListener, _bindScrollModeListener2).call(this, options);
_classPrivateMethodGet(this, _bindSpreadModeListener, _bindSpreadModeListener2).call(this, options);
this.eventBus._on("resize", _classPrivateMethodGet(this, _setMaxHeight, _setMaxHeight2).bind(this));
}
_createClass(SecondaryToolbar, [{
key: "isOpen",
get: function get() {
return this.opened;
}
}, {
key: "setPageNumber",
value: function setPageNumber(pageNumber) {
this.pageNumber = pageNumber;
_classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this);
}
}, {
key: "setPagesCount",
value: function setPagesCount(pagesCount) {
this.pagesCount = pagesCount;
_classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this);
}
}, {
key: "reset",
value: function reset() {
this.pageNumber = 0;
this.pagesCount = 0;
_classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this);
this.eventBus.dispatch("secondarytoolbarreset", {
source: this
});
}
}, {
key: "open",
value: function open() {
if (this.opened) {
return;
}
this.opened = true;
_classPrivateMethodGet(this, _setMaxHeight, _setMaxHeight2).call(this);
this.toggleButton.classList.add("toggled");
this.toggleButton.setAttribute("aria-expanded", "true");
this.toolbar.classList.remove("hidden");
}
}, {
key: "close",
value: function close() {
if (!this.opened) {
return;
}
this.opened = false;
this.toolbar.classList.add("hidden");
this.toggleButton.classList.remove("toggled");
this.toggleButton.setAttribute("aria-expanded", "false");
}
}, {
key: "toggle",
value: function toggle() {
if (this.opened) {
this.close();
} else {
this.open();
}
}
}]);
return SecondaryToolbar;
}();
exports.SecondaryToolbar = SecondaryToolbar;
function _updateUIState2() {
this.items.firstPage.disabled = this.pageNumber <= 1;
this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
this.items.pageRotateCw.disabled = this.pagesCount === 0;
this.items.pageRotateCcw.disabled = this.pagesCount === 0;
}
function _bindClickListeners2() {
var _this = this;
this.toggleButton.addEventListener("click", this.toggle.bind(this));
var _iterator = _createForOfIteratorHelper(this.buttons),
_step;
try {
var _loop = function _loop() {
var _step$value = _step.value,
element = _step$value.element,
eventName = _step$value.eventName,
close = _step$value.close,
eventDetails = _step$value.eventDetails;
element.addEventListener("click", function (evt) {
if (eventName !== null) {
var details = {
source: _this
};
for (var property in eventDetails) {
details[property] = eventDetails[property];
}
_this.eventBus.dispatch(eventName, details);
}
if (close) {
_this.close();
}
});
};
for (_iterator.s(); !(_step = _iterator.n()).done;) {
_loop();
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
function _bindCursorToolsListener2(buttons) {
this.eventBus._on("cursortoolchanged", function (_ref) {
var tool = _ref.tool;
buttons.cursorSelectToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.SELECT);
buttons.cursorHandToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.HAND);
});
}
function _bindScrollModeListener2(buttons) {
var _this2 = this;
var scrollModeChanged = function scrollModeChanged(_ref2) {
var mode = _ref2.mode;
buttons.scrollPageButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.PAGE);
buttons.scrollVerticalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.VERTICAL);
buttons.scrollHorizontalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.HORIZONTAL);
buttons.scrollWrappedButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.WRAPPED);
var forceScrollModePage = _this2.pagesCount > _base_viewer.PagesCountLimit.FORCE_SCROLL_MODE_PAGE;
buttons.scrollPageButton.disabled = forceScrollModePage;
buttons.scrollVerticalButton.disabled = forceScrollModePage;
buttons.scrollHorizontalButton.disabled = forceScrollModePage;
buttons.scrollWrappedButton.disabled = forceScrollModePage;
var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
buttons.spreadOddButton.disabled = isScrollModeHorizontal;
buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
};
this.eventBus._on("scrollmodechanged", scrollModeChanged);
this.eventBus._on("secondarytoolbarreset", function (evt) {
if (evt.source === _this2) {
scrollModeChanged({
mode: _ui_utils.ScrollMode.VERTICAL
});
}
});
}
function _bindSpreadModeListener2(buttons) {
var _this3 = this;
function spreadModeChanged(_ref3) {
var mode = _ref3.mode;
buttons.spreadNoneButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.NONE);
buttons.spreadOddButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.ODD);
buttons.spreadEvenButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.EVEN);
}
this.eventBus._on("spreadmodechanged", spreadModeChanged);
this.eventBus._on("secondarytoolbarreset", function (evt) {
if (evt.source === _this3) {
spreadModeChanged({
mode: _ui_utils.SpreadMode.NONE
});
}
});
}
function _setMaxHeight2() {
if (!this.opened) {
return;
}
this.containerHeight = this.mainContainer.clientHeight;
if (this.containerHeight === this.previousContainerHeight) {
return;
}
this.toolbarButtonContainer.style.maxHeight = "".concat(this.containerHeight - _ui_utils.SCROLLBAR_PADDING, "px");
this.previousContainerHeight = this.containerHeight;
}
/***/ }),
/* 39 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Toolbar = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _ui_utils = __webpack_require__(5);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading";
var Toolbar = /*#__PURE__*/function () {
function Toolbar(options, eventBus, l10n) {
_classCallCheck(this, Toolbar);
this.toolbar = options.container;
this.eventBus = eventBus;
this.l10n = l10n;
this.buttons = [{
element: options.previous,
eventName: "previouspage"
}, {
element: options.next,
eventName: "nextpage"
}, {
element: options.zoomIn,
eventName: "zoomin"
}, {
element: options.zoomOut,
eventName: "zoomout"
}, {
element: options.openFile,
eventName: "openfile"
}, {
element: options.print,
eventName: "print"
}, {
element: options.presentationModeButton,
eventName: "presentationmode"
}, {
element: options.download,
eventName: "download"
}, {
element: options.viewBookmark,
eventName: null
}];
this.items = {
numPages: options.numPages,
pageNumber: options.pageNumber,
scaleSelect: options.scaleSelect,
customScaleOption: options.customScaleOption,
previous: options.previous,
next: options.next,
zoomIn: options.zoomIn,
zoomOut: options.zoomOut
};
this._wasLocalized = false;
this.reset();
this._bindListeners();
}
_createClass(Toolbar, [{
key: "setPageNumber",
value: function setPageNumber(pageNumber, pageLabel) {
this.pageNumber = pageNumber;
this.pageLabel = pageLabel;
this._updateUIState(false);
}
}, {
key: "setPagesCount",
value: function setPagesCount(pagesCount, hasPageLabels) {
this.pagesCount = pagesCount;
this.hasPageLabels = hasPageLabels;
this._updateUIState(true);
}
}, {
key: "setPageScale",
value: function setPageScale(pageScaleValue, pageScale) {
this.pageScaleValue = (pageScaleValue || pageScale).toString();
this.pageScale = pageScale;
this._updateUIState(false);
}
}, {
key: "reset",
value: function reset() {
this.pageNumber = 0;
this.pageLabel = null;
this.hasPageLabels = false;
this.pagesCount = 0;
this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
this.pageScale = _ui_utils.DEFAULT_SCALE;
this._updateUIState(true);
this.updateLoadingIndicatorState();
}
}, {
key: "_bindListeners",
value: function _bindListeners() {
var _this = this;
var _this$items = this.items,
pageNumber = _this$items.pageNumber,
scaleSelect = _this$items.scaleSelect;
var self = this;
var _iterator = _createForOfIteratorHelper(this.buttons),
_step;
try {
var _loop = function _loop() {
var _step$value = _step.value,
element = _step$value.element,
eventName = _step$value.eventName;
element.addEventListener("click", function (evt) {
if (eventName !== null) {
_this.eventBus.dispatch(eventName, {
source: _this
});
}
});
};
for (_iterator.s(); !(_step = _iterator.n()).done;) {
_loop();
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
pageNumber.addEventListener("click", function () {
this.select();
});
pageNumber.addEventListener("change", function () {
self.eventBus.dispatch("pagenumberchanged", {
source: self,
value: this.value
});
});
scaleSelect.addEventListener("change", function () {
if (this.value === "custom") {
return;
}
self.eventBus.dispatch("scalechanged", {
source: self,
value: this.value
});
});
scaleSelect.addEventListener("click", function (evt) {
var target = evt.target;
if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") {
this.blur();
}
});
scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
this.eventBus._on("localized", function () {
_this._wasLocalized = true;
_this._adjustScaleWidth();
_this._updateUIState(true);
});
}
}, {
key: "_updateUIState",
value: function _updateUIState() {
var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (!this._wasLocalized) {
return;
}
var pageNumber = this.pageNumber,
pagesCount = this.pagesCount,
pageScaleValue = this.pageScaleValue,
pageScale = this.pageScale,
items = this.items;
if (resetNumPages) {
if (this.hasPageLabels) {
items.pageNumber.type = "text";
} else {
items.pageNumber.type = "number";
this.l10n.get("of_pages", {
pagesCount: pagesCount
}).then(function (msg) {
items.numPages.textContent = msg;
});
}
items.pageNumber.max = pagesCount;
}
if (this.hasPageLabels) {
items.pageNumber.value = this.pageLabel;
this.l10n.get("page_of_pages", {
pageNumber: pageNumber,
pagesCount: pagesCount
}).then(function (msg) {
items.numPages.textContent = msg;
});
} else {
items.pageNumber.value = pageNumber;
}
items.previous.disabled = pageNumber <= 1;
items.next.disabled = pageNumber >= pagesCount;
items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
this.l10n.get("page_scale_percent", {
scale: Math.round(pageScale * 10000) / 100
}).then(function (msg) {
var predefinedValueFound = false;
var _iterator2 = _createForOfIteratorHelper(items.scaleSelect.options),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var option = _step2.value;
if (option.value !== pageScaleValue) {
option.selected = false;
continue;
}
option.selected = true;
predefinedValueFound = true;
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
if (!predefinedValueFound) {
items.customScaleOption.textContent = msg;
items.customScaleOption.selected = true;
}
});
}
}, {
key: "updateLoadingIndicatorState",
value: function updateLoadingIndicatorState() {
var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var pageNumberInput = this.items.pageNumber;
pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
}
}, {
key: "_adjustScaleWidth",
value: function () {
var _adjustScaleWidth2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var items, l10n, predefinedValuesPromise, style, scaleSelectContainerWidth, scaleSelectOverflow, canvas, ctx, maxWidth, _iterator3, _step3, predefinedValue, _ctx$measureText, width, doc;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
items = this.items, l10n = this.l10n;
predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto"), l10n.get("page_scale_actual"), l10n.get("page_scale_fit"), l10n.get("page_scale_width")]);
style = getComputedStyle(items.scaleSelect), scaleSelectContainerWidth = parseInt(style.getPropertyValue("--scale-select-container-width"), 10), scaleSelectOverflow = parseInt(style.getPropertyValue("--scale-select-overflow"), 10);
canvas = document.createElement("canvas");
canvas.mozOpaque = true;
ctx = canvas.getContext("2d", {
alpha: false
});
_context.next = 8;
return _ui_utils.animationStarted;
case 8:
ctx.font = "".concat(style.fontSize, " ").concat(style.fontFamily);
maxWidth = 0;
_context.t0 = _createForOfIteratorHelper;
_context.next = 13;
return predefinedValuesPromise;
case 13:
_context.t1 = _context.sent;
_iterator3 = (0, _context.t0)(_context.t1);
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
predefinedValue = _step3.value;
_ctx$measureText = ctx.measureText(predefinedValue), width = _ctx$measureText.width;
if (width > maxWidth) {
maxWidth = width;
}
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
maxWidth += 2 * scaleSelectOverflow;
if (maxWidth > scaleSelectContainerWidth) {
doc = document.documentElement;
doc.style.setProperty("--scale-select-container-width", "".concat(maxWidth, "px"));
}
canvas.width = 0;
canvas.height = 0;
canvas = ctx = null;
case 21:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function _adjustScaleWidth() {
return _adjustScaleWidth2.apply(this, arguments);
}
return _adjustScaleWidth;
}()
}]);
return Toolbar;
}();
exports.Toolbar = Toolbar;
/***/ }),
/* 40 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.ViewHistory = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
var ViewHistory = /*#__PURE__*/function () {
function ViewHistory(fingerprint) {
var _this = this;
var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE;
_classCallCheck(this, ViewHistory);
this.fingerprint = fingerprint;
this.cacheSize = cacheSize;
this._initializedPromise = this._readFromStorage().then(function (databaseStr) {
var database = JSON.parse(databaseStr || "{}");
var index = -1;
if (!Array.isArray(database.files)) {
database.files = [];
} else {
while (database.files.length >= _this.cacheSize) {
database.files.shift();
}
for (var i = 0, ii = database.files.length; i < ii; i++) {
var branch = database.files[i];
if (branch.fingerprint === _this.fingerprint) {
index = i;
break;
}
}
}
if (index === -1) {
index = database.files.push({
fingerprint: _this.fingerprint
}) - 1;
}
_this.file = database.files[index];
_this.database = database;
});
}
_createClass(ViewHistory, [{
key: "_writeToStorage",
value: function () {
var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var databaseStr;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
databaseStr = JSON.stringify(this.database);
localStorage.setItem("pdfjs.history", databaseStr);
case 2:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function _writeToStorage() {
return _writeToStorage2.apply(this, arguments);
}
return _writeToStorage;
}()
}, {
key: "_readFromStorage",
value: function () {
var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", localStorage.getItem("pdfjs.history"));
case 1:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function _readFromStorage() {
return _readFromStorage2.apply(this, arguments);
}
return _readFromStorage;
}()
}, {
key: "set",
value: function () {
var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name, val) {
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this._initializedPromise;
case 2:
this.file[name] = val;
return _context3.abrupt("return", this._writeToStorage());
case 4:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function set(_x, _x2) {
return _set.apply(this, arguments);
}
return set;
}()
}, {
key: "setMultiple",
value: function () {
var _setMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(properties) {
var name;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return this._initializedPromise;
case 2:
for (name in properties) {
this.file[name] = properties[name];
}
return _context4.abrupt("return", this._writeToStorage());
case 4:
case "end":
return _context4.stop();
}
}
}, _callee4, this);
}));
function setMultiple(_x3) {
return _setMultiple.apply(this, arguments);
}
return setMultiple;
}()
}, {
key: "get",
value: function () {
var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name, defaultValue) {
var val;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return this._initializedPromise;
case 2:
val = this.file[name];
return _context5.abrupt("return", val !== undefined ? val : defaultValue);
case 4:
case "end":
return _context5.stop();
}
}
}, _callee5, this);
}));
function get(_x4, _x5) {
return _get.apply(this, arguments);
}
return get;
}()
}, {
key: "getMultiple",
value: function () {
var _getMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(properties) {
var values, name, val;
return _regenerator["default"].wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return this._initializedPromise;
case 2:
values = Object.create(null);
for (name in properties) {
val = this.file[name];
values[name] = val !== undefined ? val : properties[name];
}
return _context6.abrupt("return", values);
case 5:
case "end":
return _context6.stop();
}
}
}, _callee6, this);
}));
function getMultiple(_x6) {
return _getMultiple.apply(this, arguments);
}
return getMultiple;
}()
}]);
return ViewHistory;
}();
exports.ViewHistory = ViewHistory;
/***/ }),
/* 41 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.GenericCom = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _app = __webpack_require__(2);
var _preferences = __webpack_require__(42);
var _download_manager = __webpack_require__(43);
var _genericl10n = __webpack_require__(44);
var _generic_scripting = __webpack_require__(46);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
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 } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
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); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
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; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
;
var GenericCom = {};
exports.GenericCom = GenericCom;
var GenericPreferences = /*#__PURE__*/function (_BasePreferences) {
_inherits(GenericPreferences, _BasePreferences);
var _super = _createSuper(GenericPreferences);
function GenericPreferences() {
_classCallCheck(this, GenericPreferences);
return _super.apply(this, arguments);
}
_createClass(GenericPreferences, [{
key: "_writeToStorage",
value: function () {
var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj));
case 1:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function _writeToStorage(_x) {
return _writeToStorage2.apply(this, arguments);
}
return _writeToStorage;
}()
}, {
key: "_readFromStorage",
value: function () {
var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", JSON.parse(localStorage.getItem("pdfjs.preferences")));
case 1:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function _readFromStorage(_x2) {
return _readFromStorage2.apply(this, arguments);
}
return _readFromStorage;
}()
}]);
return GenericPreferences;
}(_preferences.BasePreferences);
var GenericExternalServices = /*#__PURE__*/function (_DefaultExternalServi) {
_inherits(GenericExternalServices, _DefaultExternalServi);
var _super2 = _createSuper(GenericExternalServices);
function GenericExternalServices() {
_classCallCheck(this, GenericExternalServices);
return _super2.apply(this, arguments);
}
_createClass(GenericExternalServices, null, [{
key: "createDownloadManager",
value: function createDownloadManager(options) {
return new _download_manager.DownloadManager();
}
}, {
key: "createPreferences",
value: function createPreferences() {
return new GenericPreferences();
}
}, {
key: "createL10n",
value: function createL10n(_ref) {
var _ref$locale = _ref.locale,
locale = _ref$locale === void 0 ? "en-US" : _ref$locale;
return new _genericl10n.GenericL10n(locale);
}
}, {
key: "createScripting",
value: function createScripting(_ref2) {
var sandboxBundleSrc = _ref2.sandboxBundleSrc;
return new _generic_scripting.GenericScripting(sandboxBundleSrc);
}
}]);
return GenericExternalServices;
}(_app.DefaultExternalServices);
_app.PDFViewerApplication.externalServices = GenericExternalServices;
/***/ }),
/* 42 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.BasePreferences = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _app_options = __webpack_require__(1);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var BasePreferences = /*#__PURE__*/function () {
function BasePreferences() {
var _this = this;
_classCallCheck(this, BasePreferences);
if (this.constructor === BasePreferences) {
throw new Error("Cannot initialize BasePreferences.");
}
Object.defineProperty(this, "defaults", {
value: Object.freeze({
"annotationMode": 2,
"cursorToolOnLoad": 0,
"defaultZoomValue": "",
"disablePageLabels": false,
"enablePermissions": false,
"enablePrintAutoRotate": true,
"enableScripting": true,
"externalLinkTarget": 0,
"historyUpdateUrl": false,
"ignoreDestinationZoom": false,
"pdfBugEnabled": false,
"renderer": "canvas",
"sidebarViewOnLoad": -1,
"scrollModeOnLoad": -1,
"spreadModeOnLoad": -1,
"textLayerMode": 1,
"useOnlyCssZoom": false,
"viewerCssTheme": 0,
"viewOnLoad": 0,
"disableAutoFetch": false,
"disableFontFace": false,
"disableRange": false,
"disableStream": false,
"enableXfa": true
}),
writable: false,
enumerable: true,
configurable: false
});
this.prefs = Object.create(null);
this._initializedPromise = this._readFromStorage(this.defaults).then(function (prefs) {
for (var name in _this.defaults) {
var prefValue = prefs === null || prefs === void 0 ? void 0 : prefs[name];
if (_typeof(prefValue) === _typeof(_this.defaults[name])) {
_this.prefs[name] = prefValue;
}
}
});
}
_createClass(BasePreferences, [{
key: "_writeToStorage",
value: function () {
var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
throw new Error("Not implemented: _writeToStorage");
case 1:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function _writeToStorage(_x) {
return _writeToStorage2.apply(this, arguments);
}
return _writeToStorage;
}()
}, {
key: "_readFromStorage",
value: function () {
var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
throw new Error("Not implemented: _readFromStorage");
case 1:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function _readFromStorage(_x2) {
return _readFromStorage2.apply(this, arguments);
}
return _readFromStorage;
}()
}, {
key: "reset",
value: function () {
var _reset = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this._initializedPromise;
case 2:
this.prefs = Object.create(null);
return _context3.abrupt("return", this._writeToStorage(this.defaults));
case 4:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function reset() {
return _reset.apply(this, arguments);
}
return reset;
}()
}, {
key: "set",
value: function () {
var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name, value) {
var defaultValue, valueType, defaultType;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return this._initializedPromise;
case 2:
defaultValue = this.defaults[name];
if (!(defaultValue === undefined)) {
_context4.next = 7;
break;
}
throw new Error("Set preference: \"".concat(name, "\" is undefined."));
case 7:
if (!(value === undefined)) {
_context4.next = 9;
break;
}
throw new Error("Set preference: no value is specified.");
case 9:
valueType = _typeof(value);
defaultType = _typeof(defaultValue);
if (!(valueType !== defaultType)) {
_context4.next = 19;
break;
}
if (!(valueType === "number" && defaultType === "string")) {
_context4.next = 16;
break;
}
value = value.toString();
_context4.next = 17;
break;
case 16:
throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", expected a ").concat(defaultType, "."));
case 17:
_context4.next = 21;
break;
case 19:
if (!(valueType === "number" && !Number.isInteger(value))) {
_context4.next = 21;
break;
}
throw new Error("Set preference: \"".concat(value, "\" must be an integer."));
case 21:
this.prefs[name] = value;
return _context4.abrupt("return", this._writeToStorage(this.prefs));
case 23:
case "end":
return _context4.stop();
}
}
}, _callee4, this);
}));
function set(_x3, _x4) {
return _set.apply(this, arguments);
}
return set;
}()
}, {
key: "get",
value: function () {
var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name) {
var defaultValue, prefValue;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return this._initializedPromise;
case 2:
defaultValue = this.defaults[name], prefValue = this.prefs[name];
if (!(defaultValue === undefined)) {
_context5.next = 5;
break;
}
throw new Error("Get preference: \"".concat(name, "\" is undefined."));
case 5:
return _context5.abrupt("return", prefValue !== undefined ? prefValue : defaultValue);
case 6:
case "end":
return _context5.stop();
}
}
}, _callee5, this);
}));
function get(_x5) {
return _get.apply(this, arguments);
}
return get;
}()
}, {
key: "getAll",
value: function () {
var _getAll = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
var obj, name, prefValue;
return _regenerator["default"].wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return this._initializedPromise;
case 2:
obj = Object.create(null);
for (name in this.defaults) {
prefValue = this.prefs[name];
obj[name] = prefValue !== undefined ? prefValue : this.defaults[name];
}
return _context6.abrupt("return", obj);
case 5:
case "end":
return _context6.stop();
}
}
}, _callee6, this);
}));
function getAll() {
return _getAll.apply(this, arguments);
}
return getAll;
}()
}]);
return BasePreferences;
}();
exports.BasePreferences = BasePreferences;
/***/ }),
/* 43 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.DownloadManager = void 0;
var _pdfjsLib = __webpack_require__(7);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
;
function _download(blobUrl, filename) {
var a = document.createElement("a");
if (!a.click) {
throw new Error('DownloadManager: "a.click()" is not supported.');
}
a.href = blobUrl;
a.target = "_parent";
if ("download" in a) {
a.download = filename;
}
(document.body || document.documentElement).appendChild(a);
a.click();
a.remove();
}
var DownloadManager = /*#__PURE__*/function () {
function DownloadManager() {
_classCallCheck(this, DownloadManager);
this._openBlobUrls = new WeakMap();
}
_createClass(DownloadManager, [{
key: "downloadUrl",
value: function downloadUrl(url, filename) {
if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) {
console.error("downloadUrl - not a valid URL: ".concat(url));
return;
}
_download(url + "#pdfjs.action=download", filename);
}
}, {
key: "downloadData",
value: function downloadData(data, filename, contentType) {
var blobUrl = URL.createObjectURL(new Blob([data], {
type: contentType
}));
_download(blobUrl, filename);
}
}, {
key: "openOrDownloadData",
value: function openOrDownloadData(element, data, filename) {
var isPdfData = (0, _pdfjsLib.isPdfFile)(filename);
var contentType = isPdfData ? "application/pdf" : "";
if (isPdfData) {
var blobUrl = this._openBlobUrls.get(element);
if (!blobUrl) {
blobUrl = URL.createObjectURL(new Blob([data], {
type: contentType
}));
this._openBlobUrls.set(element, blobUrl);
}
var viewerUrl;
viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename);
try {
window.open(viewerUrl);
return true;
} catch (ex) {
console.error("openOrDownloadData: ".concat(ex));
URL.revokeObjectURL(blobUrl);
this._openBlobUrls["delete"](element);
}
}
this.downloadData(data, filename, contentType);
return false;
}
}, {
key: "download",
value: function download(blob, url, filename) {
var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "download";
var blobUrl = URL.createObjectURL(blob);
_download(blobUrl, filename);
}
}]);
return DownloadManager;
}();
exports.DownloadManager = DownloadManager;
/***/ }),
/* 44 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.GenericL10n = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
__webpack_require__(45);
var _l10n_utils = __webpack_require__(32);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); } }
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); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
var webL10n = document.webL10n;
var GenericL10n = /*#__PURE__*/function () {
function GenericL10n(lang) {
_classCallCheck(this, GenericL10n);
this._lang = lang;
this._ready = new Promise(function (resolve, reject) {
webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), function () {
resolve(webL10n);
});
});
}
_createClass(GenericL10n, [{
key: "getLanguage",
value: function () {
var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var l10n;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return this._ready;
case 2:
l10n = _context.sent;
return _context.abrupt("return", l10n.getLanguage());
case 4:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function getLanguage() {
return _getLanguage.apply(this, arguments);
}
return getLanguage;
}()
}, {
key: "getDirection",
value: function () {
var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var l10n;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this._ready;
case 2:
l10n = _context2.sent;
return _context2.abrupt("return", l10n.getDirection());
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function getDirection() {
return _getDirection.apply(this, arguments);
}
return getDirection;
}()
}, {
key: "get",
value: function () {
var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(key) {
var args,
fallback,
l10n,
_args3 = arguments;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
args = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;
fallback = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : (0, _l10n_utils.getL10nFallback)(key, args);
_context3.next = 4;
return this._ready;
case 4:
l10n = _context3.sent;
return _context3.abrupt("return", l10n.get(key, args, fallback));
case 6:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function get(_x) {
return _get.apply(this, arguments);
}
return get;
}()
}, {
key: "translate",
value: function () {
var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(element) {
var l10n;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return this._ready;
case 2:
l10n = _context4.sent;
return _context4.abrupt("return", l10n.translate(element));
case 4:
case "end":
return _context4.stop();
}
}
}, _callee4, this);
}));
function translate(_x2) {
return _translate.apply(this, arguments);
}
return translate;
}()
}]);
return GenericL10n;
}();
exports.GenericL10n = GenericL10n;
/***/ }),
/* 45 */
/***/ (() => {
document.webL10n = function (window, document, undefined) {
var gL10nData = {};
var gTextData = '';
var gTextProp = 'textContent';
var gLanguage = '';
var gMacros = {};
var gReadyState = 'loading';
var gAsyncResourceLoading = true;
function getL10nResourceLinks() {
return document.querySelectorAll('link[type="application/l10n"]');
}
function getL10nDictionary() {
var script = document.querySelector('script[type="application/l10n"]');
return script ? JSON.parse(script.innerHTML) : null;
}
function getTranslatableChildren(element) {
return element ? element.querySelectorAll('*[data-l10n-id]') : [];
}
function getL10nAttributes(element) {
if (!element) return {};
var l10nId = element.getAttribute('data-l10n-id');
var l10nArgs = element.getAttribute('data-l10n-args');
var args = {};
if (l10nArgs) {
try {
args = JSON.parse(l10nArgs);
} catch (e) {
console.warn('could not parse arguments for #' + l10nId);
}
}
return {
id: l10nId,
args: args
};
}
function xhrLoadText(url, onSuccess, onFailure) {
onSuccess = onSuccess || function _onSuccess(data) {};
onFailure = onFailure || function _onFailure() {};
var xhr = new XMLHttpRequest();
xhr.open('GET', url, gAsyncResourceLoading);
if (xhr.overrideMimeType) {
xhr.overrideMimeType('text/plain; charset=utf-8');
}
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200 || xhr.status === 0) {
onSuccess(xhr.responseText);
} else {
onFailure();
}
}
};
xhr.onerror = onFailure;
xhr.ontimeout = onFailure;
try {
xhr.send(null);
} catch (e) {
onFailure();
}
}
function parseResource(href, lang, successCallback, failureCallback) {
var baseURL = href.replace(/[^\/]*$/, '') || './';
function evalString(text) {
if (text.lastIndexOf('\\') < 0) return text;
return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'");
}
function parseProperties(text, parsedPropertiesCallback) {
var dictionary = {};
var reBlank = /^\s*|\s*$/;
var reComment = /^\s*#|^\s*$/;
var reSection = /^\s*\[(.*)\]\s*$/;
var reImport = /^\s*@import\s+url\((.*)\)\s*$/i;
var reSplit = /^([^=\s]*)\s*=\s*(.+)$/;
function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {
var entries = rawText.replace(reBlank, '').split(/[\r\n]+/);
var currentLang = '*';
var genericLang = lang.split('-', 1)[0];
var skipLang = false;
var match = '';
function nextEntry() {
while (true) {
if (!entries.length) {
parsedRawLinesCallback();
return;
}
var line = entries.shift();
if (reComment.test(line)) continue;
if (extendedSyntax) {
match = reSection.exec(line);
if (match) {
currentLang = match[1].toLowerCase();
skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;
continue;
} else if (skipLang) {
continue;
}
match = reImport.exec(line);
if (match) {
loadImport(baseURL + match[1], nextEntry);
return;
}
}
var tmp = line.match(reSplit);
if (tmp && tmp.length == 3) {
dictionary[tmp[1]] = evalString(tmp[2]);
}
}
}
nextEntry();
}
function loadImport(url, callback) {
xhrLoadText(url, function (content) {
parseRawLines(content, false, callback);
}, function () {
console.warn(url + ' not found.');
callback();
});
}
parseRawLines(text, true, function () {
parsedPropertiesCallback(dictionary);
});
}
xhrLoadText(href, function (response) {
gTextData += response;
parseProperties(response, function (data) {
for (var key in data) {
var id,
prop,
index = key.lastIndexOf('.');
if (index > 0) {
id = key.substring(0, index);
prop = key.substring(index + 1);
} else {
id = key;
prop = gTextProp;
}
if (!gL10nData[id]) {
gL10nData[id] = {};
}
gL10nData[id][prop] = data[key];
}
if (successCallback) {
successCallback();
}
});
}, failureCallback);
}
function loadLocale(lang, callback) {
if (lang) {
lang = lang.toLowerCase();
}
callback = callback || function _callback() {};
clear();
gLanguage = lang;
var langLinks = getL10nResourceLinks();
var langCount = langLinks.length;
if (langCount === 0) {
var dict = getL10nDictionary();
if (dict && dict.locales && dict.default_locale) {
console.log('using the embedded JSON directory, early way out');
gL10nData = dict.locales[lang];
if (!gL10nData) {
var defaultLocale = dict.default_locale.toLowerCase();
for (var anyCaseLang in dict.locales) {
anyCaseLang = anyCaseLang.toLowerCase();
if (anyCaseLang === lang) {
gL10nData = dict.locales[lang];
break;
} else if (anyCaseLang === defaultLocale) {
gL10nData = dict.locales[defaultLocale];
}
}
}
callback();
} else {
console.log('no resource to load, early way out');
}
gReadyState = 'complete';
return;
}
var onResourceLoaded = null;
var gResourceCount = 0;
onResourceLoaded = function onResourceLoaded() {
gResourceCount++;
if (gResourceCount >= langCount) {
callback();
gReadyState = 'complete';
}
};
function L10nResourceLink(link) {
var href = link.href;
this.load = function (lang, callback) {
parseResource(href, lang, callback, function () {
console.warn(href + ' not found.');
console.warn('"' + lang + '" resource not found');
gLanguage = '';
callback();
});
};
}
for (var i = 0; i < langCount; i++) {
var resource = new L10nResourceLink(langLinks[i]);
resource.load(lang, onResourceLoaded);
}
}
function clear() {
gL10nData = {};
gTextData = '';
gLanguage = '';
}
function getPluralRules(lang) {
var locales2rules = {
'af': 3,
'ak': 4,
'am': 4,
'ar': 1,
'asa': 3,
'az': 0,
'be': 11,
'bem': 3,
'bez': 3,
'bg': 3,
'bh': 4,
'bm': 0,
'bn': 3,
'bo': 0,
'br': 20,
'brx': 3,
'bs': 11,
'ca': 3,
'cgg': 3,
'chr': 3,
'cs': 12,
'cy': 17,
'da': 3,
'de': 3,
'dv': 3,
'dz': 0,
'ee': 3,
'el': 3,
'en': 3,
'eo': 3,
'es': 3,
'et': 3,
'eu': 3,
'fa': 0,
'ff': 5,
'fi': 3,
'fil': 4,
'fo': 3,
'fr': 5,
'fur': 3,
'fy': 3,
'ga': 8,
'gd': 24,
'gl': 3,
'gsw': 3,
'gu': 3,
'guw': 4,
'gv': 23,
'ha': 3,
'haw': 3,
'he': 2,
'hi': 4,
'hr': 11,
'hu': 0,
'id': 0,
'ig': 0,
'ii': 0,
'is': 3,
'it': 3,
'iu': 7,
'ja': 0,
'jmc': 3,
'jv': 0,
'ka': 0,
'kab': 5,
'kaj': 3,
'kcg': 3,
'kde': 0,
'kea': 0,
'kk': 3,
'kl': 3,
'km': 0,
'kn': 0,
'ko': 0,
'ksb': 3,
'ksh': 21,
'ku': 3,
'kw': 7,
'lag': 18,
'lb': 3,
'lg': 3,
'ln': 4,
'lo': 0,
'lt': 10,
'lv': 6,
'mas': 3,
'mg': 4,
'mk': 16,
'ml': 3,
'mn': 3,
'mo': 9,
'mr': 3,
'ms': 0,
'mt': 15,
'my': 0,
'nah': 3,
'naq': 7,
'nb': 3,
'nd': 3,
'ne': 3,
'nl': 3,
'nn': 3,
'no': 3,
'nr': 3,
'nso': 4,
'ny': 3,
'nyn': 3,
'om': 3,
'or': 3,
'pa': 3,
'pap': 3,
'pl': 13,
'ps': 3,
'pt': 3,
'rm': 3,
'ro': 9,
'rof': 3,
'ru': 11,
'rwk': 3,
'sah': 0,
'saq': 3,
'se': 7,
'seh': 3,
'ses': 0,
'sg': 0,
'sh': 11,
'shi': 19,
'sk': 12,
'sl': 14,
'sma': 7,
'smi': 7,
'smj': 7,
'smn': 7,
'sms': 7,
'sn': 3,
'so': 3,
'sq': 3,
'sr': 11,
'ss': 3,
'ssy': 3,
'st': 3,
'sv': 3,
'sw': 3,
'syr': 3,
'ta': 3,
'te': 3,
'teo': 3,
'th': 0,
'ti': 4,
'tig': 3,
'tk': 3,
'tl': 4,
'tn': 3,
'to': 0,
'tr': 0,
'ts': 3,
'tzm': 22,
'uk': 11,
'ur': 3,
've': 3,
'vi': 0,
'vun': 3,
'wa': 4,
'wae': 3,
'wo': 0,
'xh': 3,
'xog': 3,
'yo': 0,
'zh': 0,
'zu': 3
};
function isIn(n, list) {
return list.indexOf(n) !== -1;
}
function isBetween(n, start, end) {
return start <= n && n <= end;
}
var pluralRules = {
'0': function _(n) {
return 'other';
},
'1': function _(n) {
if (isBetween(n % 100, 3, 10)) return 'few';
if (n === 0) return 'zero';
if (isBetween(n % 100, 11, 99)) return 'many';
if (n == 2) return 'two';
if (n == 1) return 'one';
return 'other';
},
'2': function _(n) {
if (n !== 0 && n % 10 === 0) return 'many';
if (n == 2) return 'two';
if (n == 1) return 'one';
return 'other';
},
'3': function _(n) {
if (n == 1) return 'one';
return 'other';
},
'4': function _(n) {
if (isBetween(n, 0, 1)) return 'one';
return 'other';
},
'5': function _(n) {
if (isBetween(n, 0, 2) && n != 2) return 'one';
return 'other';
},
'6': function _(n) {
if (n === 0) return 'zero';
if (n % 10 == 1 && n % 100 != 11) return 'one';
return 'other';
},
'7': function _(n) {
if (n == 2) return 'two';
if (n == 1) return 'one';
return 'other';
},
'8': function _(n) {
if (isBetween(n, 3, 6)) return 'few';
if (isBetween(n, 7, 10)) return 'many';
if (n == 2) return 'two';
if (n == 1) return 'one';
return 'other';
},
'9': function _(n) {
if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';
if (n == 1) return 'one';
return 'other';
},
'10': function _(n) {
if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';
if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';
return 'other';
},
'11': function _(n) {
if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';
if (n % 10 == 1 && n % 100 != 11) return 'one';
return 'other';
},
'12': function _(n) {
if (isBetween(n, 2, 4)) return 'few';
if (n == 1) return 'one';
return 'other';
},
'13': function _(n) {
if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';
if (n == 1) return 'one';
return 'other';
},
'14': function _(n) {
if (isBetween(n % 100, 3, 4)) return 'few';
if (n % 100 == 2) return 'two';
if (n % 100 == 1) return 'one';
return 'other';
},
'15': function _(n) {
if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';
if (isBetween(n % 100, 11, 19)) return 'many';
if (n == 1) return 'one';
return 'other';
},
'16': function _(n) {
if (n % 10 == 1 && n != 11) return 'one';
return 'other';
},
'17': function _(n) {
if (n == 3) return 'few';
if (n === 0) return 'zero';
if (n == 6) return 'many';
if (n == 2) return 'two';
if (n == 1) return 'one';
return 'other';
},
'18': function _(n) {
if (n === 0) return 'zero';
if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';
return 'other';
},
'19': function _(n) {
if (isBetween(n, 2, 10)) return 'few';
if (isBetween(n, 0, 1)) return 'one';
return 'other';
},
'20': function _(n) {
if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';
if (n % 1000000 === 0 && n !== 0) return 'many';
if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';
if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';
return 'other';
},
'21': function _(n) {
if (n === 0) return 'zero';
if (n == 1) return 'one';
return 'other';
},
'22': function _(n) {
if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';
return 'other';
},
'23': function _(n) {
if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';
return 'other';
},
'24': function _(n) {
if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';
if (isIn(n, [2, 12])) return 'two';
if (isIn(n, [1, 11])) return 'one';
return 'other';
}
};
var index = locales2rules[lang.replace(/-.*$/, '')];
if (!(index in pluralRules)) {
console.warn('plural form unknown for [' + lang + ']');
return function () {
return 'other';
};
}
return pluralRules[index];
}
gMacros.plural = function (str, param, key, prop) {
var n = parseFloat(param);
if (isNaN(n)) return str;
if (prop != gTextProp) return str;
if (!gMacros._pluralRules) {
gMacros._pluralRules = getPluralRules(gLanguage);
}
var index = '[' + gMacros._pluralRules(n) + ']';
if (n === 0 && key + '[zero]' in gL10nData) {
str = gL10nData[key + '[zero]'][prop];
} else if (n == 1 && key + '[one]' in gL10nData) {
str = gL10nData[key + '[one]'][prop];
} else if (n == 2 && key + '[two]' in gL10nData) {
str = gL10nData[key + '[two]'][prop];
} else if (key + index in gL10nData) {
str = gL10nData[key + index][prop];
} else if (key + '[other]' in gL10nData) {
str = gL10nData[key + '[other]'][prop];
}
return str;
};
function getL10nData(key, args, fallback) {
var data = gL10nData[key];
if (!data) {
console.warn('#' + key + ' is undefined.');
if (!fallback) {
return null;
}
data = fallback;
}
var rv = {};
for (var prop in data) {
var str = data[prop];
str = substIndexes(str, args, key, prop);
str = substArguments(str, args, key);
rv[prop] = str;
}
return rv;
}
function substIndexes(str, args, key, prop) {
var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/;
var reMatch = reIndex.exec(str);
if (!reMatch || !reMatch.length) return str;
var macroName = reMatch[1];
var paramName = reMatch[2];
var param;
if (args && paramName in args) {
param = args[paramName];
} else if (paramName in gL10nData) {
param = gL10nData[paramName];
}
if (macroName in gMacros) {
var macro = gMacros[macroName];
str = macro(str, param, key, prop);
}
return str;
}
function substArguments(str, args, key) {
var reArgs = /\{\{\s*(.+?)\s*\}\}/g;
return str.replace(reArgs, function (matched_text, arg) {
if (args && arg in args) {
return args[arg];
}
if (arg in gL10nData) {
return gL10nData[arg];
}
console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');
return matched_text;
});
}
function translateElement(element) {
var l10n = getL10nAttributes(element);
if (!l10n.id) return;
var data = getL10nData(l10n.id, l10n.args);
if (!data) {
console.warn('#' + l10n.id + ' is undefined.');
return;
}
if (data[gTextProp]) {
if (getChildElementCount(element) === 0) {
element[gTextProp] = data[gTextProp];
} else {
var children = element.childNodes;
var found = false;
for (var i = 0, l = children.length; i < l; i++) {
if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) {
if (found) {
children[i].nodeValue = '';
} else {
children[i].nodeValue = data[gTextProp];
found = true;
}
}
}
if (!found) {
var textNode = document.createTextNode(data[gTextProp]);
element.insertBefore(textNode, element.firstChild);
}
}
delete data[gTextProp];
}
for (var k in data) {
element[k] = data[k];
}
}
function getChildElementCount(element) {
if (element.children) {
return element.children.length;
}
if (typeof element.childElementCount !== 'undefined') {
return element.childElementCount;
}
var count = 0;
for (var i = 0; i < element.childNodes.length; i++) {
count += element.nodeType === 1 ? 1 : 0;
}
return count;
}
function translateFragment(element) {
element = element || document.documentElement;
var children = getTranslatableChildren(element);
var elementCount = children.length;
for (var i = 0; i < elementCount; i++) {
translateElement(children[i]);
}
translateElement(element);
}
return {
get: function get(key, args, fallbackString) {
var index = key.lastIndexOf('.');
var prop = gTextProp;
if (index > 0) {
prop = key.substring(index + 1);
key = key.substring(0, index);
}
var fallback;
if (fallbackString) {
fallback = {};
fallback[prop] = fallbackString;
}
var data = getL10nData(key, args, fallback);
if (data && prop in data) {
return data[prop];
}
return '{{' + key + '}}';
},
getData: function getData() {
return gL10nData;
},
getText: function getText() {
return gTextData;
},
getLanguage: function getLanguage() {
return gLanguage;
},
setLanguage: function setLanguage(lang, callback) {
loadLocale(lang, function () {
if (callback) callback();
});
},
getDirection: function getDirection() {
var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];
var shortCode = gLanguage.split('-', 1)[0];
return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';
},
translate: translateFragment,
getReadyState: function getReadyState() {
return gReadyState;
},
ready: function ready(callback) {
if (!callback) {
return;
} else if (gReadyState == 'complete' || gReadyState == 'interactive') {
window.setTimeout(function () {
callback();
});
} else if (document.addEventListener) {
document.addEventListener('localized', function once() {
document.removeEventListener('localized', once);
callback();
});
}
}
};
}(window, document);
/***/ }),
/* 46 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.GenericScripting = void 0;
exports.docPropertiesLookup = docPropertiesLookup;
var _regenerator = _interopRequireDefault(__webpack_require__(3));
var _pdfjsLib = __webpack_require__(7);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
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); } }
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); }); }; }
function docPropertiesLookup(_x) {
return _docPropertiesLookup.apply(this, arguments);
}
function _docPropertiesLookup() {
_docPropertiesLookup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(pdfDocument) {
var url, baseUrl, _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, _yield$pdfDocument$ge2, length;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
url = "", baseUrl = url.split("#")[0];
_context4.next = 3;
return pdfDocument.getMetadata();
case 3:
_yield$pdfDocument$ge = _context4.sent;
info = _yield$pdfDocument$ge.info;
metadata = _yield$pdfDocument$ge.metadata;
contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename;
contentLength = _yield$pdfDocument$ge.contentLength;
if (contentLength) {
_context4.next = 14;
break;
}
_context4.next = 11;
return pdfDocument.getDownloadInfo();
case 11:
_yield$pdfDocument$ge2 = _context4.sent;
length = _yield$pdfDocument$ge2.length;
contentLength = length;
case 14:
return _context4.abrupt("return", _objectSpread(_objectSpread({}, info), {}, {
baseURL: baseUrl,
filesize: contentLength,
filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url),
metadata: metadata === null || metadata === void 0 ? void 0 : metadata.getRaw(),
authors: metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:creator"),
numPages: pdfDocument.numPages,
URL: url
}));
case 15:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
return _docPropertiesLookup.apply(this, arguments);
}
var GenericScripting = /*#__PURE__*/function () {
function GenericScripting(sandboxBundleSrc) {
_classCallCheck(this, GenericScripting);
this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(function () {
return window.pdfjsSandbox.QuickJSSandbox();
});
}
_createClass(GenericScripting, [{
key: "createSandbox",
value: function () {
var _createSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) {
var sandbox;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return this._ready;
case 2:
sandbox = _context.sent;
sandbox.create(data);
case 4:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function createSandbox(_x2) {
return _createSandbox.apply(this, arguments);
}
return createSandbox;
}()
}, {
key: "dispatchEventInSandbox",
value: function () {
var _dispatchEventInSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(event) {
var sandbox;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this._ready;
case 2:
sandbox = _context2.sent;
setTimeout(function () {
return sandbox.dispatchEvent(event);
}, 0);
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function dispatchEventInSandbox(_x3) {
return _dispatchEventInSandbox.apply(this, arguments);
}
return dispatchEventInSandbox;
}()
}, {
key: "destroySandbox",
value: function () {
var _destroySandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
var sandbox;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this._ready;
case 2:
sandbox = _context3.sent;
sandbox.nukeSandbox();
case 4:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function destroySandbox() {
return _destroySandbox.apply(this, arguments);
}
return destroySandbox;
}()
}]);
return GenericScripting;
}();
exports.GenericScripting = GenericScripting;
/***/ }),
/* 47 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.PDFPrintService = PDFPrintService;
var _pdfjsLib = __webpack_require__(7);
var _app = __webpack_require__(2);
var _print_utils = __webpack_require__(48);
var activeService = null;
var overlayManager = null;
function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size, printResolution, optionalContentConfigPromise) {
var scratchCanvas = activeService.scratchCanvas;
var PRINT_UNITS = printResolution / _pdfjsLib.PixelsPerInch.PDF;
scratchCanvas.width = Math.floor(size.width * PRINT_UNITS);
scratchCanvas.height = Math.floor(size.height * PRINT_UNITS);
var ctx = scratchCanvas.getContext("2d");
ctx.save();
ctx.fillStyle = "rgb(255, 255, 255)";
ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);
ctx.restore();
return pdfDocument.getPage(pageNumber).then(function (pdfPage) {
var renderContext = {
canvasContext: ctx,
transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
viewport: pdfPage.getViewport({
scale: 1,
rotation: size.rotation
}),
intent: "print",
annotationMode: _pdfjsLib.AnnotationMode.ENABLE_STORAGE,
optionalContentConfigPromise: optionalContentConfigPromise
};
return pdfPage.render(renderContext).promise;
});
}
function PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution) {
var optionalContentConfigPromise = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
var l10n = arguments.length > 5 ? arguments[5] : undefined;
this.pdfDocument = pdfDocument;
this.pagesOverview = pagesOverview;
this.printContainer = printContainer;
this._printResolution = printResolution || 150;
this._optionalContentConfigPromise = optionalContentConfigPromise || pdfDocument.getOptionalContentConfig();
this.l10n = l10n;
this.currentPage = -1;
this.scratchCanvas = document.createElement("canvas");
}
PDFPrintService.prototype = {
layout: function layout() {
this.throwIfInactive();
var body = document.querySelector("body");
body.setAttribute("data-pdfjsprinting", true);
var hasEqualPageSizes = this.pagesOverview.every(function (size) {
return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;
}, this);
if (!hasEqualPageSizes) {
console.warn("Not all pages have the same size. The printed " + "result may be incorrect!");
}
this.pageStyleSheet = document.createElement("style");
var pageSize = this.pagesOverview[0];
this.pageStyleSheet.textContent = "@page { size: " + pageSize.width + "pt " + pageSize.height + "pt;}";
body.appendChild(this.pageStyleSheet);
},
destroy: function destroy() {
if (activeService !== this) {
return;
}
this.printContainer.textContent = "";
var body = document.querySelector("body");
body.removeAttribute("data-pdfjsprinting");
if (this.pageStyleSheet) {
this.pageStyleSheet.remove();
this.pageStyleSheet = null;
}
this.scratchCanvas.width = this.scratchCanvas.height = 0;
this.scratchCanvas = null;
activeService = null;
ensureOverlay().then(function () {
if (overlayManager.active !== "printServiceOverlay") {
return;
}
overlayManager.close("printServiceOverlay");
});
},
renderPages: function renderPages() {
var _this = this;
if (this.pdfDocument.isPureXfa) {
(0, _print_utils.getXfaHtmlForPrinting)(this.printContainer, this.pdfDocument);
return Promise.resolve();
}
var pageCount = this.pagesOverview.length;
var renderNextPage = function renderNextPage(resolve, reject) {
_this.throwIfInactive();
if (++_this.currentPage >= pageCount) {
renderProgress(pageCount, pageCount, _this.l10n);
resolve();
return;
}
var index = _this.currentPage;
renderProgress(index, pageCount, _this.l10n);
renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index], _this._printResolution, _this._optionalContentConfigPromise).then(_this.useRenderedPage.bind(_this)).then(function () {
renderNextPage(resolve, reject);
}, reject);
};
return new Promise(renderNextPage);
},
useRenderedPage: function useRenderedPage() {
this.throwIfInactive();
var img = document.createElement("img");
var scratchCanvas = this.scratchCanvas;
if ("toBlob" in scratchCanvas) {
scratchCanvas.toBlob(function (blob) {
img.src = URL.createObjectURL(blob);
});
} else {
img.src = scratchCanvas.toDataURL();
}
var wrapper = document.createElement("div");
wrapper.className = "printedPage";
wrapper.appendChild(img);
this.printContainer.appendChild(wrapper);
return new Promise(function (resolve, reject) {
img.onload = resolve;
img.onerror = reject;
});
},
performPrint: function performPrint() {
var _this2 = this;
this.throwIfInactive();
return new Promise(function (resolve) {
setTimeout(function () {
if (!_this2.active) {
resolve();
return;
}
print.call(window);
setTimeout(resolve, 20);
}, 0);
});
},
get active() {
return this === activeService;
},
throwIfInactive: function throwIfInactive() {
if (!this.active) {
throw new Error("This print request was cancelled or completed.");
}
}
};
var print = window.print;
window.print = function () {
if (activeService) {
console.warn("Ignored window.print() because of a pending print job.");
return;
}
ensureOverlay().then(function () {
if (activeService) {
overlayManager.open("printServiceOverlay");
}
});
try {
dispatchEvent("beforeprint");
} finally {
if (!activeService) {
console.error("Expected print service to be initialized.");
ensureOverlay().then(function () {
if (overlayManager.active === "printServiceOverlay") {
overlayManager.close("printServiceOverlay");
}
});
return;
}
var activeServiceOnEntry = activeService;
activeService.renderPages().then(function () {
return activeServiceOnEntry.performPrint();
})["catch"](function () {}).then(function () {
if (activeServiceOnEntry.active) {
abort();
}
});
}
};
function dispatchEvent(eventType) {
var event = document.createEvent("CustomEvent");
event.initCustomEvent(eventType, false, false, "custom");
window.dispatchEvent(event);
}
function abort() {
if (activeService) {
activeService.destroy();
dispatchEvent("afterprint");
}
}
function renderProgress(index, total, l10n) {
var progressContainer = document.getElementById("printServiceOverlay");
var progress = Math.round(100 * index / total);
var progressBar = progressContainer.querySelector("progress");
var progressPerc = progressContainer.querySelector(".relative-progress");
progressBar.value = progress;
l10n.get("print_progress_percent", {
progress: progress
}).then(function (msg) {
progressPerc.textContent = msg;
});
}
window.addEventListener("keydown", function (event) {
if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
window.print();
event.preventDefault();
if (event.stopImmediatePropagation) {
event.stopImmediatePropagation();
} else {
event.stopPropagation();
}
}
}, true);
if ("onbeforeprint" in window) {
var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) {
if (event.detail !== "custom" && event.stopImmediatePropagation) {
event.stopImmediatePropagation();
}
};
window.addEventListener("beforeprint", stopPropagationIfNeeded);
window.addEventListener("afterprint", stopPropagationIfNeeded);
}
var overlayPromise;
function ensureOverlay() {
if (!overlayPromise) {
overlayManager = _app.PDFViewerApplication.overlayManager;
if (!overlayManager) {
throw new Error("The overlay manager has not yet been initialized.");
}
overlayPromise = overlayManager.register("printServiceOverlay", document.getElementById("printServiceOverlay"), abort, true);
document.getElementById("printCancel").onclick = abort;
}
return overlayPromise;
}
_app.PDFPrintServiceFactory.instance = {
supportsPrinting: true,
createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n) {
if (activeService) {
throw new Error("The print service is created and active.");
}
activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n);
return activeService;
}
};
/***/ }),
/* 48 */
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.getXfaHtmlForPrinting = getXfaHtmlForPrinting;
var _pdfjsLib = __webpack_require__(7);
var _pdf_link_service = __webpack_require__(10);
var _xfa_layer_builder = __webpack_require__(37);
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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); }
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; }
function getXfaHtmlForPrinting(printContainer, pdfDocument) {
var xfaHtml = pdfDocument.allXfaHtml;
var linkService = new _pdf_link_service.SimpleLinkService();
var scale = Math.round(_pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS * 100) / 100;
var _iterator = _createForOfIteratorHelper(xfaHtml.children),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var xfaPage = _step.value;
var page = document.createElement("div");
page.className = "xfaPrintedPage";
printContainer.appendChild(page);
var builder = new _xfa_layer_builder.XfaLayerBuilder({
pageDiv: page,
pdfPage: null,
annotationStorage: pdfDocument.annotationStorage,
linkService: linkService,
xfaHtml: xfaPage
});
var viewport = (0, _pdfjsLib.getXfaPageViewport)(xfaPage, {
scale: scale
});
builder.render(viewport, "print");
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
/***/ })
/******/ ]);
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ id: moduleId,
/******/ loaded: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/node module decorator */
/******/ (() => {
/******/ __webpack_require__.nmd = (module) => {
/******/ module.paths = [];
/******/ if (!module.children) module.children = [];
/******/ return module;
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
(() => {
var exports = __webpack_exports__;
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "PDFViewerApplication", ({
enumerable: true,
get: function get() {
return _app.PDFViewerApplication;
}
}));
Object.defineProperty(exports, "PDFViewerApplicationOptions", ({
enumerable: true,
get: function get() {
return _app_options.AppOptions;
}
}));
var _app_options = __webpack_require__(1);
var _app = __webpack_require__(2);
var pdfjsVersion = '2.14.44';
var pdfjsBuild = '90c5e9882';
window.PDFViewerApplication = _app.PDFViewerApplication;
window.PDFViewerApplicationOptions = _app_options.AppOptions;
;
;
{
__webpack_require__(41);
}
;
{
__webpack_require__(47);
}
function getViewerConfiguration() {
var errorWrapper = null;
errorWrapper = {
container: document.getElementById("errorWrapper"),
errorMessage: document.getElementById("errorMessage"),
closeButton: document.getElementById("errorClose"),
errorMoreInfo: document.getElementById("errorMoreInfo"),
moreInfoButton: document.getElementById("errorShowMore"),
lessInfoButton: document.getElementById("errorShowLess")
};
return {
appContainer: document.body,
mainContainer: document.getElementById("viewerContainer"),
viewerContainer: document.getElementById("viewer"),
toolbar: {
container: document.getElementById("toolbarViewer"),
numPages: document.getElementById("numPages"),
pageNumber: document.getElementById("pageNumber"),
scaleSelect: document.getElementById("scaleSelect"),
customScaleOption: document.getElementById("customScaleOption"),
previous: document.getElementById("previous"),
next: document.getElementById("next"),
zoomIn: document.getElementById("zoomIn"),
zoomOut: document.getElementById("zoomOut"),
viewFind: document.getElementById("viewFind"),
openFile: document.getElementById("openFile"),
print: document.getElementById("print"),
presentationModeButton: document.getElementById("presentationMode"),
download: document.getElementById("download"),
viewBookmark: document.getElementById("viewBookmark")
},
secondaryToolbar: {
toolbar: document.getElementById("secondaryToolbar"),
toggleButton: document.getElementById("secondaryToolbarToggle"),
toolbarButtonContainer: document.getElementById("secondaryToolbarButtonContainer"),
presentationModeButton: document.getElementById("secondaryPresentationMode"),
openFileButton: document.getElementById("secondaryOpenFile"),
printButton: document.getElementById("secondaryPrint"),
downloadButton: document.getElementById("secondaryDownload"),
viewBookmarkButton: document.getElementById("secondaryViewBookmark"),
firstPageButton: document.getElementById("firstPage"),
lastPageButton: document.getElementById("lastPage"),
pageRotateCwButton: document.getElementById("pageRotateCw"),
pageRotateCcwButton: document.getElementById("pageRotateCcw"),
cursorSelectToolButton: document.getElementById("cursorSelectTool"),
cursorHandToolButton: document.getElementById("cursorHandTool"),
scrollPageButton: document.getElementById("scrollPage"),
scrollVerticalButton: document.getElementById("scrollVertical"),
scrollHorizontalButton: document.getElementById("scrollHorizontal"),
scrollWrappedButton: document.getElementById("scrollWrapped"),
spreadNoneButton: document.getElementById("spreadNone"),
spreadOddButton: document.getElementById("spreadOdd"),
spreadEvenButton: document.getElementById("spreadEven"),
documentPropertiesButton: document.getElementById("documentProperties")
},
sidebar: {
outerContainer: document.getElementById("outerContainer"),
viewerContainer: document.getElementById("viewerContainer"),
toggleButton: document.getElementById("sidebarToggle"),
thumbnailButton: document.getElementById("viewThumbnail"),
outlineButton: document.getElementById("viewOutline"),
attachmentsButton: document.getElementById("viewAttachments"),
layersButton: document.getElementById("viewLayers"),
thumbnailView: document.getElementById("thumbnailView"),
outlineView: document.getElementById("outlineView"),
attachmentsView: document.getElementById("attachmentsView"),
layersView: document.getElementById("layersView"),
outlineOptionsContainer: document.getElementById("outlineOptionsContainer"),
currentOutlineItemButton: document.getElementById("currentOutlineItem")
},
sidebarResizer: {
outerContainer: document.getElementById("outerContainer"),
resizer: document.getElementById("sidebarResizer")
},
findBar: {
bar: document.getElementById("findbar"),
toggleButton: document.getElementById("viewFind"),
findField: document.getElementById("findInput"),
highlightAllCheckbox: document.getElementById("findHighlightAll"),
caseSensitiveCheckbox: document.getElementById("findMatchCase"),
matchDiacriticsCheckbox: document.getElementById("findMatchDiacritics"),
entireWordCheckbox: document.getElementById("findEntireWord"),
findMsg: document.getElementById("findMsg"),
findResultsCount: document.getElementById("findResultsCount"),
findPreviousButton: document.getElementById("findPrevious"),
findNextButton: document.getElementById("findNext")
},
passwordOverlay: {
overlayName: "passwordOverlay",
container: document.getElementById("passwordOverlay"),
label: document.getElementById("passwordText"),
input: document.getElementById("password"),
submitButton: document.getElementById("passwordSubmit"),
cancelButton: document.getElementById("passwordCancel")
},
documentProperties: {
overlayName: "documentPropertiesOverlay",
container: document.getElementById("documentPropertiesOverlay"),
closeButton: document.getElementById("documentPropertiesClose"),
fields: {
fileName: document.getElementById("fileNameField"),
fileSize: document.getElementById("fileSizeField"),
title: document.getElementById("titleField"),
author: document.getElementById("authorField"),
subject: document.getElementById("subjectField"),
keywords: document.getElementById("keywordsField"),
creationDate: document.getElementById("creationDateField"),
modificationDate: document.getElementById("modificationDateField"),
creator: document.getElementById("creatorField"),
producer: document.getElementById("producerField"),
version: document.getElementById("versionField"),
pageCount: document.getElementById("pageCountField"),
pageSize: document.getElementById("pageSizeField"),
linearized: document.getElementById("linearizedField")
}
},
errorWrapper: errorWrapper,
printContainer: document.getElementById("printContainer"),
openFileInputName: "fileInput",
debuggerScriptPath: "./debugger.js"
};
}
function webViewerLoad() {
var config = getViewerConfiguration();
var event = document.createEvent("CustomEvent");
event.initCustomEvent("webviewerloaded", true, true, {
source: window
});
try {
parent.document.dispatchEvent(event);
} catch (ex) {
console.error("webviewerloaded: ".concat(ex));
document.dispatchEvent(event);
}
_app.PDFViewerApplication.run(config);
}
if (document.blockUnblockOnload) {
document.blockUnblockOnload(true);
}
if (document.readyState === "interactive" || document.readyState === "complete") {
webViewerLoad();
} else {
document.addEventListener("DOMContentLoaded", webViewerLoad, true);
}
})();
/******/ })()
;
//# sourceMappingURL=viewer.js.map