@hubsync/esign-web-sdk 6.9.18 → 6.9.20
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/dist/cjs/loader.cjs.js +1 -1
- 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
- package/dist/cjs/verdocs-adopt-signature-dialog_8.cjs.entry.js +9 -5
- package/dist/cjs/verdocs-sign.cjs.entry.js +15 -4
- package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js +27 -5
- package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +15 -4
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/components/{p-D5TpXhYZ.js → p-DO7oSTLI.js} +13 -8
- package/dist/components/p-DO7oSTLI.js.map +1 -0
- package/dist/components/verdocs-sign.js +16 -5
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-signing-progress.js +1 -1
- package/dist/esm/loader.js +1 -1
- 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
- package/dist/esm/verdocs-adopt-signature-dialog_8.entry.js +9 -5
- package/dist/esm/verdocs-sign.entry.js +15 -4
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- 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
- package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js +1 -1
- package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.d.ts +5 -1
- package/dist/types/components.d.ts +10 -0
- package/dist/verdocs-web-sdk/{p-4b321497.system.entry.js → p-67b09919.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-67b09919.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-99366a30.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-99366a30.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
- package/dist/verdocs-web-sdk/p-BhPGtG0O.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-DkxUbQAG.system.js.map → p-Dw4daWgN.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-ceda5116.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-ceda5116.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-b8b5315b.entry.js → p-dbffd9a8.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-dbffd9a8.entry.js.map +1 -0
- 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
- package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/components/p-D5TpXhYZ.js.map +0 -1
- package/dist/verdocs-web-sdk/p-2af69301.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-2af69301.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-4b321497.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-995b9279.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-995b9279.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-DcRPq1A1.system.js.map +0 -1
- 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,13 +4473,13 @@ const VerdocsSigningProgress = class {
|
|
|
4469
4473
|
}
|
|
4470
4474
|
return index.h("div", { class: "field-label" }, fieldLabel);
|
|
4471
4475
|
}
|
|
4472
|
-
renderFooter(current,
|
|
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
|
-
index.h("button", { class: "btn next",
|
|
4482
|
+
index.h("button", { class: "btn next", onClick: () => this.next.emit() }, "Next"),
|
|
4479
4483
|
])));
|
|
4480
4484
|
}
|
|
4481
4485
|
renderCompleted() {
|
|
@@ -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
|
|
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 {
|
|
@@ -804,7 +807,15 @@ const VerdocsSign = class {
|
|
|
804
807
|
}
|
|
805
808
|
this.focusedField = nextField.name;
|
|
806
809
|
this.checkRecipientFields();
|
|
807
|
-
|
|
810
|
+
// Do NOT call handleNext() here — if this was the last unaddressed field,
|
|
811
|
+
// nextSubmits is now true and handleNext() would auto-submit without user intent.
|
|
812
|
+
// Instead navigate manually only when there are still fields to address.
|
|
813
|
+
if (!this.nextSubmits) {
|
|
814
|
+
const currentField = this.getSortedFillableFields().find(f => f.name === this.focusedField);
|
|
815
|
+
const next = this.getNextUnfilledField(currentField);
|
|
816
|
+
if (next)
|
|
817
|
+
this.focusFieldElement(next);
|
|
818
|
+
}
|
|
808
819
|
},
|
|
809
820
|
onClick: () => {
|
|
810
821
|
this.focusFieldElement(nextField);
|
|
@@ -1102,7 +1113,7 @@ const VerdocsSign = class {
|
|
|
1102
1113
|
return (index.h("span", { class: "remaining-count" }, remaining, " required field", remaining === 1 ? '' : 's', " left"));
|
|
1103
1114
|
}
|
|
1104
1115
|
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: () => {
|
|
1116
|
+
})(), !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
1117
|
this.handleStartSigning();
|
|
1107
1118
|
}, 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
1119
|
const pageNumbers = jsSdk.integerSequence(1, envelopeDocument.pages);
|