@libresign/pdf-elements 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -12
- package/dist/pdf-elements.common.js +31 -4
- package/dist/pdf-elements.common.js.map +1 -1
- package/dist/pdf-elements.css +1 -1
- package/dist/pdf-elements.umd.js +31 -4
- package/dist/pdf-elements.umd.js.map +1 -1
- package/dist/pdf-elements.umd.min.js +1 -1
- package/dist/pdf-elements.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/PDFElements.vue +33 -0
package/dist/pdf-elements.css
CHANGED
|
@@ -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-
|
|
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-7a179460]{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.pages-container[data-v-7a179460]{width:100%;padding:20px 0 0 0;text-align:center;background:#f7fafc;overflow:hidden}.page-slot[data-v-7a179460]{margin:0 auto}.page-wrapper[data-v-7a179460]{display:inline-block;margin-bottom:0}.page-canvas[data-v-7a179460]{position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.shadow-outline[data-v-7a179460]{box-shadow:0 0 0 3px #4299e180}.preview-element[data-v-7a179460]{position:absolute;opacity:.7;pointer-events:none}.drag-ghost[data-v-7a179460]{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-7a179460]{position:absolute;top:0;left:0;transform-origin:top left;width:100%;height:100%}.page-footer[data-v-7a179460]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 20px 20px;color:#4b5563;font-size:14px}
|
package/dist/pdf-elements.umd.js
CHANGED
|
@@ -2696,7 +2696,7 @@ if (typeof window !== 'undefined') {
|
|
|
2696
2696
|
// Indicate to webpack that this file can be concatenated
|
|
2697
2697
|
/* harmony default export */ const setPublicPath = (null);
|
|
2698
2698
|
|
|
2699
|
-
;// ./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=
|
|
2699
|
+
;// ./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=7a179460&scoped=true
|
|
2700
2700
|
var render = function render() {
|
|
2701
2701
|
var _vm = this,
|
|
2702
2702
|
_c = _vm._self._c;
|
|
@@ -30117,6 +30117,10 @@ function readAsPDF(file) {
|
|
|
30117
30117
|
pageCountFormat: {
|
|
30118
30118
|
type: String,
|
|
30119
30119
|
default: '{currentPage} of {totalPages}'
|
|
30120
|
+
},
|
|
30121
|
+
autoFitZoom: {
|
|
30122
|
+
type: Boolean,
|
|
30123
|
+
default: false
|
|
30120
30124
|
}
|
|
30121
30125
|
},
|
|
30122
30126
|
data() {
|
|
@@ -30189,6 +30193,9 @@ function readAsPDF(file) {
|
|
|
30189
30193
|
this.$el?.addEventListener('wheel', this.boundHandleWheel, {
|
|
30190
30194
|
passive: false
|
|
30191
30195
|
});
|
|
30196
|
+
if (this.autoFitZoom) {
|
|
30197
|
+
window.addEventListener('resize', this.adjustZoomToFit);
|
|
30198
|
+
}
|
|
30192
30199
|
},
|
|
30193
30200
|
beforeUnmount() {
|
|
30194
30201
|
if (this.zoomRafId) {
|
|
@@ -30206,6 +30213,9 @@ function readAsPDF(file) {
|
|
|
30206
30213
|
window.removeEventListener('scroll', this.onViewportScroll);
|
|
30207
30214
|
window.removeEventListener('resize', this.onViewportScroll);
|
|
30208
30215
|
this.$el?.removeEventListener('scroll', this.onViewportScroll);
|
|
30216
|
+
if (this.autoFitZoom) {
|
|
30217
|
+
window.removeEventListener('resize', this.adjustZoomToFit);
|
|
30218
|
+
}
|
|
30209
30219
|
if (this.viewportRafId) {
|
|
30210
30220
|
window.cancelAnimationFrame(this.viewportRafId);
|
|
30211
30221
|
this.viewportRafId = 0;
|
|
@@ -30684,15 +30694,32 @@ function readAsPDF(file) {
|
|
|
30684
30694
|
const doc = this.pdfDocuments[docIndex];
|
|
30685
30695
|
const pagesScale = doc.pagesScale[pageIndex] || 1;
|
|
30686
30696
|
return pageRef.getCanvasMeasurement().canvasHeight / pagesScale;
|
|
30697
|
+
},
|
|
30698
|
+
calculateOptimalScale(maxPageWidth) {
|
|
30699
|
+
const containerWidth = this.$el?.clientWidth || 0;
|
|
30700
|
+
if (!containerWidth || !maxPageWidth) return 1;
|
|
30701
|
+
const availableWidth = containerWidth - 40;
|
|
30702
|
+
return Math.max(0.1, Math.min(2, availableWidth / maxPageWidth));
|
|
30703
|
+
},
|
|
30704
|
+
adjustZoomToFit() {
|
|
30705
|
+
if (!this.autoFitZoom || !this.pdfDocuments.length) return;
|
|
30706
|
+
const canvases = this.$el?.querySelectorAll('canvas');
|
|
30707
|
+
if (!canvases?.length) return;
|
|
30708
|
+
const maxCanvasWidth = Math.max(...Array.from(canvases).map(canvas => canvas.width / (this.scale || 1)));
|
|
30709
|
+
const optimalScale = this.calculateOptimalScale(maxCanvasWidth);
|
|
30710
|
+
if (Math.abs(optimalScale - this.scale) > 0.01) {
|
|
30711
|
+
this.scale = optimalScale;
|
|
30712
|
+
this.visualScale = optimalScale;
|
|
30713
|
+
}
|
|
30687
30714
|
}
|
|
30688
30715
|
}
|
|
30689
30716
|
});
|
|
30690
30717
|
;// ./src/components/PDFElements.vue?vue&type=script&lang=js
|
|
30691
30718
|
/* harmony default export */ const components_PDFElementsvue_type_script_lang_js = (PDFElementsvue_type_script_lang_js);
|
|
30692
|
-
;// ./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=
|
|
30719
|
+
;// ./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=7a179460&prod&scoped=true&lang=css
|
|
30693
30720
|
// extracted by mini-css-extract-plugin
|
|
30694
30721
|
|
|
30695
|
-
;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=
|
|
30722
|
+
;// ./src/components/PDFElements.vue?vue&type=style&index=0&id=7a179460&prod&scoped=true&lang=css
|
|
30696
30723
|
|
|
30697
30724
|
;// ./src/components/PDFElements.vue
|
|
30698
30725
|
|
|
@@ -30709,7 +30736,7 @@ var PDFElements_component = normalizeComponent(
|
|
|
30709
30736
|
staticRenderFns,
|
|
30710
30737
|
false,
|
|
30711
30738
|
null,
|
|
30712
|
-
"
|
|
30739
|
+
"7a179460",
|
|
30713
30740
|
null
|
|
30714
30741
|
|
|
30715
30742
|
)
|