@shznet/pdf-sign-control 1.0.0 → 1.0.1
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 +4 -0
- package/dist/index.js +86 -13
- package/dist/lib/PdfSignControl.d.ts +1 -0
- package/dist/lib/PdfSignControl.d.ts.map +1 -1
- package/dist/lib/engine/PdfPageView.d.ts +1 -0
- package/dist/lib/engine/PdfPageView.d.ts.map +1 -1
- package/dist/lib/engine/PdfViewer.d.ts +3 -0
- package/dist/lib/engine/PdfViewer.d.ts.map +1 -1
- package/dist/lib/layers/SignatureLayer.d.ts +3 -0
- package/dist/lib/layers/SignatureLayer.d.ts.map +1 -1
- package/dist/lib/strategies/IViewModeStrategy.d.ts +1 -0
- package/dist/lib/strategies/IViewModeStrategy.d.ts.map +1 -1
- package/dist/lib/strategies/ScrollStrategy.d.ts +1 -0
- package/dist/lib/strategies/ScrollStrategy.d.ts.map +1 -1
- package/dist/lib/strategies/SinglePageStrategy.d.ts +1 -0
- package/dist/lib/strategies/SinglePageStrategy.d.ts.map +1 -1
- package/dist/lib/types.d.ts +6 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -108,6 +108,9 @@ Updates a field's properties.
|
|
|
108
108
|
#### `getFields(): SignatureField[]`
|
|
109
109
|
Returns the current list of fields.
|
|
110
110
|
|
|
111
|
+
#### `clearFields(): void`
|
|
112
|
+
Remove all fields from the document.
|
|
113
|
+
|
|
111
114
|
#### `setFields(fields: SignatureField[]): void`
|
|
112
115
|
Replace all fields with a new set.
|
|
113
116
|
|
|
@@ -121,6 +124,7 @@ Subscribe to events:
|
|
|
121
124
|
- `field:remove`: Fired when a field is removed - `(data: { fieldId: string }) => void`
|
|
122
125
|
- `field:update`: Fired when a field is updated - `(data: { fieldId: string, updates: Partial<SignatureField> }) => void`
|
|
123
126
|
- `fields:change`: Fired when any field changes - `(fields: SignatureField[]) => void`
|
|
127
|
+
- `field:selection-change`: Fired when selection changes - `(data: { field: SignatureField | null }) => void`
|
|
124
128
|
|
|
125
129
|
### Printing
|
|
126
130
|
|
package/dist/index.js
CHANGED
|
@@ -17887,9 +17887,10 @@ class ha {
|
|
|
17887
17887
|
this.element.appendChild(e), this.fieldElements.set(t.id, e);
|
|
17888
17888
|
});
|
|
17889
17889
|
}
|
|
17890
|
+
selectedFieldId = null;
|
|
17890
17891
|
createFieldElement(t) {
|
|
17891
17892
|
const e = document.createElement("div");
|
|
17892
|
-
e.className = "sc-signature-field", e.dataset.id = t.id, e.dataset.moveable = String(t.draggable !== !1), e.style.position = "absolute", e.style.pointerEvents = "auto", e.style.boxSizing = "border-box", e.style.border = "1px solid #
|
|
17893
|
+
e.className = "sc-signature-field", e.dataset.id = t.id, e.dataset.moveable = String(t.draggable !== !1), e.style.position = "absolute", e.style.pointerEvents = "auto", e.style.boxSizing = "border-box", e.style.border = "1px solid #7FA1C3", e.style.backgroundColor = "rgba(127, 161, 195, 0.1)", e.style.cursor = t.draggable !== !1 ? "move" : "default", t.style && Object.assign(e.style, t.style);
|
|
17893
17894
|
const s = document.createElement("div");
|
|
17894
17895
|
if (s.className = "sc-field-content", s.style.overflow = "hidden", s.style.display = "flex", s.style.alignItems = "center", s.style.justifyContent = "center", t.type === "text")
|
|
17895
17896
|
s.textContent = t.content || "", s.style.whiteSpace = "pre-wrap", s.style.fontSize = "7pt", s.style.fontFamily = "sans-serif", s.style.lineHeight = "1.2", s.style.textAlign = "center";
|
|
@@ -17902,12 +17903,20 @@ class ha {
|
|
|
17902
17903
|
const i = document.createElement("img");
|
|
17903
17904
|
i.src = t.content || "", i.style.maxWidth = "100%", i.style.maxHeight = "100%", i.style.pointerEvents = "none", s.appendChild(i);
|
|
17904
17905
|
}
|
|
17905
|
-
return e.
|
|
17906
|
+
return e.addEventListener("mousedown", (i) => {
|
|
17907
|
+
this.eventBus.emit("field:focus", { fieldId: t.id });
|
|
17908
|
+
}), e.addEventListener("touchstart", (i) => {
|
|
17909
|
+
this.eventBus.emit("field:focus", { fieldId: t.id });
|
|
17910
|
+
}, { passive: !1 }), e.appendChild(s), t.resizable !== !1 && this.addResizeHandles(e), t.deletable !== !1 && this.addDeleteButton(e, t.id), e.addEventListener("mouseenter", () => {
|
|
17911
|
+
this.selectedFieldId !== t.id && this.updateVisuals(e, t, !0, !1);
|
|
17912
|
+
}), e.addEventListener("mouseleave", () => {
|
|
17913
|
+
this.selectedFieldId !== t.id && this.updateVisuals(e, t, !1, !1);
|
|
17914
|
+
}), this.updateElementPosition(e, t), this.selectedFieldId === t.id && this.updateVisuals(e, t, !0, !0), e;
|
|
17906
17915
|
}
|
|
17907
17916
|
addResizeHandles(t) {
|
|
17908
17917
|
["nw", "ne", "sw", "se", "n", "e", "s", "w"].forEach((s) => {
|
|
17909
17918
|
const i = document.createElement("div");
|
|
17910
|
-
i.className = `sc-resize-handle sc-resize-${s}`, i.dataset.handle = s, i.style.position = "absolute", i.style.backgroundColor = "white", i.style.border = "1px solid #0056b3", i.style.zIndex = "2", i.style.boxSizing = "border-box";
|
|
17919
|
+
i.className = `sc-resize-handle sc-resize-${s}`, i.dataset.handle = s, i.style.position = "absolute", i.style.backgroundColor = "white", i.style.border = "1px solid #0056b3", i.style.zIndex = "2", i.style.boxSizing = "border-box", i.style.display = "none";
|
|
17911
17920
|
const n = "8px", r = "6px", a = "14px";
|
|
17912
17921
|
switch (s) {
|
|
17913
17922
|
// Corners
|
|
@@ -17942,12 +17951,25 @@ class ha {
|
|
|
17942
17951
|
}
|
|
17943
17952
|
addDeleteButton(t, e) {
|
|
17944
17953
|
const s = document.createElement("div");
|
|
17945
|
-
s.className = "sc-delete-btn", s.innerHTML = '<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>', s.title = "Delete Field", s.style.position = "absolute", s.style.top = "0", s.style.right = "0", s.style.transform = "translate(50%, -50%)", s.style.width = "20px", s.style.height = "20px", s.style.borderRadius = "50%", s.style.backgroundColor = "#ff4d4f", s.style.color = "white", s.style.display = "flex", s.style.alignItems = "center", s.style.justifyContent = "center", s.style.cursor = "pointer", s.style.zIndex = "20", s.style.boxShadow = "0 2px 4px rgba(0,0,0,0.2)", s.style.
|
|
17954
|
+
s.className = "sc-delete-btn", s.innerHTML = '<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>', s.title = "Delete Field", s.style.position = "absolute", s.style.top = "0", s.style.right = "0", s.style.transform = "translate(50%, -50%)", s.style.width = "20px", s.style.height = "20px", s.style.borderRadius = "50%", s.style.backgroundColor = "#ff4d4f", s.style.color = "white", s.style.display = "flex", s.style.alignItems = "center", s.style.justifyContent = "center", s.style.cursor = "pointer", s.style.zIndex = "20", s.style.boxShadow = "0 2px 4px rgba(0,0,0,0.2)", s.style.display = "none", s.addEventListener("click", (i) => {
|
|
17946
17955
|
i.preventDefault(), i.stopPropagation(), this.eventBus.emit("field:delete", { fieldId: e });
|
|
17947
17956
|
}), s.addEventListener("touchstart", (i) => {
|
|
17948
17957
|
i.preventDefault(), i.stopPropagation(), this.eventBus.emit("field:delete", { fieldId: e });
|
|
17949
17958
|
}, { passive: !1 }), t.appendChild(s);
|
|
17950
17959
|
}
|
|
17960
|
+
select(t) {
|
|
17961
|
+
this.selectedFieldId = t, this.fields.forEach((e) => {
|
|
17962
|
+
const s = this.fieldElements.get(e.id);
|
|
17963
|
+
if (!s) return;
|
|
17964
|
+
const i = e.id === t;
|
|
17965
|
+
this.updateVisuals(s, e, i, i);
|
|
17966
|
+
});
|
|
17967
|
+
}
|
|
17968
|
+
updateVisuals(t, e, s, i) {
|
|
17969
|
+
t.querySelectorAll(".sc-resize-handle").forEach((a) => a.style.display = s ? "block" : "none");
|
|
17970
|
+
const r = t.querySelector(".sc-delete-btn");
|
|
17971
|
+
r && (r.style.display = s ? "flex" : "none"), i ? (t.style.border = "1px solid #0056b3", t.style.backgroundColor = "rgba(0, 86, 179, 0.1)") : s ? (t.style.border = "1px solid #0056b3", t.style.backgroundColor = "rgba(0, 86, 179, 0.05)") : (t.style.border = e.style?.border || "1px solid #7FA1C3", t.style.backgroundColor = e.style?.backgroundColor || "rgba(127, 161, 195, 0.1)");
|
|
17972
|
+
}
|
|
17951
17973
|
updatePositions() {
|
|
17952
17974
|
this.pageHeight !== 0 && this.fields.forEach((t) => {
|
|
17953
17975
|
const e = this.fieldElements.get(t.id);
|
|
@@ -17982,7 +18004,7 @@ class tn {
|
|
|
17982
18004
|
eventBus;
|
|
17983
18005
|
element;
|
|
17984
18006
|
constructor(t) {
|
|
17985
|
-
this.container = t.container, this.pageIndex = t.pageIndex, this.scale = t.scale, this.eventBus = t.eventBus, this.element = document.createElement("div"), this.element.className = "page-view", this.element.dataset.pageIndex = this.pageIndex.toString(), this.element.style.position = "relative", this.element.style.flexShrink = "0", this.element.style.boxShadow = "0 2px 8px rgba(0,0,0,0.15)", this.canvasLayer = new ra(), this.element.appendChild(this.canvasLayer.getElement()), this.signatureLayer = new ha(this.eventBus), this.element.appendChild(this.signatureLayer.getElement()), t.pageDimensions && this.signatureLayer.setPageDimensions(
|
|
18007
|
+
this.container = t.container, this.pageIndex = t.pageIndex, this.scale = t.scale, this.eventBus = t.eventBus, this.element = document.createElement("div"), this.element.className = "page-view", this.element.dataset.pageIndex = this.pageIndex.toString(), this.element.style.position = "relative", this.element.style.flexShrink = "0", this.element.style.boxShadow = "0 2px 8px rgba(0,0,0,0.15)", this.element.style.margin = "0 auto", this.canvasLayer = new ra(), this.element.appendChild(this.canvasLayer.getElement()), this.signatureLayer = new ha(this.eventBus), this.element.appendChild(this.signatureLayer.getElement()), t.pageDimensions && this.signatureLayer.setPageDimensions(
|
|
17986
18008
|
t.pageDimensions.width,
|
|
17987
18009
|
t.pageDimensions.height,
|
|
17988
18010
|
this.scale
|
|
@@ -17996,6 +18018,9 @@ class tn {
|
|
|
17996
18018
|
setFields(t) {
|
|
17997
18019
|
this.signatureLayer.setFields(t);
|
|
17998
18020
|
}
|
|
18021
|
+
selectField(t) {
|
|
18022
|
+
this.signatureLayer.select(t);
|
|
18023
|
+
}
|
|
17999
18024
|
async render() {
|
|
18000
18025
|
if (!this.pdfPage) return;
|
|
18001
18026
|
const t = this.pdfPage.getViewport({ scale: this.scale });
|
|
@@ -18058,7 +18083,7 @@ class ca {
|
|
|
18058
18083
|
this.container = t, this.pdfDocument = e, this.eventBus = s, this.totalPages = e.numPages, this.scale = i ?? 1, this.pageInfo = n ?? /* @__PURE__ */ new Map(), this.initContainer(), await this.renderCurrentPage();
|
|
18059
18084
|
}
|
|
18060
18085
|
initContainer() {
|
|
18061
|
-
this.container.innerHTML = "", this.container.style.position = "relative", this.container.style.overflow = "auto", this.container.style.display = "flex", this.container.style.flexDirection = "column", this.container.style.alignItems = "
|
|
18086
|
+
this.container.innerHTML = "", this.container.style.position = "relative", this.container.style.overflow = "auto", this.container.style.display = "flex", this.container.style.flexDirection = "column", this.container.style.alignItems = "", this.container.style.padding = "20px", this.pageContainer = document.createElement("div"), this.pageContainer.className = "single-page-container", this.container.appendChild(this.pageContainer);
|
|
18062
18087
|
}
|
|
18063
18088
|
async renderCurrentPage() {
|
|
18064
18089
|
this.pageView && (this.pageView.destroy(), this.pageView = null), this.pageContainer.innerHTML = "";
|
|
@@ -18096,7 +18121,10 @@ class ca {
|
|
|
18096
18121
|
return this.totalPages;
|
|
18097
18122
|
}
|
|
18098
18123
|
setScale(t) {
|
|
18099
|
-
this.scale = t, this.
|
|
18124
|
+
const e = this.scale, s = t, i = this.container, n = i.clientWidth, r = i.clientHeight, a = i.scrollLeft, o = i.scrollTop, l = a + n / 2, h = o + r / 2, c = s / e;
|
|
18125
|
+
this.scale = t, this.pageView && this.pageView.updateScalePreview(t), this.eventBus.emit("scale:change", { scale: t });
|
|
18126
|
+
const u = l * c - n / 2, f = h * c - r / 2;
|
|
18127
|
+
i.scrollLeft = u, i.scrollTop = f, this.zoomTimeout && clearTimeout(this.zoomTimeout), this.zoomTimeout = setTimeout(() => {
|
|
18100
18128
|
this.pageView && this.pageView.updateScaleFull(t), this.zoomTimeout = null;
|
|
18101
18129
|
}, 150);
|
|
18102
18130
|
}
|
|
@@ -18109,6 +18137,9 @@ class ca {
|
|
|
18109
18137
|
this.pageView.setFields(e);
|
|
18110
18138
|
}
|
|
18111
18139
|
}
|
|
18140
|
+
selectField(t) {
|
|
18141
|
+
this.pageView?.selectField(t);
|
|
18142
|
+
}
|
|
18112
18143
|
destroy() {
|
|
18113
18144
|
this.zoomTimeout && (clearTimeout(this.zoomTimeout), this.zoomTimeout = null), this.pageView && (this.pageView.destroy(), this.pageView = null), this.container.innerHTML = "";
|
|
18114
18145
|
}
|
|
@@ -18130,7 +18161,7 @@ class da {
|
|
|
18130
18161
|
this.isDestroyed = !1, this.container = t, this.pdfDocument = e, this.eventBus = s, this.totalPages = e.numPages, this.scale = i ?? 1, this.pageInfo = n ?? /* @__PURE__ */ new Map(), this.initContainer(), await this.renderAllPages(), this.isDestroyed || this.setupIntersectionObserver();
|
|
18131
18162
|
}
|
|
18132
18163
|
initContainer() {
|
|
18133
|
-
this.container.innerHTML = "", this.container.style.position = "relative", this.container.style.overflow = "auto", this.container.style.display = "flex", this.container.style.flexDirection = "column", this.container.style.gap = "20px", this.container.style.alignItems = "
|
|
18164
|
+
this.container.innerHTML = "", this.container.style.position = "relative", this.container.style.overflow = "auto", this.container.style.display = "flex", this.container.style.flexDirection = "column", this.container.style.gap = "20px", this.container.style.alignItems = "", this.container.style.padding = "20px", this.container.scrollTop = 0;
|
|
18134
18165
|
}
|
|
18135
18166
|
async renderAllPages() {
|
|
18136
18167
|
this.pageViews.forEach((t) => t.destroy()), this.pageViews = [];
|
|
@@ -18206,8 +18237,28 @@ class da {
|
|
|
18206
18237
|
return this.totalPages;
|
|
18207
18238
|
}
|
|
18208
18239
|
setScale(t) {
|
|
18209
|
-
|
|
18210
|
-
|
|
18240
|
+
const e = this.scale, s = this.container, i = s.clientHeight, r = s.scrollTop + i / 2;
|
|
18241
|
+
let a = -1, o = 0;
|
|
18242
|
+
for (let l = 0; l < this.pageViews.length; l++) {
|
|
18243
|
+
const h = this.pageViews[l], c = h.element.offsetTop, u = h.element.offsetHeight, f = c + u;
|
|
18244
|
+
if (r < f) {
|
|
18245
|
+
a = l, o = (r - c) / u;
|
|
18246
|
+
break;
|
|
18247
|
+
}
|
|
18248
|
+
}
|
|
18249
|
+
if (a === -1 && this.pageViews.length > 0) {
|
|
18250
|
+
a = this.pageViews.length - 1;
|
|
18251
|
+
const l = this.pageViews[a];
|
|
18252
|
+
o = (r - l.element.offsetTop) / l.element.offsetHeight;
|
|
18253
|
+
}
|
|
18254
|
+
if (this.scale = t, this.pageViews.forEach((l) => l.updateScalePreview(t)), this.eventBus.emit("scale:change", { scale: t }), a !== -1) {
|
|
18255
|
+
const l = this.pageViews[a], h = l.element.offsetTop, c = l.element.offsetHeight, u = h + o * c;
|
|
18256
|
+
s.scrollTop = u - i / 2;
|
|
18257
|
+
const f = s.clientWidth, p = s.scrollLeft + f / 2, b = t / e;
|
|
18258
|
+
s.scrollLeft = p * b - f / 2;
|
|
18259
|
+
}
|
|
18260
|
+
this.zoomTimeout && clearTimeout(this.zoomTimeout), this.zoomTimeout = setTimeout(() => {
|
|
18261
|
+
this.pageViews.forEach((l) => l.updateScaleFull(t)), this.zoomTimeout = null;
|
|
18211
18262
|
}, 150);
|
|
18212
18263
|
}
|
|
18213
18264
|
getScale() {
|
|
@@ -18219,6 +18270,9 @@ class da {
|
|
|
18219
18270
|
e.setFields(s);
|
|
18220
18271
|
});
|
|
18221
18272
|
}
|
|
18273
|
+
selectField(t) {
|
|
18274
|
+
this.pageViews.forEach((e) => e.selectField(t));
|
|
18275
|
+
}
|
|
18222
18276
|
destroy() {
|
|
18223
18277
|
this.isDestroyed = !0, this.zoomTimeout && (clearTimeout(this.zoomTimeout), this.zoomTimeout = null), this.observer && (this.observer.disconnect(), this.observer = null), this.pageViews.forEach((t) => t.destroy()), this.pageViews = [], this.container.innerHTML = "";
|
|
18224
18278
|
}
|
|
@@ -18235,6 +18289,7 @@ class ua {
|
|
|
18235
18289
|
readyPromise = null;
|
|
18236
18290
|
currentScale = 1;
|
|
18237
18291
|
isDestroyed = !1;
|
|
18292
|
+
selectedFieldId = null;
|
|
18238
18293
|
constructor(t) {
|
|
18239
18294
|
this.container = t.container, this.eventBus = new nn(), this.loader = new na(t.pdfLoaderOptions), this.currentViewMode = t.viewMode ?? "scroll", t.fields && (this.fields = [...t.fields]), this.zoomHandler = new rn({
|
|
18240
18295
|
container: this.container,
|
|
@@ -18246,6 +18301,11 @@ class ua {
|
|
|
18246
18301
|
this.handleFieldDrop(e.fieldId, e.clientX, e.clientY, e.elementX, e.elementY);
|
|
18247
18302
|
}), this.eventBus.on("field:ui:resize", (e) => {
|
|
18248
18303
|
this.updateField(e.fieldId, e.updates);
|
|
18304
|
+
}), this.eventBus.on("field:focus", (e) => {
|
|
18305
|
+
this.selectField(e.fieldId);
|
|
18306
|
+
}), this.container.addEventListener("mousedown", (e) => {
|
|
18307
|
+
const s = e.target;
|
|
18308
|
+
s.closest(".sc-signature-field") || s.closest(".sc-resize-handle") || s.closest(".sc-delete-btn") || this.selectField(null);
|
|
18249
18309
|
});
|
|
18250
18310
|
}
|
|
18251
18311
|
async load(t) {
|
|
@@ -18272,7 +18332,7 @@ class ua {
|
|
|
18272
18332
|
this.strategy.destroy();
|
|
18273
18333
|
return;
|
|
18274
18334
|
}
|
|
18275
|
-
this.fields.length > 0 && this.strategy.setFields(this.fields);
|
|
18335
|
+
this.fields.length > 0 && this.strategy.setFields(this.fields), this.selectedFieldId && this.strategy.selectField(this.selectedFieldId);
|
|
18276
18336
|
}
|
|
18277
18337
|
}
|
|
18278
18338
|
createStrategy(t) {
|
|
@@ -18341,7 +18401,7 @@ class ua {
|
|
|
18341
18401
|
throw new Error("PDF document not loaded");
|
|
18342
18402
|
if (!this.strategy)
|
|
18343
18403
|
throw new Error("PDF viewer not ready. Please wait for PDF to fully load.");
|
|
18344
|
-
if (this.readyPromise && await this.readyPromise, t.pageNumber < 1 || t.pageNumber > this.pdfDocument.numPages)
|
|
18404
|
+
if (this.readyPromise && await this.readyPromise, typeof t.pageNumber != "number" || isNaN(t.pageNumber) || t.pageNumber < 1 || t.pageNumber > this.pdfDocument.numPages)
|
|
18345
18405
|
throw new Error(`Invalid page number: ${t.pageNumber}. Document has ${this.pdfDocument.numPages} pages.`);
|
|
18346
18406
|
if (t.rect.width <= 0 || t.rect.height <= 0)
|
|
18347
18407
|
throw new Error("Field width and height must be greater than 0");
|
|
@@ -18363,12 +18423,22 @@ class ua {
|
|
|
18363
18423
|
this.fields.push(t), this.strategy?.setFields(this.fields), this.eventBus.emit("field:add", t), this.eventBus.emit("fields:change", this.fields);
|
|
18364
18424
|
}
|
|
18365
18425
|
removeField(t) {
|
|
18366
|
-
this.fields = this.fields.filter((e) => e.id !== t), this.strategy?.setFields(this.fields), this.eventBus.emit("field:remove", { fieldId: t }), this.eventBus.emit("fields:change", this.fields);
|
|
18426
|
+
this.selectedFieldId === t && this.selectField(null), this.fields = this.fields.filter((e) => e.id !== t), this.strategy?.setFields(this.fields), this.eventBus.emit("field:remove", { fieldId: t }), this.eventBus.emit("fields:change", this.fields);
|
|
18367
18427
|
}
|
|
18368
18428
|
updateField(t, e) {
|
|
18369
18429
|
const s = this.fields.findIndex((i) => i.id === t);
|
|
18370
18430
|
s !== -1 && (this.fields[s] = { ...this.fields[s], ...e }, this.strategy?.setFields(this.fields), this.eventBus.emit("field:update", { fieldId: t, updates: e }), this.eventBus.emit("fields:change", this.fields));
|
|
18371
18431
|
}
|
|
18432
|
+
selectField(t) {
|
|
18433
|
+
if (this.selectedFieldId === t)
|
|
18434
|
+
return;
|
|
18435
|
+
this.selectedFieldId = t, this.strategy?.selectField(t);
|
|
18436
|
+
let e = null;
|
|
18437
|
+
t && (e = this.fields.find((s) => String(s.id) === String(t)) || null, e || console.warn(`[PdfSignControl] Selection warning: Field with ID "${t}" not found in local state. Available IDs:`, this.fields.map((s) => s.id))), this.eventBus.emit("field:selection-change", { field: e });
|
|
18438
|
+
}
|
|
18439
|
+
clearFields() {
|
|
18440
|
+
this.selectField(null), this.fields = [], this.strategy?.setFields(this.fields), this.eventBus.emit("fields:change", this.fields);
|
|
18441
|
+
}
|
|
18372
18442
|
handleFieldDrop(t, e, s, i, n) {
|
|
18373
18443
|
const r = this.fields.find((v) => v.id === t);
|
|
18374
18444
|
if (!r) return;
|
|
@@ -18574,6 +18644,9 @@ class pa {
|
|
|
18574
18644
|
updateField(t, e) {
|
|
18575
18645
|
this.viewer.updateField(t, e);
|
|
18576
18646
|
}
|
|
18647
|
+
clearFields() {
|
|
18648
|
+
this.viewer.clearFields();
|
|
18649
|
+
}
|
|
18577
18650
|
async print(t) {
|
|
18578
18651
|
return this.viewer.print(t);
|
|
18579
18652
|
}
|
|
@@ -23,6 +23,7 @@ export declare class PdfSignControl {
|
|
|
23
23
|
addField(field: any): Promise<void>;
|
|
24
24
|
removeField(fieldId: string): void;
|
|
25
25
|
updateField(fieldId: string, updates: any): void;
|
|
26
|
+
clearFields(): void;
|
|
26
27
|
print(options?: {
|
|
27
28
|
withSignatures?: boolean;
|
|
28
29
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdfSignControl.d.ts","sourceRoot":"","sources":["../../src/lib/PdfSignControl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7D,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAY;gBAEd,OAAO,EAAE,qBAAqB;IAIpC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,WAAW,IAAI,QAAQ;IAKvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAKvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,QAAQ,IAAI,MAAM;IAIZ,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAK9F,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAI9C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAK/C,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAI9B,SAAS,IAAI,GAAG,EAAE;IAIZ,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"PdfSignControl.d.ts","sourceRoot":"","sources":["../../src/lib/PdfSignControl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7D,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAY;gBAEd,OAAO,EAAE,qBAAqB;IAIpC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,WAAW,IAAI,QAAQ;IAKvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAKvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,QAAQ,IAAI,MAAM;IAIZ,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAK9F,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAI9C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAK/C,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAI9B,SAAS,IAAI,GAAG,EAAE;IAIZ,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAIhD,WAAW,IAAI,IAAI;IAIb,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE,OAAO;CAGV"}
|
|
@@ -23,6 +23,7 @@ export declare class PdfPageView {
|
|
|
23
23
|
constructor(options: PdfPageViewOptions);
|
|
24
24
|
setPdfPage(pdfPage: PDFPageProxy): void;
|
|
25
25
|
setFields(fields: SignatureField[]): void;
|
|
26
|
+
selectField(fieldId: string | null): void;
|
|
26
27
|
render(): Promise<void>;
|
|
27
28
|
/**
|
|
28
29
|
* Quick preview render (lower quality, faster)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdfPageView.d.ts","sourceRoot":"","sources":["../../../src/lib/engine/PdfPageView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,OAAO,CAA6B;IAC5C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAW;IAEpB,OAAO,EAAE,WAAW,CAAC;gBAEhB,OAAO,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"PdfPageView.d.ts","sourceRoot":"","sources":["../../../src/lib/engine/PdfPageView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,OAAO,CAA6B;IAC5C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAW;IAEpB,OAAO,EAAE,WAAW,CAAC;gBAEhB,OAAO,EAAE,kBAAkB;IAiCvC,UAAU,CAAC,OAAO,EAAE,YAAY;IAahC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE;IAIlC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM5B,MAAM;IAcZ;;OAEG;IACG,aAAa;IAanB;;OAEG;IACG,UAAU;IAahB,WAAW,CAAC,KAAK,EAAE,MAAM;IAKzB;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAKhC;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM;IAK7B,OAAO;CAKV"}
|
|
@@ -17,6 +17,7 @@ export declare class PdfViewer {
|
|
|
17
17
|
private readyPromise;
|
|
18
18
|
private currentScale;
|
|
19
19
|
private isDestroyed;
|
|
20
|
+
private selectedFieldId;
|
|
20
21
|
constructor(options: PdfViewerOptions);
|
|
21
22
|
load(source: string | Uint8Array | ArrayBuffer): Promise<void>;
|
|
22
23
|
private initStrategy;
|
|
@@ -45,6 +46,8 @@ export declare class PdfViewer {
|
|
|
45
46
|
addField(field: SignatureField): Promise<void>;
|
|
46
47
|
removeField(fieldId: string): void;
|
|
47
48
|
updateField(fieldId: string, updates: Partial<SignatureField>): void;
|
|
49
|
+
selectField(fieldId: string | null): void;
|
|
50
|
+
clearFields(): void;
|
|
48
51
|
private handleFieldDrop;
|
|
49
52
|
on(event: string, handler: (data: any) => void): void;
|
|
50
53
|
off(event: string, handler: (data: any) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdfViewer.d.ts","sourceRoot":"","sources":["../../../src/lib/engine/PdfViewer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKzE,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,WAAW,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,QAAQ,CAA6D;IAC7E,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,WAAW,CAAS;
|
|
1
|
+
{"version":3,"file":"PdfViewer.d.ts","sourceRoot":"","sources":["../../../src/lib/engine/PdfViewer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKzE,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,WAAW,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,QAAQ,CAA6D;IAC7E,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAuB;gBAElC,OAAO,EAAE,gBAAgB;IAgD/B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YA4BtD,YAAY;IA4B1B,OAAO,CAAC,cAAc;IAUhB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD,WAAW,IAAI,QAAQ;IAIvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,QAAQ,IAAI,MAAM;IAIlB;;;;OAIG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAiC7F,OAAO,CAAC,MAAM,CAAwB;IAEtC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAKzC,SAAS,IAAI,cAAc,EAAE;IAIvB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEpD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUlC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAUpE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAqBzC,WAAW,IAAI,IAAI;IAOnB,OAAO,CAAC,eAAe;IA0FvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAI9C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAIzC,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgMlE,OAAO;CAQV"}
|
|
@@ -17,9 +17,12 @@ export declare class SignatureLayer {
|
|
|
17
17
|
private handleDragEnd;
|
|
18
18
|
private handleResizeEnd;
|
|
19
19
|
private render;
|
|
20
|
+
private selectedFieldId;
|
|
20
21
|
private createFieldElement;
|
|
21
22
|
private addResizeHandles;
|
|
22
23
|
private addDeleteButton;
|
|
24
|
+
select(fieldId: string | null): void;
|
|
25
|
+
private updateVisuals;
|
|
23
26
|
private updatePositions;
|
|
24
27
|
private updateElementPosition;
|
|
25
28
|
destroy(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureLayer.d.ts","sourceRoot":"","sources":["../../../src/lib/layers/SignatureLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,SAAgB,EAAE,EAAE,MAAM,CAAC;gBAEf,QAAQ,EAAE,QAAQ;IAqB9B,UAAU,IAAI,WAAW;IAIzB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE;IAKlC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAS9D,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"SignatureLayer.d.ts","sourceRoot":"","sources":["../../../src/lib/layers/SignatureLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,SAAgB,EAAE,EAAE,MAAM,CAAC;gBAEf,QAAQ,EAAE,QAAQ;IAqB9B,UAAU,IAAI,WAAW;IAIzB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE;IAKlC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAS9D,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,eAAe,CAAuB;IAE9C,OAAO,CAAC,kBAAkB;IA4G1B,OAAO,CAAC,gBAAgB;IAgFxB,OAAO,CAAC,eAAe;IA0CvB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAW7B,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,qBAAqB;IAwC7B,OAAO;CAMV"}
|
|
@@ -18,6 +18,7 @@ export interface IViewModeStrategy {
|
|
|
18
18
|
getCurrentPage(): number;
|
|
19
19
|
getTotalPages(): number;
|
|
20
20
|
setFields(fields: SignatureField[]): void;
|
|
21
|
+
selectField(fieldId: string | null): void;
|
|
21
22
|
addField?(field: SignatureField): void;
|
|
22
23
|
removeField?(fieldId: string): void;
|
|
23
24
|
updateField?(fieldId: string, updates: Partial<SignatureField>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IViewModeStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/IViewModeStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjL,OAAO,IAAI,IAAI,CAAC;IAGhB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,IAAI,MAAM,CAAC;IAGnB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,IAAI,IAAI,CAAC;IACjB,YAAY,IAAI,IAAI,CAAC;IACrB,cAAc,IAAI,MAAM,CAAC;IACzB,aAAa,IAAI,MAAM,CAAC;IAGxB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAG1C,QAAQ,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CACzE"}
|
|
1
|
+
{"version":3,"file":"IViewModeStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/IViewModeStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjL,OAAO,IAAI,IAAI,CAAC;IAGhB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,IAAI,MAAM,CAAC;IAGnB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,IAAI,IAAI,CAAC;IACjB,YAAY,IAAI,IAAI,CAAC;IACrB,cAAc,IAAI,MAAM,CAAC;IACzB,aAAa,IAAI,MAAM,CAAC;IAGxB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAG1C,QAAQ,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CACzE"}
|
|
@@ -33,6 +33,7 @@ export declare class ScrollStrategy implements IViewModeStrategy {
|
|
|
33
33
|
setScale(scale: number): void;
|
|
34
34
|
getScale(): number;
|
|
35
35
|
setFields(fields: SignatureField[]): void;
|
|
36
|
+
selectField(fieldId: string | null): void;
|
|
36
37
|
destroy(): void;
|
|
37
38
|
}
|
|
38
39
|
//# sourceMappingURL=ScrollStrategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/ScrollStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACpD,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAO;IAEpB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAA6D;IAEvE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtL,OAAO,CAAC,aAAa;YAYP,cAAc;IA6C5B,OAAO,CAAC,yBAAyB;IAuCjC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBlC,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ScrollStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/ScrollStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACpD,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAO;IAEpB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAA6D;IAEvE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtL,OAAO,CAAC,aAAa;YAYP,cAAc;IA6C5B,OAAO,CAAC,yBAAyB;IAuCjC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAgBlC,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA0E7B,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IASzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMzC,OAAO,IAAI,IAAI;CAclB"}
|
|
@@ -31,6 +31,7 @@ export declare class SinglePageStrategy implements IViewModeStrategy {
|
|
|
31
31
|
setScale(scale: number): void;
|
|
32
32
|
getScale(): number;
|
|
33
33
|
setFields(fields: SignatureField[]): void;
|
|
34
|
+
selectField(fieldId: string | null): void;
|
|
34
35
|
destroy(): void;
|
|
35
36
|
}
|
|
36
37
|
//# sourceMappingURL=SinglePageStrategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SinglePageStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/SinglePageStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB;IACxD,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAO;IAEpB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAA6D;IAEvE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtL,OAAO,CAAC,aAAa;YAcP,iBAAiB;IAyC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMlC,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"SinglePageStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/SinglePageStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB;IACxD,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAO;IAEpB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAA6D;IAEvE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtL,OAAO,CAAC,aAAa;YAcP,iBAAiB;IAyC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMlC,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAuD7B,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAQzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIzC,OAAO,IAAI,IAAI;CAWlB"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -18,6 +18,12 @@ export interface PageChangeEvent {
|
|
|
18
18
|
export interface ScaleChangeEvent {
|
|
19
19
|
scale: number;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Event data for field selection change
|
|
23
|
+
*/
|
|
24
|
+
export interface SelectionChangeEvent {
|
|
25
|
+
field: SignatureField | null;
|
|
26
|
+
}
|
|
21
27
|
/**
|
|
22
28
|
* Page dimensions in PDF points
|
|
23
29
|
*/
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,WAAW,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,IAAI,EAAE;QACF,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAClB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,WAAW,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,IAAI,EAAE;QACF,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAClB"}
|