@verdocs/web-sdk 6.8.2 → 6.8.4

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 (183) hide show
  1. package/dist/cjs/{Icons-GgNiIFTt.js → Icons-TVvtZ5iL.js} +2 -6
  2. package/dist/cjs/{Icons-GgNiIFTt.js.map → Icons-TVvtZ5iL.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-view.entry.cjs.js.map +1 -1
  5. package/dist/cjs/verdocs-adopt-signature-dialog_7.cjs.entry.js +2 -2
  6. package/dist/cjs/verdocs-auth.cjs.entry.js +2 -2
  7. package/dist/cjs/verdocs-auth.entry.cjs.js.map +1 -1
  8. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +111 -17
  9. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-preview_7.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-sign.cjs.entry.js +50 -22
  13. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  14. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  15. package/dist/collection/components/dialogs/verdocs-adopt-signature-dialog/verdocs-adopt-signature-dialog.css +6 -5
  16. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js +2 -2
  17. package/dist/collection/components/embeds/verdocs-auth/verdocs-auth.js.map +1 -1
  18. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +54 -4
  19. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +48 -20
  20. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  21. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.css +33 -37
  22. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +56 -9
  23. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js.map +1 -1
  24. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.css +33 -37
  25. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +56 -9
  26. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js.map +1 -1
  27. package/dist/components/{p-B91pFl_v.js → p-5-YwGwyn.js} +13 -13
  28. package/dist/components/{p-B91pFl_v.js.map → p-5-YwGwyn.js.map} +1 -1
  29. package/dist/components/{p-4iMdAi-F.js → p-BDv5kBUR.js} +3 -5
  30. package/dist/components/p-BDv5kBUR.js.map +1 -0
  31. package/dist/components/{p-BYz85yxG.js → p-BZRJWqKI.js} +3 -3
  32. package/dist/components/{p-BYz85yxG.js.map → p-BZRJWqKI.js.map} +1 -1
  33. package/dist/components/{p-Bys760t8.js → p-Bafj7hI1.js} +3 -3
  34. package/dist/components/{p-Bys760t8.js.map → p-Bafj7hI1.js.map} +1 -1
  35. package/dist/components/{p-B4HqZ5yO.js → p-By2QlfRC.js} +3 -3
  36. package/dist/components/{p-B4HqZ5yO.js.map → p-By2QlfRC.js.map} +1 -1
  37. package/dist/components/{p-CdoA0Vhp.js → p-C3E0_BBd.js} +12 -12
  38. package/dist/components/{p-CdoA0Vhp.js.map → p-C3E0_BBd.js.map} +1 -1
  39. package/dist/components/{p-C8STy7JQ.js → p-C5fwD53I.js} +4 -4
  40. package/dist/components/{p-C8STy7JQ.js.map → p-C5fwD53I.js.map} +1 -1
  41. package/dist/components/{p-b0kPOapT.js → p-CDbm89Va.js} +14 -14
  42. package/dist/components/{p-b0kPOapT.js.map → p-CDbm89Va.js.map} +1 -1
  43. package/dist/components/{p-CNwYj4cS.js → p-CFi6VKgU.js} +3 -3
  44. package/dist/components/{p-CNwYj4cS.js.map → p-CFi6VKgU.js.map} +1 -1
  45. package/dist/components/{p-yvuxqHqW.js → p-CWGxLuye.js} +3 -3
  46. package/dist/components/{p-yvuxqHqW.js.map → p-CWGxLuye.js.map} +1 -1
  47. package/dist/components/{p-D5iqEzJy.js → p-CjDMm6od.js} +3 -3
  48. package/dist/components/{p-D5iqEzJy.js.map → p-CjDMm6od.js.map} +1 -1
  49. package/dist/components/{p-CcCp1gLW.js → p-CxyvrlVc.js} +59 -12
  50. package/dist/components/p-CxyvrlVc.js.map +1 -0
  51. package/dist/components/{p-D0JcxROc.js → p-DCaxeiL7.js} +59 -12
  52. package/dist/components/p-DCaxeiL7.js.map +1 -0
  53. package/dist/components/{p-Bw4ea7Kw.js → p-DzM2oGUr.js} +3 -3
  54. package/dist/components/{p-Bw4ea7Kw.js.map → p-DzM2oGUr.js.map} +1 -1
  55. package/dist/components/{p-CwA1DkPT.js → p-PGFRj24l.js} +4 -4
  56. package/dist/components/p-PGFRj24l.js.map +1 -0
  57. package/dist/components/{p-8aKU2veY.js → p-mFB74--W.js} +3 -3
  58. package/dist/components/{p-8aKU2veY.js.map → p-mFB74--W.js.map} +1 -1
  59. package/dist/components/{p-wSGGYtAF.js → p-tyY7kKNB.js} +3 -3
  60. package/dist/components/{p-wSGGYtAF.js.map → p-tyY7kKNB.js.map} +1 -1
  61. package/dist/components/verdocs-adopt-signature-dialog.js +1 -1
  62. package/dist/components/verdocs-auth.js +2 -2
  63. package/dist/components/verdocs-auth.js.map +1 -1
  64. package/dist/components/verdocs-build.js +15 -15
  65. package/dist/components/verdocs-field-attachment.js +1 -1
  66. package/dist/components/verdocs-field-checkbox.js +1 -1
  67. package/dist/components/verdocs-field-date.js +1 -1
  68. package/dist/components/verdocs-field-dropdown.js +1 -1
  69. package/dist/components/verdocs-field-initial.js +1 -1
  70. package/dist/components/verdocs-field-payment.js +1 -1
  71. package/dist/components/verdocs-field-radio.js +1 -1
  72. package/dist/components/verdocs-field-signature.js +1 -1
  73. package/dist/components/verdocs-field-textarea.js +1 -1
  74. package/dist/components/verdocs-field-textbox.js +1 -1
  75. package/dist/components/verdocs-field-timestamp.js +1 -1
  76. package/dist/components/verdocs-file-chooser.js +1 -1
  77. package/dist/components/verdocs-preview.js +1 -1
  78. package/dist/components/verdocs-sign.js +51 -23
  79. package/dist/components/verdocs-sign.js.map +1 -1
  80. package/dist/components/verdocs-template-attachments.js +1 -1
  81. package/dist/components/verdocs-template-document-page.js +1 -1
  82. package/dist/components/verdocs-template-fields.js +1 -1
  83. package/dist/esm/{Icons-uiSvPcsq.js → Icons-BU5rnXp2.js} +3 -5
  84. package/dist/esm/{Icons-uiSvPcsq.js.map → Icons-BU5rnXp2.js.map} +1 -1
  85. package/dist/esm/loader.js +1 -1
  86. package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-view.entry.js.map +1 -1
  87. package/dist/esm/verdocs-adopt-signature-dialog_7.entry.js +2 -2
  88. package/dist/esm/verdocs-auth.entry.js +2 -2
  89. package/dist/esm/verdocs-auth.entry.js.map +1 -1
  90. package/dist/esm/verdocs-field-attachment_11.entry.js +111 -17
  91. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  92. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  93. package/dist/esm/verdocs-preview_7.entry.js +1 -1
  94. package/dist/esm/verdocs-sign.entry.js +50 -22
  95. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  96. package/dist/esm/verdocs-web-sdk.js +1 -1
  97. package/dist/esm-es5/{Icons-uiSvPcsq.js → Icons-BU5rnXp2.js} +2 -2
  98. package/dist/esm-es5/{Icons-uiSvPcsq.js.map → Icons-BU5rnXp2.js.map} +1 -1
  99. package/dist/esm-es5/loader.js +1 -1
  100. package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-view.entry.js.map +1 -1
  101. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js +1 -1
  102. package/dist/esm-es5/verdocs-adopt-signature-dialog_7.entry.js.map +1 -1
  103. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  104. package/dist/esm-es5/verdocs-auth.entry.js.map +1 -1
  105. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  106. package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
  107. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  108. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  109. package/dist/esm-es5/verdocs-preview_7.entry.js +1 -1
  110. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  111. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  112. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  113. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +2 -0
  114. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +8 -1
  115. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +8 -1
  116. package/dist/verdocs-web-sdk/p-081b245d.system.entry.js +2 -0
  117. package/dist/verdocs-web-sdk/p-081b245d.system.entry.js.map +1 -0
  118. package/dist/verdocs-web-sdk/p-0faa3e84.entry.js +2 -0
  119. package/dist/verdocs-web-sdk/{p-bf7fb952.entry.js.map → p-0faa3e84.entry.js.map} +1 -1
  120. package/dist/verdocs-web-sdk/p-35JuQlcA.system.js.map +1 -0
  121. package/dist/verdocs-web-sdk/{p-1c2f170a.system.entry.js → p-43d3ef1d.system.entry.js} +2 -2
  122. package/dist/verdocs-web-sdk/p-4b67e923.system.entry.js +2 -0
  123. package/dist/verdocs-web-sdk/p-4b67e923.system.entry.js.map +1 -0
  124. package/dist/verdocs-web-sdk/{p-72ff97d7.entry.js → p-5bc00fc6.entry.js} +3 -3
  125. package/dist/verdocs-web-sdk/{p-d026af3f.system.entry.js → p-6bbe3f73.system.entry.js} +2 -2
  126. package/dist/verdocs-web-sdk/p-6c5ecf49.entry.js +2 -0
  127. package/dist/verdocs-web-sdk/p-6c5ecf49.entry.js.map +1 -0
  128. package/dist/verdocs-web-sdk/p-898b4c05.entry.js +2 -0
  129. package/dist/verdocs-web-sdk/p-898b4c05.entry.js.map +1 -0
  130. package/dist/verdocs-web-sdk/p-8e8c0110.entry.js +2 -0
  131. package/dist/verdocs-web-sdk/p-8e8c0110.entry.js.map +1 -0
  132. package/dist/verdocs-web-sdk/p-93e9df57.system.entry.js +2 -0
  133. package/dist/verdocs-web-sdk/p-93e9df57.system.entry.js.map +1 -0
  134. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  135. package/dist/verdocs-web-sdk/{p-uiSvPcsq.js → p-BU5rnXp2.js} +2 -2
  136. package/dist/verdocs-web-sdk/{p-uiSvPcsq.js.map → p-BU5rnXp2.js.map} +1 -1
  137. package/dist/verdocs-web-sdk/p-C5U_96FD.system.js.map +1 -0
  138. package/dist/verdocs-web-sdk/p-CHowGhis.system.js.map +1 -0
  139. package/dist/verdocs-web-sdk/p-COM7km0I.system.js.map +1 -0
  140. package/dist/verdocs-web-sdk/{p-B-lvFg2a.system.js.map → p-CaEXyfjG.system.js.map} +1 -1
  141. package/dist/verdocs-web-sdk/{p-C0HruX7m.system.js.map → p-CvwnnOmD.system.js.map} +1 -1
  142. package/dist/verdocs-web-sdk/{p-BnNnWnOr.system.js.map → p-DEv3ZZhp.system.js.map} +1 -1
  143. package/dist/verdocs-web-sdk/{p-DejNzlEq.system.js → p-GqS1qR-V.system.js} +2 -2
  144. package/dist/verdocs-web-sdk/{p-DejNzlEq.system.js.map → p-GqS1qR-V.system.js.map} +1 -1
  145. package/dist/verdocs-web-sdk/{p-59243cd3.system.entry.js → p-acf58947.system.entry.js} +3 -3
  146. package/dist/verdocs-web-sdk/{p-4d0a53c0.entry.js → p-e06f9319.entry.js} +2 -2
  147. package/dist/verdocs-web-sdk/{p-cec41aeb.entry.js → p-edc49225.entry.js} +2 -2
  148. package/dist/verdocs-web-sdk/p-fde71466.system.entry.js +2 -0
  149. package/dist/verdocs-web-sdk/p-fde71466.system.entry.js.map +1 -0
  150. 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-view.entry.esm.js.map +1 -1
  151. package/dist/verdocs-web-sdk/verdocs-auth.entry.esm.js.map +1 -1
  152. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  153. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  154. package/package.json +1 -1
  155. package/dist/components/p-4iMdAi-F.js.map +0 -1
  156. package/dist/components/p-CcCp1gLW.js.map +0 -1
  157. package/dist/components/p-CwA1DkPT.js.map +0 -1
  158. package/dist/components/p-D0JcxROc.js.map +0 -1
  159. package/dist/verdocs-web-sdk/p-066b9068.entry.js +0 -2
  160. package/dist/verdocs-web-sdk/p-066b9068.entry.js.map +0 -1
  161. package/dist/verdocs-web-sdk/p-46b44d60.entry.js +0 -2
  162. package/dist/verdocs-web-sdk/p-46b44d60.entry.js.map +0 -1
  163. package/dist/verdocs-web-sdk/p-4d2642f5.system.entry.js +0 -2
  164. package/dist/verdocs-web-sdk/p-4d2642f5.system.entry.js.map +0 -1
  165. package/dist/verdocs-web-sdk/p-56bb100f.system.entry.js +0 -2
  166. package/dist/verdocs-web-sdk/p-56bb100f.system.entry.js.map +0 -1
  167. package/dist/verdocs-web-sdk/p-BREkr6mU.system.js.map +0 -1
  168. package/dist/verdocs-web-sdk/p-BWHKc078.system.js.map +0 -1
  169. package/dist/verdocs-web-sdk/p-BjX323yE.system.js.map +0 -1
  170. package/dist/verdocs-web-sdk/p-CVkABARN.system.js.map +0 -1
  171. package/dist/verdocs-web-sdk/p-b2108c5c.system.entry.js +0 -2
  172. package/dist/verdocs-web-sdk/p-b2108c5c.system.entry.js.map +0 -1
  173. package/dist/verdocs-web-sdk/p-b5db2ed4.entry.js +0 -2
  174. package/dist/verdocs-web-sdk/p-b5db2ed4.entry.js.map +0 -1
  175. package/dist/verdocs-web-sdk/p-bf7fb952.entry.js +0 -2
  176. package/dist/verdocs-web-sdk/p-d4cfa91a.system.entry.js +0 -2
  177. package/dist/verdocs-web-sdk/p-d4cfa91a.system.entry.js.map +0 -1
  178. /package/dist/verdocs-web-sdk/{p-1c2f170a.system.entry.js.map → p-43d3ef1d.system.entry.js.map} +0 -0
  179. /package/dist/verdocs-web-sdk/{p-72ff97d7.entry.js.map → p-5bc00fc6.entry.js.map} +0 -0
  180. /package/dist/verdocs-web-sdk/{p-d026af3f.system.entry.js.map → p-6bbe3f73.system.entry.js.map} +0 -0
  181. /package/dist/verdocs-web-sdk/{p-59243cd3.system.entry.js.map → p-acf58947.system.entry.js.map} +0 -0
  182. /package/dist/verdocs-web-sdk/{p-4d0a53c0.entry.js.map → p-e06f9319.entry.js.map} +0 -0
  183. /package/dist/verdocs-web-sdk/{p-cec41aeb.entry.js.map → p-edc49225.entry.js.map} +0 -0
@@ -155,10 +155,12 @@ export class VerdocsSign {
155
155
  this.setupIntersectionObserver();
156
156
  }
157
157
  disconnectedCallback() {
158
- var _a;
158
+ var _a, _b;
159
159
  this.stopPolling();
160
160
  (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
161
161
  window.removeEventListener('resize', () => this.updateZoomFromWindow());
162
+ // Remove any org-level style overrides we injected into the document head.
163
+ (_b = document.getElementById(this.getOrgStyleOverridesId())) === null || _b === void 0 ? void 0 : _b.remove();
162
164
  }
163
165
  updateZoomFromWindow() {
164
166
  const width = window.innerWidth;
@@ -203,19 +205,46 @@ export class VerdocsSign {
203
205
  }, options);
204
206
  pages.forEach(page => this.observer.observe(page));
205
207
  }
208
+ getOrgStyleOverridesId() {
209
+ return `verdocs-org-style-overrides-${this.envelopeId}`;
210
+ }
211
+ // Injects a <style> tag into the document head containing any CSS overrides defined on the
212
+ // envelope's organization. This allows the organization to apply custom styling to the signing
213
+ // UI without rebuilding the SDK.
214
+ // TODO: Clean up once js-sdk is updated (style_overrides is not yet in IEnvelope).
215
+ applyOrgStyleOverrides() {
216
+ var _a, _b;
217
+ const styleId = this.getOrgStyleOverridesId();
218
+ const existing = document.getElementById(styleId);
219
+ const overrides = (_b = (_a = this.envelope) === null || _a === void 0 ? void 0 : _a.organization) === null || _b === void 0 ? void 0 : _b.style_overrides;
220
+ if (typeof overrides === 'string') {
221
+ const styleEl = existing || document.createElement('style');
222
+ styleEl.id = styleId;
223
+ styleEl.textContent = overrides;
224
+ if (!existing) {
225
+ document.head.appendChild(styleEl);
226
+ }
227
+ }
228
+ else if (existing) {
229
+ existing.remove();
230
+ }
231
+ }
206
232
  processAuthResponse(response) {
207
- var _a, _b, _c, _d, _e, _f, _g, _h;
233
+ var _a, _b, _c, _d;
208
234
  const { envelope, recipient } = response;
209
235
  (_a = envelope.documents) === null || _a === void 0 ? void 0 : _a.sort((a, b) => (a.order !== b.order ? a.order - b.order : a.created_at.localeCompare(b.created_at)));
210
236
  const { auth_step } = recipient;
211
237
  this.recipient = recipient;
212
238
  this.envelope = envelope;
213
239
  this.disclosures = ((_c = (_b = this.envelope) === null || _b === void 0 ? void 0 : _b.organization) === null || _c === void 0 ? void 0 : _c.disclaimer) || DEFAULT_DISCLOSURES;
240
+ this.applyOrgStyleOverrides();
214
241
  this.authStep = auth_step;
215
242
  this.delegated = !!recipient.delegated_to;
216
243
  this.agreed = recipient.agreed;
217
- this.signatureId = ((_e = (_d = response.signatures) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.id) || null;
218
- this.initialId = ((_g = (_f = response.initials) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.id) || null;
244
+ // Intentionally ignore any pre-existing signatures/initials from the server. We always want to prompt the user
245
+ // to adopt at least once per session so the signing flow is explicit after removing the up-front progress dialog.
246
+ this.signatureId = null;
247
+ this.initialId = null;
219
248
  this.submitted = recipient.status === 'submitted';
220
249
  this.loading = false;
221
250
  this.isDone = this.submitted;
@@ -245,7 +274,7 @@ export class VerdocsSign {
245
274
  this.nextButtonLabel = 'Next';
246
275
  }
247
276
  this.checkRecipientFields();
248
- (_h = this.envelopeLoaded) === null || _h === void 0 ? void 0 : _h.emit({ endpoint: this.endpoint, envelope: this.envelope });
277
+ (_d = this.envelopeLoaded) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: this.envelope });
249
278
  }
250
279
  handleClickAgree() {
251
280
  this.submitting = true;
@@ -1027,14 +1056,15 @@ export class VerdocsSign {
1027
1056
  const totalPages = this.envelope.documents.reduce((acc, doc) => acc + doc.pages, 0);
1028
1057
  const pageOptions = integerSequence(1, totalPages).map(p => ({ label: p.toString(), value: p.toString() }));
1029
1058
  let globalPageCounter = 0;
1030
- return (h(Host, null, this.toolbarStyle === 'menu' && (h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, h("div", { class: "title" }, this.envelope.name), h("div", { style: { flex: '1' } }), !this.finishLater && (() => {
1031
- const remaining = this.getRequiredTotalCount() - this.getRequiredFilledCount();
1032
- const optionalLeft = this.getOptionalUnfilledCount();
1033
- if (remaining > 0) {
1034
- return h("span", { class: "remaining-count" }, remaining, " required field", remaining === 1 ? '' : 's', " left");
1035
- }
1036
- return (h("span", { class: "remaining-count" }, h("span", { class: "check-icon", innerHTML: CheckCircleIcon }), "All required fields complete", optionalLeft > 0 && h("span", { class: "separator" }, "|"), optionalLeft > 0 && h("span", { class: "review-optional", onClick: () => this.handleNextOptional() }, "Review ", optionalLeft, " optional")));
1037
- })(), !this.finishLater && h("verdocs-button", { size: "xsmall", label: this.nextButtonLabel === 'Next' ? 'Next Required' : this.nextButtonLabel, disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() }), h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal' }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2' }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), h("div", { style: { marginLeft: '10px' } }), h("verdocs-dropdown", { options: !this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions, onOptionSelected: e => this.handleOptionSelected(e) })))), this.toolbarStyle === 'controls' && (h("div", { class: "controls-toolbar" }, h("div", { class: "left-controls" }, h("div", { class: "title" }, this.envelope.name)), h("div", { class: "center-controls" }, h("span", { class: "label" }, "Page"), h("div", { class: "select-wrapper" }, h("verdocs-select-input", { options: pageOptions, value: this.pageNumber.toString(), onInput: e => this.handlePageSelect(e) })), h("span", { class: "count" }, "of ", totalPages)), h("div", { class: "right-controls" }, h("verdocs-button", { class: "mobile-next-button", label: this.nextButtonLabel, size: "xsmall", disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() }), h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal' }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2' }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), h("div", { class: "icon-button download", innerHTML: ToolbarDownloadIcon, onClick: () => this.handleOptionSelected({ detail: { id: 'download' } }) }), h("div", { class: "icon-button print", innerHTML: ToolbarPrintIcon, onClick: () => this.handleOptionSelected({ detail: { id: 'print' } }) })))), h("div", { class: `document signed-document-container zoom-${this.zoomLevel}` }, (this.envelope.documents || []).map(envelopeDocument => {
1059
+ return (h(Host, null, this.toolbarStyle === 'menu' && (h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, h("div", { class: "title" }, this.envelope.name), h("div", { style: { flex: '1' } }), !this.finishLater &&
1060
+ (() => {
1061
+ const remaining = this.getRequiredTotalCount() - this.getRequiredFilledCount();
1062
+ const optionalLeft = this.getOptionalUnfilledCount();
1063
+ if (remaining > 0) {
1064
+ return (h("span", { class: "remaining-count" }, remaining, " required field", remaining === 1 ? '' : 's', " left"));
1065
+ }
1066
+ return (h("span", { class: "remaining-count" }, h("span", { class: "check-icon", innerHTML: CheckCircleIcon }), "All required fields complete", optionalLeft > 0 && h("span", { class: "separator" }, "|"), optionalLeft > 0 && (h("span", { class: "review-optional", onClick: () => this.handleNextOptional() }, "Review ", optionalLeft, " optional"))));
1067
+ })(), !this.finishLater && (h("verdocs-button", { size: "xsmall", label: this.nextButtonLabel === 'Next' ? 'Next Required' : this.nextButtonLabel, disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() })), h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal' }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2' }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), h("verdocs-dropdown", { options: !this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions, onOptionSelected: e => this.handleOptionSelected(e) })))), this.toolbarStyle === 'controls' && (h("div", { class: "controls-toolbar" }, h("div", { class: "left-controls" }, h("div", { class: "title" }, this.envelope.name)), h("div", { class: "center-controls" }, h("span", { class: "label" }, "Page"), h("div", { class: "select-wrapper" }, h("verdocs-select-input", { options: pageOptions, value: this.pageNumber.toString(), onInput: e => this.handlePageSelect(e) })), h("span", { class: "count" }, "of ", totalPages)), h("div", { class: "right-controls" }, h("verdocs-button", { class: "mobile-next-button", label: this.nextButtonLabel, size: "xsmall", disabled: !this.agreed || this.submitting, onClick: () => this.handleNext() }), h("div", { class: { 'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal' }, innerHTML: ToolbarMinusIcon, onClick: () => this.handleZoomOut() }), h("div", { class: { 'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2' }, innerHTML: ToolbarPlusIcon, onClick: () => this.handleZoomIn() }), h("div", { class: "icon-button download", innerHTML: ToolbarDownloadIcon, onClick: () => this.handleOptionSelected({ detail: { id: 'download' } }) }), h("div", { class: "icon-button print", innerHTML: ToolbarPrintIcon, onClick: () => this.handleOptionSelected({ detail: { id: 'print' } }) })))), h("div", { class: `document signed-document-container zoom-${this.zoomLevel}` }, (this.envelope.documents || []).map(envelopeDocument => {
1038
1068
  const pageNumbers = integerSequence(1, envelopeDocument.pages);
1039
1069
  return (h(Fragment, null, this.envelope.documents.length > 1 && (h("div", { class: "document-separator" }, h("div", { innerHTML: DocumentPageIcon }), h("span", null, envelopeDocument.name))), pageNumbers.map(pageNumber => {
1040
1070
  var _a;
@@ -1073,16 +1103,14 @@ export class VerdocsSign {
1073
1103
  this.showSpinner = false;
1074
1104
  this.adoptingSignature = false;
1075
1105
  this.markEnvelopeStarted();
1076
- // Special case: if we were focusing a specific field, apply the new signature/initials to it immediately.
1077
- // This is the "secondary flow" where the user clicks a field directly before adopting.
1106
+ // Apply the new signature/initials to the field that triggered the dialog.
1078
1107
  if (this.focusedField) {
1079
1108
  const fieldObj = this.getRecipientFields().find(f => f.name === this.focusedField);
1080
1109
  if (fieldObj) {
1081
- if (fieldObj.type === 'signature') {
1082
- await this.handleFieldChange(fieldObj, { detail: this.signatureId });
1083
- }
1084
- else if (fieldObj.type === 'initial') {
1085
- await this.handleFieldChange(fieldObj, { detail: this.initialId });
1110
+ const id = fieldObj.type === 'signature' ? this.signatureId : fieldObj.type === 'initial' ? this.initialId : null;
1111
+ if (id) {
1112
+ const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, fieldObj.name, id, false);
1113
+ this.updateRecipientFieldValue(fieldObj.name, updateResult);
1086
1114
  }
1087
1115
  }
1088
1116
  this.focusedField = '';