@libresign/pdf-elements 0.2.1 → 0.2.2

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.
@@ -180,6 +180,74 @@ module.exports = getBuiltIn('document', 'documentElement');
180
180
  module.exports = {};
181
181
 
182
182
 
183
+ /***/ },
184
+
185
+ /***/ 531
186
+ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
187
+
188
+
189
+ var $ = __webpack_require__(6518);
190
+ var call = __webpack_require__(9565);
191
+ var aCallable = __webpack_require__(9306);
192
+ var anObject = __webpack_require__(8551);
193
+ var getIteratorDirect = __webpack_require__(1767);
194
+ var getIteratorFlattenable = __webpack_require__(8646);
195
+ var createIteratorProxy = __webpack_require__(9462);
196
+ var iteratorClose = __webpack_require__(9539);
197
+ var IS_PURE = __webpack_require__(6395);
198
+ var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(684);
199
+ var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
200
+
201
+ var FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE
202
+ && !iteratorHelperThrowsOnInvalidIterator('flatMap', function () { /* empty */ });
203
+ var flatMapWithoutClosingOnEarlyError = !IS_PURE && !FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR
204
+ && iteratorHelperWithoutClosingOnEarlyError('flatMap', TypeError);
205
+
206
+ var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError;
207
+
208
+ var IteratorProxy = createIteratorProxy(function () {
209
+ var iterator = this.iterator;
210
+ var mapper = this.mapper;
211
+ var result, inner;
212
+
213
+ while (true) {
214
+ if (inner = this.inner) try {
215
+ result = anObject(call(inner.next, inner.iterator));
216
+ if (!result.done) return result.value;
217
+ this.inner = null;
218
+ } catch (error) { iteratorClose(iterator, 'throw', error); }
219
+
220
+ result = anObject(call(this.next, iterator));
221
+
222
+ if (this.done = !!result.done) return;
223
+
224
+ try {
225
+ this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false);
226
+ } catch (error) { iteratorClose(iterator, 'throw', error); }
227
+ }
228
+ });
229
+
230
+ // `Iterator.prototype.flatMap` method
231
+ // https://tc39.es/ecma262/#sec-iterator.prototype.flatmap
232
+ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
233
+ flatMap: function flatMap(mapper) {
234
+ anObject(this);
235
+ try {
236
+ aCallable(mapper);
237
+ } catch (error) {
238
+ iteratorClose(this, 'throw', error);
239
+ }
240
+
241
+ if (flatMapWithoutClosingOnEarlyError) return call(flatMapWithoutClosingOnEarlyError, this, mapper);
242
+
243
+ return new IteratorProxy(getIteratorDirect(this), {
244
+ mapper: mapper,
245
+ inner: null
246
+ });
247
+ }
248
+ });
249
+
250
+
183
251
  /***/ },
184
252
 
185
253
  /***/ 616
@@ -2224,6 +2292,24 @@ var WeakMap = globalThis.WeakMap;
2224
2292
  module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
2225
2293
 
2226
2294
 
2295
+ /***/ },
2296
+
2297
+ /***/ 8646
2298
+ (module, __unused_webpack_exports, __webpack_require__) {
2299
+
2300
+
2301
+ var call = __webpack_require__(9565);
2302
+ var anObject = __webpack_require__(8551);
2303
+ var getIteratorDirect = __webpack_require__(1767);
2304
+ var getIteratorMethod = __webpack_require__(851);
2305
+
2306
+ module.exports = function (obj, stringHandling) {
2307
+ if (!stringHandling || typeof obj !== 'string') anObject(obj);
2308
+ var method = getIteratorMethod(obj);
2309
+ return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj));
2310
+ };
2311
+
2312
+
2227
2313
  /***/ },
2228
2314
 
2229
2315
  /***/ 8686
@@ -29080,7 +29166,7 @@ globalThis.pdfjsLib = {
29080
29166
  //# sourceMappingURL=pdf.mjs.map
29081
29167
  ;// ./node_modules/pdfjs-dist/build/pdf.worker.min.mjs
29082
29168
  const pdf_worker_min_namespaceObject = __webpack_require__.p + "pdf.worker.min.mjs";
29083
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=template&id=00b0fcba&scoped=true
29169
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=template&id=ddd8aa14&scoped=true
29084
29170
  var render = function render() {
29085
29171
  var _vm = this,
29086
29172
  _c = _vm._self._c;
@@ -29226,6 +29312,8 @@ var es_iterator_constructor = __webpack_require__(8111);
29226
29312
  var es_iterator_filter = __webpack_require__(2489);
29227
29313
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
29228
29314
  var es_iterator_find = __webpack_require__(116);
29315
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.flat-map.js
29316
+ var es_iterator_flat_map = __webpack_require__(531);
29229
29317
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
29230
29318
  var es_iterator_for_each = __webpack_require__(7588);
29231
29319
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
@@ -30064,6 +30152,7 @@ function readAsPDF(file) {
30064
30152
 
30065
30153
 
30066
30154
 
30155
+
30067
30156
  /* harmony default export */ const PDFElementsvue_type_script_lang_js = ({
30068
30157
  name: 'PDFElements',
30069
30158
  components: {
@@ -30162,7 +30251,8 @@ function readAsPDF(file) {
30162
30251
  zoomRafId: null,
30163
30252
  boundHandleWheel: null,
30164
30253
  debouncedApplyZoom: null,
30165
- visualScale: this.initialScale
30254
+ visualScale: this.initialScale,
30255
+ resizeObserver: null
30166
30256
  };
30167
30257
  },
30168
30258
  mounted() {
@@ -30188,6 +30278,14 @@ function readAsPDF(file) {
30188
30278
  });
30189
30279
  if (this.autoFitZoom) {
30190
30280
  window.addEventListener('resize', this.adjustZoomToFit);
30281
+ if (typeof ResizeObserver !== 'undefined') {
30282
+ this.resizeObserver = new ResizeObserver(() => {
30283
+ this.scheduleAutoFitZoom();
30284
+ });
30285
+ if (this.$el) {
30286
+ this.resizeObserver.observe(this.$el);
30287
+ }
30288
+ }
30191
30289
  }
30192
30290
  },
30193
30291
  beforeUnmount() {
@@ -30208,6 +30306,10 @@ function readAsPDF(file) {
30208
30306
  this.$el?.removeEventListener('scroll', this.onViewportScroll);
30209
30307
  if (this.autoFitZoom) {
30210
30308
  window.removeEventListener('resize', this.adjustZoomToFit);
30309
+ if (this.resizeObserver) {
30310
+ this.resizeObserver.disconnect();
30311
+ this.resizeObserver = null;
30312
+ }
30211
30313
  }
30212
30314
  if (this.viewportRafId) {
30213
30315
  window.cancelAnimationFrame(this.viewportRafId);
@@ -30231,8 +30333,18 @@ function readAsPDF(file) {
30231
30333
  pdfDoc = await readAsPDF(file);
30232
30334
  }
30233
30335
  const pages = [];
30336
+ const pageWidths = Array(pdfDoc.numPages).fill(0);
30234
30337
  for (let p = 1; p <= pdfDoc.numPages; p++) {
30235
- pages.push(pdfDoc.getPage(p));
30338
+ const pagePromise = pdfDoc.getPage(p);
30339
+ pagePromise.then(page => {
30340
+ pageWidths[p - 1] = page.getViewport({
30341
+ scale: 1
30342
+ }).width;
30343
+ if (this.autoFitZoom) {
30344
+ this.scheduleAutoFitZoom();
30345
+ }
30346
+ });
30347
+ pages.push(pagePromise);
30236
30348
  }
30237
30349
  docs.push({
30238
30350
  name,
@@ -30240,6 +30352,7 @@ function readAsPDF(file) {
30240
30352
  pdfDoc,
30241
30353
  numPages: pdfDoc.numPages,
30242
30354
  pages,
30355
+ pageWidths,
30243
30356
  pagesScale: Array(pdfDoc.numPages).fill(this.scale),
30244
30357
  allObjects: Array(pdfDoc.numPages).fill(0).map(() => [])
30245
30358
  });
@@ -30253,7 +30366,7 @@ function readAsPDF(file) {
30253
30366
  });
30254
30367
  this.$nextTick(() => {
30255
30368
  if (this.autoFitZoom) {
30256
- this.adjustZoomToFit();
30369
+ this.scheduleAutoFitZoom();
30257
30370
  }
30258
30371
  });
30259
30372
  }
@@ -30675,6 +30788,9 @@ function readAsPDF(file) {
30675
30788
  if (docIndex < 0 || docIndex >= this.pdfDocuments.length) return;
30676
30789
  this.pdfDocuments[docIndex].pagesScale[pageIndex] = e.scale;
30677
30790
  this.cachePageBounds();
30791
+ if (this.autoFitZoom) {
30792
+ this.scheduleAutoFitZoom();
30793
+ }
30678
30794
  },
30679
30795
  formatPageNumber(currentPage, totalPages) {
30680
30796
  return this.pageCountFormat.replace('{currentPage}', currentPage).replace('{totalPages}', totalPages);
@@ -30699,11 +30815,28 @@ function readAsPDF(file) {
30699
30815
  const availableWidth = containerWidth - 40;
30700
30816
  return Math.max(0.1, Math.min(2, availableWidth / maxPageWidth));
30701
30817
  },
30818
+ scheduleAutoFitZoom() {
30819
+ if (this.zoomRafId) return;
30820
+ this.zoomRafId = window.requestAnimationFrame(() => {
30821
+ this.zoomRafId = 0;
30822
+ this.adjustZoomToFit();
30823
+ });
30824
+ },
30702
30825
  adjustZoomToFit() {
30703
30826
  if (!this.autoFitZoom || !this.pdfDocuments.length) return;
30704
- const canvases = this.$el?.querySelectorAll('canvas');
30705
- if (!canvases?.length) return;
30706
- const maxCanvasWidth = Math.max(...Array.from(canvases).map(canvas => canvas.width / (this.scale || 1)));
30827
+ const widths = this.pdfDocuments.flatMap(doc => doc.pageWidths || []).filter(width => width > 0);
30828
+ let maxCanvasWidth = 0;
30829
+ if (widths.length) {
30830
+ maxCanvasWidth = Math.max(...widths);
30831
+ } else {
30832
+ if (this.autoFitZoom) {
30833
+ this.scheduleAutoFitZoom();
30834
+ return;
30835
+ }
30836
+ const canvases = this.$el?.querySelectorAll('canvas');
30837
+ if (!canvases?.length) return;
30838
+ maxCanvasWidth = Math.max(...Array.from(canvases).map(canvas => canvas.width / (this.scale || 1)));
30839
+ }
30707
30840
  const optimalScale = this.calculateOptimalScale(maxCanvasWidth);
30708
30841
  if (Math.abs(optimalScale - this.scale) > 0.01) {
30709
30842
  this.scale = optimalScale;
@@ -30718,10 +30851,10 @@ function readAsPDF(file) {
30718
30851
  });
30719
30852
  ;// ./src/components/PDFElements.vue?vue&type=script&lang=js
30720
30853
  /* harmony default export */ const components_PDFElementsvue_type_script_lang_js = (PDFElementsvue_type_script_lang_js);
30721
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=style&index=0&id=00b0fcba&prod&scoped=true&lang=css
30854
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=style&index=0&id=ddd8aa14&prod&scoped=true&lang=css
30722
30855
  // extracted by mini-css-extract-plugin
30723
30856
 
30724
- ;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=00b0fcba&prod&scoped=true&lang=css
30857
+ ;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=ddd8aa14&prod&scoped=true&lang=css
30725
30858
 
30726
30859
  ;// ./src/components/PDFElements.vue
30727
30860
 
@@ -30738,7 +30871,7 @@ var PDFElements_component = normalizeComponent(
30738
30871
  staticRenderFns,
30739
30872
  false,
30740
30873
  null,
30741
- "00b0fcba",
30874
+ "ddd8aa14",
30742
30875
  null
30743
30876
 
30744
30877
  )