@verdocs/web-sdk 1.12.42 → 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 (165) 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/utils-c218d9c7.js +365 -0
  4. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +246 -9
  5. package/dist/cjs/verdocs-dropdown_2.cjs.entry.js +2 -1
  6. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -1
  7. package/dist/cjs/verdocs-field-date.cjs.entry.js +2 -1
  8. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
  9. package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -1
  10. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
  11. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +2 -1
  12. package/dist/cjs/verdocs-field-signature.cjs.entry.js +2 -1
  13. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -1
  14. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -2
  15. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -1
  16. package/dist/cjs/verdocs-preview.cjs.entry.js +2 -1
  17. package/dist/cjs/verdocs-send.cjs.entry.js +2 -1
  18. package/dist/cjs/verdocs-sign.cjs.entry.js +2 -1
  19. package/dist/cjs/verdocs-template-create_3.cjs.entry.js +47 -39
  20. package/dist/cjs/verdocs-template-document-page.cjs.entry.js +2 -1
  21. package/dist/cjs/verdocs-view.cjs.entry.js +2 -1
  22. package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +6 -3
  23. package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.stories.js +0 -3
  24. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +51 -6
  25. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +44 -37
  26. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.stories.js +1 -2
  27. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.stories.js +1 -2
  28. package/dist/collection/utils/utils.js +3 -3
  29. package/dist/components/_commonjsHelpers.js +21 -0
  30. package/dist/components/interact.min.js +1 -1
  31. package/dist/components/utils.js +5 -24
  32. package/dist/components/verdocs-button-panel2.js +6 -3
  33. package/dist/components/verdocs-template-field-properties2.js +240 -6
  34. package/dist/components/verdocs-template-fields2.js +44 -37
  35. package/dist/custom-elements.json +1502 -0
  36. package/dist/docs.json +1 -1
  37. package/dist/esm/_commonjsHelpers-5ec8f9b7.js +21 -0
  38. package/dist/esm/{interact.min-2d48f507.js → interact.min-cf83fa88.js} +1 -1
  39. package/dist/esm/{utils-218600d6.js → utils-78a752e0.js} +5 -24
  40. package/dist/esm/verdocs-button-panel_3.entry.js +246 -9
  41. package/dist/esm/verdocs-dropdown_2.entry.js +2 -1
  42. package/dist/esm/verdocs-field-checkbox.entry.js +2 -1
  43. package/dist/esm/verdocs-field-date.entry.js +2 -1
  44. package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
  45. package/dist/esm/verdocs-field-initial.entry.js +2 -1
  46. package/dist/esm/verdocs-field-payment.entry.js +2 -1
  47. package/dist/esm/verdocs-field-radio-button.entry.js +2 -1
  48. package/dist/esm/verdocs-field-signature.entry.js +2 -1
  49. package/dist/esm/verdocs-field-textarea.entry.js +2 -1
  50. package/dist/esm/verdocs-field-textbox.entry.js +3 -2
  51. package/dist/esm/verdocs-field-timestamp.entry.js +2 -1
  52. package/dist/esm/verdocs-preview.entry.js +2 -1
  53. package/dist/esm/verdocs-send.entry.js +2 -1
  54. package/dist/esm/verdocs-sign.entry.js +2 -1
  55. package/dist/esm/verdocs-template-create_3.entry.js +47 -39
  56. package/dist/esm/verdocs-template-document-page.entry.js +2 -1
  57. package/dist/esm/verdocs-view.entry.js +2 -1
  58. package/dist/esm-es5/_commonjsHelpers-5ec8f9b7.js +1 -0
  59. package/dist/esm-es5/interact.min-cf83fa88.js +1 -0
  60. package/dist/esm-es5/{utils-218600d6.js → utils-78a752e0.js} +2 -2
  61. package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
  62. package/dist/esm-es5/verdocs-dropdown_2.entry.js +1 -1
  63. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  64. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  65. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  66. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  67. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  68. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  69. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  70. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  71. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  72. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  73. package/dist/esm-es5/verdocs-preview.entry.js +1 -1
  74. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  75. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  76. package/dist/esm-es5/verdocs-template-create_3.entry.js +1 -1
  77. package/dist/esm-es5/verdocs-template-document-page.entry.js +1 -1
  78. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  79. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +1 -0
  80. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +1 -0
  81. package/dist/types/utils/utils.d.ts +2 -2
  82. package/dist/verdocs-web-sdk/{p-06b63e19.js → p-0d28cf05.js} +1 -1
  83. package/dist/verdocs-web-sdk/p-0e727b1c.system.entry.js +1 -0
  84. package/dist/verdocs-web-sdk/p-0fd75d91.system.entry.js +1 -0
  85. package/dist/verdocs-web-sdk/p-1abcf29d.js +13 -0
  86. package/dist/verdocs-web-sdk/p-1cfb7ff5.entry.js +1 -0
  87. package/dist/verdocs-web-sdk/{p-8c4ccdcf.system.js → p-201f27f6.system.js} +2 -2
  88. package/dist/verdocs-web-sdk/p-28976191.system.entry.js +1 -0
  89. package/dist/verdocs-web-sdk/p-32fb9679.entry.js +1 -0
  90. package/dist/verdocs-web-sdk/{p-5a7ccee3.system.js → p-3305a941.system.js} +1 -1
  91. package/dist/verdocs-web-sdk/p-36f78b1f.system.entry.js +1 -0
  92. package/dist/verdocs-web-sdk/p-3751d683.entry.js +1 -0
  93. package/dist/verdocs-web-sdk/p-3ba4df31.system.entry.js +1 -0
  94. package/dist/verdocs-web-sdk/p-519127ef.entry.js +1 -0
  95. package/dist/verdocs-web-sdk/p-530e47e2.system.entry.js +1 -0
  96. package/dist/verdocs-web-sdk/p-552441c6.system.entry.js +1 -0
  97. package/dist/verdocs-web-sdk/p-66158f86.system.entry.js +1 -0
  98. package/dist/verdocs-web-sdk/p-667cbdb4.system.entry.js +1 -0
  99. package/dist/verdocs-web-sdk/p-6caf1137.system.js +1 -1
  100. package/dist/verdocs-web-sdk/p-6ec15fc0.entry.js +1 -0
  101. package/dist/verdocs-web-sdk/p-753a6e4a.entry.js +1 -0
  102. package/dist/verdocs-web-sdk/p-77e616b7.system.entry.js +1 -0
  103. package/dist/verdocs-web-sdk/p-81b24500.entry.js +1 -0
  104. package/dist/verdocs-web-sdk/p-89963a6e.system.entry.js +1 -0
  105. package/dist/verdocs-web-sdk/p-8be51136.entry.js +1 -0
  106. package/dist/verdocs-web-sdk/p-8cba983e.entry.js +1 -0
  107. package/dist/verdocs-web-sdk/p-94fa2efb.system.entry.js +1 -0
  108. package/dist/verdocs-web-sdk/p-9eb2690b.entry.js +1 -0
  109. package/dist/verdocs-web-sdk/p-b355484e.system.entry.js +1 -0
  110. package/dist/verdocs-web-sdk/p-bbee73c8.system.js +1 -0
  111. package/dist/verdocs-web-sdk/p-beb19fae.entry.js +1 -0
  112. package/dist/verdocs-web-sdk/p-bf8cc58c.entry.js +1 -0
  113. package/dist/verdocs-web-sdk/p-c0c4cbe6.entry.js +1 -0
  114. package/dist/verdocs-web-sdk/p-c83042ac.entry.js +1 -0
  115. package/dist/verdocs-web-sdk/p-cae4a96e.system.entry.js +1 -0
  116. package/dist/verdocs-web-sdk/p-ce14f118.system.entry.js +1 -0
  117. package/dist/verdocs-web-sdk/p-cf09e52c.entry.js +1 -0
  118. package/dist/verdocs-web-sdk/p-dca6db47.system.entry.js +1 -0
  119. package/dist/verdocs-web-sdk/p-eab67c09.js +1 -0
  120. package/dist/verdocs-web-sdk/p-f3206b9e.system.entry.js +1 -0
  121. package/dist/verdocs-web-sdk/p-f6f1eb46.entry.js +1 -0
  122. package/dist/verdocs-web-sdk/p-f7910b66.entry.js +1 -0
  123. package/dist/verdocs-web-sdk/p-fd463970.entry.js +1 -0
  124. package/dist/verdocs-web-sdk/p-fd5d31ad.system.entry.js +1 -0
  125. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  126. package/package.json +4 -3
  127. package/dist/cjs/utils-173073b5.js +0 -386
  128. package/dist/esm-es5/interact.min-2d48f507.js +0 -1
  129. package/dist/verdocs-web-sdk/p-06431b48.system.entry.js +0 -1
  130. package/dist/verdocs-web-sdk/p-07837642.entry.js +0 -1
  131. package/dist/verdocs-web-sdk/p-0a40faee.system.entry.js +0 -1
  132. package/dist/verdocs-web-sdk/p-15a98f93.system.entry.js +0 -1
  133. package/dist/verdocs-web-sdk/p-17ce2ecb.entry.js +0 -1
  134. package/dist/verdocs-web-sdk/p-1e7791de.entry.js +0 -1
  135. package/dist/verdocs-web-sdk/p-1f83efb6.entry.js +0 -1
  136. package/dist/verdocs-web-sdk/p-1fadb008.entry.js +0 -1
  137. package/dist/verdocs-web-sdk/p-2ec93d4f.system.entry.js +0 -1
  138. package/dist/verdocs-web-sdk/p-33f518fe.entry.js +0 -1
  139. package/dist/verdocs-web-sdk/p-34327c86.entry.js +0 -1
  140. package/dist/verdocs-web-sdk/p-36e04ce1.entry.js +0 -1
  141. package/dist/verdocs-web-sdk/p-53b657ae.system.entry.js +0 -1
  142. package/dist/verdocs-web-sdk/p-5637ad60.entry.js +0 -1
  143. package/dist/verdocs-web-sdk/p-58616494.system.entry.js +0 -1
  144. package/dist/verdocs-web-sdk/p-61622a60.system.entry.js +0 -1
  145. package/dist/verdocs-web-sdk/p-67ba3a16.entry.js +0 -1
  146. package/dist/verdocs-web-sdk/p-7b39af7f.entry.js +0 -1
  147. package/dist/verdocs-web-sdk/p-9131d247.entry.js +0 -1
  148. package/dist/verdocs-web-sdk/p-977fbaf7.system.entry.js +0 -1
  149. package/dist/verdocs-web-sdk/p-986d86f4.system.entry.js +0 -1
  150. package/dist/verdocs-web-sdk/p-9ac9f634.system.entry.js +0 -1
  151. package/dist/verdocs-web-sdk/p-a24ae6ee.entry.js +0 -1
  152. package/dist/verdocs-web-sdk/p-a32f9de7.system.entry.js +0 -1
  153. package/dist/verdocs-web-sdk/p-a746d24f.system.entry.js +0 -1
  154. package/dist/verdocs-web-sdk/p-af8d400f.entry.js +0 -1
  155. package/dist/verdocs-web-sdk/p-b270f99a.system.entry.js +0 -1
  156. package/dist/verdocs-web-sdk/p-beb76dac.entry.js +0 -1
  157. package/dist/verdocs-web-sdk/p-c1037597.entry.js +0 -1
  158. package/dist/verdocs-web-sdk/p-c181315f.js +0 -13
  159. package/dist/verdocs-web-sdk/p-cd3ee92f.system.entry.js +0 -1
  160. package/dist/verdocs-web-sdk/p-ddf2b4d4.entry.js +0 -1
  161. package/dist/verdocs-web-sdk/p-e4bbfd3f.system.entry.js +0 -1
  162. package/dist/verdocs-web-sdk/p-ec121c9e.system.entry.js +0 -1
  163. package/dist/verdocs-web-sdk/p-f5b2c369.system.entry.js +0 -1
  164. package/dist/verdocs-web-sdk/p-f907648c.system.entry.js +0 -1
  165. package/dist/verdocs-web-sdk/p-ff7aef68.entry.js +0 -1
@@ -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');