@verdocs/web-sdk 1.12.41 → 1.12.43

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 (176) hide show
  1. package/dist/cjs/_commonjsHelpers-0c557e26.js +26 -0
  2. package/dist/cjs/{interact.min-fdb8d65c.js → interact.min-ba5cc513.js} +3 -3
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/utils-c218d9c7.js +365 -0
  5. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +246 -9
  6. package/dist/cjs/verdocs-dropdown_2.cjs.entry.js +2 -1
  7. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -1
  8. package/dist/cjs/verdocs-field-date.cjs.entry.js +2 -1
  9. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
  10. package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -1
  11. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
  12. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +2 -1
  13. package/dist/cjs/verdocs-field-signature.cjs.entry.js +2 -1
  14. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -1
  15. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -2
  16. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -1
  17. package/dist/cjs/verdocs-preview.cjs.entry.js +2 -1
  18. package/dist/cjs/verdocs-send.cjs.entry.js +2 -1
  19. package/dist/cjs/verdocs-sign.cjs.entry.js +11 -7
  20. package/dist/cjs/verdocs-template-create_3.cjs.entry.js +47 -39
  21. package/dist/cjs/verdocs-template-document-page.cjs.entry.js +2 -1
  22. package/dist/cjs/verdocs-view.cjs.entry.js +2 -1
  23. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  24. package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +6 -3
  25. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.stories.js +0 -3
  26. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.css +10 -0
  27. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +9 -5
  28. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +3 -3
  29. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +51 -6
  30. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +44 -37
  31. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.stories.js +1 -2
  32. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.stories.js +1 -2
  33. package/dist/collection/utils/utils.js +3 -3
  34. package/dist/components/_commonjsHelpers.js +21 -0
  35. package/dist/components/interact.min.js +1 -1
  36. package/dist/components/utils.js +5 -24
  37. package/dist/components/verdocs-button-panel2.js +6 -3
  38. package/dist/components/verdocs-sign.js +10 -6
  39. package/dist/components/verdocs-template-field-properties2.js +240 -6
  40. package/dist/components/verdocs-template-fields2.js +44 -37
  41. package/dist/custom-elements.json +1502 -0
  42. package/dist/docs.json +1 -1
  43. package/dist/esm/_commonjsHelpers-5ec8f9b7.js +21 -0
  44. package/dist/esm/{interact.min-2d48f507.js → interact.min-cf83fa88.js} +1 -1
  45. package/dist/esm/loader.js +1 -1
  46. package/dist/esm/{utils-218600d6.js → utils-78a752e0.js} +5 -24
  47. package/dist/esm/verdocs-button-panel_3.entry.js +246 -9
  48. package/dist/esm/verdocs-dropdown_2.entry.js +2 -1
  49. package/dist/esm/verdocs-field-checkbox.entry.js +2 -1
  50. package/dist/esm/verdocs-field-date.entry.js +2 -1
  51. package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
  52. package/dist/esm/verdocs-field-initial.entry.js +2 -1
  53. package/dist/esm/verdocs-field-payment.entry.js +2 -1
  54. package/dist/esm/verdocs-field-radio-button.entry.js +2 -1
  55. package/dist/esm/verdocs-field-signature.entry.js +2 -1
  56. package/dist/esm/verdocs-field-textarea.entry.js +2 -1
  57. package/dist/esm/verdocs-field-textbox.entry.js +3 -2
  58. package/dist/esm/verdocs-field-timestamp.entry.js +2 -1
  59. package/dist/esm/verdocs-preview.entry.js +2 -1
  60. package/dist/esm/verdocs-send.entry.js +2 -1
  61. package/dist/esm/verdocs-sign.entry.js +11 -7
  62. package/dist/esm/verdocs-template-create_3.entry.js +47 -39
  63. package/dist/esm/verdocs-template-document-page.entry.js +2 -1
  64. package/dist/esm/verdocs-view.entry.js +2 -1
  65. package/dist/esm/verdocs-web-sdk.js +1 -1
  66. package/dist/esm-es5/_commonjsHelpers-5ec8f9b7.js +1 -0
  67. package/dist/esm-es5/interact.min-cf83fa88.js +1 -0
  68. package/dist/esm-es5/loader.js +1 -1
  69. package/dist/esm-es5/{utils-218600d6.js → utils-78a752e0.js} +2 -2
  70. package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
  71. package/dist/esm-es5/verdocs-dropdown_2.entry.js +1 -1
  72. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  73. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  74. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  75. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  76. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  77. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  78. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  79. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  80. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  81. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  82. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  83. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  84. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  85. package/dist/esm-es5/verdocs-template-create_3.entry.js +1 -1
  86. package/dist/esm-es5/verdocs-template-document-page.entry.js +1 -1
  87. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  88. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  89. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -0
  90. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +1 -0
  91. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +1 -0
  92. package/dist/types/utils/utils.d.ts +2 -2
  93. package/dist/verdocs-web-sdk/{p-06b63e19.js → p-0d28cf05.js} +1 -1
  94. package/dist/verdocs-web-sdk/p-0e727b1c.system.entry.js +1 -0
  95. package/dist/verdocs-web-sdk/p-0fd75d91.system.entry.js +1 -0
  96. package/dist/verdocs-web-sdk/p-1abcf29d.js +13 -0
  97. package/dist/verdocs-web-sdk/p-1cfb7ff5.entry.js +1 -0
  98. package/dist/verdocs-web-sdk/{p-8c4ccdcf.system.js → p-201f27f6.system.js} +2 -2
  99. package/dist/verdocs-web-sdk/p-28976191.system.entry.js +1 -0
  100. package/dist/verdocs-web-sdk/p-32fb9679.entry.js +1 -0
  101. package/dist/verdocs-web-sdk/{p-5a7ccee3.system.js → p-3305a941.system.js} +1 -1
  102. package/dist/verdocs-web-sdk/p-36f78b1f.system.entry.js +1 -0
  103. package/dist/verdocs-web-sdk/p-3751d683.entry.js +1 -0
  104. package/dist/verdocs-web-sdk/p-3ba4df31.system.entry.js +1 -0
  105. package/dist/verdocs-web-sdk/p-519127ef.entry.js +1 -0
  106. package/dist/verdocs-web-sdk/p-530e47e2.system.entry.js +1 -0
  107. package/dist/verdocs-web-sdk/p-552441c6.system.entry.js +1 -0
  108. package/dist/verdocs-web-sdk/p-66158f86.system.entry.js +1 -0
  109. package/dist/verdocs-web-sdk/p-667cbdb4.system.entry.js +1 -0
  110. package/dist/verdocs-web-sdk/p-6caf1137.system.js +1 -1
  111. package/dist/verdocs-web-sdk/p-6ec15fc0.entry.js +1 -0
  112. package/dist/verdocs-web-sdk/p-753a6e4a.entry.js +1 -0
  113. package/dist/verdocs-web-sdk/p-77e616b7.system.entry.js +1 -0
  114. package/dist/verdocs-web-sdk/p-81b24500.entry.js +1 -0
  115. package/dist/verdocs-web-sdk/p-89963a6e.system.entry.js +1 -0
  116. package/dist/verdocs-web-sdk/p-8be51136.entry.js +1 -0
  117. package/dist/verdocs-web-sdk/p-8cba983e.entry.js +1 -0
  118. package/dist/verdocs-web-sdk/p-94fa2efb.system.entry.js +1 -0
  119. package/dist/verdocs-web-sdk/p-9eb2690b.entry.js +1 -0
  120. package/dist/verdocs-web-sdk/p-b355484e.system.entry.js +1 -0
  121. package/dist/verdocs-web-sdk/p-bbee73c8.system.js +1 -0
  122. package/dist/verdocs-web-sdk/p-beb19fae.entry.js +1 -0
  123. package/dist/verdocs-web-sdk/p-bf8cc58c.entry.js +1 -0
  124. package/dist/verdocs-web-sdk/p-c0c4cbe6.entry.js +1 -0
  125. package/dist/verdocs-web-sdk/p-c83042ac.entry.js +1 -0
  126. package/dist/verdocs-web-sdk/p-cae4a96e.system.entry.js +1 -0
  127. package/dist/verdocs-web-sdk/p-ce14f118.system.entry.js +1 -0
  128. package/dist/verdocs-web-sdk/p-cf09e52c.entry.js +1 -0
  129. package/dist/verdocs-web-sdk/p-dca6db47.system.entry.js +1 -0
  130. package/dist/verdocs-web-sdk/p-eab67c09.js +1 -0
  131. package/dist/verdocs-web-sdk/p-f3206b9e.system.entry.js +1 -0
  132. package/dist/verdocs-web-sdk/p-f6f1eb46.entry.js +1 -0
  133. package/dist/verdocs-web-sdk/p-f7910b66.entry.js +1 -0
  134. package/dist/verdocs-web-sdk/p-fd463970.entry.js +1 -0
  135. package/dist/verdocs-web-sdk/p-fd5d31ad.system.entry.js +1 -0
  136. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  137. package/package.json +4 -3
  138. package/dist/cjs/utils-173073b5.js +0 -386
  139. package/dist/esm-es5/interact.min-2d48f507.js +0 -1
  140. package/dist/verdocs-web-sdk/p-06431b48.system.entry.js +0 -1
  141. package/dist/verdocs-web-sdk/p-07837642.entry.js +0 -1
  142. package/dist/verdocs-web-sdk/p-0a40faee.system.entry.js +0 -1
  143. package/dist/verdocs-web-sdk/p-15a98f93.system.entry.js +0 -1
  144. package/dist/verdocs-web-sdk/p-17ce2ecb.entry.js +0 -1
  145. package/dist/verdocs-web-sdk/p-1e7791de.entry.js +0 -1
  146. package/dist/verdocs-web-sdk/p-1f83efb6.entry.js +0 -1
  147. package/dist/verdocs-web-sdk/p-1fadb008.entry.js +0 -1
  148. package/dist/verdocs-web-sdk/p-2ec93d4f.system.entry.js +0 -1
  149. package/dist/verdocs-web-sdk/p-31c3e708.entry.js +0 -1
  150. package/dist/verdocs-web-sdk/p-33f518fe.entry.js +0 -1
  151. package/dist/verdocs-web-sdk/p-34327c86.entry.js +0 -1
  152. package/dist/verdocs-web-sdk/p-36e04ce1.entry.js +0 -1
  153. package/dist/verdocs-web-sdk/p-53b657ae.system.entry.js +0 -1
  154. package/dist/verdocs-web-sdk/p-5637ad60.entry.js +0 -1
  155. package/dist/verdocs-web-sdk/p-58616494.system.entry.js +0 -1
  156. package/dist/verdocs-web-sdk/p-61622a60.system.entry.js +0 -1
  157. package/dist/verdocs-web-sdk/p-67ba3a16.entry.js +0 -1
  158. package/dist/verdocs-web-sdk/p-7b39af7f.entry.js +0 -1
  159. package/dist/verdocs-web-sdk/p-9131d247.entry.js +0 -1
  160. package/dist/verdocs-web-sdk/p-977fbaf7.system.entry.js +0 -1
  161. package/dist/verdocs-web-sdk/p-986d86f4.system.entry.js +0 -1
  162. package/dist/verdocs-web-sdk/p-9ac9f634.system.entry.js +0 -1
  163. package/dist/verdocs-web-sdk/p-a746d24f.system.entry.js +0 -1
  164. package/dist/verdocs-web-sdk/p-af8d400f.entry.js +0 -1
  165. package/dist/verdocs-web-sdk/p-b270f99a.system.entry.js +0 -1
  166. package/dist/verdocs-web-sdk/p-beb76dac.entry.js +0 -1
  167. package/dist/verdocs-web-sdk/p-c1037597.entry.js +0 -1
  168. package/dist/verdocs-web-sdk/p-c181315f.js +0 -13
  169. package/dist/verdocs-web-sdk/p-cd3ee92f.system.entry.js +0 -1
  170. package/dist/verdocs-web-sdk/p-cf5e07d6.system.entry.js +0 -1
  171. package/dist/verdocs-web-sdk/p-ddf2b4d4.entry.js +0 -1
  172. package/dist/verdocs-web-sdk/p-e4bbfd3f.system.entry.js +0 -1
  173. package/dist/verdocs-web-sdk/p-ec121c9e.system.entry.js +0 -1
  174. package/dist/verdocs-web-sdk/p-f5b2c369.system.entry.js +0 -1
  175. package/dist/verdocs-web-sdk/p-f907648c.system.entry.js +0 -1
  176. package/dist/verdocs-web-sdk/p-ff7aef68.entry.js +0 -1
@@ -0,0 +1,21 @@
1
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2
+
3
+ function getDefaultExportFromCjs (x) {
4
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
+ }
6
+
7
+ function createCommonjsModule(fn, basedir, module) {
8
+ return module = {
9
+ path: basedir,
10
+ exports: {},
11
+ require: function (path, base) {
12
+ return commonjsRequire();
13
+ }
14
+ }, fn(module, module.exports), module.exports;
15
+ }
16
+
17
+ function commonjsRequire () {
18
+ throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
19
+ }
20
+
21
+ export { createCommonjsModule as a, commonjsRequire as b, commonjsGlobal as c, getDefaultExportFromCjs as g };
@@ -1,4 +1,4 @@
1
- import { i as getDefaultExportFromCjs, j as createCommonjsModule } from './utils.js';
1
+ import { g as getDefaultExportFromCjs, a as createCommonjsModule } from './_commonjsHelpers.js';
2
2
 
3
3
  var interact_min = createCommonjsModule(function (module, exports) {
4
4
  /* interact.js 1.10.17 | https://interactjs.io/license */
@@ -1,3 +1,4 @@
1
+ import { a as createCommonjsModule, c as commonjsGlobal, b as commonjsRequire } from './_commonjsHelpers.js';
1
2
  import { e as getEnvelopeFile, f as getFieldAttachment } from './Envelopes.js';
2
3
  import './Types.js';
3
4
  import { d as downloadBlob } from './Files.js';
@@ -7,26 +8,6 @@ function rescale(r, n) {
7
8
  return r * n;
8
9
  }
9
10
 
10
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
11
-
12
- function getDefaultExportFromCjs (x) {
13
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
14
- }
15
-
16
- function createCommonjsModule(fn, basedir, module) {
17
- return module = {
18
- path: basedir,
19
- exports: {},
20
- require: function (path, base) {
21
- return commonjsRequire();
22
- }
23
- }, fn(module, module.exports), module.exports;
24
- }
25
-
26
- function commonjsRequire () {
27
- throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
28
- }
29
-
30
11
  var jszip_min = createCommonjsModule(function (module, exports) {
31
12
  /*!
32
13
 
@@ -53,9 +34,9 @@ const defaultWidth = (type) => {
53
34
  case 'timestamp':
54
35
  return 64;
55
36
  case 'date':
56
- return 74;
37
+ return 84;
57
38
  case 'dropdown':
58
- return 64;
39
+ return 85;
59
40
  case 'attachment':
60
41
  case 'payment':
61
42
  return 24;
@@ -82,7 +63,7 @@ const defaultHeight = (type) => {
82
63
  case 'date':
83
64
  return 15;
84
65
  case 'dropdown':
85
- return 15;
66
+ return 20;
86
67
  case 'attachment':
87
68
  case 'payment':
88
69
  return 24;
@@ -368,4 +349,4 @@ const throttle = (f, delay) => {
368
349
  };
369
350
  };
370
351
 
371
- export { getRoleIndex as a, getFieldId as b, updateCssTransform as c, defaultWidth as d, defaultHeight as e, saveEnvelopesAsZip as f, getFieldSettings as g, saveCertificate as h, getDefaultExportFromCjs as i, createCommonjsModule as j, renderDocumentField as r, saveAttachment as s, throttle as t, updateDocumentFieldValue as u };
352
+ export { getRoleIndex as a, getFieldId as b, updateCssTransform as c, defaultWidth as d, defaultHeight as e, saveEnvelopesAsZip as f, getFieldSettings as g, saveCertificate as h, renderDocumentField as r, saveAttachment as s, throttle as t, updateDocumentFieldValue as u };
@@ -36,6 +36,7 @@ const VerdocsButtonPanel = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
36
36
  (_b = this.popperInstance) === null || _b === void 0 ? void 0 : _b.update().catch(() => { });
37
37
  this.showing = true;
38
38
  this.hiderEl = document.createElement('div');
39
+ this.hiderEl.id = 'verdocs-button-panel-hider';
39
40
  this.hiderEl.style.zIndex = '100';
40
41
  this.hiderEl.style.position = 'absolute';
41
42
  this.hiderEl.style.top = '0px';
@@ -49,9 +50,11 @@ const VerdocsButtonPanel = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
49
50
  document.body.appendChild(this.hiderEl);
50
51
  }
51
52
  async hidePanel() {
52
- var _a, _b;
53
- (_a = this.panelEl) === null || _a === void 0 ? void 0 : _a.removeAttribute('data-show');
54
- (_b = this.hiderEl) === null || _b === void 0 ? void 0 : _b.remove();
53
+ var _a;
54
+ Array.from(document.getElementsByClassName('verdocs-button-panel-content')).forEach(el => {
55
+ el.removeAttribute('data-show');
56
+ });
57
+ (_a = document.getElementById('verdocs-button-panel-hider')) === null || _a === void 0 ? void 0 : _a.remove();
55
58
  this.showing = false;
56
59
  }
57
60
  async toggle() {
@@ -107,7 +107,7 @@ var createInitials = function (endpoint, name, initials) {
107
107
  .then(function (r) { return r.data; });
108
108
  };
109
109
 
110
- const verdocsSignCss = "verdocs-sign{display:-ms-flexbox;display:flex;overflow:hidden;position:relative;min-height:600px;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-sign div{display:block;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-sign input{vertical-align:top}verdocs-sign .intro{width:100%;display:-ms-flexbox;display:flex;-ms-flex:0 0 60px;flex:0 0 60px;color:#111111;font-size:18px;font-weight:500;line-height:28px;-ms-flex-direction:row;flex-direction:row;background:#ffffff}verdocs-sign .intro .inner{width:100%;display:-ms-flexbox;display:flex;margin:0 auto;padding:0 20px;max-width:1200px;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}verdocs-sign .cover{top:0;left:0;right:0;bottom:0;z-index:999;position:absolute;background:rgba(0, 0, 0, 0.5)}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;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 .agree{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;padding:0 15px}verdocs-sign .agree .intro{display:none}verdocs-sign .agree .header{-ms-flex:0 0 56px;flex:0 0 56px}verdocs-sign verdocs-ok-dialog .background-overlay{-ms-flex-align:start;align-items:flex-start;padding-top:100px}@media print{verdocs-sign .header{display:none}}#verdocs-sign-header{color:#fff;width:100%;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex:0 0 56px;flex:0 0 56px;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 20px;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;white-space:nowrap;text-overflow:ellipsis}";
110
+ const verdocsSignCss = "verdocs-sign{display:-ms-flexbox;display:flex;overflow:hidden;position:relative;min-height:600px;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-sign div{display:block;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-sign input{vertical-align:top}verdocs-sign .intro{width:100%;display:-ms-flexbox;display:flex;-ms-flex:0 0 60px;flex:0 0 60px;color:#111111;font-size:18px;font-weight:500;line-height:28px;-ms-flex-direction:row;flex-direction:row;background:#ffffff}verdocs-sign .intro .inner{width:100%;display:-ms-flexbox;display:flex;margin:0 auto;padding:0 20px;max-width:1200px;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}verdocs-sign .cover{top:0;left:0;right:0;bottom:0;z-index:999;position:absolute;background:rgba(0, 0, 0, 0.5)}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;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 .agree{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;padding:0 15px}verdocs-sign .agree .intro{display:none}verdocs-sign .agree .header{-ms-flex:0 0 56px;flex:0 0 56px}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)}@media print{verdocs-sign .header{display:none}}#verdocs-sign-header{color:#fff;width:100%;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex:0 0 56px;flex:0 0 56px;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 20px;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;white-space:nowrap;text-overflow:ellipsis}";
111
111
 
112
112
  const inProgressMenuOptions = [
113
113
  { id: 'later', label: 'Finish Later' },
@@ -142,6 +142,7 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
142
142
  this.nextSubmits = false;
143
143
  this.errorMessage = '';
144
144
  this.focusedField = '';
145
+ this.submitting = false;
145
146
  this.isDone = false;
146
147
  this.showDone = false;
147
148
  this.finishLater = false;
@@ -245,9 +246,11 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
245
246
  break;
246
247
  case 'decline':
247
248
  {
249
+ this.submitting = true;
248
250
  const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);
249
251
  console.log('Decline result', declineResult);
250
252
  (_c = this.envelopeUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'declined' });
253
+ this.submitting = false;
251
254
  this.isDone = true;
252
255
  }
253
256
  break;
@@ -373,10 +376,9 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
373
376
  }
374
377
  async handleNext() {
375
378
  var _a;
376
- console.log('Next');
377
379
  if (this.nextSubmits) {
378
- console.log('Next submits');
379
380
  try {
381
+ this.submitting = true;
380
382
  const result = await envelopeRecipientSubmit(this.endpoint, this.envelopeId, this.roleId);
381
383
  console.log('[SIGN] Submitted successfully', result);
382
384
  this.recipient.status = 'submitted';
@@ -384,8 +386,9 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
384
386
  this.isDone = true;
385
387
  }
386
388
  catch (e) {
387
- console.log('Error submitting', e);
389
+ console.log('[SIGN] Error submitting', e);
388
390
  }
391
+ this.submitting = false;
389
392
  return;
390
393
  }
391
394
  // Find and focus the next incomplete required field
@@ -539,7 +542,7 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
539
542
  return (h(Host, { class: { agreed: this.agreed } }, this.isDone ? (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); } })) : (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.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') }), this.showDone && (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: () => {
540
543
  this.showDone = false;
541
544
  this.isDone = true;
542
- } }))));
545
+ } })), this.submitting && (h("div", { class: "loading-indicator" }, h("verdocs-loader", null)))));
543
546
  }
544
547
  return (h(Host, { class: { agreed: this.agreed } }, !this.finishLater && (h("div", { class: "intro" }, h("div", { class: "inner" }, "Please review and act on these documents."))), h("div", { id: "verdocs-sign-header" }, h("div", { class: "inner" }, !this.agreed ? (h("div", { class: "agree" }, h("verdocs-checkbox", { name: "agree", label: "I agree to use electronic records and signatures.", onInput: () => this.handleClickAgree() }))) : (h(Fragment, null, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name), h("div", { style: { flex: '1' } }))), !this.finishLater && h("verdocs-button", { size: "small", label: this.nextButtonLabel, disabled: !this.agreed, onClick: () => this.handleNext() }), h("div", { style: { marginLeft: '10px' } }), h("verdocs-dropdown", { options: !this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions, onOptionSelected: e => this.handleOptionSelected(e) }))), !this.agreed ? h("div", { class: "cover" }) : h("div", { style: { display: 'none' } }), h("div", { class: "document", style: { paddingTop: this.headerTargetId ? '70px' : '15px' } }, (this.envelope.documents || []).map(envelopeDocument => {
545
548
  const pageNumbers = integerSequence(1, envelopeDocument.page_numbers);
@@ -560,7 +563,7 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
560
563
  })), this.showFinishLater && (h("verdocs-ok-dialog", { heading: "You've saved your document to finish later.", message: `To complete the ${this.documentsSingularPlural}, use the link in the original email notification inviting you to review and finish the document.`, onNext: () => (this.showFinishLater = false) })), this.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') }), this.showDone && (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: () => {
561
564
  this.showDone = false;
562
565
  this.isDone = true;
563
- } }))));
566
+ } })), this.submitting && (h("div", { class: "loading-indicator" }, h("verdocs-loader", null)))));
564
567
  }
565
568
  static get style() { return verdocsSignCss; }
566
569
  }, [0, "verdocs-sign", {
@@ -577,6 +580,7 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
577
580
  "nextSubmits": [32],
578
581
  "errorMessage": [32],
579
582
  "focusedField": [32],
583
+ "submitting": [32],
580
584
  "isDone": [32],
581
585
  "showDone": [32],
582
586
  "finishLater": [32],
@@ -2,6 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import './Types.js';
3
3
  import { u as updateField, d as deleteField } from './Fields.js';
4
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
+ import { c as commonjsGlobal } from './_commonjsHelpers.js';
5
6
  import { s as state } from './templateStore.js';
6
7
  import { l as loadTemplate } from './Templates.js';
7
8
  import { S as SDKError } from './errors.js';
@@ -12,6 +13,195 @@ import { d as defineCustomElement$3 } from './verdocs-help-icon2.js';
12
13
  import { d as defineCustomElement$2 } from './verdocs-select-input2.js';
13
14
  import { d as defineCustomElement$1 } from './verdocs-text-input2.js';
14
15
 
16
+ // Unique ID creation requires a high quality random # generator. In the
17
+ // browser this is a little complicated due to unknown quality of Math.random()
18
+ // and inconsistent support for the `crypto` API. We do the best we can via
19
+ // feature-detection
20
+ var rng;
21
+
22
+ var crypto = typeof commonjsGlobal !== 'undefined' && (commonjsGlobal.crypto || commonjsGlobal.msCrypto); // for IE 11
23
+ if (crypto && crypto.getRandomValues) {
24
+ // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto
25
+ var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
26
+ rng = function whatwgRNG() {
27
+ crypto.getRandomValues(rnds8);
28
+ return rnds8;
29
+ };
30
+ }
31
+
32
+ if (!rng) {
33
+ // Math.random()-based (RNG)
34
+ //
35
+ // If all else fails, use Math.random(). It's fast, but is of unspecified
36
+ // quality.
37
+ var rnds = new Array(16);
38
+ rng = function() {
39
+ for (var i = 0, r; i < 16; i++) {
40
+ if ((i & 0x03) === 0) r = Math.random() * 0x100000000;
41
+ rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;
42
+ }
43
+
44
+ return rnds;
45
+ };
46
+ }
47
+
48
+ var rngBrowser = rng;
49
+
50
+ /**
51
+ * Convert array of 16 byte values to UUID string format of the form:
52
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
53
+ */
54
+ var byteToHex = [];
55
+ for (var i = 0; i < 256; ++i) {
56
+ byteToHex[i] = (i + 0x100).toString(16).substr(1);
57
+ }
58
+
59
+ function bytesToUuid(buf, offset) {
60
+ var i = offset || 0;
61
+ var bth = byteToHex;
62
+ return bth[buf[i++]] + bth[buf[i++]] +
63
+ bth[buf[i++]] + bth[buf[i++]] + '-' +
64
+ bth[buf[i++]] + bth[buf[i++]] + '-' +
65
+ bth[buf[i++]] + bth[buf[i++]] + '-' +
66
+ bth[buf[i++]] + bth[buf[i++]] + '-' +
67
+ bth[buf[i++]] + bth[buf[i++]] +
68
+ bth[buf[i++]] + bth[buf[i++]] +
69
+ bth[buf[i++]] + bth[buf[i++]];
70
+ }
71
+
72
+ var bytesToUuid_1 = bytesToUuid;
73
+
74
+ // **`v1()` - Generate time-based UUID**
75
+ //
76
+ // Inspired by https://github.com/LiosK/UUID.js
77
+ // and http://docs.python.org/library/uuid.html
78
+
79
+ // random #'s we need to init node and clockseq
80
+ var _seedBytes = rngBrowser();
81
+
82
+ // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
83
+ var _nodeId = [
84
+ _seedBytes[0] | 0x01,
85
+ _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5]
86
+ ];
87
+
88
+ // Per 4.2.2, randomize (14 bit) clockseq
89
+ var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 0x3fff;
90
+
91
+ // Previous uuid creation time
92
+ var _lastMSecs = 0, _lastNSecs = 0;
93
+
94
+ // See https://github.com/broofa/node-uuid for API details
95
+ function v1(options, buf, offset) {
96
+ var i = buf && offset || 0;
97
+ var b = buf || [];
98
+
99
+ options = options || {};
100
+
101
+ var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;
102
+
103
+ // UUID timestamps are 100 nano-second units since the Gregorian epoch,
104
+ // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so
105
+ // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
106
+ // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
107
+ var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();
108
+
109
+ // Per 4.2.1.2, use count of uuid's generated during the current clock
110
+ // cycle to simulate higher resolution clock
111
+ var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;
112
+
113
+ // Time since last uuid creation (in msecs)
114
+ var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;
115
+
116
+ // Per 4.2.1.2, Bump clockseq on clock regression
117
+ if (dt < 0 && options.clockseq === undefined) {
118
+ clockseq = clockseq + 1 & 0x3fff;
119
+ }
120
+
121
+ // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
122
+ // time interval
123
+ if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
124
+ nsecs = 0;
125
+ }
126
+
127
+ // Per 4.2.1.2 Throw error if too many uuids are requested
128
+ if (nsecs >= 10000) {
129
+ throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec');
130
+ }
131
+
132
+ _lastMSecs = msecs;
133
+ _lastNSecs = nsecs;
134
+ _clockseq = clockseq;
135
+
136
+ // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
137
+ msecs += 12219292800000;
138
+
139
+ // `time_low`
140
+ var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
141
+ b[i++] = tl >>> 24 & 0xff;
142
+ b[i++] = tl >>> 16 & 0xff;
143
+ b[i++] = tl >>> 8 & 0xff;
144
+ b[i++] = tl & 0xff;
145
+
146
+ // `time_mid`
147
+ var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;
148
+ b[i++] = tmh >>> 8 & 0xff;
149
+ b[i++] = tmh & 0xff;
150
+
151
+ // `time_high_and_version`
152
+ b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
153
+ b[i++] = tmh >>> 16 & 0xff;
154
+
155
+ // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
156
+ b[i++] = clockseq >>> 8 | 0x80;
157
+
158
+ // `clock_seq_low`
159
+ b[i++] = clockseq & 0xff;
160
+
161
+ // `node`
162
+ var node = options.node || _nodeId;
163
+ for (var n = 0; n < 6; ++n) {
164
+ b[i + n] = node[n];
165
+ }
166
+
167
+ return buf ? buf : bytesToUuid_1(b);
168
+ }
169
+
170
+ var v1_1 = v1;
171
+
172
+ function v4(options, buf, offset) {
173
+ var i = buf && offset || 0;
174
+
175
+ if (typeof(options) == 'string') {
176
+ buf = options == 'binary' ? new Array(16) : null;
177
+ options = null;
178
+ }
179
+ options = options || {};
180
+
181
+ var rnds = options.random || (options.rng || rngBrowser)();
182
+
183
+ // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
184
+ rnds[6] = (rnds[6] & 0x0f) | 0x40;
185
+ rnds[8] = (rnds[8] & 0x3f) | 0x80;
186
+
187
+ // Copy bytes to buffer, if provided
188
+ if (buf) {
189
+ for (var ii = 0; ii < 16; ++ii) {
190
+ buf[i + ii] = rnds[ii];
191
+ }
192
+ }
193
+
194
+ return buf || bytesToUuid_1(rnds);
195
+ }
196
+
197
+ var v4_1 = v4;
198
+
199
+ var uuid = v4_1;
200
+ uuid.v1 = v1_1;
201
+ uuid.v4 = v4_1;
202
+
203
+ var uuidBrowser = uuid;
204
+
15
205
  const verdocsTemplateFieldPropertiesCss = "verdocs-template-field-properties{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-field-properties .buttons{display:-ms-flexbox;display:flex;margin-top:30px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-template-field-properties .buttons verdocs-button{margin-left:16px}verdocs-template-field-properties form .row{display:-ms-flexbox;display:flex;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;margin:0 0 10px 0;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-template-field-properties form .row .input-label{display:block;color:#555570;font-weight:700;font-size:14px;margin:0 0 4px 0;-ms-flex:0 0 100px;flex:0 0 100px}verdocs-template-field-properties verdocs-select-input{-ms-flex:1;flex:1;margin:0}verdocs-template-field-properties verdocs-text-input{margin:0;-ms-flex:1;flex:1}verdocs-template-field-properties verdocs-text-input label{margin:0;display:-ms-flexbox;display:flex;-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}verdocs-template-field-properties verdocs-text-input .input-label{-ms-flex:0 0 100px;flex:0 0 100px}verdocs-template-field-properties verdocs-text-input input{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex}verdocs-template-field-properties .checkbox-wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex}verdocs-template-field-properties .delete-button{height:34px;display:-ms-flexbox;display:flex;cursor:pointer;background:none;border-radius:4px;-ms-flex-align:center;align-items:center;border:1px solid #999;-ms-flex-pack:center;justify-content:center}verdocs-template-field-properties .delete-button:active{background:#f3f3f3}verdocs-template-field-properties .delete-button svg{width:24px;height:24px}verdocs-template-field-properties h6{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;font-size:16px;font-weight:bold;margin:0 0 8px 0;-ms-flex-direction:row;flex-direction:row;color:#092c4c}verdocs-template-field-properties h6 .help-icon{opacity:0.5}verdocs-template-field-properties h6 .help-icon:hover{opacity:1;cursor:pointer}verdocs-template-field-properties .row-header{gap:15px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}verdocs-template-field-properties .row-header h6{margin-bottom:0}verdocs-template-field-properties .row-header verdocs-help-icon{-webkit-transform:scale(0.85);transform:scale(0.85)}verdocs-template-field-properties .row-header verdocs-help-icon svg{margin-bottom:-5px}verdocs-template-field-properties .row-header .add-button{margin:0;padding:0;border:none;opacity:0.5;cursor:pointer;background:none}verdocs-template-field-properties .row-header .add-button:hover{opacity:1}verdocs-template-field-properties .row-header .add-button svg{width:32px;height:32px}verdocs-template-field-properties .option-row{margin:15px 0}verdocs-template-field-properties .option-row .remove-button{height:28px;display:-ms-flexbox;display:flex;cursor:pointer;background:none;border-radius:4px;-ms-flex-align:center;align-items:center;border:1px solid #999;-ms-flex-pack:center;justify-content:center}verdocs-template-field-properties .option-row .remove-button:active{background:#f3f3f3}verdocs-template-field-properties .option-row .remove-button:hover svg{stroke:#a50021}verdocs-template-field-properties .option-row .remove-button svg{width:20px;height:20px;stroke:#333333}verdocs-template-field-properties .options{background:#f3f3f3;padding:0 0 10px 0}verdocs-template-field-properties .options .row-header,verdocs-template-field-properties .options .option-row{padding:0 10px}verdocs-template-field-properties .options .add-option-button{border-radius:5px;border:1px solid #cccccc;background:#46497d;color:#ffffff;padding:3px 8px}verdocs-template-field-properties .options .option-row .input-element{font-size:14px}verdocs-template-field-properties .options verdocs-help-icon{opacity:1;-webkit-transform:scale(0.8);transform:scale(0.8)}verdocs-template-field-properties .options verdocs-help-icon svg{fill:#ffffff}";
16
206
 
17
207
  const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
@@ -87,7 +277,6 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
87
277
  var _a, _b;
88
278
  e.stopPropagation();
89
279
  const field = state.fields.find(field => field.name === this.fieldName);
90
- console.log('hc', e, field);
91
280
  if (field) {
92
281
  this.name = field.name;
93
282
  this.roleName = field.role_name;
@@ -117,6 +306,53 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
117
306
  options: this.options,
118
307
  };
119
308
  }
309
+ updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
310
+ .then(() => {
311
+ var _a, _b;
312
+ this.dirty = false;
313
+ const field = state.fields.find(field => field.name === this.fieldName);
314
+ if (field) {
315
+ field.name = this.name;
316
+ field.role_name = this.roleName;
317
+ field.required = this.required;
318
+ field.label = this.placeholder;
319
+ field.setting.result = this.defaultValue;
320
+ if (field.setting.options) {
321
+ field.setting.options = this.options;
322
+ }
323
+ }
324
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName });
325
+ (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
326
+ })
327
+ .catch(() => {
328
+ console.log('Field update failed', e);
329
+ });
330
+ }
331
+ handleAddOption(e) {
332
+ e.stopPropagation();
333
+ const newProperties = {
334
+ name: this.name,
335
+ required: this.required,
336
+ role_name: this.roleName,
337
+ // TODO: Default value in setting?
338
+ };
339
+ this.options.push(this.type === 'radio_button_group'
340
+ ? {
341
+ id: uuidBrowser(),
342
+ value: `Option ${this.options.length + 1}`,
343
+ selected: false,
344
+ x: this.options.length > 0 ? this.options[this.options.length - 1].x : 20,
345
+ y: this.options.length > 0 ? this.options[this.options.length - 1].y - 25 : 20,
346
+ }
347
+ : {
348
+ id: uuidBrowser(),
349
+ value: `Option ${this.options.length + 1}`,
350
+ checked: false,
351
+ x: this.options.length > 0 ? this.options[this.options.length - 1].x : 20,
352
+ y: this.options.length > 0 ? this.options[this.options.length - 1].y - 25 : 20,
353
+ });
354
+ newProperties.setting = this.setting;
355
+ newProperties.setting.options = this.options;
120
356
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
121
357
  .then(() => {
122
358
  var _a, _b;
@@ -131,6 +367,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
131
367
  }
132
368
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName });
133
369
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
370
+ state.updateCount++;
134
371
  })
135
372
  .catch(() => {
136
373
  console.log('Field update failed', e);
@@ -165,7 +402,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
165
402
  if (this.helpText && this.showingHelp) {
166
403
  return (h(Host, null, h("h6", null, capitalize(this.fieldType), " Settings ", h("div", { style: { flex: '1' } }), h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = false) })), h("p", { class: "instructions", innerHTML: this.helpText })));
167
404
  }
168
- return (h(Host, null, h("h6", null, capitalize(this.fieldType.replace('_', ' ')), " Settings ", h("div", { style: { flex: '1' } }), this.helpText && h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = true) })), h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("verdocs-text-input", { id: "verdocs-field-name", label: "Field Name", value: this.name, autocomplete: "off",
405
+ return (h(Host, null, h("h6", null, capitalize(this.fieldType.replace(/_/g, ' ')), " Settings ", h("div", { style: { flex: '1' } }), this.helpText && h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = true) })), h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("verdocs-text-input", { id: "verdocs-field-name", label: "Field Name", value: this.name, autocomplete: "off",
169
406
  // helpText="The internal name of the field. Must be unique, and contain only letters, numbers, and dashes. After an envelope is completed, the value entered by the signer will be tagged with this key."
170
407
  placeholder: "Field Name...", onInput: (e) => {
171
408
  this.name = e.target.value;
@@ -173,9 +410,6 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
173
410
  } })), h("div", { class: "row" }, h("div", { class: "input-label" }, "Role:"), h("verdocs-select-input", { value: this.roleName, options: state.template.roles.map(role => ({ label: role.name, value: role.name })), onInput: (e) => {
174
411
  this.roleName = e.target.value;
175
412
  this.dirty = true;
176
- } })), ['checkbox_group', 'radio_button_group'].includes(this.type) && (h("verdocs-text-input", { id: "verdocs-field-group", label: "Group Name", value: this.group, autocomplete: "off", placeholder: "Group Name...", onInput: (e) => {
177
- this.group = e.target.value;
178
- this.dirty = true;
179
413
  } })), ['textbox', 'textarea'].includes(this.type) && (h("verdocs-text-input", { id: "verdocs-field-placeholder", label: "Placeholder", value: this.name, autocomplete: "off",
180
414
  // helpText="Placeholder to display if the field is empty."
181
415
  placeholder: "Placeholder...", onInput: (e) => {
@@ -184,7 +418,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
184
418
  } })), h("div", { class: "row", style: { marginTop: '15px', marginBottom: '15px' } }, h("label", { htmlFor: "verdocs-is-required", class: "input-label" }, "Required"), h("verdocs-checkbox", { id: "verdocs-is-required", name: "is-required", checked: this.required, value: "on", onInput: (e) => {
185
419
  this.required = e.target.checked;
186
420
  this.dirty = true;
187
- } })), ['dropdown'].includes(this.type) && (h("div", { class: "options" }, h("div", { class: "row", style: {
421
+ } })), ['checkbox_group', 'radio_button_group'].includes(this.type) && h("verdocs-button", { size: "small", onClick: e => this.handleAddOption(e), label: "Add Option" }), ['dropdown'].includes(this.type) && (h("div", { class: "options" }, h("div", { class: "row", style: {
188
422
  marginTop: '15px',
189
423
  marginBottom: '15px',
190
424
  textAlign: 'center',
@@ -111,9 +111,16 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
111
111
  this.selectedRoleName = field.role_name;
112
112
  console.log('settings changed', this.selectedRoleName, field);
113
113
  el.setAttribute('roleindex', getRoleIndex(state.roleNames, field.role_name));
114
+ el.field = state.fields.find(f => f.name === field.name);
114
115
  this.rerender++;
115
116
  el.setAttribute('rerender', this.rerender);
116
117
  (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: state.template, event: 'updated-field' });
118
+ console.log('Re-rendering field', field.name, pageInfo.pageNumber);
119
+ this.reRenderField(field, pageInfo.pageNumber);
120
+ const newEl = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
121
+ if (!newEl) {
122
+ return;
123
+ }
117
124
  });
118
125
  el.addEventListener('deleted', () => {
119
126
  var _a;
@@ -134,41 +141,19 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
134
141
  this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
135
142
  this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
136
143
  const fields = state.fields.filter(field => field.page_sequence === pageInfo.pageNumber);
137
- // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
138
- // console.log('[FIELDS] Fields on page', fields);
139
- fields.forEach(field => {
140
- const roleIndex = getRoleIndex(state.roleNames, field.role_name);
141
- const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
142
- if (!el) {
143
- return;
144
- }
145
- if (Array.isArray(el)) {
146
- el.forEach(e => {
147
- this.attachFieldAttributes(pageInfo, field, roleIndex, e);
148
- interact(e).draggable({
149
- listeners: {
150
- start(event) {
151
- console.log('[FIELDS] Drag started', event.type, event.target);
152
- },
153
- move(event) {
154
- const oldX = +(event.target.getAttribute('posX') || 0);
155
- const oldY = +(event.target.getAttribute('posY') || 0);
156
- const xScale = +(event.target.getAttribute('xScale') || 1);
157
- const yScale = +(event.target.getAttribute('yScale') || 1);
158
- const newX = event.dx / xScale + oldX;
159
- const newY = event.dy / yScale + oldY;
160
- event.target.setAttribute('posX', newX);
161
- event.target.setAttribute('posy', newY);
162
- updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
163
- },
164
- end: this.handleMoveField.bind(this),
165
- },
166
- });
167
- });
168
- }
169
- else {
170
- this.attachFieldAttributes(pageInfo, field, roleIndex, el);
171
- interact(el).draggable({
144
+ fields.forEach(field => this.reRenderField(field, pageInfo.pageNumber));
145
+ }
146
+ reRenderField(field, pageNumber) {
147
+ const pageInfo = this.cachedPageInfo[pageNumber];
148
+ const roleIndex = getRoleIndex(state.roleNames, field.role_name);
149
+ const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
150
+ if (!el) {
151
+ return;
152
+ }
153
+ if (Array.isArray(el)) {
154
+ el.forEach(e => {
155
+ this.attachFieldAttributes(pageInfo, field, roleIndex, e);
156
+ interact(e).draggable({
172
157
  listeners: {
173
158
  start(event) {
174
159
  console.log('[FIELDS] Drag started', event.type, event.target);
@@ -187,8 +172,30 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
187
172
  end: this.handleMoveField.bind(this),
188
173
  },
189
174
  });
190
- }
191
- });
175
+ });
176
+ }
177
+ else {
178
+ this.attachFieldAttributes(pageInfo, field, roleIndex, el);
179
+ interact(el).draggable({
180
+ listeners: {
181
+ start(event) {
182
+ console.log('[FIELDS] Drag started', event.type, event.target);
183
+ },
184
+ move(event) {
185
+ const oldX = +(event.target.getAttribute('posX') || 0);
186
+ const oldY = +(event.target.getAttribute('posY') || 0);
187
+ const xScale = +(event.target.getAttribute('xScale') || 1);
188
+ const yScale = +(event.target.getAttribute('yScale') || 1);
189
+ const newX = event.dx / xScale + oldX;
190
+ const newY = event.dy / yScale + oldY;
191
+ event.target.setAttribute('posX', newX);
192
+ event.target.setAttribute('posy', newY);
193
+ updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
194
+ },
195
+ end: this.handleMoveField.bind(this),
196
+ },
197
+ });
198
+ }
192
199
  }
193
200
  async handleMoveField(e) {
194
201
  const pageNumber = e.target.getAttribute('pageNumber');