@verdocs/web-sdk 6.5.0-beta.23 → 6.5.0-beta.25

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.
@@ -942,18 +942,25 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
942
942
  filledFields: recipientFields.filter(f => isFilled(f)).map(f => ({ name: f.name, type: f.type, val: f.value })),
943
943
  });
944
944
  let mode = 'start';
945
- // We only consider the user to have started "signing" if they have filled out at least one *fillable* field.
946
- // Readonly fields do not count.
947
- const anyFieldFilled = requiredRemaining < requiredFields.length || optionalRemaining < optionalFields.length;
945
+ // We need a way to know if the user has started signing. But after trying two
946
+ // obvious ways (has the user adopted a signature? are any fields filled in yet?)
947
+ // they both had flaws (we could be carrying over a sig from a previous session,
948
+ // and things like defaults and auto-filled fields make the filled-field approach
949
+ // tricky to maintain).
950
+ // This is sort of a Hail Mary but it works well for now. We just keep a variable
951
+ // in localStorage that tracks the last 10 envelopes the user has "started".
952
+ // We never get a chance to clean them up but 10 GUIDs is tiny compared to what
953
+ // many apps store in a user's browser.
954
+ const startedEnvelopes = JSON.parse(localStorage.getItem('startedEnvelopes') || '[]');
955
+ const hasStarted = startedEnvelopes.includes(this.envelopeId);
948
956
  if (this.nextSubmits) {
949
957
  mode = 'completed';
950
958
  }
951
- else if (anyFieldFilled) {
959
+ else if (hasStarted) {
952
960
  mode = 'signing';
953
961
  }
954
962
  return (h("verdocs-signing-progress", { mode: mode, current: Math.max(1, currentIndex), total: totalFields, remainingFields: remainingFields, progress: progress, fieldLabel: getFieldLabel(focusedFieldObj), fieldCompleted: focusedFieldObj ? !!isFilled(focusedFieldObj) : false, onStarted: () => {
955
963
  this.adoptingSignature = true;
956
- // this.handleNext();
957
964
  }, onNext: () => this.handleNext(), onPrevious: () => this.handlePrev(), onExit: () => this.handleNext() }));
958
965
  })(), h("div", { class: `document signed-document-container zoom-${this.zoomLevel}` }, (this.envelope.documents || []).map(envelopeDocument => {
959
966
  const pageNumbers = integerSequence(1, envelopeDocument.pages);
@@ -993,6 +1000,14 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
993
1000
  this.initialId = initResult.id;
994
1001
  this.showSpinner = false;
995
1002
  this.adoptingSignature = false;
1003
+ const startedEnvelopes = JSON.parse(localStorage.getItem('startedEnvelopes') || '[]');
1004
+ if (!startedEnvelopes.includes(this.envelopeId)) {
1005
+ startedEnvelopes.push(this.envelopeId);
1006
+ while (startedEnvelopes.length > 10) {
1007
+ startedEnvelopes.shift();
1008
+ }
1009
+ localStorage.setItem('startedEnvelopes', JSON.stringify(startedEnvelopes));
1010
+ }
996
1011
  }, onExit: () => (this.adoptingSignature = false) })), (this.submitting || this.showSpinner) && (h("verdocs-portal", null, h("div", { class: "spinner-overlay" }, h("verdocs-spinner", null)))), this.showDownloadDialog && (h("verdocs-download-dialog", { hasCertificate: (_b = (_a = this.envelope) === null || _a === void 0 ? void 0 : _a.documents) === null || _b === void 0 ? void 0 : _b.some(d => d.type === 'certificate'), onExit: () => (this.showDownloadDialog = false), onNext: async (e) => {
997
1012
  this.showDownloadDialog = false;
998
1013
  const { action } = e.detail;