@hubsync/esign-web-sdk 6.9.42 → 6.9.43

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.
Files changed (58) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.cjs.js.map +1 -1
  3. package/dist/cjs/verdocs-adopt-signature-dialog_8.cjs.entry.js +77 -16
  4. package/dist/cjs/verdocs-sign.cjs.entry.js +14 -2
  5. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  6. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  7. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js +136 -18
  8. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.js.map +1 -1
  9. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +17 -2
  10. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  11. package/dist/components/{p-Dpuy1yah.js → p-BUE7R0tf.js} +82 -18
  12. package/dist/components/p-BUE7R0tf.js.map +1 -0
  13. package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
  14. package/dist/components/verdocs-sign.js +18 -3
  15. package/dist/components/verdocs-sign.js.map +1 -1
  16. package/dist/custom-elements.json +20 -0
  17. package/dist/esm/loader.js +1 -1
  18. package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -1
  19. package/dist/esm/verdocs-adopt-signature-dialog_8.entry.js +77 -16
  20. package/dist/esm/verdocs-sign.entry.js +14 -2
  21. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  22. package/dist/esm/verdocs-web-sdk.js +1 -1
  23. package/dist/esm-es5/loader.js +1 -1
  24. package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -1
  25. package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js +1 -1
  26. package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js.map +1 -1
  27. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  28. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  29. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  30. package/dist/types/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.d.ts +17 -0
  31. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +3 -0
  32. package/dist/types/components.d.ts +26 -2
  33. package/dist/verdocs-web-sdk/p-32af0c78.entry.js +2 -0
  34. package/dist/verdocs-web-sdk/p-32af0c78.entry.js.map +1 -0
  35. package/dist/verdocs-web-sdk/p-64c0f4e1.system.entry.js +2 -0
  36. package/dist/verdocs-web-sdk/p-64c0f4e1.system.entry.js.map +1 -0
  37. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  38. package/dist/verdocs-web-sdk/p-DL_q7a6L.system.js.map +1 -0
  39. package/dist/verdocs-web-sdk/p-DyUrM6Ex.system.js.map +1 -0
  40. package/dist/verdocs-web-sdk/p-b8966f51.entry.js +2 -0
  41. package/dist/verdocs-web-sdk/p-b8966f51.entry.js.map +1 -0
  42. package/dist/verdocs-web-sdk/p-e13491c4.system.entry.js +2 -0
  43. package/dist/verdocs-web-sdk/p-e13491c4.system.entry.js.map +1 -0
  44. package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.esm.js.map +1 -1
  45. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  46. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  47. package/package.json +1 -1
  48. package/dist/components/p-Dpuy1yah.js.map +0 -1
  49. package/dist/verdocs-web-sdk/p-3c6e0a1f.entry.js +0 -2
  50. package/dist/verdocs-web-sdk/p-3c6e0a1f.entry.js.map +0 -1
  51. package/dist/verdocs-web-sdk/p-521b0c66.entry.js +0 -2
  52. package/dist/verdocs-web-sdk/p-521b0c66.entry.js.map +0 -1
  53. package/dist/verdocs-web-sdk/p-6f4a8d69.system.entry.js +0 -2
  54. package/dist/verdocs-web-sdk/p-6f4a8d69.system.entry.js.map +0 -1
  55. package/dist/verdocs-web-sdk/p-7c5d6848.system.entry.js +0 -2
  56. package/dist/verdocs-web-sdk/p-7c5d6848.system.entry.js.map +0 -1
  57. package/dist/verdocs-web-sdk/p-B0Zty-s5.system.js.map +0 -1
  58. package/dist/verdocs-web-sdk/p-TlalAeRR.system.js.map +0 -1
@@ -172,6 +172,9 @@ const VerdocsAdoptSignatureDialog = class {
172
172
  componentWillLoad() {
173
173
  this.enteredName = this.name;
174
174
  this.computeEnteredInitials(this.name);
175
+ if (this.initialMode) {
176
+ this.mode = this.initialMode;
177
+ }
175
178
  const ds = new FontFace('Dancing Script', 'url(https://fonts.gstatic.com/s/dancingscript/v19/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup6hNX6plRP.woff)');
176
179
  ds.load().then(font => {
177
180
  document.fonts.add(font);
@@ -179,24 +182,82 @@ const VerdocsAdoptSignatureDialog = class {
179
182
  });
180
183
  }
181
184
  componentDidLoad() {
182
- this.drawSignatureText();
183
- this.drawInitialsText();
184
185
  this.setupSignatureCanvas();
185
186
  this.setupInitialsCanvas();
187
+ void this.loadExistingPreviews();
186
188
  }
187
189
  componentDidUpdate() {
188
- this.drawSignatureText();
189
- this.drawInitialsText();
190
190
  this.setupSignatureCanvas();
191
191
  this.setupInitialsCanvas();
192
+ if (this.mode === 'type') {
193
+ this.drawSignatureText();
194
+ this.drawInitialsText();
195
+ return;
196
+ }
192
197
  // Redraw drawn signature when in draw mode
193
- if (this.mode === 'draw' && this.allSigStrokes.length > 0) {
198
+ if (this.allSigStrokes.length > 0) {
194
199
  this.redrawDrawnSignature();
195
200
  }
196
- if (this.mode === 'draw' && this.allInitialsStrokes.length > 0) {
201
+ if (this.allInitialsStrokes.length > 0) {
197
202
  this.redrawDrawnInitials();
198
203
  }
199
204
  }
205
+ drawImageOnCanvas(canvas, dataUrl) {
206
+ return new Promise((resolve, reject) => {
207
+ const image = new Image();
208
+ image.onload = () => {
209
+ const context = canvas.getContext('2d');
210
+ context.clearRect(0, 0, canvas.width, canvas.height);
211
+ const padding = 24;
212
+ const scale = Math.min((canvas.width - padding) / image.width, (canvas.height - padding) / image.height, 1);
213
+ const width = image.width * scale;
214
+ const height = image.height * scale;
215
+ const x = (canvas.width - width) / 2;
216
+ const y = (canvas.height - height) / 2;
217
+ context.drawImage(image, x, y, width, height);
218
+ resolve();
219
+ };
220
+ image.onerror = () => reject(new Error('Unable to load signature preview'));
221
+ image.src = dataUrl;
222
+ });
223
+ }
224
+ async loadExistingPreviews() {
225
+ if (this.mode === 'draw') {
226
+ await this.restoreDrawnPreviewsIfNeeded();
227
+ return;
228
+ }
229
+ this.drawSignatureText();
230
+ this.drawInitialsText();
231
+ }
232
+ setMode(mode) {
233
+ this.mode = mode;
234
+ if (mode === 'draw') {
235
+ void this.restoreDrawnPreviewsIfNeeded();
236
+ }
237
+ }
238
+ async restoreDrawnPreviewsIfNeeded() {
239
+ // Preserve in-session stroke edits; only restore saved previews when there are no strokes yet.
240
+ if (this.allSigStrokes.length > 0 || this.allInitialsStrokes.length > 0) {
241
+ return;
242
+ }
243
+ const tasks = [];
244
+ if (this.initialSignature && this.signatureElement) {
245
+ tasks.push(this.drawImageOnCanvas(this.signatureElement, this.initialSignature).then(() => {
246
+ this.hasDrawnSignature = true;
247
+ }));
248
+ }
249
+ if (this.initialInitials && this.initialsElement) {
250
+ tasks.push(this.drawImageOnCanvas(this.initialsElement, this.initialInitials).then(() => {
251
+ this.hasDrawnInitials = true;
252
+ }));
253
+ }
254
+ if (tasks.length === 0) {
255
+ return;
256
+ }
257
+ await Promise.all(tasks);
258
+ this.setupSignatureCanvas();
259
+ this.setupInitialsCanvas();
260
+ }
200
261
  drawSignatureText() {
201
262
  if (!this.signatureElement || this.mode !== 'type') {
202
263
  return;
@@ -324,7 +385,7 @@ const VerdocsAdoptSignatureDialog = class {
324
385
  e.preventDefault();
325
386
  const signature = this.signatureElement.toDataURL('image/png');
326
387
  const initials = this.initialsElement.toDataURL('image/png');
327
- this.next.emit({ signature, initials });
388
+ this.next.emit({ signature, initials, mode: this.mode });
328
389
  }
329
390
  isAdoptButtonDisabled() {
330
391
  switch (this.mode) {
@@ -332,8 +393,8 @@ const VerdocsAdoptSignatureDialog = class {
332
393
  // Disable if no name has been entered
333
394
  return !this.enteredName || this.enteredName.trim().length === 0;
334
395
  case 'draw':
335
- // Disable if nothing has been drawn
336
- return (!this.hasDrawnSignature && !this.hasDrawnInitials) || this.allSigStrokes.length === 0 || this.allInitialsStrokes.length === 0;
396
+ // Disable if nothing has been drawn or restored from a previous adoption
397
+ return !this.hasDrawnSignature || !this.hasDrawnInitials;
337
398
  default:
338
399
  return true;
339
400
  }
@@ -354,8 +415,8 @@ const VerdocsAdoptSignatureDialog = class {
354
415
  this.sigDrawingContext.lineWidth = 2;
355
416
  this.sigDrawingContext.lineCap = 'round';
356
417
  this.sigDrawingContext.lineJoin = 'round';
357
- // Clear canvas only if there are no existing strokes
358
- if (this.allSigStrokes.length === 0) {
418
+ // Clear canvas only if there are no existing strokes or restored previews
419
+ if (this.allSigStrokes.length === 0 && !this.hasDrawnSignature) {
359
420
  this.sigDrawingContext.clearRect(0, 0, this.signatureElement.width, this.signatureElement.height);
360
421
  }
361
422
  }
@@ -384,8 +445,8 @@ const VerdocsAdoptSignatureDialog = class {
384
445
  this.initialsDrawingContext.lineWidth = 2;
385
446
  this.initialsDrawingContext.lineCap = 'round';
386
447
  this.initialsDrawingContext.lineJoin = 'round';
387
- // Clear canvas only if there are no existing strokes
388
- if (this.allInitialsStrokes.length === 0) {
448
+ // Clear canvas only if there are no existing strokes or restored previews
449
+ if (this.allInitialsStrokes.length === 0 && !this.hasDrawnInitials) {
389
450
  this.initialsDrawingContext.clearRect(0, 0, this.initialsElement.width, this.initialsElement.height);
390
451
  }
391
452
  }
@@ -453,11 +514,11 @@ const VerdocsAdoptSignatureDialog = class {
453
514
  };
454
515
  }
455
516
  render() {
456
- return (index.h("verdocs-dialog", { key: '2d9f8c2d126b604fe74baf617ad66329cc83d642', persistent: true, onExit: () => this.exit.emit() }, index.h("div", { key: 'b5fe4f88aaec381b9dc44d4368eeb7062408d08f', slot: "heading", class: "heading" }, "Adopt Your Signature"), index.h("div", { key: '02094c09fd6b63f6d1a17f0813850558efc65c3e', slot: "content", class: "content" }, index.h("div", { key: '6b6ec99527de5d4d079b3d3d478581d0a403ec61', style: { fontWeight: '300', color: '#242424', fontSize: '13px' } }, "Confirm your name, initials, and signature."), index.h("div", { key: '5446ee94d3f7d8c5a76bb07be4cb36a4977378ec', class: { type: true, active: this.mode === 'type' } }, index.h("verdocs-text-input", { key: '6efbbb16fc67f5360e3497573b045a9187557b1d', label: "Full Name", value: this.enteredName, disabled: this.nameLocked, onInput: e => this.handleNameChange(e), onClick: e => e.stopPropagation() }), this.nameLocked && index.h("div", { key: '1bc48daa4d814199d1e399a6ace89a33ec70dfcd', class: "name-locked-hint" }, "Your name has been set by the sender and cannot be changed.")), index.h("div", { key: '299b6667ff61ebb5bcd38f6e69f793c99073266e', style: { fontWeight: '400', color: '#242424', fontSize: '13px' } }, "Select a signature style"), index.h("div", { key: '50b3b5d6c33790d9702c214f6d4dc536191f3529', style: { display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px' } }, index.h("verdocs-radio-button", { key: '1a7aae5b62f11ce35eca59b85e58ce5300991b20', checked: this.mode === 'type', value: "type", name: "mode", onClick: () => (this.mode = 'type') }), index.h("label", { key: '6bc2c033e6a094140186c394772eb8bb4146a59d' }, "Typed with a keyboard")), index.h("div", { key: 'c8eb2d62a274a069507250b0d4599765e0689b4a', style: { display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px' } }, index.h("verdocs-radio-button", { key: 'a9231341d4896b3e9d2c0cda07b3b47c99aa924a', checked: this.mode === 'draw', value: "draw", name: "mode", onClick: () => (this.mode = 'draw') }), index.h("label", { key: '08800335d245f80006df2d98427555d8eed12500' }, "Drawn with touch, mouse, or stylus")), index.h("div", { key: '40ede26cbe3aee6ca9efb40137acd423757d09e1', class: "preview-header" }, index.h("div", { key: 'f3ab56d0583310e6957d12a25ee17f60c0833752', style: { fontSize: '13px', fontWeight: '400' } }, "Signature Preview"), this.mode === 'draw' && (index.h("button", { key: '671c58fc4ffcf24f63733007bd3e2f9d97089f47', class: "clear-button-text", onClick: e => this.handleClearDrawing(e, 'signature'), disabled: !this.hasDrawnSignature }, "Clear"))), index.h("div", { key: '85e6492ae46953eac7ed47bea89e062066c9042e', class: "canvas-container signature-container" }, index.h("div", { key: 'b5d75586aa87a3dda6b15375750f9b7d992d2ad7', class: "signing-indicator" }, index.h("div", { key: '8e25d6232cff112c91bab09710bd068b6f458fb8', class: "x-icon", innerHTML: Icons.SignatureXIcon }), index.h("div", { key: '351c358e185aa471ba020a5e49a619077e13eaec', class: "signing-line" })), index.h("canvas", { key: 'fb0c2d520f4498581e2457577d673070204b37f1', ref: el => (this.signatureElement = el),
517
+ return (index.h("verdocs-dialog", { key: '43e4a40803e7cf511bed41328fd48a54da571f23', persistent: true, onExit: () => this.exit.emit() }, index.h("div", { key: '462e271fe1390006727a0daa1a47de9b359af39c', slot: "heading", class: "heading" }, "Adopt Your Signature"), index.h("div", { key: '3617b310cba6e6defdd6a01bb3c16dd08db81c29', slot: "content", class: "content" }, index.h("div", { key: '4365227155f52f36c6421b1ff1cc6dcb2ea4fa6e', style: { fontWeight: '300', color: '#242424', fontSize: '13px' } }, "Confirm your name, initials, and signature."), index.h("div", { key: 'a768ae444c23e06b58a477e7f3654d128e5d1a6a', class: { type: true, active: this.mode === 'type' } }, index.h("verdocs-text-input", { key: 'dd3ba8e3b0994ed84148d890b6fba81c8554f70e', label: "Full Name", value: this.enteredName, disabled: this.nameLocked, onInput: e => this.handleNameChange(e), onClick: e => e.stopPropagation() }), this.nameLocked && index.h("div", { key: '45875c35eeaf050b2de2cc313f6275460fd96e0a', class: "name-locked-hint" }, "Your name has been set by the sender and cannot be changed.")), index.h("div", { key: 'cc6b9a9072ab0069fbf58ff0395311c93283fb7e', style: { fontWeight: '400', color: '#242424', fontSize: '13px' } }, "Select a signature style"), index.h("div", { key: '19034c3e2232c832ad4b0032d47e0940fa52c8d2', style: { display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px' } }, index.h("verdocs-radio-button", { key: 'c2f084d61633dbbd8aed7b6e3b941e19a953ccab', checked: this.mode === 'type', value: "type", name: "mode", onClick: () => this.setMode('type') }), index.h("label", { key: 'e1f22d03c316ad2c9fae0d80f81965557c0fbce6' }, "Typed with a keyboard")), index.h("div", { key: '9c343a3b9a3a551806d86f7c33496f856e50fe99', style: { display: 'flex', flexDirection: 'row', gap: '10px', marginBottom: '6px', alignItems: 'center', fontSize: '13px' } }, index.h("verdocs-radio-button", { key: '7e411e25456464390b028237cce9dcace361b7cf', checked: this.mode === 'draw', value: "draw", name: "mode", onClick: () => this.setMode('draw') }), index.h("label", { key: '9a707c87cf4229a6a8831adfeced815ce098180b' }, "Drawn with touch, mouse, or stylus")), index.h("div", { key: 'aa35cc9591db961dbff6cd26127ccfff96f225d0', class: "preview-header" }, index.h("div", { key: '4144d977477a558f1785d8f77072d83e8832841b', style: { fontSize: '13px', fontWeight: '400' } }, "Signature Preview"), this.mode === 'draw' && (index.h("button", { key: '3b687ce578839aefc9447357f61c46ecf783500a', class: "clear-button-text", onClick: e => this.handleClearDrawing(e, 'signature'), disabled: !this.hasDrawnSignature }, "Clear"))), index.h("div", { key: '306bad99deb8abf8c071d45146f6bbb63c8ca8f4', class: "canvas-container signature-container" }, index.h("div", { key: 'e5538c0694e4c32d63d0d2169938aa55f0a282c1', class: "signing-indicator" }, index.h("div", { key: 'd1b5f38019d723b90d95c5ad23219ed4f38a4248', class: "x-icon", innerHTML: Icons.SignatureXIcon }), index.h("div", { key: 'd2f2693b3fdd9feeb6ce7ab8ef006ede715217ab', class: "signing-line" })), index.h("canvas", { key: '59aa5a8bc5a588bd7fe08bafd43f06394ed35128', ref: el => (this.signatureElement = el),
457
518
  // width="300"
458
- height: "79", class: "signature-canvas", onPointerDown: this.handleSigPointerDown, onPointerMove: this.handleSigPointerMove, onPointerUp: this.handleSigPointerUp, onPointerCancel: this.handleSigPointerCancel, style: { touchAction: 'none', cursor: 'crosshair' } })), index.h("div", { key: 'ffd475d6c1ffdd1b0453a8196fa7edc6fc039649', class: "preview-header" }, index.h("div", { key: '61003eae27592625bab6d2aab282406bbd48fdc3', style: { fontSize: '13px', fontWeight: '400' } }, "Initials Preview"), this.mode === 'draw' && (index.h("button", { key: '77350a9062703807f3766f4cf6a1e5e412086ee5', class: "clear-button-text", onClick: e => this.handleClearDrawing(e, 'initials'), disabled: !this.hasDrawnInitials }, "Clear"))), index.h("div", { key: '5c8f3a9a62325d915f2461cddc07adca3136799c', class: "canvas-container initials-container" }, index.h("div", { key: '0b37c4ee2ff03d61304a98bc8e284e0546258698', class: "signing-indicator" }, index.h("div", { key: '9f2f39d84a9aeefb48d310f896d223eccfed2ead', class: "x-icon", innerHTML: Icons.SignatureXIcon }), index.h("div", { key: '57120f545d2d07e1fdace87088b6cd3862dd0289', class: "signing-line" })), index.h("canvas", { key: '1b5080f57ec622775cc987229957029a4f1da2f8', ref: el => (this.initialsElement = el),
519
+ height: "79", class: "signature-canvas", onPointerDown: this.handleSigPointerDown, onPointerMove: this.handleSigPointerMove, onPointerUp: this.handleSigPointerUp, onPointerCancel: this.handleSigPointerCancel, style: { touchAction: 'none', cursor: 'crosshair' } })), index.h("div", { key: '86a97be28c467678bd34e455412877ff55de26c2', class: "preview-header" }, index.h("div", { key: '0a605a59765dbb1f7ee15aa17bc3b4547983c747', style: { fontSize: '13px', fontWeight: '400' } }, "Initials Preview"), this.mode === 'draw' && (index.h("button", { key: '2426ed63c75312a999a9c12653dd75afe844fa07', class: "clear-button-text", onClick: e => this.handleClearDrawing(e, 'initials'), disabled: !this.hasDrawnInitials }, "Clear"))), index.h("div", { key: 'fa2c72403a43dfdd6a5f237fa3a21f048ceb517b', class: "canvas-container initials-container" }, index.h("div", { key: '4e1fbf7d941fcb46c363a35cd238c03d5cc75491', class: "signing-indicator" }, index.h("div", { key: 'c52486f29337d6b9027b32ea103e86c45904749e', class: "x-icon", innerHTML: Icons.SignatureXIcon }), index.h("div", { key: '6fa97d0d887d543f696de750db82b1a034bcb2b6', class: "signing-line" })), index.h("canvas", { key: '062e4e8da832b9d0f1a5af24a76188d3a9164ad4', ref: el => (this.initialsElement = el),
459
520
  // width="300"
460
- height: "79", class: "initials-canvas", onPointerDown: this.handleInitialsPointerDown, onPointerMove: this.handleInitialsPointerMove, onPointerUp: this.handleInitialsPointerUp, onPointerCancel: this.handleInitialsPointerCancel, style: { touchAction: 'none', cursor: 'crosshair' } })), index.h("div", { key: '138d718d6705b3096edf5379aadbccaef54a7bf6', class: "disclaimer" }, "By clicking \u00ABAdopt Signature\u00BB, I agree that the signature and initials above will be the electronic representation of my signature and initials for all purposes when I use them to sign documents. Applying them to a document is legally equivalent to signing with a pen on paper.")), index.h("div", { key: '32d3a076edc5db4dafff0070916278279a362760', class: "footer", slot: "footer" }, index.h("div", { key: 'faf75d8abed2bc9d72aa49055f26619ea3927343', class: "buttons" }, index.h("button", { key: '61a8750afa5c3a298b9dd0d82d05c7e185b29999', class: "cancel", onClick: e => this.handleCancel(e) }, "Cancel"), index.h("button", { key: '040577750135d0bed204f92bad1c5a275d759c08', class: "proceed", onClick: e => this.handleAdopt(e), disabled: this.isAdoptButtonDisabled() }, "Adopt & Sign")))));
521
+ height: "79", class: "initials-canvas", onPointerDown: this.handleInitialsPointerDown, onPointerMove: this.handleInitialsPointerMove, onPointerUp: this.handleInitialsPointerUp, onPointerCancel: this.handleInitialsPointerCancel, style: { touchAction: 'none', cursor: 'crosshair' } })), index.h("div", { key: 'f589d9624ff808b4179c55fad6ca1ef27b79f553', class: "disclaimer" }, "By clicking \u00ABAdopt Signature\u00BB, I agree that the signature and initials above will be the electronic representation of my signature and initials for all purposes when I use them to sign documents. Applying them to a document is legally equivalent to signing with a pen on paper.")), index.h("div", { key: '33058008d0000a073a43abae0246effa3970a52d', class: "footer", slot: "footer" }, index.h("div", { key: '3f6ea8bbca9a5eb9fab950a2a4d3d2e135698f56', class: "buttons" }, index.h("button", { key: '94512ed74ce791505f8e949f818ab7cac907271f', class: "cancel", onClick: e => this.handleCancel(e) }, "Cancel"), index.h("button", { key: '085af06c8d1671b0533a6f2b49891fcefe3697a9', class: "proceed", onClick: e => this.handleAdopt(e), disabled: this.isAdoptButtonDisabled() }, "Adopt & Sign")))));
461
522
  }
462
523
  };
463
524
  VerdocsAdoptSignatureDialog.style = verdocsAdoptSignatureDialogCss;
@@ -78,6 +78,9 @@ const VerdocsSign = class {
78
78
  this.agreed = false;
79
79
  this.signatureId = null;
80
80
  this.initialId = null;
81
+ this.signatureAdoptMode = 'type';
82
+ this.adoptedSignaturePreview = null;
83
+ this.adoptedInitialsPreview = null;
81
84
  this.skippedFields = [];
82
85
  this.documentsSingularPlural = 'document';
83
86
  this.authStep = null;
@@ -229,6 +232,9 @@ const VerdocsSign = class {
229
232
  // to adopt at least once per session so the signing flow is explicit after removing the up-front progress dialog.
230
233
  this.signatureId = null;
231
234
  this.initialId = null;
235
+ this.signatureAdoptMode = 'type';
236
+ this.adoptedSignaturePreview = null;
237
+ this.adoptedInitialsPreview = null;
232
238
  this.submitted = recipient.status === 'submitted';
233
239
  this.loading = false;
234
240
  this.isDone = this.submitted;
@@ -564,6 +570,9 @@ const VerdocsSign = class {
564
570
  if (e.detail === null) {
565
571
  console.log('[SIGN] Clearing signature');
566
572
  this.signatureId = null;
573
+ this.adoptedSignaturePreview = null;
574
+ this.adoptedInitialsPreview = null;
575
+ this.signatureAdoptMode = 'type';
567
576
  const updateResult = await jsSdk.updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, null, false);
568
577
  this.updateRecipientFieldValue(field.name, updateResult);
569
578
  if (field.required)
@@ -1026,7 +1035,7 @@ const VerdocsSign = class {
1026
1035
  });
1027
1036
  }
1028
1037
  render() {
1029
- var _a;
1038
+ var _a, _b, _c;
1030
1039
  if (this.showLoadError) {
1031
1040
  return (index.h(index.Host, null, index.h("verdocs-ok-dialog", { heading: "Unable to Start Signing", message: `Sorry, your invite code is invalid or has expired. Please check your email for an updated invitation, or contact the sender.`, buttonLabel: "OK", onNext: () => {
1032
1041
  window.location.reload();
@@ -1176,9 +1185,12 @@ const VerdocsSign = class {
1176
1185
  } })), this.showDone && (index.h("verdocs-ok-dialog", { heading: "You're Done!", message: `You can access the ${this.documentsSingularPlural} at any time by clicking on the link from the invitation email.<br /><br />After all recipients have completed their actions, you will receive an email with the completed document and certificate attached.`, hideCloseButton: true, onNext: () => {
1177
1186
  this.showDone = false;
1178
1187
  this.isDone = true;
1179
- } })), this.adoptingSignature && (index.h("verdocs-adopt-signature-dialog", { name: jsSdk.formatFullName(this.recipient), nameLocked: !!((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.name_locked), onNext: async (e) => {
1188
+ } })), this.adoptingSignature && (index.h("verdocs-adopt-signature-dialog", { name: jsSdk.formatFullName(this.recipient), nameLocked: !!((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.name_locked), initialMode: this.adoptedSignaturePreview ? this.signatureAdoptMode : undefined, initialSignature: (_b = this.adoptedSignaturePreview) !== null && _b !== void 0 ? _b : undefined, initialInitials: (_c = this.adoptedInitialsPreview) !== null && _c !== void 0 ? _c : undefined, onNext: async (e) => {
1180
1189
  console.log('[SIGN] Adopting signature/initials block', e.detail);
1181
1190
  this.showSpinner = true;
1191
+ this.signatureAdoptMode = e.detail.mode;
1192
+ this.adoptedSignaturePreview = e.detail.signature;
1193
+ this.adoptedInitialsPreview = e.detail.initials;
1182
1194
  // These arrive as base-64 encoded data URLs
1183
1195
  const signatureBlob = await (await fetch(e.detail.signature)).blob();
1184
1196
  const initialsBlob = await (await fetch(e.detail.initials)).blob();