@mablhq/mabl-cli 1.40.4 → 1.40.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17139,6 +17139,1470 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
17139
17139
 
17140
17140
  /***/ }),
17141
17141
 
17142
+ /***/ "./src/pdf_js/lib/web/event_utils.js":
17143
+ /*!*******************************************!*\
17144
+ !*** ./src/pdf_js/lib/web/event_utils.js ***!
17145
+ \*******************************************/
17146
+ /***/ ((__unused_webpack_module, exports) => {
17147
+
17148
+ "use strict";
17149
+ /**
17150
+ * @licstart The following is the entire license notice for the
17151
+ * JavaScript code in this page
17152
+ *
17153
+ * Copyright 2022 Mozilla Foundation
17154
+ *
17155
+ * Licensed under the Apache License, Version 2.0 (the "License");
17156
+ * you may not use this file except in compliance with the License.
17157
+ * You may obtain a copy of the License at
17158
+ *
17159
+ * http://www.apache.org/licenses/LICENSE-2.0
17160
+ *
17161
+ * Unless required by applicable law or agreed to in writing, software
17162
+ * distributed under the License is distributed on an "AS IS" BASIS,
17163
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17164
+ * See the License for the specific language governing permissions and
17165
+ * limitations under the License.
17166
+ *
17167
+ * @licend The above is the entire license notice for the
17168
+ * JavaScript code in this page
17169
+ */
17170
+
17171
+
17172
+ Object.defineProperty(exports, "__esModule", ({
17173
+ value: true
17174
+ }));
17175
+ exports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0;
17176
+ exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
17177
+ var WaitOnType = {
17178
+ EVENT: "event",
17179
+ TIMEOUT: "timeout"
17180
+ };
17181
+ exports.WaitOnType = WaitOnType;
17182
+
17183
+ function waitOnEventOrTimeout(_ref) {
17184
+ var {
17185
+ target,
17186
+ name,
17187
+ delay = 0
17188
+ } = _ref;
17189
+ return new Promise(function (resolve, reject) {
17190
+ if (typeof target !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) {
17191
+ throw new Error("waitOnEventOrTimeout - invalid parameters.");
17192
+ }
17193
+
17194
+ function handler(type) {
17195
+ if (target instanceof EventBus) {
17196
+ target._off(name, eventHandler);
17197
+ } else {
17198
+ target.removeEventListener(name, eventHandler);
17199
+ }
17200
+
17201
+ if (timeout) {
17202
+ clearTimeout(timeout);
17203
+ }
17204
+
17205
+ resolve(type);
17206
+ }
17207
+
17208
+ var eventHandler = handler.bind(null, WaitOnType.EVENT);
17209
+
17210
+ if (target instanceof EventBus) {
17211
+ target._on(name, eventHandler);
17212
+ } else {
17213
+ target.addEventListener(name, eventHandler);
17214
+ }
17215
+
17216
+ var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
17217
+ var timeout = setTimeout(timeoutHandler, delay);
17218
+ });
17219
+ }
17220
+
17221
+ class EventBus {
17222
+ constructor() {
17223
+ this._listeners = Object.create(null);
17224
+ }
17225
+
17226
+ on(eventName, listener) {
17227
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
17228
+
17229
+ this._on(eventName, listener, {
17230
+ external: true,
17231
+ once: options === null || options === void 0 ? void 0 : options.once
17232
+ });
17233
+ }
17234
+
17235
+ off(eventName, listener) {
17236
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
17237
+
17238
+ this._off(eventName, listener, {
17239
+ external: true,
17240
+ once: options === null || options === void 0 ? void 0 : options.once
17241
+ });
17242
+ }
17243
+
17244
+ dispatch(eventName, data) {
17245
+ var eventListeners = this._listeners[eventName];
17246
+
17247
+ if (!eventListeners || eventListeners.length === 0) {
17248
+ return;
17249
+ }
17250
+
17251
+ var externalListeners;
17252
+
17253
+ for (var {
17254
+ listener,
17255
+ external,
17256
+ once
17257
+ } of eventListeners.slice(0)) {
17258
+ if (once) {
17259
+ this._off(eventName, listener);
17260
+ }
17261
+
17262
+ if (external) {
17263
+ (externalListeners || (externalListeners = [])).push(listener);
17264
+ continue;
17265
+ }
17266
+
17267
+ listener(data);
17268
+ }
17269
+
17270
+ if (externalListeners) {
17271
+ for (var _listener of externalListeners) {
17272
+ _listener(data);
17273
+ }
17274
+
17275
+ externalListeners = null;
17276
+ }
17277
+ }
17278
+
17279
+ _on(eventName, listener) {
17280
+ var _this$_listeners;
17281
+
17282
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
17283
+ var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []);
17284
+ eventListeners.push({
17285
+ listener,
17286
+ external: (options === null || options === void 0 ? void 0 : options.external) === true,
17287
+ once: (options === null || options === void 0 ? void 0 : options.once) === true
17288
+ });
17289
+ }
17290
+
17291
+ _off(eventName, listener) {
17292
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
17293
+ var eventListeners = this._listeners[eventName];
17294
+
17295
+ if (!eventListeners) {
17296
+ return;
17297
+ }
17298
+
17299
+ for (var i = 0, ii = eventListeners.length; i < ii; i++) {
17300
+ if (eventListeners[i].listener === listener) {
17301
+ eventListeners.splice(i, 1);
17302
+ return;
17303
+ }
17304
+ }
17305
+ }
17306
+
17307
+ }
17308
+
17309
+ exports.EventBus = EventBus;
17310
+
17311
+ class AutomationEventBus extends EventBus {
17312
+ dispatch(eventName, data) {
17313
+ throw new Error("Not implemented: AutomationEventBus.dispatch");
17314
+ }
17315
+
17316
+ }
17317
+
17318
+ exports.AutomationEventBus = AutomationEventBus;
17319
+
17320
+ /***/ }),
17321
+
17322
+ /***/ "./src/pdf_js/lib/web/pdf_link_service.js":
17323
+ /*!************************************************!*\
17324
+ !*** ./src/pdf_js/lib/web/pdf_link_service.js ***!
17325
+ \************************************************/
17326
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
17327
+
17328
+ "use strict";
17329
+ /**
17330
+ * @licstart The following is the entire license notice for the
17331
+ * JavaScript code in this page
17332
+ *
17333
+ * Copyright 2022 Mozilla Foundation
17334
+ *
17335
+ * Licensed under the Apache License, Version 2.0 (the "License");
17336
+ * you may not use this file except in compliance with the License.
17337
+ * You may obtain a copy of the License at
17338
+ *
17339
+ * http://www.apache.org/licenses/LICENSE-2.0
17340
+ *
17341
+ * Unless required by applicable law or agreed to in writing, software
17342
+ * distributed under the License is distributed on an "AS IS" BASIS,
17343
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17344
+ * See the License for the specific language governing permissions and
17345
+ * limitations under the License.
17346
+ *
17347
+ * @licend The above is the entire license notice for the
17348
+ * JavaScript code in this page
17349
+ */
17350
+
17351
+
17352
+ 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); } }
17353
+
17354
+ 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); }); }; }
17355
+
17356
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
17357
+
17358
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
17359
+
17360
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
17361
+
17362
+ function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; }
17363
+
17364
+ function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } }
17365
+
17366
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
17367
+
17368
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
17369
+
17370
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
17371
+
17372
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
17373
+
17374
+ Object.defineProperty(exports, "__esModule", ({
17375
+ value: true
17376
+ }));
17377
+ exports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0;
17378
+
17379
+ var _ui_utils = __webpack_require__(/*! ./ui_utils.js */ "./src/pdf_js/lib/web/ui_utils.js");
17380
+
17381
+ var DEFAULT_LINK_REL = "noopener noreferrer nofollow";
17382
+ var LinkTarget = {
17383
+ NONE: 0,
17384
+ SELF: 1,
17385
+ BLANK: 2,
17386
+ PARENT: 3,
17387
+ TOP: 4
17388
+ };
17389
+ exports.LinkTarget = LinkTarget;
17390
+
17391
+ function addLinkAttributes(link) {
17392
+ var {
17393
+ url,
17394
+ target,
17395
+ rel,
17396
+ enabled = true
17397
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17398
+
17399
+ if (!url || typeof url !== "string") {
17400
+ throw new Error('A valid "url" parameter must provided.');
17401
+ }
17402
+
17403
+ var urlNullRemoved = (0, _ui_utils.removeNullCharacters)(url);
17404
+
17405
+ if (enabled) {
17406
+ link.href = link.title = urlNullRemoved;
17407
+ } else {
17408
+ link.href = "";
17409
+ link.title = "Disabled: ".concat(urlNullRemoved);
17410
+
17411
+ link.onclick = () => {
17412
+ return false;
17413
+ };
17414
+ }
17415
+
17416
+ var targetStr = "";
17417
+
17418
+ switch (target) {
17419
+ case LinkTarget.NONE:
17420
+ break;
17421
+
17422
+ case LinkTarget.SELF:
17423
+ targetStr = "_self";
17424
+ break;
17425
+
17426
+ case LinkTarget.BLANK:
17427
+ targetStr = "_blank";
17428
+ break;
17429
+
17430
+ case LinkTarget.PARENT:
17431
+ targetStr = "_parent";
17432
+ break;
17433
+
17434
+ case LinkTarget.TOP:
17435
+ targetStr = "_top";
17436
+ break;
17437
+ }
17438
+
17439
+ link.target = targetStr;
17440
+ link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
17441
+ }
17442
+
17443
+ var _pagesRefCache = /*#__PURE__*/new WeakMap();
17444
+
17445
+ var _goToDestinationHelper = /*#__PURE__*/new WeakSet();
17446
+
17447
+ class PDFLinkService {
17448
+ constructor() {
17449
+ var {
17450
+ eventBus,
17451
+ externalLinkTarget = null,
17452
+ externalLinkRel = null,
17453
+ ignoreDestinationZoom = false
17454
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
17455
+
17456
+ _classPrivateMethodInitSpec(this, _goToDestinationHelper);
17457
+
17458
+ _classPrivateFieldInitSpec(this, _pagesRefCache, {
17459
+ writable: true,
17460
+ value: new Map()
17461
+ });
17462
+
17463
+ this.eventBus = eventBus;
17464
+ this.externalLinkTarget = externalLinkTarget;
17465
+ this.externalLinkRel = externalLinkRel;
17466
+ this.externalLinkEnabled = true;
17467
+ this._ignoreDestinationZoom = ignoreDestinationZoom;
17468
+ this.baseUrl = null;
17469
+ this.pdfDocument = null;
17470
+ this.pdfViewer = null;
17471
+ this.pdfHistory = null;
17472
+ }
17473
+
17474
+ setDocument(pdfDocument) {
17475
+ var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
17476
+ this.baseUrl = baseUrl;
17477
+ this.pdfDocument = pdfDocument;
17478
+
17479
+ _classPrivateFieldGet(this, _pagesRefCache).clear();
17480
+ }
17481
+
17482
+ setViewer(pdfViewer) {
17483
+ this.pdfViewer = pdfViewer;
17484
+ }
17485
+
17486
+ setHistory(pdfHistory) {
17487
+ this.pdfHistory = pdfHistory;
17488
+ }
17489
+
17490
+ get pagesCount() {
17491
+ return this.pdfDocument ? this.pdfDocument.numPages : 0;
17492
+ }
17493
+
17494
+ get page() {
17495
+ return this.pdfViewer.currentPageNumber;
17496
+ }
17497
+
17498
+ set page(value) {
17499
+ this.pdfViewer.currentPageNumber = value;
17500
+ }
17501
+
17502
+ get rotation() {
17503
+ return this.pdfViewer.pagesRotation;
17504
+ }
17505
+
17506
+ set rotation(value) {
17507
+ this.pdfViewer.pagesRotation = value;
17508
+ }
17509
+
17510
+ goToDestination(dest) {
17511
+ var _this = this;
17512
+
17513
+ return _asyncToGenerator(function* () {
17514
+ if (!_this.pdfDocument) {
17515
+ return;
17516
+ }
17517
+
17518
+ var namedDest, explicitDest;
17519
+
17520
+ if (typeof dest === "string") {
17521
+ namedDest = dest;
17522
+ explicitDest = yield _this.pdfDocument.getDestination(dest);
17523
+ } else {
17524
+ namedDest = null;
17525
+ explicitDest = yield dest;
17526
+ }
17527
+
17528
+ if (!Array.isArray(explicitDest)) {
17529
+ console.error("PDFLinkService.goToDestination: \"".concat(explicitDest, "\" is not ") + "a valid destination array, for dest=\"".concat(dest, "\"."));
17530
+ return;
17531
+ }
17532
+
17533
+ _classPrivateMethodGet(_this, _goToDestinationHelper, _goToDestinationHelper2).call(_this, dest, namedDest, explicitDest);
17534
+ })();
17535
+ }
17536
+
17537
+ goToPage(val) {
17538
+ if (!this.pdfDocument) {
17539
+ return;
17540
+ }
17541
+
17542
+ var pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;
17543
+
17544
+ if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
17545
+ console.error("PDFLinkService.goToPage: \"".concat(val, "\" is not a valid page."));
17546
+ return;
17547
+ }
17548
+
17549
+ if (this.pdfHistory) {
17550
+ this.pdfHistory.pushCurrentPosition();
17551
+ this.pdfHistory.pushPage(pageNumber);
17552
+ }
17553
+
17554
+ this.pdfViewer.scrollPageIntoView({
17555
+ pageNumber
17556
+ });
17557
+ }
17558
+
17559
+ addLinkAttributes(link, url) {
17560
+ var newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
17561
+ addLinkAttributes(link, {
17562
+ url,
17563
+ target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,
17564
+ rel: this.externalLinkRel,
17565
+ enabled: this.externalLinkEnabled
17566
+ });
17567
+ }
17568
+
17569
+ getDestinationHash(dest) {
17570
+ if (typeof dest === "string") {
17571
+ if (dest.length > 0) {
17572
+ return this.getAnchorUrl("#" + escape(dest));
17573
+ }
17574
+ } else if (Array.isArray(dest)) {
17575
+ var str = JSON.stringify(dest);
17576
+
17577
+ if (str.length > 0) {
17578
+ return this.getAnchorUrl("#" + escape(str));
17579
+ }
17580
+ }
17581
+
17582
+ return this.getAnchorUrl("");
17583
+ }
17584
+
17585
+ getAnchorUrl(anchor) {
17586
+ return (this.baseUrl || "") + anchor;
17587
+ }
17588
+
17589
+ setHash(hash) {
17590
+ if (!this.pdfDocument) {
17591
+ return;
17592
+ }
17593
+
17594
+ var pageNumber, dest;
17595
+
17596
+ if (hash.includes("=")) {
17597
+ var params = (0, _ui_utils.parseQueryString)(hash);
17598
+
17599
+ if (params.has("search")) {
17600
+ this.eventBus.dispatch("findfromurlhash", {
17601
+ source: this,
17602
+ query: params.get("search").replace(/"/g, ""),
17603
+ phraseSearch: params.get("phrase") === "true"
17604
+ });
17605
+ }
17606
+
17607
+ if (params.has("page")) {
17608
+ pageNumber = params.get("page") | 0 || 1;
17609
+ }
17610
+
17611
+ if (params.has("zoom")) {
17612
+ var zoomArgs = params.get("zoom").split(",");
17613
+ var zoomArg = zoomArgs[0];
17614
+ var zoomArgNumber = parseFloat(zoomArg);
17615
+
17616
+ if (!zoomArg.includes("Fit")) {
17617
+ dest = [null, {
17618
+ name: "XYZ"
17619
+ }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
17620
+ } else {
17621
+ if (zoomArg === "Fit" || zoomArg === "FitB") {
17622
+ dest = [null, {
17623
+ name: zoomArg
17624
+ }];
17625
+ } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
17626
+ dest = [null, {
17627
+ name: zoomArg
17628
+ }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
17629
+ } else if (zoomArg === "FitR") {
17630
+ if (zoomArgs.length !== 5) {
17631
+ console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
17632
+ } else {
17633
+ dest = [null, {
17634
+ name: zoomArg
17635
+ }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
17636
+ }
17637
+ } else {
17638
+ console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not a valid zoom value."));
17639
+ }
17640
+ }
17641
+ }
17642
+
17643
+ if (dest) {
17644
+ this.pdfViewer.scrollPageIntoView({
17645
+ pageNumber: pageNumber || this.page,
17646
+ destArray: dest,
17647
+ allowNegativeOffset: true
17648
+ });
17649
+ } else if (pageNumber) {
17650
+ this.page = pageNumber;
17651
+ }
17652
+
17653
+ if (params.has("pagemode")) {
17654
+ this.eventBus.dispatch("pagemode", {
17655
+ source: this,
17656
+ mode: params.get("pagemode")
17657
+ });
17658
+ }
17659
+
17660
+ if (params.has("nameddest")) {
17661
+ this.goToDestination(params.get("nameddest"));
17662
+ }
17663
+ } else {
17664
+ dest = unescape(hash);
17665
+
17666
+ try {
17667
+ dest = JSON.parse(dest);
17668
+
17669
+ if (!Array.isArray(dest)) {
17670
+ dest = dest.toString();
17671
+ }
17672
+ } catch (ex) {}
17673
+
17674
+ if (typeof dest === "string" || _classStaticPrivateMethodGet(PDFLinkService, PDFLinkService, _isValidExplicitDestination).call(PDFLinkService, dest)) {
17675
+ this.goToDestination(dest);
17676
+ return;
17677
+ }
17678
+
17679
+ console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not a valid destination."));
17680
+ }
17681
+ }
17682
+
17683
+ executeNamedAction(action) {
17684
+ var _this$pdfHistory, _this$pdfHistory2;
17685
+
17686
+ switch (action) {
17687
+ case "GoBack":
17688
+ (_this$pdfHistory = this.pdfHistory) === null || _this$pdfHistory === void 0 ? void 0 : _this$pdfHistory.back();
17689
+ break;
17690
+
17691
+ case "GoForward":
17692
+ (_this$pdfHistory2 = this.pdfHistory) === null || _this$pdfHistory2 === void 0 ? void 0 : _this$pdfHistory2.forward();
17693
+ break;
17694
+
17695
+ case "NextPage":
17696
+ this.pdfViewer.nextPage();
17697
+ break;
17698
+
17699
+ case "PrevPage":
17700
+ this.pdfViewer.previousPage();
17701
+ break;
17702
+
17703
+ case "LastPage":
17704
+ this.page = this.pagesCount;
17705
+ break;
17706
+
17707
+ case "FirstPage":
17708
+ this.page = 1;
17709
+ break;
17710
+
17711
+ default:
17712
+ break;
17713
+ }
17714
+
17715
+ this.eventBus.dispatch("namedaction", {
17716
+ source: this,
17717
+ action
17718
+ });
17719
+ }
17720
+
17721
+ cachePageRef(pageNum, pageRef) {
17722
+ if (!pageRef) {
17723
+ return;
17724
+ }
17725
+
17726
+ var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
17727
+
17728
+ _classPrivateFieldGet(this, _pagesRefCache).set(refStr, pageNum);
17729
+ }
17730
+
17731
+ _cachedPageNumber(pageRef) {
17732
+ if (!pageRef) {
17733
+ return null;
17734
+ }
17735
+
17736
+ var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
17737
+ return _classPrivateFieldGet(this, _pagesRefCache).get(refStr) || null;
17738
+ }
17739
+
17740
+ isPageVisible(pageNumber) {
17741
+ return this.pdfViewer.isPageVisible(pageNumber);
17742
+ }
17743
+
17744
+ isPageCached(pageNumber) {
17745
+ return this.pdfViewer.isPageCached(pageNumber);
17746
+ }
17747
+
17748
+ }
17749
+
17750
+ function _goToDestinationHelper2(rawDest) {
17751
+ var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
17752
+ var explicitDest = arguments.length > 2 ? arguments[2] : undefined;
17753
+ var destRef = explicitDest[0];
17754
+ var pageNumber;
17755
+
17756
+ if (typeof destRef === "object" && destRef !== null) {
17757
+ pageNumber = this._cachedPageNumber(destRef);
17758
+
17759
+ if (!pageNumber) {
17760
+ this.pdfDocument.getPageIndex(destRef).then(pageIndex => {
17761
+ this.cachePageRef(pageIndex + 1, destRef);
17762
+
17763
+ _classPrivateMethodGet(this, _goToDestinationHelper, _goToDestinationHelper2).call(this, rawDest, namedDest, explicitDest);
17764
+ }).catch(() => {
17765
+ console.error("PDFLinkService.#goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(rawDest, "\"."));
17766
+ });
17767
+ return;
17768
+ }
17769
+ } else if (Number.isInteger(destRef)) {
17770
+ pageNumber = destRef + 1;
17771
+ } else {
17772
+ console.error("PDFLinkService.#goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(rawDest, "\"."));
17773
+ return;
17774
+ }
17775
+
17776
+ if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {
17777
+ console.error("PDFLinkService.#goToDestinationHelper: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(rawDest, "\"."));
17778
+ return;
17779
+ }
17780
+
17781
+ if (this.pdfHistory) {
17782
+ this.pdfHistory.pushCurrentPosition();
17783
+ this.pdfHistory.push({
17784
+ namedDest,
17785
+ explicitDest,
17786
+ pageNumber
17787
+ });
17788
+ }
17789
+
17790
+ this.pdfViewer.scrollPageIntoView({
17791
+ pageNumber,
17792
+ destArray: explicitDest,
17793
+ ignoreDestinationZoom: this._ignoreDestinationZoom
17794
+ });
17795
+ }
17796
+
17797
+ function _isValidExplicitDestination(dest) {
17798
+ if (!Array.isArray(dest)) {
17799
+ return false;
17800
+ }
17801
+
17802
+ var destLength = dest.length;
17803
+
17804
+ if (destLength < 2) {
17805
+ return false;
17806
+ }
17807
+
17808
+ var page = dest[0];
17809
+
17810
+ if (!(typeof page === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
17811
+ return false;
17812
+ }
17813
+
17814
+ var zoom = dest[1];
17815
+
17816
+ if (!(typeof zoom === "object" && typeof zoom.name === "string")) {
17817
+ return false;
17818
+ }
17819
+
17820
+ var allowNull = true;
17821
+
17822
+ switch (zoom.name) {
17823
+ case "XYZ":
17824
+ if (destLength !== 5) {
17825
+ return false;
17826
+ }
17827
+
17828
+ break;
17829
+
17830
+ case "Fit":
17831
+ case "FitB":
17832
+ return destLength === 2;
17833
+
17834
+ case "FitH":
17835
+ case "FitBH":
17836
+ case "FitV":
17837
+ case "FitBV":
17838
+ if (destLength !== 3) {
17839
+ return false;
17840
+ }
17841
+
17842
+ break;
17843
+
17844
+ case "FitR":
17845
+ if (destLength !== 6) {
17846
+ return false;
17847
+ }
17848
+
17849
+ allowNull = false;
17850
+ break;
17851
+
17852
+ default:
17853
+ return false;
17854
+ }
17855
+
17856
+ for (var i = 2; i < destLength; i++) {
17857
+ var param = dest[i];
17858
+
17859
+ if (!(typeof param === "number" || allowNull && param === null)) {
17860
+ return false;
17861
+ }
17862
+ }
17863
+
17864
+ return true;
17865
+ }
17866
+
17867
+ exports.PDFLinkService = PDFLinkService;
17868
+
17869
+ class SimpleLinkService {
17870
+ constructor() {
17871
+ this.externalLinkEnabled = true;
17872
+ }
17873
+
17874
+ get pagesCount() {
17875
+ return 0;
17876
+ }
17877
+
17878
+ get page() {
17879
+ return 0;
17880
+ }
17881
+
17882
+ set page(value) {}
17883
+
17884
+ get rotation() {
17885
+ return 0;
17886
+ }
17887
+
17888
+ set rotation(value) {}
17889
+
17890
+ goToDestination(dest) {
17891
+ return _asyncToGenerator(function* () {})();
17892
+ }
17893
+
17894
+ goToPage(val) {}
17895
+
17896
+ addLinkAttributes(link, url) {
17897
+ var newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
17898
+ addLinkAttributes(link, {
17899
+ url,
17900
+ enabled: this.externalLinkEnabled
17901
+ });
17902
+ }
17903
+
17904
+ getDestinationHash(dest) {
17905
+ return "#";
17906
+ }
17907
+
17908
+ getAnchorUrl(hash) {
17909
+ return "#";
17910
+ }
17911
+
17912
+ setHash(hash) {}
17913
+
17914
+ executeNamedAction(action) {}
17915
+
17916
+ cachePageRef(pageNum, pageRef) {}
17917
+
17918
+ isPageVisible(pageNumber) {
17919
+ return true;
17920
+ }
17921
+
17922
+ isPageCached(pageNumber) {
17923
+ return true;
17924
+ }
17925
+
17926
+ }
17927
+
17928
+ exports.SimpleLinkService = SimpleLinkService;
17929
+
17930
+ /***/ }),
17931
+
17932
+ /***/ "./src/pdf_js/lib/web/ui_utils.js":
17933
+ /*!****************************************!*\
17934
+ !*** ./src/pdf_js/lib/web/ui_utils.js ***!
17935
+ \****************************************/
17936
+ /***/ ((__unused_webpack_module, exports) => {
17937
+
17938
+ "use strict";
17939
+ /**
17940
+ * @licstart The following is the entire license notice for the
17941
+ * JavaScript code in this page
17942
+ *
17943
+ * Copyright 2022 Mozilla Foundation
17944
+ *
17945
+ * Licensed under the Apache License, Version 2.0 (the "License");
17946
+ * you may not use this file except in compliance with the License.
17947
+ * You may obtain a copy of the License at
17948
+ *
17949
+ * http://www.apache.org/licenses/LICENSE-2.0
17950
+ *
17951
+ * Unless required by applicable law or agreed to in writing, software
17952
+ * distributed under the License is distributed on an "AS IS" BASIS,
17953
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17954
+ * See the License for the specific language governing permissions and
17955
+ * limitations under the License.
17956
+ *
17957
+ * @licend The above is the entire license notice for the
17958
+ * JavaScript code in this page
17959
+ */
17960
+
17961
+
17962
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
17963
+
17964
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
17965
+
17966
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
17967
+
17968
+ Object.defineProperty(exports, "__esModule", ({
17969
+ value: true
17970
+ }));
17971
+ 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;
17972
+ exports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes;
17973
+ exports.apiPageModeToSidebarView = apiPageModeToSidebarView;
17974
+ exports.approximateFraction = approximateFraction;
17975
+ exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
17976
+ exports.binarySearchFirstItem = binarySearchFirstItem;
17977
+ exports.getActiveOrFocusedElement = getActiveOrFocusedElement;
17978
+ exports.getPageSizeInches = getPageSizeInches;
17979
+ exports.getVisibleElements = getVisibleElements;
17980
+ exports.isPortraitOrientation = isPortraitOrientation;
17981
+ exports.isValidRotation = isValidRotation;
17982
+ exports.isValidScrollMode = isValidScrollMode;
17983
+ exports.isValidSpreadMode = isValidSpreadMode;
17984
+ exports.noContextMenuHandler = noContextMenuHandler;
17985
+ exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
17986
+ exports.normalizeWheelEventDirection = normalizeWheelEventDirection;
17987
+ exports.parseQueryString = parseQueryString;
17988
+ exports.removeNullCharacters = removeNullCharacters;
17989
+ exports.roundToDivide = roundToDivide;
17990
+ exports.scrollIntoView = scrollIntoView;
17991
+ exports.watchScroll = watchScroll;
17992
+ var DEFAULT_SCALE_VALUE = "auto";
17993
+ exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
17994
+ var DEFAULT_SCALE = 1.0;
17995
+ exports.DEFAULT_SCALE = DEFAULT_SCALE;
17996
+ var DEFAULT_SCALE_DELTA = 1.1;
17997
+ exports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA;
17998
+ var MIN_SCALE = 0.1;
17999
+ exports.MIN_SCALE = MIN_SCALE;
18000
+ var MAX_SCALE = 10.0;
18001
+ exports.MAX_SCALE = MAX_SCALE;
18002
+ var UNKNOWN_SCALE = 0;
18003
+ exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
18004
+ var MAX_AUTO_SCALE = 1.25;
18005
+ exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
18006
+ var SCROLLBAR_PADDING = 40;
18007
+ exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
18008
+ var VERTICAL_PADDING = 5;
18009
+ exports.VERTICAL_PADDING = VERTICAL_PADDING;
18010
+ var RenderingStates = {
18011
+ INITIAL: 0,
18012
+ RUNNING: 1,
18013
+ PAUSED: 2,
18014
+ FINISHED: 3
18015
+ };
18016
+ exports.RenderingStates = RenderingStates;
18017
+ var PresentationModeState = {
18018
+ UNKNOWN: 0,
18019
+ NORMAL: 1,
18020
+ CHANGING: 2,
18021
+ FULLSCREEN: 3
18022
+ };
18023
+ exports.PresentationModeState = PresentationModeState;
18024
+ var SidebarView = {
18025
+ UNKNOWN: -1,
18026
+ NONE: 0,
18027
+ THUMBS: 1,
18028
+ OUTLINE: 2,
18029
+ ATTACHMENTS: 3,
18030
+ LAYERS: 4
18031
+ };
18032
+ exports.SidebarView = SidebarView;
18033
+ var RendererType = {
18034
+ CANVAS: "canvas",
18035
+ SVG: "svg"
18036
+ };
18037
+ exports.RendererType = RendererType;
18038
+ var TextLayerMode = {
18039
+ DISABLE: 0,
18040
+ ENABLE: 1,
18041
+ ENABLE_ENHANCE: 2
18042
+ };
18043
+ exports.TextLayerMode = TextLayerMode;
18044
+ var ScrollMode = {
18045
+ UNKNOWN: -1,
18046
+ VERTICAL: 0,
18047
+ HORIZONTAL: 1,
18048
+ WRAPPED: 2,
18049
+ PAGE: 3
18050
+ };
18051
+ exports.ScrollMode = ScrollMode;
18052
+ var SpreadMode = {
18053
+ UNKNOWN: -1,
18054
+ NONE: 0,
18055
+ ODD: 1,
18056
+ EVEN: 2
18057
+ };
18058
+ exports.SpreadMode = SpreadMode;
18059
+ var AutoPrintRegExp = /\bprint\s*\(/;
18060
+ exports.AutoPrintRegExp = AutoPrintRegExp;
18061
+
18062
+ class OutputScale {
18063
+ constructor() {
18064
+ var pixelRatio = window.devicePixelRatio || 1;
18065
+ this.sx = pixelRatio;
18066
+ this.sy = pixelRatio;
18067
+ }
18068
+
18069
+ get scaled() {
18070
+ return this.sx !== 1 || this.sy !== 1;
18071
+ }
18072
+
18073
+ }
18074
+
18075
+ exports.OutputScale = OutputScale;
18076
+
18077
+ function scrollIntoView(element, spot) {
18078
+ var scrollMatches = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
18079
+ var parent = element.offsetParent;
18080
+
18081
+ if (!parent) {
18082
+ console.error("offsetParent is not set -- cannot scroll");
18083
+ return;
18084
+ }
18085
+
18086
+ var offsetY = element.offsetTop + element.clientTop;
18087
+ var offsetX = element.offsetLeft + element.clientLeft;
18088
+
18089
+ while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains("markedContent") || getComputedStyle(parent).overflow === "hidden")) {
18090
+ offsetY += parent.offsetTop;
18091
+ offsetX += parent.offsetLeft;
18092
+ parent = parent.offsetParent;
18093
+
18094
+ if (!parent) {
18095
+ return;
18096
+ }
18097
+ }
18098
+
18099
+ if (spot) {
18100
+ if (spot.top !== undefined) {
18101
+ offsetY += spot.top;
18102
+ }
18103
+
18104
+ if (spot.left !== undefined) {
18105
+ offsetX += spot.left;
18106
+ parent.scrollLeft = offsetX;
18107
+ }
18108
+ }
18109
+
18110
+ parent.scrollTop = offsetY;
18111
+ }
18112
+
18113
+ function watchScroll(viewAreaElement, callback) {
18114
+ var debounceScroll = function debounceScroll(evt) {
18115
+ if (rAF) {
18116
+ return;
18117
+ }
18118
+
18119
+ rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
18120
+ rAF = null;
18121
+ var currentX = viewAreaElement.scrollLeft;
18122
+ var lastX = state.lastX;
18123
+
18124
+ if (currentX !== lastX) {
18125
+ state.right = currentX > lastX;
18126
+ }
18127
+
18128
+ state.lastX = currentX;
18129
+ var currentY = viewAreaElement.scrollTop;
18130
+ var lastY = state.lastY;
18131
+
18132
+ if (currentY !== lastY) {
18133
+ state.down = currentY > lastY;
18134
+ }
18135
+
18136
+ state.lastY = currentY;
18137
+ callback(state);
18138
+ });
18139
+ };
18140
+
18141
+ var state = {
18142
+ right: true,
18143
+ down: true,
18144
+ lastX: viewAreaElement.scrollLeft,
18145
+ lastY: viewAreaElement.scrollTop,
18146
+ _eventHandler: debounceScroll
18147
+ };
18148
+ var rAF = null;
18149
+ viewAreaElement.addEventListener("scroll", debounceScroll, true);
18150
+ return state;
18151
+ }
18152
+
18153
+ function parseQueryString(query) {
18154
+ var params = new Map();
18155
+
18156
+ for (var [key, value] of new URLSearchParams(query)) {
18157
+ params.set(key.toLowerCase(), value);
18158
+ }
18159
+
18160
+ return params;
18161
+ }
18162
+
18163
+ var NullCharactersRegExp = /\x00/g;
18164
+ var InvisibleCharactersRegExp = /[\x01-\x1F]/g;
18165
+
18166
+ function removeNullCharacters(str) {
18167
+ var replaceInvisible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
18168
+
18169
+ if (typeof str !== "string") {
18170
+ console.error("The argument must be a string.");
18171
+ return str;
18172
+ }
18173
+
18174
+ if (replaceInvisible) {
18175
+ str = str.replace(InvisibleCharactersRegExp, " ");
18176
+ }
18177
+
18178
+ return str.replace(NullCharactersRegExp, "");
18179
+ }
18180
+
18181
+ function binarySearchFirstItem(items, condition) {
18182
+ var start = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
18183
+ var minIndex = start;
18184
+ var maxIndex = items.length - 1;
18185
+
18186
+ if (maxIndex < 0 || !condition(items[maxIndex])) {
18187
+ return items.length;
18188
+ }
18189
+
18190
+ if (condition(items[minIndex])) {
18191
+ return minIndex;
18192
+ }
18193
+
18194
+ while (minIndex < maxIndex) {
18195
+ var currentIndex = minIndex + maxIndex >> 1;
18196
+ var currentItem = items[currentIndex];
18197
+
18198
+ if (condition(currentItem)) {
18199
+ maxIndex = currentIndex;
18200
+ } else {
18201
+ minIndex = currentIndex + 1;
18202
+ }
18203
+ }
18204
+
18205
+ return minIndex;
18206
+ }
18207
+
18208
+ function approximateFraction(x) {
18209
+ if (Math.floor(x) === x) {
18210
+ return [x, 1];
18211
+ }
18212
+
18213
+ var xinv = 1 / x;
18214
+ var limit = 8;
18215
+
18216
+ if (xinv > limit) {
18217
+ return [1, limit];
18218
+ } else if (Math.floor(xinv) === xinv) {
18219
+ return [1, xinv];
18220
+ }
18221
+
18222
+ var x_ = x > 1 ? xinv : x;
18223
+ var a = 0,
18224
+ b = 1,
18225
+ c = 1,
18226
+ d = 1;
18227
+
18228
+ while (true) {
18229
+ var p = a + c,
18230
+ q = b + d;
18231
+
18232
+ if (q > limit) {
18233
+ break;
18234
+ }
18235
+
18236
+ if (x_ <= p / q) {
18237
+ c = p;
18238
+ d = q;
18239
+ } else {
18240
+ a = p;
18241
+ b = q;
18242
+ }
18243
+ }
18244
+
18245
+ var result;
18246
+
18247
+ if (x_ - a / b < c / d - x_) {
18248
+ result = x_ === x ? [a, b] : [b, a];
18249
+ } else {
18250
+ result = x_ === x ? [c, d] : [d, c];
18251
+ }
18252
+
18253
+ return result;
18254
+ }
18255
+
18256
+ function roundToDivide(x, div) {
18257
+ var r = x % div;
18258
+ return r === 0 ? x : Math.round(x - r + div);
18259
+ }
18260
+
18261
+ function getPageSizeInches(_ref) {
18262
+ var {
18263
+ view,
18264
+ userUnit,
18265
+ rotate
18266
+ } = _ref;
18267
+ var [x1, y1, x2, y2] = view;
18268
+ var changeOrientation = rotate % 180 !== 0;
18269
+ var width = (x2 - x1) / 72 * userUnit;
18270
+ var height = (y2 - y1) / 72 * userUnit;
18271
+ return {
18272
+ width: changeOrientation ? height : width,
18273
+ height: changeOrientation ? width : height
18274
+ };
18275
+ }
18276
+
18277
+ function backtrackBeforeAllVisibleElements(index, views, top) {
18278
+ if (index < 2) {
18279
+ return index;
18280
+ }
18281
+
18282
+ var elt = views[index].div;
18283
+ var pageTop = elt.offsetTop + elt.clientTop;
18284
+
18285
+ if (pageTop >= top) {
18286
+ elt = views[index - 1].div;
18287
+ pageTop = elt.offsetTop + elt.clientTop;
18288
+ }
18289
+
18290
+ for (var i = index - 2; i >= 0; --i) {
18291
+ elt = views[i].div;
18292
+
18293
+ if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
18294
+ break;
18295
+ }
18296
+
18297
+ index = i;
18298
+ }
18299
+
18300
+ return index;
18301
+ }
18302
+
18303
+ function getVisibleElements(_ref2) {
18304
+ var {
18305
+ scrollEl,
18306
+ views,
18307
+ sortByVisibility = false,
18308
+ horizontal = false,
18309
+ rtl = false
18310
+ } = _ref2;
18311
+ var top = scrollEl.scrollTop,
18312
+ bottom = top + scrollEl.clientHeight;
18313
+ var left = scrollEl.scrollLeft,
18314
+ right = left + scrollEl.clientWidth;
18315
+
18316
+ function isElementBottomAfterViewTop(view) {
18317
+ var element = view.div;
18318
+ var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
18319
+ return elementBottom > top;
18320
+ }
18321
+
18322
+ function isElementNextAfterViewHorizontally(view) {
18323
+ var element = view.div;
18324
+ var elementLeft = element.offsetLeft + element.clientLeft;
18325
+ var elementRight = elementLeft + element.clientWidth;
18326
+ return rtl ? elementLeft < right : elementRight > left;
18327
+ }
18328
+
18329
+ var visible = [],
18330
+ ids = new Set(),
18331
+ numViews = views.length;
18332
+ var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);
18333
+
18334
+ if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
18335
+ firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
18336
+ }
18337
+
18338
+ var lastEdge = horizontal ? right : -1;
18339
+
18340
+ for (var i = firstVisibleElementInd; i < numViews; i++) {
18341
+ var view = views[i],
18342
+ element = view.div;
18343
+ var currentWidth = element.offsetLeft + element.clientLeft;
18344
+ var currentHeight = element.offsetTop + element.clientTop;
18345
+ var viewWidth = element.clientWidth,
18346
+ viewHeight = element.clientHeight;
18347
+ var viewRight = currentWidth + viewWidth;
18348
+ var viewBottom = currentHeight + viewHeight;
18349
+
18350
+ if (lastEdge === -1) {
18351
+ if (viewBottom >= bottom) {
18352
+ lastEdge = viewBottom;
18353
+ }
18354
+ } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {
18355
+ break;
18356
+ }
18357
+
18358
+ if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {
18359
+ continue;
18360
+ }
18361
+
18362
+ var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
18363
+ var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
18364
+ var fractionHeight = (viewHeight - hiddenHeight) / viewHeight,
18365
+ fractionWidth = (viewWidth - hiddenWidth) / viewWidth;
18366
+ var percent = fractionHeight * fractionWidth * 100 | 0;
18367
+ visible.push({
18368
+ id: view.id,
18369
+ x: currentWidth,
18370
+ y: currentHeight,
18371
+ view,
18372
+ percent,
18373
+ widthPercent: fractionWidth * 100 | 0
18374
+ });
18375
+ ids.add(view.id);
18376
+ }
18377
+
18378
+ var first = visible[0],
18379
+ last = visible[visible.length - 1];
18380
+
18381
+ if (sortByVisibility) {
18382
+ visible.sort(function (a, b) {
18383
+ var pc = a.percent - b.percent;
18384
+
18385
+ if (Math.abs(pc) > 0.001) {
18386
+ return -pc;
18387
+ }
18388
+
18389
+ return a.id - b.id;
18390
+ });
18391
+ }
18392
+
18393
+ return {
18394
+ first,
18395
+ last,
18396
+ views: visible,
18397
+ ids
18398
+ };
18399
+ }
18400
+
18401
+ function noContextMenuHandler(evt) {
18402
+ evt.preventDefault();
18403
+ }
18404
+
18405
+ function normalizeWheelEventDirection(evt) {
18406
+ var delta = Math.hypot(evt.deltaX, evt.deltaY);
18407
+ var angle = Math.atan2(evt.deltaY, evt.deltaX);
18408
+
18409
+ if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
18410
+ delta = -delta;
18411
+ }
18412
+
18413
+ return delta;
18414
+ }
18415
+
18416
+ function normalizeWheelEventDelta(evt) {
18417
+ var delta = normalizeWheelEventDirection(evt);
18418
+ var MOUSE_DOM_DELTA_PIXEL_MODE = 0;
18419
+ var MOUSE_DOM_DELTA_LINE_MODE = 1;
18420
+ var MOUSE_PIXELS_PER_LINE = 30;
18421
+ var MOUSE_LINES_PER_PAGE = 30;
18422
+
18423
+ if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
18424
+ delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
18425
+ } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
18426
+ delta /= MOUSE_LINES_PER_PAGE;
18427
+ }
18428
+
18429
+ return delta;
18430
+ }
18431
+
18432
+ function isValidRotation(angle) {
18433
+ return Number.isInteger(angle) && angle % 90 === 0;
18434
+ }
18435
+
18436
+ function isValidScrollMode(mode) {
18437
+ return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;
18438
+ }
18439
+
18440
+ function isValidSpreadMode(mode) {
18441
+ return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;
18442
+ }
18443
+
18444
+ function isPortraitOrientation(size) {
18445
+ return size.width <= size.height;
18446
+ }
18447
+
18448
+ var animationStarted = new Promise(function (resolve) {
18449
+ if (typeof window === "undefined") {
18450
+ setTimeout(resolve, 20);
18451
+ return;
18452
+ }
18453
+
18454
+ window.requestAnimationFrame(resolve);
18455
+ });
18456
+ exports.animationStarted = animationStarted;
18457
+
18458
+ function clamp(v, min, max) {
18459
+ return Math.min(Math.max(v, min), max);
18460
+ }
18461
+
18462
+ var _updateBar = /*#__PURE__*/new WeakSet();
18463
+
18464
+ class ProgressBar {
18465
+ constructor(id) {
18466
+ _classPrivateMethodInitSpec(this, _updateBar);
18467
+
18468
+ if (arguments.length > 1) {
18469
+ throw new Error("ProgressBar no longer accepts any additional options, " + "please use CSS rules to modify its appearance instead.");
18470
+ }
18471
+
18472
+ this.visible = true;
18473
+ this.div = document.querySelector(id + " .progress");
18474
+ this.bar = this.div.parentNode;
18475
+ this.percent = 0;
18476
+ }
18477
+
18478
+ get percent() {
18479
+ return this._percent;
18480
+ }
18481
+
18482
+ set percent(val) {
18483
+ this._indeterminate = isNaN(val);
18484
+ this._percent = clamp(val, 0, 100);
18485
+
18486
+ _classPrivateMethodGet(this, _updateBar, _updateBar2).call(this);
18487
+ }
18488
+
18489
+ setWidth(viewer) {
18490
+ if (!viewer) {
18491
+ return;
18492
+ }
18493
+
18494
+ var container = viewer.parentNode;
18495
+ var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
18496
+
18497
+ if (scrollbarWidth > 0) {
18498
+ var doc = document.documentElement;
18499
+ doc.style.setProperty("--progressBar-end-offset", "".concat(scrollbarWidth, "px"));
18500
+ }
18501
+ }
18502
+
18503
+ hide() {
18504
+ if (!this.visible) {
18505
+ return;
18506
+ }
18507
+
18508
+ this.visible = false;
18509
+ this.bar.classList.add("hidden");
18510
+ }
18511
+
18512
+ show() {
18513
+ if (this.visible) {
18514
+ return;
18515
+ }
18516
+
18517
+ this.visible = true;
18518
+ this.bar.classList.remove("hidden");
18519
+ }
18520
+
18521
+ }
18522
+
18523
+ function _updateBar2() {
18524
+ if (this._indeterminate) {
18525
+ this.div.classList.add("indeterminate");
18526
+ return;
18527
+ }
18528
+
18529
+ this.div.classList.remove("indeterminate");
18530
+ var doc = document.documentElement;
18531
+ doc.style.setProperty("--progressBar-percent", "".concat(this._percent, "%"));
18532
+ }
18533
+
18534
+ exports.ProgressBar = ProgressBar;
18535
+
18536
+ function getActiveOrFocusedElement() {
18537
+ var curRoot = document;
18538
+ var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
18539
+
18540
+ while ((_curActiveOrFocused = curActiveOrFocused) !== null && _curActiveOrFocused !== void 0 && _curActiveOrFocused.shadowRoot) {
18541
+ var _curActiveOrFocused;
18542
+
18543
+ curRoot = curActiveOrFocused.shadowRoot;
18544
+ curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
18545
+ }
18546
+
18547
+ return curActiveOrFocused;
18548
+ }
18549
+
18550
+ function apiPageLayoutToViewerModes(layout) {
18551
+ var scrollMode = ScrollMode.VERTICAL,
18552
+ spreadMode = SpreadMode.NONE;
18553
+
18554
+ switch (layout) {
18555
+ case "SinglePage":
18556
+ scrollMode = ScrollMode.PAGE;
18557
+ break;
18558
+
18559
+ case "OneColumn":
18560
+ break;
18561
+
18562
+ case "TwoPageLeft":
18563
+ scrollMode = ScrollMode.PAGE;
18564
+
18565
+ case "TwoColumnLeft":
18566
+ spreadMode = SpreadMode.ODD;
18567
+ break;
18568
+
18569
+ case "TwoPageRight":
18570
+ scrollMode = ScrollMode.PAGE;
18571
+
18572
+ case "TwoColumnRight":
18573
+ spreadMode = SpreadMode.EVEN;
18574
+ break;
18575
+ }
18576
+
18577
+ return {
18578
+ scrollMode,
18579
+ spreadMode
18580
+ };
18581
+ }
18582
+
18583
+ function apiPageModeToSidebarView(mode) {
18584
+ switch (mode) {
18585
+ case "UseNone":
18586
+ return SidebarView.NONE;
18587
+
18588
+ case "UseThumbs":
18589
+ return SidebarView.THUMBS;
18590
+
18591
+ case "UseOutlines":
18592
+ return SidebarView.OUTLINE;
18593
+
18594
+ case "UseAttachments":
18595
+ return SidebarView.ATTACHMENTS;
18596
+
18597
+ case "UseOC":
18598
+ return SidebarView.LAYERS;
18599
+ }
18600
+
18601
+ return SidebarView.NONE;
18602
+ }
18603
+
18604
+ /***/ }),
18605
+
17142
18606
  /***/ "./src/pdf_js/webpack.js":
17143
18607
  /*!*******************************!*\
17144
18608
  !*** ./src/pdf_js/webpack.js ***!
@@ -20158,18 +21622,20 @@ __webpack_require__.r(__webpack_exports__);
20158
21622
  /* harmony export */ "setGlobalWorkerLocation": () => (/* binding */ setGlobalWorkerLocation)
20159
21623
  /* harmony export */ });
20160
21624
  /* harmony import */ var _text_layer_builder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./text_layer_builder.js */ "./src/text_layer_builder.js");
20161
- /* harmony import */ var _pdf_link_service_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pdf_link_service.js */ "./src/pdf_link_service.js");
20162
- /* harmony import */ var _annotation_layer_builder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./annotation_layer_builder.js */ "./src/annotation_layer_builder.js");
20163
- /* harmony import */ var _mabl_pdf_js_webpack__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mabl/pdf.js/webpack */ "./src/pdf_js/webpack.js");
20164
- /* harmony import */ var _mabl_pdf_js_webpack__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_mabl_pdf_js_webpack__WEBPACK_IMPORTED_MODULE_3__);
20165
- /* harmony import */ var _text_layer_builder_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./text_layer_builder.css */ "./src/text_layer_builder.css");
20166
- /* harmony import */ var _text_layer_builder_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_text_layer_builder_css__WEBPACK_IMPORTED_MODULE_4__);
20167
- /* harmony import */ var _annotation_layer_builder_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./annotation_layer_builder.css */ "./src/annotation_layer_builder.css");
20168
- /* harmony import */ var _annotation_layer_builder_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_annotation_layer_builder_css__WEBPACK_IMPORTED_MODULE_5__);
20169
- /* harmony import */ var _mablviewer_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mablviewer.css */ "./src/mablviewer.css");
20170
- /* harmony import */ var _mablviewer_css__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_mablviewer_css__WEBPACK_IMPORTED_MODULE_6__);
20171
- /* harmony import */ var _mabl_attention_move_gif__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./mabl_attention_move.gif */ "./src/mabl_attention_move.gif");
20172
- /* harmony import */ var _mabl_error_artwork_Unplugged_gif__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./mabl_error_artwork_Unplugged.gif */ "./src/mabl_error_artwork_Unplugged.gif");
21625
+ /* harmony import */ var _mabl_pdf_js_lib_web_pdf_link_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mabl/pdf.js/lib/web/pdf_link_service */ "./src/pdf_js/lib/web/pdf_link_service.js");
21626
+ /* harmony import */ var _mabl_pdf_js_lib_web_event_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mabl/pdf.js/lib/web/event_utils */ "./src/pdf_js/lib/web/event_utils.js");
21627
+ /* harmony import */ var _annotation_layer_builder_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./annotation_layer_builder.js */ "./src/annotation_layer_builder.js");
21628
+ /* harmony import */ var _mabl_pdf_js_webpack__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mabl/pdf.js/webpack */ "./src/pdf_js/webpack.js");
21629
+ /* harmony import */ var _mabl_pdf_js_webpack__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_mabl_pdf_js_webpack__WEBPACK_IMPORTED_MODULE_4__);
21630
+ /* harmony import */ var _text_layer_builder_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./text_layer_builder.css */ "./src/text_layer_builder.css");
21631
+ /* harmony import */ var _text_layer_builder_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_text_layer_builder_css__WEBPACK_IMPORTED_MODULE_5__);
21632
+ /* harmony import */ var _annotation_layer_builder_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./annotation_layer_builder.css */ "./src/annotation_layer_builder.css");
21633
+ /* harmony import */ var _annotation_layer_builder_css__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_annotation_layer_builder_css__WEBPACK_IMPORTED_MODULE_6__);
21634
+ /* harmony import */ var _mablviewer_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./mablviewer.css */ "./src/mablviewer.css");
21635
+ /* harmony import */ var _mablviewer_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_mablviewer_css__WEBPACK_IMPORTED_MODULE_7__);
21636
+ /* harmony import */ var _mabl_attention_move_gif__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./mabl_attention_move.gif */ "./src/mabl_attention_move.gif");
21637
+ /* harmony import */ var _mabl_error_artwork_Unplugged_gif__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./mabl_error_artwork_Unplugged.gif */ "./src/mabl_error_artwork_Unplugged.gif");
21638
+
20173
21639
 
20174
21640
 
20175
21641
 
@@ -20198,7 +21664,9 @@ class mablPdfViewer {
20198
21664
  this.spinnerDiv = this.getSpinnerDiv();
20199
21665
  this.errorDialog = this.getErrorDiv();
20200
21666
  this.viewerElement = viewerElem || document.getElementById(PDF_VIEWER_ID) || this.createViewer();
20201
- this.linkService = new _pdf_link_service_js__WEBPACK_IMPORTED_MODULE_1__.PDFLinkService();
21667
+ this.linkService = new _mabl_pdf_js_lib_web_pdf_link_service__WEBPACK_IMPORTED_MODULE_1__.PDFLinkService({
21668
+ eventBus: new _mabl_pdf_js_lib_web_event_utils__WEBPACK_IMPORTED_MODULE_2__.EventBus()
21669
+ });
20202
21670
 
20203
21671
  if (pdfName) {
20204
21672
  document.title = 'mabl PDF: ' + pdfName;
@@ -20210,7 +21678,7 @@ class mablPdfViewer {
20210
21678
  return;
20211
21679
  }
20212
21680
 
20213
- var loadingTask = _mabl_pdf_js_webpack__WEBPACK_IMPORTED_MODULE_3__.getDocument({
21681
+ var loadingTask = _mabl_pdf_js_webpack__WEBPACK_IMPORTED_MODULE_4__.getDocument({
20214
21682
  url: pdfUrl,
20215
21683
  cMapUrl,
20216
21684
  cMapPacked,
@@ -20250,7 +21718,7 @@ class mablPdfViewer {
20250
21718
  spinnerDiv = document.createElement('div');
20251
21719
  spinnerDiv.id = PDF_SPINNER_ID;
20252
21720
  var spinnerImg = document.createElement('img');
20253
- spinnerImg.src = _mabl_attention_move_gif__WEBPACK_IMPORTED_MODULE_7__["default"];
21721
+ spinnerImg.src = _mabl_attention_move_gif__WEBPACK_IMPORTED_MODULE_8__["default"];
20254
21722
  spinnerDiv.appendChild(spinnerImg);
20255
21723
  document.body.appendChild(spinnerDiv);
20256
21724
  }
@@ -20266,7 +21734,7 @@ class mablPdfViewer {
20266
21734
  var errorMessage = document.createElement('div');
20267
21735
  errorMessage.id = 'errorMessage';
20268
21736
  var errorImg = document.createElement('img');
20269
- errorImg.src = _mabl_error_artwork_Unplugged_gif__WEBPACK_IMPORTED_MODULE_8__["default"];
21737
+ errorImg.src = _mabl_error_artwork_Unplugged_gif__WEBPACK_IMPORTED_MODULE_9__["default"];
20270
21738
  errorDiv.appendChild(errorImg);
20271
21739
  var apologyMessage = document.createElement('div');
20272
21740
  apologyMessage.id = 'errorMessage';
@@ -20296,12 +21764,12 @@ class mablPdfViewer {
20296
21764
  errorDiv.addEventListener('dragenter', event => {
20297
21765
  event.stopPropagation();
20298
21766
  event.preventDefault();
20299
- errorImg.src = _mabl_attention_move_gif__WEBPACK_IMPORTED_MODULE_7__["default"];
21767
+ errorImg.src = _mabl_attention_move_gif__WEBPACK_IMPORTED_MODULE_8__["default"];
20300
21768
  }, false);
20301
21769
  errorDiv.addEventListener('dragleave', event => {
20302
21770
  event.stopPropagation();
20303
21771
  event.preventDefault();
20304
- errorImg.src = _mabl_error_artwork_Unplugged_gif__WEBPACK_IMPORTED_MODULE_8__["default"];
21772
+ errorImg.src = _mabl_error_artwork_Unplugged_gif__WEBPACK_IMPORTED_MODULE_9__["default"];
20305
21773
  }, false);
20306
21774
  errorDiv.addEventListener('dragover', event => {
20307
21775
  event.stopPropagation();
@@ -20368,7 +21836,7 @@ class mablPdfViewer {
20368
21836
  viewport: viewport
20369
21837
  });
20370
21838
  var annotationLayerDiv = document.createElement('div');
20371
- var annotationLayer = new _annotation_layer_builder_js__WEBPACK_IMPORTED_MODULE_2__.AnnotationLayerBuilder({
21839
+ var annotationLayer = new _annotation_layer_builder_js__WEBPACK_IMPORTED_MODULE_3__.AnnotationLayerBuilder({
20372
21840
  pageDiv,
20373
21841
  pdfPage: page,
20374
21842
  linkService: this.linkService,