@verdocs/web-sdk 6.9.12 → 6.10.0

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 (113) hide show
  1. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +1 -1
  2. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js.map +1 -1
  3. package/dist/cjs/verdocs-auth.cjs.entry.js +3 -0
  4. package/dist/cjs/verdocs-auth.cjs.entry.js.map +1 -1
  5. package/dist/cjs/verdocs-contact-picker.cjs.entry.js +422 -115
  6. package/dist/cjs/verdocs-contact-picker.cjs.entry.js.map +1 -1
  7. package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +6 -5
  8. package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js.map +1 -1
  9. package/dist/cjs/verdocs-preview_6.cjs.entry.js +3 -0
  10. package/dist/cjs/verdocs-preview_6.cjs.entry.js.map +1 -1
  11. package/dist/cjs/verdocs-sign.cjs.entry.js +79 -20
  12. package/dist/cjs/verdocs-sign.cjs.entry.js.map +1 -1
  13. package/dist/collection/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.js +6 -5
  14. package/dist/collection/components/dialogs/verdocs-download-dialog/verdocs-download-dialog.js.map +1 -1
  15. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +3 -0
  16. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
  17. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +3 -0
  18. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  19. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +79 -20
  20. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  21. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +1 -1
  22. package/dist/collection/components/embeds/verdocs-view/verdocs-view.js.map +1 -1
  23. package/dist/components/{p-Ce29XBfJ.js → p-CBKrl6B7.js} +2 -2
  24. package/dist/components/{p-Ce29XBfJ.js.map → p-CBKrl6B7.js.map} +1 -1
  25. package/dist/components/p-CPYFXW2q.js +3 -0
  26. package/dist/components/p-CPYFXW2q.js.map +1 -0
  27. package/dist/components/{p-Bpe5Awxh.js → p-CnoHN1S8.js} +2 -2
  28. package/dist/components/p-CnoHN1S8.js.map +1 -0
  29. package/dist/components/{p-BVhOFpVZ.js → p-DfaM_cug.js} +2 -2
  30. package/dist/components/p-DfaM_cug.js.map +1 -0
  31. package/dist/components/verdocs-auth.js +1 -1
  32. package/dist/components/verdocs-auth.js.map +1 -1
  33. package/dist/components/verdocs-build.js +1 -1
  34. package/dist/components/verdocs-contact-picker.js +1 -1
  35. package/dist/components/verdocs-download-dialog.js +1 -1
  36. package/dist/components/verdocs-send.js +1 -1
  37. package/dist/components/verdocs-sign.js +1 -1
  38. package/dist/components/verdocs-sign.js.map +1 -1
  39. package/dist/components/verdocs-view.js +1 -1
  40. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  41. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js.map +1 -1
  42. package/dist/esm/verdocs-auth.entry.js +3 -0
  43. package/dist/esm/verdocs-auth.entry.js.map +1 -1
  44. package/dist/esm/verdocs-contact-picker.entry.js +422 -115
  45. package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
  46. package/dist/esm/verdocs-download-dialog_4.entry.js +6 -5
  47. package/dist/esm/verdocs-download-dialog_4.entry.js.map +1 -1
  48. package/dist/esm/verdocs-preview_6.entry.js +3 -0
  49. package/dist/esm/verdocs-preview_6.entry.js.map +1 -1
  50. package/dist/esm/verdocs-sign.entry.js +80 -21
  51. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  52. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  53. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js.map +1 -1
  54. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  55. package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
  56. package/dist/esm-es5/verdocs-contact-picker.entry.js +2 -2
  57. package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
  58. package/dist/esm-es5/verdocs-download-dialog_4.entry.js +1 -1
  59. package/dist/esm-es5/verdocs-download-dialog_4.entry.js.map +1 -1
  60. package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
  61. package/dist/esm-es5/verdocs-preview_6.entry.js.map +1 -1
  62. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  63. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  64. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +5 -0
  65. package/dist/verdocs-web-sdk/p-11c3e5bb.entry.js +2 -0
  66. package/dist/verdocs-web-sdk/p-11c3e5bb.entry.js.map +1 -0
  67. package/dist/verdocs-web-sdk/p-16d655d4.system.entry.js +2 -0
  68. package/dist/verdocs-web-sdk/p-16d655d4.system.entry.js.map +1 -0
  69. package/dist/verdocs-web-sdk/p-1ce27c81.system.entry.js +4 -0
  70. package/dist/verdocs-web-sdk/p-1ce27c81.system.entry.js.map +1 -0
  71. package/dist/verdocs-web-sdk/p-2d72560a.entry.js +2 -0
  72. package/dist/verdocs-web-sdk/p-2d72560a.entry.js.map +1 -0
  73. package/dist/verdocs-web-sdk/p-33cfc977.system.entry.js +2 -0
  74. package/dist/verdocs-web-sdk/p-33cfc977.system.entry.js.map +1 -0
  75. package/dist/verdocs-web-sdk/p-43ee0267.entry.js +2 -0
  76. package/dist/verdocs-web-sdk/p-43ee0267.entry.js.map +1 -0
  77. package/dist/verdocs-web-sdk/p-4e84a5b6.entry.js +3 -0
  78. package/dist/verdocs-web-sdk/p-4e84a5b6.entry.js.map +1 -0
  79. package/dist/verdocs-web-sdk/p-BdZ5Ghsa.system.js +1 -1
  80. package/dist/verdocs-web-sdk/{p-9756028f.entry.js → p-d0e8419b.entry.js} +2 -2
  81. package/dist/verdocs-web-sdk/p-d0e8419b.entry.js.map +1 -0
  82. package/dist/verdocs-web-sdk/{p-64034b55.system.entry.js → p-d60cfa3e.system.entry.js} +2 -2
  83. package/dist/verdocs-web-sdk/{p-64034b55.system.entry.js.map → p-d60cfa3e.system.entry.js.map} +1 -1
  84. package/dist/verdocs-web-sdk/p-e608d2bc.system.entry.js +2 -0
  85. package/dist/verdocs-web-sdk/p-e608d2bc.system.entry.js.map +1 -0
  86. package/dist/verdocs-web-sdk/{p-6abf8f8f.entry.js → p-e95723ac.entry.js} +2 -2
  87. package/dist/verdocs-web-sdk/{p-6abf8f8f.entry.js.map → p-e95723ac.entry.js.map} +1 -1
  88. package/dist/verdocs-web-sdk/{p-f85f8560.system.entry.js → p-edab1fed.system.entry.js} +2 -2
  89. package/dist/verdocs-web-sdk/p-edab1fed.system.entry.js.map +1 -0
  90. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  91. package/package.json +2 -2
  92. package/dist/components/p-BVhOFpVZ.js.map +0 -1
  93. package/dist/components/p-Bpe5Awxh.js.map +0 -1
  94. package/dist/components/p-DeQsR41s.js +0 -3
  95. package/dist/components/p-DeQsR41s.js.map +0 -1
  96. package/dist/verdocs-web-sdk/p-0240a6e1.system.entry.js +0 -2
  97. package/dist/verdocs-web-sdk/p-0240a6e1.system.entry.js.map +0 -1
  98. package/dist/verdocs-web-sdk/p-12676649.entry.js +0 -2
  99. package/dist/verdocs-web-sdk/p-12676649.entry.js.map +0 -1
  100. package/dist/verdocs-web-sdk/p-1a6869c9.system.entry.js +0 -2
  101. package/dist/verdocs-web-sdk/p-1a6869c9.system.entry.js.map +0 -1
  102. package/dist/verdocs-web-sdk/p-3a542ed0.system.entry.js +0 -4
  103. package/dist/verdocs-web-sdk/p-3a542ed0.system.entry.js.map +0 -1
  104. package/dist/verdocs-web-sdk/p-3f5ad836.system.entry.js +0 -2
  105. package/dist/verdocs-web-sdk/p-3f5ad836.system.entry.js.map +0 -1
  106. package/dist/verdocs-web-sdk/p-9756028f.entry.js.map +0 -1
  107. package/dist/verdocs-web-sdk/p-9c6cca6e.entry.js +0 -2
  108. package/dist/verdocs-web-sdk/p-9c6cca6e.entry.js.map +0 -1
  109. package/dist/verdocs-web-sdk/p-ae4290c6.entry.js +0 -3
  110. package/dist/verdocs-web-sdk/p-ae4290c6.entry.js.map +0 -1
  111. package/dist/verdocs-web-sdk/p-c89d74b2.entry.js +0 -2
  112. package/dist/verdocs-web-sdk/p-c89d74b2.entry.js.map +0 -1
  113. package/dist/verdocs-web-sdk/p-f85f8560.system.entry.js.map +0 -1
@@ -91,6 +91,14 @@ const VerdocsSign = class {
91
91
  this.polling = true;
92
92
  this.renderedPages = {};
93
93
  this.pollingInterval = null;
94
+ this.handleDoneDialogDismiss = async () => {
95
+ this.showDone = false;
96
+ if (!this.isDone) {
97
+ this.prepareForViewTransition();
98
+ await new Promise(resolve => requestAnimationFrame(() => resolve()));
99
+ this.isDone = true;
100
+ }
101
+ };
94
102
  }
95
103
  async componentDidLoad() {
96
104
  var _a, _b, _c, _d, _e, _f;
@@ -109,11 +117,7 @@ const VerdocsSign = class {
109
117
  return;
110
118
  }
111
119
  try {
112
- console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);
113
- // NOTE: We don't listen to the store here because we are often an independent
114
- // session and might have a different "view" of the envelope.
115
- const response = await jsSdk.startSigningSession(this.endpoint, this.envelopeId, this.roleId, this.inviteCode);
116
- this.processAuthResponse(response);
120
+ await this.initSigningSession();
117
121
  }
118
122
  catch (e) {
119
123
  console.log('[SIGN] Error with signing session', e);
@@ -121,6 +125,56 @@ const VerdocsSign = class {
121
125
  this.showLoadError = true;
122
126
  }
123
127
  }
128
+ async initSigningSession() {
129
+ console.log(`[SIGN] Processing invite code for ${this.envelopeId} / ${this.roleId}`);
130
+ // NOTE: We don't listen to the store here because we are often an independent
131
+ // session and might have a different "view" of the envelope.
132
+ const response = await jsSdk.startSigningSession(this.endpoint, this.envelopeId, this.roleId, this.inviteCode);
133
+ this.processAuthResponse(response);
134
+ }
135
+ async retrySigningSession() {
136
+ var _a, _b, _c;
137
+ this.showLoadError = false;
138
+ this.loading = true;
139
+ try {
140
+ await this.initSigningSession();
141
+ }
142
+ catch (e) {
143
+ console.log('[SIGN] Error with signing session', e);
144
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
145
+ this.showLoadError = true;
146
+ this.loading = false;
147
+ }
148
+ }
149
+ prepareForViewTransition() {
150
+ var _a, _b, _c;
151
+ this.stopPolling();
152
+ (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
153
+ this.observer = null;
154
+ (_b = document.getElementById('air-datepicker-global-container')) === null || _b === void 0 ? void 0 : _b.remove();
155
+ (_c = document.getElementById('verdocs-sign-header')) === null || _c === void 0 ? void 0 : _c.remove();
156
+ }
157
+ async handleSubmitSuccess() {
158
+ var _a, _b;
159
+ this.submitting = false;
160
+ this.submitted = true;
161
+ this.nextSubmits = false;
162
+ this.signingProgressMode = 'completed';
163
+ try {
164
+ const envelope = await jsSdk.getEnvelope(this.endpoint, this.envelopeId);
165
+ this.envelope = envelope;
166
+ Datastore.Store.updateEnvelope(this.envelopeId, envelope);
167
+ const updatedRecipient = (_a = envelope.recipients) === null || _a === void 0 ? void 0 : _a.find(r => { var _a; return r.role_name === ((_a = this.recipient) === null || _a === void 0 ? void 0 : _a.role_name); });
168
+ if (updatedRecipient) {
169
+ this.recipient = updatedRecipient;
170
+ }
171
+ (_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope, event: 'submitted' });
172
+ }
173
+ catch (e) {
174
+ console.warn('[SIGN] Error refreshing envelope after submit', e);
175
+ }
176
+ this.showDone = true;
177
+ }
124
178
  componentDidRender() {
125
179
  const headerTarget = this.headerTargetId ? document.getElementById(this.headerTargetId) : null;
126
180
  const headerEl = document.getElementById('verdocs-sign-header');
@@ -276,7 +330,8 @@ const VerdocsSign = class {
276
330
  handleClickAgree() {
277
331
  this.submitting = true;
278
332
  console.log('[SIGN] Accepting disclosures', this.disclosures);
279
- jsSdk.envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, this.disclosures)
333
+ const localeData = Intl.DateTimeFormat().resolvedOptions();
334
+ jsSdk.envelopeRecipientAgree(this.endpoint, this.envelopeId, this.roleId, this.disclosures, { locale: localeData.locale, timezone: localeData.timeZone })
280
335
  .then(() => {
281
336
  var _a;
282
337
  this.nextButtonLabel = 'Next';
@@ -573,16 +628,17 @@ const VerdocsSign = class {
573
628
  async handleNext() {
574
629
  var _a;
575
630
  if (this.nextSubmits) {
631
+ if (this.submitted) {
632
+ return;
633
+ }
576
634
  try {
577
635
  // Patches the date picker to be forcibly removed if still showing during submission
578
636
  (_a = document.getElementById('air-datepicker-global-container')) === null || _a === void 0 ? void 0 : _a.remove();
579
637
  this.submitting = true;
580
- const result = await jsSdk.envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);
638
+ const localeData = Intl.DateTimeFormat().resolvedOptions();
639
+ const result = await jsSdk.envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId, { locale: localeData.locale, timezone: localeData.timeZone });
581
640
  console.log('[SIGN] Submitted successfully', result);
582
- // TODO: The "proper" way is generating an error from Stencil
583
- // NotFoundError: Failed to execute 'insertBefore' on 'Node': The node before which
584
- // the new node is to be inserted is not a child of this node.
585
- window.location.reload();
641
+ await this.handleSubmitSuccess();
586
642
  }
587
643
  catch (e) {
588
644
  console.log('[SIGN] Error submitting', e);
@@ -628,6 +684,9 @@ const VerdocsSign = class {
628
684
  }
629
685
  // See if everything that "needs to be" filled in is, and all "fillable fields" are valid
630
686
  checkRecipientFields() {
687
+ if (this.submitted || this.isDone) {
688
+ return;
689
+ }
631
690
  const invalidFields = this.getRecipientFields().filter(field => !jsSdk.isFieldValid(field, this.getRecipientFields()));
632
691
  if (invalidFields.length < 1) {
633
692
  this.nextButtonLabel = 'Finish';
@@ -990,7 +1049,7 @@ const VerdocsSign = class {
990
1049
  var _a;
991
1050
  if (this.showLoadError) {
992
1051
  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: () => {
993
- window.location.reload();
1052
+ this.retrySigningSession();
994
1053
  } })));
995
1054
  }
996
1055
  if (!this.envelope) {
@@ -1006,8 +1065,7 @@ const VerdocsSign = class {
1006
1065
  return (index.h(index.Host, { class: { agreed: this.agreed } }, index.h("verdocs-view", { endpoint: this.endpoint, envelopeId: this.envelopeId, onSdkError: e => { var _a; return (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } }), 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 document and envelope certificate attached.`, onNext: (e) => {
1007
1066
  e.preventDefault();
1008
1067
  e.stopPropagation();
1009
- this.showDone = false;
1010
- this.isDone = true;
1068
+ this.handleDoneDialogDismiss();
1011
1069
  } })), this.submitting && (index.h("div", { class: "loading-indicator" }, index.h("verdocs-loader", null)))));
1012
1070
  }
1013
1071
  if (this.delegating) {
@@ -1030,7 +1088,9 @@ const VerdocsSign = class {
1030
1088
  jsSdk.envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId)
1031
1089
  .then(r => {
1032
1090
  console.log('[SIGN] Decline result', r);
1033
- window.location.reload();
1091
+ this.declining = false;
1092
+ this.fatalErrorHeader = 'Declined';
1093
+ this.fatalErrorMessage = 'You have declined to sign this request. The sender has been notified.';
1034
1094
  })
1035
1095
  .catch(e => {
1036
1096
  console.warn('[SIGN] Error declining signing session', e);
@@ -1098,7 +1158,7 @@ const VerdocsSign = class {
1098
1158
  const totalPages = this.envelope.documents.reduce((acc, doc) => acc + doc.pages, 0);
1099
1159
  const pageOptions = jsSdk.integerSequence(1, totalPages).map(p => ({ label: p.toString(), value: p.toString() }));
1100
1160
  let globalPageCounter = 0;
1101
- return (index.h(index.Host, null, this.toolbarStyle === 'menu' && (index.h("div", { id: "verdocs-sign-header" }, index.h("div", { class: "inner" }, index.h("div", { class: "title" }, this.envelope.name), index.h("div", { style: { flex: '1' } }), !this.finishLater &&
1161
+ return (index.h(index.Host, null, this.toolbarStyle === 'menu' && (index.h("div", { id: "verdocs-sign-header" }, index.h("div", { class: "inner" }, index.h("div", { class: "title" }, this.envelope.name), index.h("div", { style: { flex: '1' } }), !this.finishLater && !this.submitted &&
1102
1162
  (() => {
1103
1163
  const remaining = this.getRequiredTotalCount() - this.getRequiredFilledCount();
1104
1164
  const optionalLeft = this.getOptionalUnfilledCount();
@@ -1106,7 +1166,7 @@ const VerdocsSign = class {
1106
1166
  return (index.h("span", { class: "remaining-count" }, remaining, " required field", remaining === 1 ? '' : 's', " left"));
1107
1167
  }
1108
1168
  return (index.h("span", { class: "remaining-count" }, index.h("span", { class: "check-icon", innerHTML: Icons.CheckCircleIcon }), "All required fields complete", optionalLeft > 0 && (index.h("div", { class: "review-optional" }, index.h("span", { class: "separator" }, "| "), index.h("span", { onClick: () => this.handleNextOptional() }, "Review ", optionalLeft, " optional")))));
1109
- })(), !this.finishLater && (index.h("verdocs-button", { size: "xsmall", label: this.nextButtonLabel === 'Next' ? 'Next Required' : this.nextButtonLabel, disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() })), index.h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal', 'magnify': true }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), index.h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2', 'magnify': true }, 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" }, 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("div", { class: `document signed-document-container zoom-${this.zoomLevel}` }, (this.envelope.documents || []).map(envelopeDocument => {
1169
+ })(), !this.finishLater && !this.submitted && (index.h("verdocs-button", { size: "xsmall", label: this.nextButtonLabel === 'Next' ? 'Next Required' : this.nextButtonLabel, disabled: !this.agreed || this.submitting || this.submitted, onClick: () => this.handleNext() })), index.h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal', 'magnify': true }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), index.h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2', 'magnify': true }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), index.h("verdocs-dropdown", { options: !this.isDone && !this.finishLater && !this.submitted ? 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" }, 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" }, !this.submitted && (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("div", { class: `document signed-document-container zoom-${this.zoomLevel}` }, (this.envelope.documents || []).map(envelopeDocument => {
1110
1170
  const pageNumbers = jsSdk.integerSequence(1, envelopeDocument.pages);
1111
1171
  return (index.h(index.Fragment, null, this.envelope.documents.length > 1 && (index.h("div", { class: "document-separator" }, index.h("div", { innerHTML: Icons.DocumentPageIcon }), index.h("span", null, envelopeDocument.name))), pageNumbers.map(pageNumber => {
1112
1172
  var _a;
@@ -1128,8 +1188,7 @@ const VerdocsSign = class {
1128
1188
  this.isDone = true;
1129
1189
  this.showFinishLater = false;
1130
1190
  } })), 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 document and envelope certificate attached.`, onNext: () => {
1131
- this.showDone = false;
1132
- this.isDone = true;
1191
+ this.handleDoneDialogDismiss();
1133
1192
  } })), 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) => {
1134
1193
  console.log('[SIGN] Adopting signature/initials block', e.detail);
1135
1194
  this.showSpinner = true;
@@ -1167,7 +1226,7 @@ const VerdocsSign = class {
1167
1226
  }, onExit: () => (this.adoptingSignature = false) })), (this.submitting || this.showSpinner) && (index.h("verdocs-portal", null, index.h("div", { class: "spinner-overlay" }, index.h("verdocs-spinner", null)))), this.showDownloadDialog && (index.h("verdocs-download-dialog", { signed: this.envelope.signed, polling: this.polling, documents: this.envelope.documents, onExit: () => {
1168
1227
  this.showDownloadDialog = false;
1169
1228
  this.stopPolling();
1170
- }, onDownload: this.handleOnDownload })), !this.loading && !this.isDone && (index.h("verdocs-sign-footer", { endpoint: this.endpoint, envelopeId: this.envelopeId, isDone: this.isDone, onAskQuestion: (e) => {
1229
+ }, onDownload: e => this.handleOnDownload(e) })), !this.loading && !this.isDone && !this.submitted && (index.h("verdocs-sign-footer", { endpoint: this.endpoint, envelopeId: this.envelopeId, isDone: this.isDone, onAskQuestion: (e) => {
1171
1230
  jsSdk.askQuestion(this.endpoint, this.envelopeId, this.roleId, { question: e.detail.question })
1172
1231
  .then(() => Toast.VerdocsToast('Your question has been sent.', { style: 'success' }))
1173
1232
  .catch(e => {