@libresign/pdf-elements 0.2.2 → 0.2.3

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.
@@ -1 +1 @@
1
- canvas[data-v-2c9e224a]{display:block}.draggable-wrapper[data-v-55db89ce]{position:relative}.actions-toolbar[data-v-55db89ce]{position:absolute;display:flex;gap:4px;background:#1f2937;border-radius:6px;padding:6px 8px;box-shadow:0 4px 12px -2px #00000026,0 2px 6px -2px #0000001a;z-index:100;white-space:nowrap}.action-btn[data-v-55db89ce]{border:none;background:#0000;color:#fff;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.action-btn[data-v-55db89ce]:hover{background:#ffffff1a}.draggable-element[data-v-55db89ce]{position:absolute;cursor:move;user-select:none;border-radius:6px;overflow:visible}.draggable-element.selected[data-v-55db89ce]{box-shadow:inset 0 0 0 2px #2563eb}.resize-handle[data-v-55db89ce]{position:absolute;width:10px;height:10px;background:#2563eb;border:1px solid #fff;border-radius:2px;padding:0;margin:0;cursor:pointer;z-index:200}.handle-top-left[data-v-55db89ce]{top:-6px;left:-6px;cursor:nwse-resize}.handle-top-right[data-v-55db89ce]{top:-6px;right:-6px;cursor:nesw-resize}.handle-bottom-left[data-v-55db89ce]{bottom:-6px;left:-6px;cursor:nesw-resize}.handle-bottom-right[data-v-55db89ce]{bottom:-6px;right:-6px;cursor:nwse-resize}.pdf-elements-root[data-v-ddd8aa14]{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.pages-container[data-v-ddd8aa14]{width:100%;padding:20px 0 0 0;text-align:center;background:#f7fafc;overflow:hidden}.page-slot[data-v-ddd8aa14]{margin:0 auto}.page-wrapper[data-v-ddd8aa14]{display:inline-block;margin-bottom:0}.page-canvas[data-v-ddd8aa14]{position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.shadow-outline[data-v-ddd8aa14]{box-shadow:0 0 0 3px #4299e180}.preview-element[data-v-ddd8aa14]{position:absolute;opacity:.7;pointer-events:none}.drag-ghost[data-v-ddd8aa14]{position:fixed;opacity:.9;pointer-events:none;z-index:10000;transform-origin:top left;transition:none;box-shadow:0 8px 16px #0000004d}.overlay[data-v-ddd8aa14]{position:absolute;top:0;left:0;transform-origin:top left;width:100%;height:100%}.page-footer[data-v-ddd8aa14]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 20px 20px;color:#4b5563;font-size:14px}
1
+ canvas[data-v-2c9e224a]{display:block}.draggable-wrapper[data-v-55db89ce]{position:relative}.actions-toolbar[data-v-55db89ce]{position:absolute;display:flex;gap:4px;background:#1f2937;border-radius:6px;padding:6px 8px;box-shadow:0 4px 12px -2px #00000026,0 2px 6px -2px #0000001a;z-index:100;white-space:nowrap}.action-btn[data-v-55db89ce]{border:none;background:#0000;color:#fff;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.action-btn[data-v-55db89ce]:hover{background:#ffffff1a}.draggable-element[data-v-55db89ce]{position:absolute;cursor:move;user-select:none;border-radius:6px;overflow:visible}.draggable-element.selected[data-v-55db89ce]{box-shadow:inset 0 0 0 2px #2563eb}.resize-handle[data-v-55db89ce]{position:absolute;width:10px;height:10px;background:#2563eb;border:1px solid #fff;border-radius:2px;padding:0;margin:0;cursor:pointer;z-index:200}.handle-top-left[data-v-55db89ce]{top:-6px;left:-6px;cursor:nwse-resize}.handle-top-right[data-v-55db89ce]{top:-6px;right:-6px;cursor:nesw-resize}.handle-bottom-left[data-v-55db89ce]{bottom:-6px;left:-6px;cursor:nesw-resize}.handle-bottom-right[data-v-55db89ce]{bottom:-6px;right:-6px;cursor:nwse-resize}.pdf-elements-root[data-v-a3ee1be0]{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.pages-container[data-v-a3ee1be0]{width:100%;padding:20px 0 0 0;text-align:center;background:#f7fafc;overflow:hidden}.page-slot[data-v-a3ee1be0]{margin:0 auto}.page-wrapper[data-v-a3ee1be0]{display:inline-block;margin-bottom:0}.page-canvas[data-v-a3ee1be0]{position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.shadow-outline[data-v-a3ee1be0]{box-shadow:0 0 0 3px #4299e180}.preview-element[data-v-a3ee1be0]{position:absolute;opacity:.7;pointer-events:none}.drag-ghost[data-v-a3ee1be0]{position:fixed;opacity:.9;pointer-events:none;z-index:10000;transform-origin:top left;transition:none;box-shadow:0 8px 16px #0000004d}.overlay[data-v-a3ee1be0]{position:absolute;top:0;left:0;transform-origin:top left;width:100%;height:100%}.page-footer[data-v-a3ee1be0]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 20px 20px;color:#4b5563;font-size:14px}
@@ -29176,7 +29176,7 @@ globalThis.pdfjsLib = {
29176
29176
  //# sourceMappingURL=pdf.mjs.map
29177
29177
  ;// ./node_modules/pdfjs-dist/build/pdf.worker.min.mjs
29178
29178
  const pdf_worker_min_namespaceObject = __webpack_require__.p + "pdf.worker.min.mjs";
29179
- ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
29179
+ ;// ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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=a3ee1be0&scoped=true
29180
29180
  var render = function render() {
29181
29181
  var _vm = this,
29182
29182
  _c = _vm._self._c;
@@ -30262,7 +30262,7 @@ function readAsPDF(file) {
30262
30262
  boundHandleWheel: null,
30263
30263
  debouncedApplyZoom: null,
30264
30264
  visualScale: this.initialScale,
30265
- resizeObserver: null
30265
+ autoFitApplied: false
30266
30266
  };
30267
30267
  },
30268
30268
  mounted() {
@@ -30286,17 +30286,6 @@ function readAsPDF(file) {
30286
30286
  this.$el?.addEventListener('wheel', this.boundHandleWheel, {
30287
30287
  passive: false
30288
30288
  });
30289
- if (this.autoFitZoom) {
30290
- window.addEventListener('resize', this.adjustZoomToFit);
30291
- if (typeof ResizeObserver !== 'undefined') {
30292
- this.resizeObserver = new ResizeObserver(() => {
30293
- this.scheduleAutoFitZoom();
30294
- });
30295
- if (this.$el) {
30296
- this.resizeObserver.observe(this.$el);
30297
- }
30298
- }
30299
- }
30300
30289
  },
30301
30290
  beforeUnmount() {
30302
30291
  if (this.zoomRafId) {
@@ -30314,13 +30303,6 @@ function readAsPDF(file) {
30314
30303
  window.removeEventListener('scroll', this.onViewportScroll);
30315
30304
  window.removeEventListener('resize', this.onViewportScroll);
30316
30305
  this.$el?.removeEventListener('scroll', this.onViewportScroll);
30317
- if (this.autoFitZoom) {
30318
- window.removeEventListener('resize', this.adjustZoomToFit);
30319
- if (this.resizeObserver) {
30320
- this.resizeObserver.disconnect();
30321
- this.resizeObserver = null;
30322
- }
30323
- }
30324
30306
  if (this.viewportRafId) {
30325
30307
  window.cancelAnimationFrame(this.viewportRafId);
30326
30308
  this.viewportRafId = 0;
@@ -30330,6 +30312,7 @@ function readAsPDF(file) {
30330
30312
  async init() {
30331
30313
  if (!this.initFiles || this.initFiles.length === 0) return;
30332
30314
  const docs = [];
30315
+ this.autoFitApplied = false;
30333
30316
  for (let i = 0; i < this.initFiles.length; i++) {
30334
30317
  const file = this.initFiles[i];
30335
30318
  const name = this.initFileNames[i] || `document-${i + 1}.pdf`;
@@ -30826,6 +30809,7 @@ function readAsPDF(file) {
30826
30809
  return Math.max(0.1, Math.min(2, availableWidth / maxPageWidth));
30827
30810
  },
30828
30811
  scheduleAutoFitZoom() {
30812
+ if (this.autoFitApplied) return;
30829
30813
  if (this.zoomRafId) return;
30830
30814
  this.zoomRafId = window.requestAnimationFrame(() => {
30831
30815
  this.zoomRafId = 0;
@@ -30833,7 +30817,7 @@ function readAsPDF(file) {
30833
30817
  });
30834
30818
  },
30835
30819
  adjustZoomToFit() {
30836
- if (!this.autoFitZoom || !this.pdfDocuments.length) return;
30820
+ if (!this.autoFitZoom || this.autoFitApplied || !this.pdfDocuments.length) return;
30837
30821
  const widths = this.pdfDocuments.flatMap(doc => doc.pageWidths || []).filter(width => width > 0);
30838
30822
  let maxCanvasWidth = 0;
30839
30823
  if (widths.length) {
@@ -30848,6 +30832,7 @@ function readAsPDF(file) {
30848
30832
  maxCanvasWidth = Math.max(...Array.from(canvases).map(canvas => canvas.width / (this.scale || 1)));
30849
30833
  }
30850
30834
  const optimalScale = this.calculateOptimalScale(maxCanvasWidth);
30835
+ this.autoFitApplied = true;
30851
30836
  if (Math.abs(optimalScale - this.scale) > 0.01) {
30852
30837
  this.scale = optimalScale;
30853
30838
  this.visualScale = optimalScale;
@@ -30861,10 +30846,10 @@ function readAsPDF(file) {
30861
30846
  });
30862
30847
  ;// ./src/components/PDFElements.vue?vue&type=script&lang=js
30863
30848
  /* harmony default export */ const components_PDFElementsvue_type_script_lang_js = (PDFElementsvue_type_script_lang_js);
30864
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.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
30849
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-55.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-55.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-55.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/PDFElements.vue?vue&type=style&index=0&id=a3ee1be0&prod&scoped=true&lang=css
30865
30850
  // extracted by mini-css-extract-plugin
30866
30851
 
30867
- ;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=ddd8aa14&prod&scoped=true&lang=css
30852
+ ;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=a3ee1be0&prod&scoped=true&lang=css
30868
30853
 
30869
30854
  ;// ./src/components/PDFElements.vue
30870
30855
 
@@ -30881,7 +30866,7 @@ var PDFElements_component = normalizeComponent(
30881
30866
  staticRenderFns,
30882
30867
  false,
30883
30868
  null,
30884
- "ddd8aa14",
30869
+ "a3ee1be0",
30885
30870
  null
30886
30871
 
30887
30872
  )