@hubsync/esign-web-sdk 6.5.5 → 6.5.7

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 (116) 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 +3 -9
  4. package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +1 -1
  5. package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +6 -2
  6. package/dist/cjs/verdocs-ok-dialog.entry.cjs.js.map +1 -1
  7. package/dist/cjs/verdocs-sign.cjs.entry.js +130 -33
  8. package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
  9. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  10. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +6 -2
  11. package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js.map +1 -1
  12. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js +5 -11
  13. package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js.map +1 -1
  14. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +134 -34
  15. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
  16. package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.css +4 -5
  17. package/dist/components/{p-DfItspZ0.js → p-1MIt5Mm9.js} +7 -7
  18. package/dist/components/{p-DfItspZ0.js.map → p-1MIt5Mm9.js.map} +1 -1
  19. package/dist/components/{p-RIeHu5V1.js → p-BBCbRcjI.js} +3 -3
  20. package/dist/components/{p-RIeHu5V1.js.map → p-BBCbRcjI.js.map} +1 -1
  21. package/dist/components/{p-LfDLlp5r.js → p-BvPd1sPA.js} +3 -3
  22. package/dist/components/p-BvPd1sPA.js.map +1 -0
  23. package/dist/components/{p-4olD14NA.js → p-By4lLDL5.js} +3 -3
  24. package/dist/components/{p-4olD14NA.js.map → p-By4lLDL5.js.map} +1 -1
  25. package/dist/components/{p-CMpYlbLu.js → p-C3q4mHaq.js} +4 -4
  26. package/dist/components/{p-CMpYlbLu.js.map → p-C3q4mHaq.js.map} +1 -1
  27. package/dist/components/{p-B-ZoFCli.js → p-CY3peFvA.js} +5 -11
  28. package/dist/components/p-CY3peFvA.js.map +1 -0
  29. package/dist/components/{p-BAwv4SNb.js → p-Cz6Y5nA8.js} +3 -3
  30. package/dist/components/{p-BAwv4SNb.js.map → p-Cz6Y5nA8.js.map} +1 -1
  31. package/dist/components/{p-Q4A8au3E.js → p-D3-Ing_B.js} +7 -7
  32. package/dist/components/{p-Q4A8au3E.js.map → p-D3-Ing_B.js.map} +1 -1
  33. package/dist/components/{p-CUrnqIyl.js → p-DnuBWvuE.js} +8 -4
  34. package/dist/components/p-DnuBWvuE.js.map +1 -0
  35. package/dist/components/{p-oa9K_bbZ.js → p-Dz20noaY.js} +6 -6
  36. package/dist/components/{p-oa9K_bbZ.js.map → p-Dz20noaY.js.map} +1 -1
  37. package/dist/components/verdocs-build.js +8 -8
  38. package/dist/components/verdocs-envelope-sidebar.js +1 -1
  39. package/dist/components/verdocs-field-attachment.js +1 -1
  40. package/dist/components/verdocs-field-radio.js +1 -1
  41. package/dist/components/verdocs-ok-dialog.js +1 -1
  42. package/dist/components/verdocs-preview.js +1 -1
  43. package/dist/components/verdocs-sign.js +136 -36
  44. package/dist/components/verdocs-sign.js.map +1 -1
  45. package/dist/components/verdocs-signing-progress.js +1 -1
  46. package/dist/components/verdocs-template-attachments.js +1 -1
  47. package/dist/components/verdocs-template-document-page.js +1 -1
  48. package/dist/components/verdocs-template-fields.js +1 -1
  49. package/dist/components/verdocs-templates-list.js +1 -1
  50. package/dist/components/verdocs-upload-dialog.js +1 -1
  51. package/dist/components/verdocs-view.js +1 -1
  52. package/dist/esm/loader.js +1 -1
  53. 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
  54. package/dist/esm/verdocs-adopt-signature-dialog_8.entry.js +3 -9
  55. package/dist/esm/verdocs-field-attachment_11.entry.js +1 -1
  56. package/dist/esm/verdocs-ok-dialog.entry.js +6 -2
  57. package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
  58. package/dist/esm/verdocs-sign.entry.js +130 -33
  59. package/dist/esm/verdocs-sign.entry.js.map +1 -1
  60. package/dist/esm/verdocs-web-sdk.js +1 -1
  61. package/dist/esm-es5/loader.js +1 -1
  62. 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
  63. package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js +1 -1
  64. package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js.map +1 -1
  65. package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
  66. package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
  67. package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
  68. package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
  69. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  70. package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
  71. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  72. package/dist/types/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.d.ts +2 -2
  73. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +8 -1
  74. package/dist/types/components.d.ts +4 -4
  75. package/dist/verdocs-web-sdk/p-38577511.system.entry.js +2 -0
  76. package/dist/verdocs-web-sdk/p-38577511.system.entry.js.map +1 -0
  77. package/dist/verdocs-web-sdk/{p-1b63fe0b.entry.js → p-3e12a9d6.entry.js} +2 -2
  78. package/dist/verdocs-web-sdk/p-3e12a9d6.entry.js.map +1 -0
  79. package/dist/verdocs-web-sdk/p-615e3533.system.entry.js +2 -0
  80. package/dist/verdocs-web-sdk/p-615e3533.system.entry.js.map +1 -0
  81. package/dist/verdocs-web-sdk/{p-2db89a87.system.entry.js → p-7389986e.system.entry.js} +2 -2
  82. package/dist/verdocs-web-sdk/{p-2db89a87.system.entry.js.map → p-7389986e.system.entry.js.map} +1 -1
  83. package/dist/verdocs-web-sdk/{p-e0253fa3.entry.js → p-7a2be757.entry.js} +2 -2
  84. package/dist/verdocs-web-sdk/{p-e0253fa3.entry.js.map → p-7a2be757.entry.js.map} +1 -1
  85. package/dist/verdocs-web-sdk/{p-f24d6c61.system.entry.js → p-8777a11b.system.entry.js} +2 -2
  86. package/dist/verdocs-web-sdk/p-8777a11b.system.entry.js.map +1 -0
  87. package/dist/verdocs-web-sdk/p-9e9fdb1a.entry.js +2 -0
  88. package/dist/verdocs-web-sdk/p-9e9fdb1a.entry.js.map +1 -0
  89. package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
  90. package/dist/verdocs-web-sdk/p-Bcp-PA2y.system.js.map +1 -0
  91. package/dist/verdocs-web-sdk/p-CnRDNxzf.system.js.map +1 -0
  92. package/dist/verdocs-web-sdk/p-f624338c.entry.js +2 -0
  93. package/dist/verdocs-web-sdk/p-f624338c.entry.js.map +1 -0
  94. package/dist/verdocs-web-sdk/p-gUJxKxOG.system.js.map +1 -0
  95. package/dist/verdocs-web-sdk/{p-DixucIng.system.js.map → p-qKdY3jhy.system.js.map} +1 -1
  96. 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
  97. package/dist/verdocs-web-sdk/verdocs-ok-dialog.entry.esm.js.map +1 -1
  98. package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
  99. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  100. package/package.json +2 -2
  101. package/dist/components/p-B-ZoFCli.js.map +0 -1
  102. package/dist/components/p-CUrnqIyl.js.map +0 -1
  103. package/dist/components/p-LfDLlp5r.js.map +0 -1
  104. package/dist/verdocs-web-sdk/p-1UWKyp9k.system.js.map +0 -1
  105. package/dist/verdocs-web-sdk/p-1b63fe0b.entry.js.map +0 -1
  106. package/dist/verdocs-web-sdk/p-36950fda.entry.js +0 -2
  107. package/dist/verdocs-web-sdk/p-36950fda.entry.js.map +0 -1
  108. package/dist/verdocs-web-sdk/p-3c05be8a.entry.js +0 -2
  109. package/dist/verdocs-web-sdk/p-3c05be8a.entry.js.map +0 -1
  110. package/dist/verdocs-web-sdk/p-CrAB6I_0.system.js.map +0 -1
  111. package/dist/verdocs-web-sdk/p-D85w8lT9.system.js.map +0 -1
  112. package/dist/verdocs-web-sdk/p-bac24b35.system.entry.js +0 -2
  113. package/dist/verdocs-web-sdk/p-bac24b35.system.entry.js.map +0 -1
  114. package/dist/verdocs-web-sdk/p-f24d6c61.system.entry.js.map +0 -1
  115. package/dist/verdocs-web-sdk/p-f551f8e0.system.entry.js +0 -2
  116. package/dist/verdocs-web-sdk/p-f551f8e0.system.entry.js.map +0 -1
@@ -18,7 +18,7 @@ import { d as defineCustomElement$h } from './p-CHLvWYEx.js';
18
18
  import { d as defineCustomElement$g } from './p-D9zjm5AL.js';
19
19
  import { d as defineCustomElement$f } from './p-qpe55Kwb.js';
20
20
  import { d as defineCustomElement$e } from './p-ypE1cZc7.js';
21
- import { d as defineCustomElement$d } from './p-CUrnqIyl.js';
21
+ import { d as defineCustomElement$d } from './p-DnuBWvuE.js';
22
22
  import { d as defineCustomElement$c } from './p-DOuWiFKy.js';
23
23
  import { d as defineCustomElement$b } from './p-BeDjuReL.js';
24
24
  import { d as defineCustomElement$a } from './p-BHVk6zkr.js';
@@ -26,10 +26,10 @@ import { d as defineCustomElement$9 } from './p-CYgAI8GQ.js';
26
26
  import { d as defineCustomElement$8 } from './p-TAy4DEie.js';
27
27
  import { d as defineCustomElement$7 } from './p-QDVFg2YR.js';
28
28
  import { d as defineCustomElement$6 } from './p-CV0M8_uS.js';
29
- import { d as defineCustomElement$5 } from './p-B-ZoFCli.js';
29
+ import { d as defineCustomElement$5 } from './p-CY3peFvA.js';
30
30
  import { d as defineCustomElement$4 } from './p--A9ydKVE.js';
31
31
  import { d as defineCustomElement$3 } from './p-CbtdkfOR.js';
32
- import { d as defineCustomElement$2 } from './p-4olD14NA.js';
32
+ import { d as defineCustomElement$2 } from './p-By4lLDL5.js';
33
33
 
34
34
  const verdocsSignCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-sign{display:-ms-flexbox;display:flex;overflow:hidden;min-height:700px;position:relative;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#f5f5f5;font-family:var(--verdocs-primary-font, \"Inter\", \"Barlow\", sans-serif)}verdocs-sign verdocs-button>button.standard{background:#2a63f6}verdocs-sign div{display:block;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-sign input{vertical-align:top}verdocs-sign>.document{-ms-flex:1;flex:1;width:100%;height:100%;-ms-flex-item-align:center;align-self:center;display:-ms-flexbox;display:flex;padding:15px;padding-right:140px;row-gap:15px;max-width:1200px;min-height:200px;position:relative;overflow-y:scroll;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-sign>.document .inner{width:100%;max-width:1028px}verdocs-sign>.document .document-separator{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:10px;padding:12px 20px;width:100%;max-width:1028px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#33364b;color:white;border-radius:6px;font-size:16px;font-weight:500;margin-top:20px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}verdocs-sign>.document .document-separator svg{-ms-flex-negative:0;flex-shrink:0}verdocs-sign>.document .document-separator:first-child{margin-top:0}verdocs-sign .signed-document-container{width:64%;margin-left:260px;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}verdocs-sign .signed-document-container.zoom-normal{width:64%;margin-left:260px}verdocs-sign .signed-document-container.zoom-zoom1{width:80%;margin-left:200px}verdocs-sign .signed-document-container.zoom-zoom2{width:100%;margin-left:150px}verdocs-sign .signed-document-container.zoom-zoom2 .verdocs-flag-instance{opacity:0;pointer-events:none}@media (max-width: 768px){verdocs-sign verdocs-sign-footer{padding:0 10px}verdocs-sign verdocs-sign-footer .buttons{gap:8px}verdocs-sign verdocs-sign-footer .buttons button{font-size:10px}verdocs-sign .signed-document-container{width:100%;margin-left:0}verdocs-sign .signed-document-container.zoom-normal,verdocs-sign .signed-document-container.zoom-zoom1,verdocs-sign .signed-document-container.zoom-zoom2{width:100%;margin-left:0}verdocs-sign>.document{padding-right:15px}verdocs-sign .verdocs-flag-instance{display:none !important}verdocs-sign .controls-toolbar .center-controls{display:none}verdocs-sign .controls-toolbar .right-controls .mobile-next-button{display:block;margin-right:10px}verdocs-sign .controls-toolbar .right-controls .minus,verdocs-sign .controls-toolbar .right-controls .plus{display:none}}verdocs-sign .cover{top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;z-index:5000;position:absolute;padding-top:100px;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;background:rgba(0, 0, 0, 0.5)}verdocs-sign verdocs-ok-dialog .background-overlay{-ms-flex-align:start;align-items:flex-start;padding-top:100px}verdocs-sign .loading-indicator{top:0;left:0;right:0;bottom:0;display:-ms-flexbox;display:flex;z-index:10000;position:fixed;background-color:rgba(0, 0, 0, 0.7)}verdocs-sign .fatal-error{position:absolute;z-index:100;top:0;left:0;right:0;bottom:0;background-color:#4a4a4a;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}verdocs-sign .fatal-error .placeholder{position:absolute;opacity:0.1;z-index:-1;top:0;left:0;right:0;bottom:0;width:612px;height:792px;-webkit-box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294);box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294);margin-top:15px}verdocs-sign .fatal-error .message{max-width:360px;width:50%;font-size:16px;background:white;-webkit-box-shadow:3px 3px 9px -1px rgba(0, 0, 0, 0.2470588235);box-shadow:3px 3px 9px -1px rgba(0, 0, 0, 0.2470588235)}verdocs-sign .fatal-error .header{color:white;font-size:18px;font-weight:500;padding:5px 10px;margin:0 0 10px 0;background:#4c56cb}verdocs-sign .fatal-error p{margin:1rem;font-size:14px;font-weight:400;padding:0 10px}@media print{verdocs-sign .header,.controls-toolbar,.verdocs-flag-instance,verdocs-signing-progress{display:none !important}verdocs-sign{min-height:auto;background-color:white}verdocs-sign>.document{overflow:visible;height:auto;display:block;padding:0;margin:0}verdocs-sign>.document .document-separator{display:none}verdocs-sign .signed-document-container{width:100%;margin:0}}#verdocs-sign-header{color:#fff;width:100%;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex:0 0 46px;flex:0 0 46px;font-size:12px;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-webkit-transition:all 0.25s;transition:all 0.25s;background-color:#33354c;-webkit-box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12);box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12)}#verdocs-sign-header .inner{width:100%;display:-ms-flexbox;display:flex;margin:0 auto;padding:0 12px;max-width:1200px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}#verdocs-sign-header .logo{width:80px;display:none;margin:-6px 0 0 0}#verdocs-sign-header .title{font-size:18px;font-weight:500;overflow:hidden;white-space:nowrap;padding:0 10px 0 0;text-overflow:ellipsis}.spinner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;background:rgba(0, 0, 0, 0.4980392157);-ms-flex-pack:center;justify-content:center}.controls-toolbar{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:54px;padding:0 12px 0 24px;background-color:#ffffff;border-bottom:1px solid #e0e0e0;-webkit-box-shadow:none;box-shadow:none;font-family:\"Inter\", sans-serif;color:#424242;z-index:1000}.controls-toolbar .left-controls{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.controls-toolbar .left-controls .title{font-weight:500;font-size:16px;color:#242424;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls-toolbar .center-controls{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:10px;font-size:14px}.controls-toolbar .center-controls .label{color:#000000;font-weight:300}.controls-toolbar .center-controls .select-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.controls-toolbar .center-controls .select-wrapper verdocs-select-input{margin:0}.controls-toolbar .center-controls .select-wrapper verdocs-select-input .input-label{display:none}.controls-toolbar .center-controls .select-wrapper verdocs-select-input .input-element{background:transparent;border:1px solid #e0e0e0;height:32px;padding:2px 8px;min-width:60px;text-align:center;font-family:inherit;color:#424242}.controls-toolbar .center-controls .select-wrapper verdocs-select-input .input-element:focus{border-color:#2a63f6}.controls-toolbar .center-controls .count{color:#000000;font-weight:300}.controls-toolbar .right-controls{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}.controls-toolbar .right-controls .mobile-next-button{display:none}.controls-toolbar .right-controls .icon-button{width:32px;height:32px;display:-ms-flexbox;display:flex;color:#424242;cursor:pointer;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:background-color 0.2s;transition:background-color 0.2s}.controls-toolbar .right-controls .icon-button:hover{background-color:#f5f5f5}.controls-toolbar .right-controls .icon-button.disabled{opacity:0.3;pointer-events:none}.controls-toolbar .right-controls .icon-button svg{display:block;width:20px;height:20px}";
35
35
 
@@ -72,7 +72,7 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
72
72
  /**
73
73
  * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.
74
74
  */
75
- this.endpoint = new VerdocsEndpoint({ sessionType: 'signing' });
75
+ this.endpoint = new VerdocsEndpoint({ sessionType: 'signing', baseURL: 'https://esign-dev.hubsync.com/api' });
76
76
  /**
77
77
  * The ID of the envelope to sign.
78
78
  */
@@ -131,6 +131,9 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
131
131
  this.delegated = false;
132
132
  this.kbaChoices = [];
133
133
  this.showDownloadDialog = false;
134
+ this.signingStarted = false;
135
+ this.skippedOptionalFields = [];
136
+ this.visitedFieldNames = [];
134
137
  this.loading = true;
135
138
  this.envelope = null;
136
139
  this.zoomLevel = 'normal';
@@ -243,6 +246,9 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
243
246
  this.agreed = recipient.agreed;
244
247
  this.signatureId = ((_e = (_d = response.signatures) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.id) || null;
245
248
  this.initialId = ((_g = (_f = response.initials) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.id) || null;
249
+ this.signingStarted = false;
250
+ this.skippedOptionalFields = [];
251
+ this.visitedFieldNames = [];
246
252
  this.submitted = recipient.status === 'submitted';
247
253
  this.loading = false;
248
254
  this.isDone = this.submitted;
@@ -350,6 +356,9 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
350
356
  }
351
357
  updateRecipientFieldValue(fieldName, updateResult) {
352
358
  console.log('[SIGN] updateRecipientFieldValue', fieldName, updateResult);
359
+ if (this.skippedOptionalFields.includes(fieldName)) {
360
+ this.skippedOptionalFields = this.skippedOptionalFields.filter(name => name !== fieldName);
361
+ }
353
362
  this.getRecipientFields().forEach(oldField => {
354
363
  if (oldField.name === fieldName) {
355
364
  oldField.value = updateResult.value;
@@ -387,6 +396,8 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
387
396
  });
388
397
  }
389
398
  async handleFieldChange(field, e) {
399
+ this.signingStarted = true;
400
+ this.markFieldVisited(field.name);
390
401
  const { value, checked } = e.target;
391
402
  switch (field.type) {
392
403
  // TODO: Remove legacy type when no longer needed
@@ -508,8 +519,46 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
508
519
  sortFields(recipientFields);
509
520
  return recipientFields;
510
521
  }
522
+ markFieldVisited(fieldName) {
523
+ if (!fieldName || this.visitedFieldNames.includes(fieldName)) {
524
+ return;
525
+ }
526
+ this.visitedFieldNames = [...this.visitedFieldNames, fieldName];
527
+ }
528
+ focusField(field, scrollInline = 'center') {
529
+ var _a;
530
+ if (!field)
531
+ return;
532
+ const id = getFieldId(field);
533
+ const el = document.getElementById(id);
534
+ el === null || el === void 0 ? void 0 : el.scrollIntoView({ behavior: 'smooth', block: 'center', inline: scrollInline });
535
+ (_a = el === null || el === void 0 ? void 0 : el.focusField) === null || _a === void 0 ? void 0 : _a.call(el);
536
+ this.focusedField = field.name;
537
+ this.markFieldVisited(field.name);
538
+ this.checkRecipientFields();
539
+ }
540
+ handleSkipField(fieldToSkip) {
541
+ if (fieldToSkip.required) {
542
+ return;
543
+ }
544
+ this.signingStarted = true;
545
+ this.markFieldVisited(fieldToSkip.name);
546
+ if (!this.skippedOptionalFields.includes(fieldToSkip.name)) {
547
+ this.skippedOptionalFields = [...this.skippedOptionalFields, fieldToSkip.name];
548
+ }
549
+ const fields = this.getSortedFillableFields();
550
+ const currentIndex = fields.findIndex(field => field.name === fieldToSkip.name);
551
+ const nextField = currentIndex >= 0 && currentIndex < fields.length - 1 ? fields[currentIndex + 1] : null;
552
+ if (nextField) {
553
+ this.focusField(nextField);
554
+ return;
555
+ }
556
+ // If this was the last field, still re-evaluate completion/submit state.
557
+ this.checkRecipientFields([fieldToSkip.name]);
558
+ }
511
559
  handleNext() {
512
560
  var _a;
561
+ this.signingStarted = true;
513
562
  if (this.nextSubmits) {
514
563
  try {
515
564
  // Patches the date picker to be forcibly removed if still showing during submission
@@ -527,23 +576,31 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
527
576
  }
528
577
  return;
529
578
  }
530
- const nextField = this.getNextFieldInOrder();
531
- if (nextField) {
532
- const id = getFieldId(nextField);
533
- const el = document.getElementById(id);
534
- el === null || el === void 0 ? void 0 : el.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });
535
- el === null || el === void 0 ? void 0 : el.focusField();
536
- this.focusedField = nextField.name;
579
+ const fields = this.getSortedFillableFields();
580
+ if (fields.length < 1) {
581
+ return;
537
582
  }
583
+ if (!this.focusedField) {
584
+ this.focusField(fields[0]);
585
+ return;
586
+ }
587
+ const nextField = this.getNextFieldFromList(fields);
588
+ this.focusField(nextField);
538
589
  }
539
590
  getRecipientFields() {
540
591
  var _a;
541
592
  return ((_a = this.envelope) === null || _a === void 0 ? void 0 : _a.fields.filter(field => field.role_name === this.recipient.role_name)) || [];
542
593
  }
543
594
  // See if everything that "needs to be" filled in is, and all "fillable fields" are valid
544
- checkRecipientFields() {
545
- const invalidFields = this.getRecipientFields().filter(field => !isFieldValid(field, this.getRecipientFields()));
546
- if (invalidFields.length < 1) {
595
+ checkRecipientFields(extraVisitedFieldNames = []) {
596
+ const recipientFields = this.getRecipientFields();
597
+ const fillableFields = this.getSortedFillableFields();
598
+ const requiredFields = fillableFields.filter(field => !!field.required);
599
+ const allRequiredFieldsSubmitted = requiredFields.every(field => this.isFieldValidForRecipient(field, recipientFields));
600
+ const visitedFieldNames = new Set([...this.visitedFieldNames, ...extraVisitedFieldNames]);
601
+ const allFieldsVisited = fillableFields.every(field => visitedFieldNames.has(field.name));
602
+ const canSubmit = allRequiredFieldsSubmitted && allFieldsVisited;
603
+ if (canSubmit) {
547
604
  this.nextButtonLabel = 'Finish';
548
605
  if (!this.nextSubmits) {
549
606
  this.nextSubmits = true;
@@ -555,6 +612,12 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
555
612
  }
556
613
  this.updateAllFlags();
557
614
  }
615
+ isFieldValidForRecipient(field, recipientFields) {
616
+ if (field.type === 'signature' || field.type === 'initial') {
617
+ return !field.required || this.isFieldFilledForNav(field, recipientFields);
618
+ }
619
+ return isFieldValid(field, recipientFields);
620
+ }
558
621
  getNextFieldInOrder() {
559
622
  // Find the next incomplete field in overall order (required + optional).
560
623
  const fields = this.getSortedFillableFields();
@@ -573,13 +636,38 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
573
636
  return null;
574
637
  }
575
638
  isFieldFilledForNav(field, recipientFields) {
639
+ if (!field.required && this.skippedOptionalFields.includes(field.name)) {
640
+ return true;
641
+ }
576
642
  if (field.type === 'signature' || field.type === 'initial') {
643
+ const settings = (field.settings || {});
644
+ const idKey = field.type === 'signature' ? 'signature_id' : 'initial_id';
645
+ const hasSignatureId = Object.prototype.hasOwnProperty.call(settings, 'signature_id');
646
+ const hasInitialId = Object.prototype.hasOwnProperty.call(settings, 'initial_id');
647
+ // For signature/initial fields, settings.* id is the authoritative state.
648
+ // This avoids stale top-level field.value (e.g. "signed") after clearing.
649
+ if (Object.prototype.hasOwnProperty.call(settings, idKey) || hasSignatureId || hasInitialId) {
650
+ const idValue = Object.prototype.hasOwnProperty.call(settings, idKey)
651
+ ? settings[idKey]
652
+ : hasSignatureId
653
+ ? settings.signature_id
654
+ : settings.initial_id;
655
+ return typeof idValue === 'string' ? idValue.trim().length > 0 : !!idValue;
656
+ }
657
+ if (Object.prototype.hasOwnProperty.call(settings, 'value')) {
658
+ const settingsValue = typeof settings.value === 'string' ? settings.value.trim() : settings.value;
659
+ return !!settingsValue;
660
+ }
661
+ if (Object.prototype.hasOwnProperty.call(settings, 'result')) {
662
+ const settingsResult = typeof settings.result === 'string' ? settings.result.trim() : settings.result;
663
+ return !!settingsResult;
664
+ }
665
+ if (Object.prototype.hasOwnProperty.call(settings, 'base64')) {
666
+ const settingsBase64 = typeof settings.base64 === 'string' ? settings.base64.trim() : settings.base64;
667
+ return !!settingsBase64;
668
+ }
577
669
  const value = typeof field.value === 'string' ? field.value.trim() : field.value;
578
- if (!value)
579
- return false;
580
- if (value === 'signed' || value === 'initialed')
581
- return false;
582
- return true;
670
+ return !!value;
583
671
  }
584
672
  if (field.type === 'dropdown') {
585
673
  return isFieldFilled(field, recipientFields) && !!field.value;
@@ -596,16 +684,11 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
596
684
  return fields[nextFocusedIndex];
597
685
  }
598
686
  handlePrev() {
599
- var _a;
687
+ this.signingStarted = true;
600
688
  const allFields = this.getSortedFillableFields();
601
689
  const focusedIndex = allFields.findIndex(f => f.name === this.focusedField);
602
690
  if (focusedIndex > 0) {
603
- const prevField = allFields[focusedIndex - 1];
604
- const id = getFieldId(prevField);
605
- const el = document.getElementById(id);
606
- el === null || el === void 0 ? void 0 : el.scrollIntoView({ behavior: 'smooth', block: 'center' });
607
- (_a = el === null || el === void 0 ? void 0 : el.focusField) === null || _a === void 0 ? void 0 : _a.call(el);
608
- this.focusedField = prevField.name;
691
+ this.focusField(allFields[focusedIndex - 1]);
609
692
  }
610
693
  }
611
694
  updateAllFlags() {
@@ -642,8 +725,12 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
642
725
  variant,
643
726
  label,
644
727
  showSkip,
728
+ onClick: () => {
729
+ this.signingStarted = true;
730
+ this.focusField(nextField);
731
+ },
645
732
  onSkip: () => {
646
- this.handleNext();
733
+ this.handleSkipField(nextField);
647
734
  },
648
735
  });
649
736
  }
@@ -716,8 +803,15 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
716
803
  el.addEventListener('fieldChange', e => {
717
804
  this.handleFieldChange(field, e).finally(() => this.checkRecipientFields());
718
805
  });
806
+ el.addEventListener('click', () => {
807
+ this.focusedField = field.name;
808
+ this.markFieldVisited(field.name);
809
+ this.checkRecipientFields();
810
+ });
719
811
  el.addEventListener('adopt', () => {
720
812
  this.focusedField = field.name;
813
+ this.markFieldVisited(field.name);
814
+ this.checkRecipientFields();
721
815
  this.adoptingSignature = true;
722
816
  });
723
817
  el.setAttribute('templateid', this.envelope.template_id);
@@ -907,7 +1001,8 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
907
1001
  inProgressMenuOptions.unshift({ id: 'delegate', label: 'Delegate' });
908
1002
  }
909
1003
  console.log('this.getRecipientFields()', this.getRecipientFields());
910
- const invalidFields = this.getRecipientFields().filter(field => !isFieldValid(field, this.getRecipientFields()));
1004
+ const recipientFields = this.getRecipientFields();
1005
+ const invalidFields = recipientFields.filter(field => !this.isFieldValidForRecipient(field, recipientFields));
911
1006
  invalidFields.length > 0
912
1007
  ? console.log('[SIGN] Invalid fields remaining', invalidFields.map(field => field.name))
913
1008
  : console.log('[SIGN] All field valid');
@@ -920,18 +1015,20 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
920
1015
  // Calculate detailed progress
921
1016
  const allFields = this.getSortedFillableFields();
922
1017
  const recipientFields = this.getRecipientFields();
923
- const isFilled = (f) => isFieldFilled(f, recipientFields) && (f.type !== 'dropdown' || !!f.value);
1018
+ const isFilled = (f) => this.isFieldFilledForNav(f, recipientFields);
924
1019
  const requiredFields = allFields.filter(f => f.required);
925
1020
  const requiredRemaining = requiredFields.filter(f => !isFilled(f)).length;
1021
+ const requiredFilled = requiredFields.length - requiredRemaining;
926
1022
  const optionalFields = allFields.filter(f => !f.required);
927
1023
  const optionalRemaining = optionalFields.filter(f => !isFilled(f)).length;
1024
+ const optionalFilled = optionalFields.length - optionalRemaining;
928
1025
  const progress = {
929
1026
  required: {
930
- remaining: requiredRemaining,
1027
+ filled: requiredFilled,
931
1028
  total: requiredFields.length,
932
1029
  },
933
1030
  optional: {
934
- remaining: optionalRemaining,
1031
+ filled: optionalFilled,
935
1032
  total: optionalFields.length,
936
1033
  },
937
1034
  };
@@ -950,18 +1047,18 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
950
1047
  filledFields: recipientFields.filter(f => isFilled(f)).map(f => ({ name: f.name, type: f.type, val: f.value })),
951
1048
  });
952
1049
  let mode = 'start';
953
- // We only consider the user to have started "signing" if they have filled out at least one *fillable* field.
954
- // Readonly fields do not count.
955
- const anyFieldFilled = requiredRemaining < requiredFields.length || optionalRemaining < optionalFields.length;
956
1050
  if (this.nextSubmits) {
957
1051
  mode = 'completed';
958
1052
  }
959
- else if (anyFieldFilled) {
1053
+ else if (this.signingStarted) {
960
1054
  mode = 'signing';
961
1055
  }
962
1056
  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: () => {
1057
+ this.signingStarted = true;
963
1058
  this.adoptingSignature = true;
964
- this.handleNext();
1059
+ const fields = this.getSortedFillableFields();
1060
+ const startField = fields.find(f => f.name === this.focusedField) || fields[0];
1061
+ this.focusField(startField || null);
965
1062
  }, onNext: () => this.handleNext(), onPrevious: () => this.handlePrev(), onExit: () => this.handleNext() }));
966
1063
  })(), h("div", { class: `document signed-document-container zoom-${this.zoomLevel}` }, (this.envelope.documents || []).map(envelopeDocument => {
967
1064
  const pageNumbers = integerSequence(1, envelopeDocument.pages);
@@ -1122,6 +1219,9 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class VerdocsSign extends
1122
1219
  "delegated": [32],
1123
1220
  "kbaChoices": [32],
1124
1221
  "showDownloadDialog": [32],
1222
+ "signingStarted": [32],
1223
+ "skippedOptionalFields": [32],
1224
+ "visitedFieldNames": [32],
1125
1225
  "loading": [32],
1126
1226
  "envelope": [32],
1127
1227
  "zoomLevel": [32]