@hubsync/esign-web-sdk 6.9.13 → 6.9.15

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.
@@ -483,6 +483,7 @@ const VerdocsSign = class {
483
483
  }
484
484
  if (e.detail === null) {
485
485
  console.log('[SIGN] Clearing initial');
486
+ this.initialId = null;
486
487
  const updateResult = await jsSdk.updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, null, false);
487
488
  return this.updateRecipientFieldValue(field.name, updateResult);
488
489
  }
@@ -528,6 +529,7 @@ const VerdocsSign = class {
528
529
  }
529
530
  if (e.detail === null) {
530
531
  console.log('[SIGN] Clearing signature');
532
+ this.signatureId = null;
531
533
  const updateResult = await jsSdk.updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, null, false);
532
534
  return this.updateRecipientFieldValue(field.name, updateResult);
533
535
  }
@@ -593,6 +595,20 @@ const VerdocsSign = class {
593
595
  async handleNext() {
594
596
  var _a;
595
597
  if (this.nextSubmits) {
598
+ // Re-verify required fields synchronously before submitting. nextSubmits can be stale if
599
+ // a text field was cleared but not yet blurred before the button was clicked — the focusout
600
+ // save is async, so the local value hasn't updated by the time onClick fires.
601
+ const allFields = this.getSortedFillableFields();
602
+ const requiredIncomplete = allFields.some(f => f.required && !this.isFieldActuallyFilled(f));
603
+ if (requiredIncomplete) {
604
+ this.nextSubmits = false;
605
+ this.nextButtonLabel = 'Next';
606
+ const currentField = allFields.find(f => f.name === this.focusedField);
607
+ const next = this.getNextUnfilledField(currentField);
608
+ if (next)
609
+ this.focusFieldElement(next);
610
+ return;
611
+ }
596
612
  try {
597
613
  // Patches the date picker to be forcibly removed if still showing during submission
598
614
  (_a = document.getElementById('air-datepicker-global-container')) === null || _a === void 0 ? void 0 : _a.remove();