@hubsync/esign-web-sdk 6.9.18 → 6.9.19

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 (53) 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 +8 -4
  4. package/dist/cjs/verdocs-sign.cjs.entry.js +6 -3
  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-signing-progress/verdocs-signing-progress.js +26 -4
  8. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js.map +1 -1
  9. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +6 -3
  10. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  11. package/dist/components/{p-D5TpXhYZ.js → p-F-bI1_bW.js} +12 -7
  12. package/dist/components/p-F-bI1_bW.js.map +1 -0
  13. package/dist/components/verdocs-sign.js +7 -4
  14. package/dist/components/verdocs-sign.js.map +1 -1
  15. package/dist/components/verdocs-signing-progress.js +1 -1
  16. package/dist/esm/loader.js +1 -1
  17. 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
  18. package/dist/esm/verdocs-adopt-signature-dialog_8.entry.js +8 -4
  19. package/dist/esm/verdocs-sign.entry.js +6 -3
  20. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  21. package/dist/esm/verdocs-web-sdk.js +1 -1
  22. package/dist/esm-es5/loader.js +1 -1
  23. 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
  24. package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js +1 -1
  25. package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js.map +1 -1
  26. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  27. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  28. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  29. package/dist/types/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.d.ts +5 -1
  30. package/dist/types/components.d.ts +10 -0
  31. package/dist/verdocs-web-sdk/{p-4b321497.system.entry.js → p-0446ad96.system.entry.js} +2 -2
  32. package/dist/verdocs-web-sdk/p-0446ad96.system.entry.js.map +1 -0
  33. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  34. package/dist/verdocs-web-sdk/p-D1zZZuKX.system.js.map +1 -0
  35. package/dist/verdocs-web-sdk/{p-DkxUbQAG.system.js.map → p-D5z9lxeg.system.js.map} +1 -1
  36. package/dist/verdocs-web-sdk/p-ce2911f5.entry.js +2 -0
  37. package/dist/verdocs-web-sdk/p-ce2911f5.entry.js.map +1 -0
  38. package/dist/verdocs-web-sdk/{p-b8b5315b.entry.js → p-e64cfe67.entry.js} +2 -2
  39. package/dist/verdocs-web-sdk/p-e64cfe67.entry.js.map +1 -0
  40. package/dist/verdocs-web-sdk/p-ed324b71.system.entry.js +2 -0
  41. package/dist/verdocs-web-sdk/p-ed324b71.system.entry.js.map +1 -0
  42. 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
  43. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  44. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  45. package/package.json +1 -1
  46. package/dist/components/p-D5TpXhYZ.js.map +0 -1
  47. package/dist/verdocs-web-sdk/p-2af69301.system.entry.js +0 -2
  48. package/dist/verdocs-web-sdk/p-2af69301.system.entry.js.map +0 -1
  49. package/dist/verdocs-web-sdk/p-4b321497.system.entry.js.map +0 -1
  50. package/dist/verdocs-web-sdk/p-995b9279.entry.js +0 -2
  51. package/dist/verdocs-web-sdk/p-995b9279.entry.js.map +0 -1
  52. package/dist/verdocs-web-sdk/p-DcRPq1A1.system.js.map +0 -1
  53. package/dist/verdocs-web-sdk/p-b8b5315b.entry.js.map +0 -1
@@ -4456,6 +4456,10 @@ const VerdocsSigningProgress = class {
4456
4456
  * All fields for the recipient, used to check filled status (may include non-fillable)
4457
4457
  */
4458
4458
  this.recipientFields = [];
4459
+ /**
4460
+ * Names of optional fields the user has explicitly skipped
4461
+ */
4462
+ this.skippedFields = [];
4459
4463
  }
4460
4464
  renderSuccessIcon() {
4461
4465
  return (index.h("svg", { width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { d: "M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM13.3584 7.64645C13.532 7.82001 13.5513 8.08944 13.4163 8.28431L13.3584 8.35355L9.35355 12.3584C9.17999 12.532 8.91056 12.5513 8.71569 12.4163L8.64645 12.3584L6.64645 10.3584C6.45118 10.1632 6.45118 9.84658 6.64645 9.65131C6.82001 9.47775 7.08944 9.45846 7.28431 9.59346L7.35355 9.65131L9 11.298L12.6513 7.64645C12.8466 7.45118 13.1632 7.45118 13.3584 7.64645Z", fill: "#107C10" })));
@@ -4469,11 +4473,11 @@ const VerdocsSigningProgress = class {
4469
4473
  }
4470
4474
  return index.h("div", { class: "field-label" }, fieldLabel);
4471
4475
  }
4472
- renderFooter(current, total, requiredRemaining) {
4476
+ renderFooter(current, total, requiredRemaining, optionalRemaining) {
4473
4477
  if (this.mode === 'start') {
4474
4478
  return (index.h("button", { class: "btn start", onClick: () => this.started.emit() }, "Start Signing"));
4475
4479
  }
4476
- return (index.h("div", { class: "nav-buttons" }, requiredRemaining === 0 ? (index.h("button", { class: "btn submit", onClick: () => this.exit.emit() }, "Submit")) : ([
4480
+ return (index.h("div", { class: "nav-buttons" }, requiredRemaining === 0 && optionalRemaining === 0 ? (index.h("button", { class: "btn submit", onClick: () => this.exit.emit() }, "Submit")) : ([
4477
4481
  index.h("button", { class: "btn previous", disabled: current <= 1, onClick: () => this.previous.emit() }, "Previous"),
4478
4482
  index.h("button", { class: "btn next", disabled: current >= total, onClick: () => this.next.emit() }, "Next"),
4479
4483
  ])));
@@ -4489,11 +4493,11 @@ const VerdocsSigningProgress = class {
4489
4493
  const requiredFields = this.fields.filter(f => f.required);
4490
4494
  const requiredRemaining = requiredFields.filter(f => !isFilled(f)).length;
4491
4495
  const optionalFields = this.fields.filter(f => !f.required);
4492
- const optionalRemaining = optionalFields.filter(f => !isFilled(f)).length;
4496
+ const optionalRemaining = optionalFields.filter(f => !isFilled(f) && !this.skippedFields.includes(f.name)).length;
4493
4497
  const focusedFieldObj = this.fields.find(f => f.name === this.focusedField);
4494
4498
  const currentIndex = this.fields.findIndex(f => f.name === this.focusedField) + 1;
4495
4499
  const totalFields = this.fields.length;
4496
- return (index.h("div", { class: "card" }, index.h("div", { class: "header" }, index.h("div", { class: "progress-line" }, requiredRemaining, " of ", requiredFields.length, " required fields remaining"), optionalFields.length > 0 && (index.h("div", { class: "progress-line optional" }, optionalRemaining, " of ", optionalFields.length, " optional fields remaining"))), index.h("div", { class: "body" }, this.renderContent(utils.getFieldLabel(focusedFieldObj), focusedFieldObj ? !!isFilled(focusedFieldObj) : false, requiredRemaining === 0)), index.h("div", { class: "separator" }), this.renderFooter(Math.max(1, currentIndex), totalFields, requiredRemaining)));
4500
+ return (index.h("div", { class: "card" }, index.h("div", { class: "header" }, index.h("div", { class: "progress-line" }, requiredRemaining, " of ", requiredFields.length, " required fields remaining"), optionalFields.length > 0 && (index.h("div", { class: "progress-line optional" }, optionalRemaining, " of ", optionalFields.length, " optional fields remaining"))), index.h("div", { class: "body" }, this.renderContent(utils.getFieldLabel(focusedFieldObj), focusedFieldObj ? !!isFilled(focusedFieldObj) : false, requiredRemaining === 0)), index.h("div", { class: "separator" }), this.renderFooter(Math.max(1, currentIndex), totalFields, requiredRemaining, optionalRemaining)));
4497
4501
  }
4498
4502
  };
4499
4503
  VerdocsSigningProgress.style = verdocsSigningProgressCss;
@@ -439,7 +439,10 @@ const VerdocsSign = class {
439
439
  }
440
440
  focusNextFieldAfter(field) {
441
441
  setTimeout(() => {
442
- const next = this.getNextUnfilledField(field);
442
+ const allFields = this.getSortedFillableFields();
443
+ const startIndex = allFields.findIndex(f => f.name === field.name) + 1;
444
+ // Only look forward — do not wrap back to optional fields the user already passed
445
+ const next = allFields.slice(startIndex).find(f => !this.isFieldActuallyFilled(f) && !this.skippedFields.includes(f.name));
443
446
  if (next)
444
447
  this.focusFieldElement(next);
445
448
  }, 100);
@@ -754,7 +757,7 @@ const VerdocsSign = class {
754
757
  // If the currently focused field is unfilled, point the flag to it.
755
758
  // Otherwise find the next unfilled field forward from the current position.
756
759
  let nextField;
757
- if (focusedFieldObj && !this.isFieldActuallyFilled(focusedFieldObj)) {
760
+ if (focusedFieldObj && !this.isFieldActuallyFilled(focusedFieldObj) && !this.skippedFields.includes(focusedFieldObj.name)) {
758
761
  nextField = focusedFieldObj;
759
762
  }
760
763
  else {
@@ -1102,7 +1105,7 @@ const VerdocsSign = class {
1102
1105
  return (index.h("span", { class: "remaining-count" }, remaining, " required field", remaining === 1 ? '' : 's', " left"));
1103
1106
  }
1104
1107
  return (index.h("span", { class: "remaining-count" }, index.h("span", { class: "check-icon", innerHTML: Icons.CheckCircleIcon }), "All required fields complete", optionalLeft > 0 && index.h("span", { class: "separator" }, "|"), optionalLeft > 0 && (index.h("span", { class: "review-optional", onClick: () => this.handleNextOptional() }, "Review ", optionalLeft, " optional"))));
1105
- })(), !this.finishLater && (index.h("verdocs-button", { size: "xsmall", label: this.nextButtonLabel, disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() })), index.h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal' }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), index.h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2' }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), index.h("verdocs-dropdown", { options: !this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions, onOptionSelected: e => this.handleOptionSelected(e) })))), this.toolbarStyle === 'controls' && (index.h("div", { class: "controls-toolbar" }, index.h("div", { class: "left-controls" }, index.h("div", { class: "title" }, this.envelope.name)), index.h("div", { class: "center-controls", style: { display: 'none' } }, index.h("span", { class: "label" }, "Page"), index.h("div", { class: "select-wrapper" }, index.h("verdocs-select-input", { options: pageOptions, value: this.pageNumber.toString(), onInput: e => this.handlePageSelect(e) })), index.h("span", { class: "count" }, "of ", totalPages)), index.h("div", { class: "right-controls" }, index.h("verdocs-button", { class: "mobile-next-button", label: this.nextButtonLabel, size: "xsmall", disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() }), index.h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal' }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), index.h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2' }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), index.h("div", { class: "icon-button download", innerHTML: ToolbarDownloadIcon, onClick: () => this.handleOptionSelected({ detail: { id: 'download' } }) }), index.h("div", { class: "icon-button print", innerHTML: ToolbarPrintIcon, onClick: () => this.handleOptionSelected({ detail: { id: 'print' } }) })))), index.h("verdocs-signing-progress", { mode: this.signingProgressMode, focusedField: this.focusedField, fields: this.getSortedFillableFields(), recipientFields: this.getRecipientFields(), onStarted: () => {
1108
+ })(), !this.finishLater && (index.h("verdocs-button", { size: "xsmall", label: this.nextButtonLabel, disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() })), index.h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal' }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), index.h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2' }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), index.h("verdocs-dropdown", { options: !this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions, onOptionSelected: e => this.handleOptionSelected(e) })))), this.toolbarStyle === 'controls' && (index.h("div", { class: "controls-toolbar" }, index.h("div", { class: "left-controls" }, index.h("div", { class: "title" }, this.envelope.name)), index.h("div", { class: "center-controls", style: { display: 'none' } }, index.h("span", { class: "label" }, "Page"), index.h("div", { class: "select-wrapper" }, index.h("verdocs-select-input", { options: pageOptions, value: this.pageNumber.toString(), onInput: e => this.handlePageSelect(e) })), index.h("span", { class: "count" }, "of ", totalPages)), index.h("div", { class: "right-controls" }, index.h("verdocs-button", { class: "mobile-next-button", label: this.nextButtonLabel, size: "xsmall", disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() }), index.h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal' }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), index.h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2' }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), index.h("div", { class: "icon-button download", innerHTML: ToolbarDownloadIcon, onClick: () => this.handleOptionSelected({ detail: { id: 'download' } }) }), index.h("div", { class: "icon-button print", innerHTML: ToolbarPrintIcon, onClick: () => this.handleOptionSelected({ detail: { id: 'print' } }) })))), index.h("verdocs-signing-progress", { mode: this.signingProgressMode, focusedField: this.focusedField, fields: this.getSortedFillableFields(), recipientFields: this.getRecipientFields(), skippedFields: this.skippedFields, onStarted: () => {
1106
1109
  this.handleStartSigning();
1107
1110
  }, onNext: () => this.handleNext(), onPrevious: () => this.handlePrev(), onExit: () => this.handleNext() }), index.h("div", { class: `document signed-document-container zoom-${this.zoomLevel}` }, (this.envelope.documents || []).map(envelopeDocument => {
1108
1111
  const pageNumbers = jsSdk.integerSequence(1, envelopeDocument.pages);