@verdocs/web-sdk 1.14.7 → 1.14.8

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 (91) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +2 -2
  3. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  4. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +1 -1
  5. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +34 -19
  7. package/dist/cjs/verdocs-status-indicator.cjs.entry.js +2 -1
  8. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +4 -3
  9. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  10. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.css +2 -0
  11. package/dist/collection/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.js +2 -1
  12. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +8 -3
  13. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.css +2 -1
  14. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +8 -3
  15. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +8 -3
  16. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.css +3 -2
  17. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +8 -3
  18. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +8 -3
  19. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +8 -3
  20. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +8 -3
  21. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +8 -3
  22. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +1 -37
  23. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +61 -20
  24. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +8 -3
  25. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +10 -5
  26. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +4 -3
  27. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.stories.js +1 -1
  28. package/dist/components/verdocs-envelope-sidebar.js +1 -1
  29. package/dist/components/verdocs-field-checkbox.js +1 -1
  30. package/dist/components/verdocs-field-dropdown.js +1 -1
  31. package/dist/components/verdocs-field-textbox.js +35 -18
  32. package/dist/components/verdocs-status-indicator.js +2 -1
  33. package/dist/components/verdocs-template-field-properties2.js +2 -2
  34. package/dist/components/verdocs-template-fields2.js +4 -3
  35. package/dist/custom-elements.json +1616 -0
  36. package/dist/docs.json +28 -12
  37. package/dist/esm/loader.js +1 -1
  38. package/dist/esm/verdocs-button-panel_3.entry.js +2 -2
  39. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  40. package/dist/esm/verdocs-field-checkbox.entry.js +1 -1
  41. package/dist/esm/verdocs-field-dropdown.entry.js +1 -1
  42. package/dist/esm/verdocs-field-textbox.entry.js +34 -19
  43. package/dist/esm/verdocs-status-indicator.entry.js +2 -1
  44. package/dist/esm/verdocs-template-fields_4.entry.js +4 -3
  45. package/dist/esm/verdocs-web-sdk.js +1 -1
  46. package/dist/esm-es5/loader.js +1 -1
  47. package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
  48. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  49. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  50. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  51. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  52. package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
  53. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  54. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  55. package/dist/types/components/envelopes/verdocs-status-indicator/verdocs-status-indicator.d.ts +1 -1
  56. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +2 -1
  57. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +2 -1
  58. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +2 -1
  59. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +2 -1
  60. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +2 -1
  61. package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +2 -1
  62. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +2 -1
  63. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +2 -1
  64. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +12 -3
  65. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +2 -1
  66. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +2 -0
  67. package/dist/types/components.d.ts +20 -12
  68. package/dist/verdocs-web-sdk/p-10444734.system.entry.js +1 -0
  69. package/dist/verdocs-web-sdk/p-1cf38cea.system.js +1 -1
  70. package/dist/verdocs-web-sdk/p-23292d40.system.entry.js +1 -0
  71. package/dist/verdocs-web-sdk/{p-cddd6ce0.entry.js → p-2631bdd9.entry.js} +1 -1
  72. package/dist/verdocs-web-sdk/{p-3c5bb0b3.entry.js → p-2cf70fcd.entry.js} +1 -1
  73. package/dist/verdocs-web-sdk/p-3601cc11.entry.js +1 -0
  74. package/dist/verdocs-web-sdk/{p-13cf387e.entry.js → p-4d1f3ddb.entry.js} +1 -1
  75. package/dist/verdocs-web-sdk/{p-bb085c47.system.entry.js → p-66f9132c.system.entry.js} +1 -1
  76. package/dist/verdocs-web-sdk/p-71976828.entry.js +1 -0
  77. package/dist/verdocs-web-sdk/p-7baf2c02.system.entry.js +1 -0
  78. package/dist/verdocs-web-sdk/p-7bd5422e.system.entry.js +1 -0
  79. package/dist/verdocs-web-sdk/{p-5a9d6ff0.entry.js → p-8e181e8c.entry.js} +1 -1
  80. package/dist/verdocs-web-sdk/p-b8d94f4c.system.entry.js +1 -0
  81. package/dist/verdocs-web-sdk/{p-1f370439.system.entry.js → p-be729608.system.entry.js} +1 -1
  82. package/dist/verdocs-web-sdk/{p-b6e9934d.entry.js → p-daf19924.entry.js} +1 -1
  83. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  84. package/package.json +1 -1
  85. package/dist/verdocs-web-sdk/p-2265e0dd.system.entry.js +0 -1
  86. package/dist/verdocs-web-sdk/p-414f893b.entry.js +0 -1
  87. package/dist/verdocs-web-sdk/p-6ff2005b.system.entry.js +0 -1
  88. package/dist/verdocs-web-sdk/p-b51c4ed5.system.entry.js +0 -1
  89. package/dist/verdocs-web-sdk/p-de3ae7a2.system.entry.js +0 -1
  90. package/dist/verdocs-web-sdk/p-f99b783a.entry.js +0 -1
  91. package/dist/verdocs-web-sdk/p-fee3be0c.system.entry.js +0 -1
@@ -228,9 +228,14 @@ export class VerdocsFieldTextarea {
228
228
  "text": "Event fired when the field's settings are changed."
229
229
  },
230
230
  "complexType": {
231
- "original": "{fieldName: string}",
232
- "resolved": "{ fieldName: string; }",
233
- "references": {}
231
+ "original": "{fieldName: string; settings: ITemplateFieldSetting}",
232
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
233
+ "references": {
234
+ "ITemplateFieldSetting": {
235
+ "location": "import",
236
+ "path": "@verdocs/js-sdk/Templates/Types"
237
+ }
238
+ }
234
239
  }
235
240
  }, {
236
241
  "method": "deleted",
@@ -1,5 +1,6 @@
1
1
  verdocs-field-textbox {
2
2
  font-family: "Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
3
+ box-sizing: border-box;
3
4
  width: 150px;
4
5
  height: 15px;
5
6
  display: block;
@@ -35,43 +36,6 @@ verdocs-field-textbox.required {
35
36
  verdocs-field-textbox.focused {
36
37
  animation: verdocs-field-pulse 0.75s 2;
37
38
  }
38
- verdocs-field-textbox .resizer {
39
- position: absolute;
40
- bottom: 1px;
41
- right: 1px;
42
- width: 8px;
43
- height: 8px;
44
- z-index: 9999;
45
- }
46
- verdocs-field-textbox .resizer:hover {
47
- cursor: nwse-resize;
48
- }
49
- verdocs-field-textbox .resizer .resizer-inner {
50
- position: absolute;
51
- bottom: 0;
52
- }
53
- verdocs-field-textbox .resizer .resizer-inner:before {
54
- position: absolute;
55
- top: -4px;
56
- left: -0.5px;
57
- content: "";
58
- display: block;
59
- width: 10px;
60
- height: 1px;
61
- background-color: rgba(0, 0, 0, 0.32);
62
- transform: rotate(-45deg);
63
- }
64
- verdocs-field-textbox .resizer .resizer-inner:after {
65
- position: absolute;
66
- top: -1.5px;
67
- left: 4.5px;
68
- content: "";
69
- display: block;
70
- width: 5px;
71
- height: 1px;
72
- background-color: rgba(0, 0, 0, 0.32);
73
- transform: rotate(-45deg);
74
- }
75
39
  verdocs-field-textbox verdocs-button-panel {
76
40
  top: -3px;
77
41
  left: -2px;
@@ -2,12 +2,15 @@ import interact from 'interactjs';
2
2
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
3
3
  import { h, Host } from '@stencil/core';
4
4
  import { getFieldSettings } from '../../../utils/utils';
5
+ import { updateField } from '@verdocs/js-sdk/Templates/Fields';
6
+ import { VerdocsEndpoint } from '@verdocs/js-sdk';
5
7
  const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
6
8
  /**
7
9
  * Display a text input field.
8
10
  */
9
11
  export class VerdocsFieldTextbox {
10
12
  constructor() {
13
+ this.endpoint = VerdocsEndpoint.getDefault();
11
14
  this.templateid = '';
12
15
  this.field = null;
13
16
  this.disabled = false;
@@ -36,30 +39,42 @@ export class VerdocsFieldTextbox {
36
39
  componentDidRender() {
37
40
  interact.dynamicDrop(true);
38
41
  if (this.editable) {
39
- interact(this.resizeHandle).resizable({
42
+ interact(this.el).resizable({
43
+ edges: { top: false, bottom: false, left: true, right: true },
40
44
  listeners: {
41
- start(event) {
42
- console.log('[TEXTBOX] Resize started', event.type, event.target);
43
- },
45
+ start: this.handleResizeStart.bind(this),
44
46
  move: this.handleResize.bind(this),
45
- end(event) {
46
- console.log('[TEXTBOX] Resize end', event);
47
- },
47
+ end: this.handleResizeEnd.bind(this),
48
48
  },
49
49
  });
50
50
  }
51
51
  }
52
- handleResize(event) {
53
- console.log('[TEXTBOX] Resize', event.delta);
54
- const oldX = +(event.target.getAttribute('resizeX') || 0);
55
- const oldY = +(event.target.getAttribute('resizeY') || 0);
56
- const newX = event.dx + oldX;
57
- const newY = event.dy + oldY;
58
- this.el.style.width = `${parseFloat(this.el.style.width || '0') + event.dx}px`;
52
+ handleResizeStart(e) {
53
+ e.preventDefault();
54
+ e.stopPropagation();
55
+ }
56
+ handleResize(e) {
57
+ console.log('resize', e);
58
+ const oldX = +(e.target.getAttribute('resizeX') || 0);
59
+ const oldY = +(e.target.getAttribute('resizeY') || 0);
60
+ const newX = e.dx + oldX;
61
+ const newY = e.dy + oldY;
62
+ this.el.style.width = `${parseFloat(this.el.style.width || '0') + e.dx}px`;
59
63
  // Single line text fields are not resizeable in height
60
64
  // this.el.style.height = `${parseFloat(this.el.style.height || '0') + event.dy}px`;
61
- event.target.setAttribute('resizeX', newX);
62
- event.target.setAttribute('resizeY', newY);
65
+ e.target.setAttribute('resizeX', newX);
66
+ e.target.setAttribute('resizeY', newY);
67
+ }
68
+ handleResizeEnd(e) {
69
+ console.log('resizeEnd', e);
70
+ const resizeWidth = +(e.target.getAttribute('resizeX') || 0);
71
+ const settings = getFieldSettings(this.field);
72
+ const newWidth = (settings.width || 150) + resizeWidth;
73
+ const newSettings = { ...getFieldSettings(this.field), width: Math.round(newWidth) };
74
+ delete newSettings['result'];
75
+ updateField(this.endpoint, this.templateid, this.field.name, { setting: newSettings })
76
+ .then(() => { var _a; return (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings }); })
77
+ .catch(e => console.log('Field update failed', e));
63
78
  }
64
79
  render() {
65
80
  var _a, _b, _c, _d;
@@ -73,7 +88,7 @@ export class VerdocsFieldTextbox {
73
88
  if (this.done) {
74
89
  return h(Host, { class: { done: this.done } }, value);
75
90
  }
76
- return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: this.field.name, placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: (_d = this.field) === null || _d === void 0 ? void 0 : _d.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h("div", { class: "resizer", ref: el => (this.resizeHandle = el) }, h("div", { class: "resizer-inner" }))), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
91
+ return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: this.field.name, placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: (_d = this.field) === null || _d === void 0 ? void 0 : _d.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
77
92
  var _a;
78
93
  (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
79
94
  return this.hideSettingsPanel();
@@ -96,6 +111,27 @@ export class VerdocsFieldTextbox {
96
111
  }
97
112
  static get properties() {
98
113
  return {
114
+ "endpoint": {
115
+ "type": "unknown",
116
+ "mutable": false,
117
+ "complexType": {
118
+ "original": "VerdocsEndpoint",
119
+ "resolved": "VerdocsEndpoint",
120
+ "references": {
121
+ "VerdocsEndpoint": {
122
+ "location": "import",
123
+ "path": "@verdocs/js-sdk"
124
+ }
125
+ }
126
+ },
127
+ "required": false,
128
+ "optional": false,
129
+ "docs": {
130
+ "tags": [],
131
+ "text": "The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\nThis component self-manages its resize (width) behavior when in edit-template mode, and uses\nthis endpoint to save changes."
132
+ },
133
+ "defaultValue": "VerdocsEndpoint.getDefault()"
134
+ },
99
135
  "templateid": {
100
136
  "type": "string",
101
137
  "mutable": false,
@@ -261,9 +297,14 @@ export class VerdocsFieldTextbox {
261
297
  "text": "Event fired when the field's settings are changed."
262
298
  },
263
299
  "complexType": {
264
- "original": "{fieldName: string}",
265
- "resolved": "{ fieldName: string; }",
266
- "references": {}
300
+ "original": "{fieldName: string; settings: ITemplateFieldSetting}",
301
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
302
+ "references": {
303
+ "ITemplateFieldSetting": {
304
+ "location": "import",
305
+ "path": "@verdocs/js-sdk/Templates/Types"
306
+ }
307
+ }
267
308
  }
268
309
  }, {
269
310
  "method": "deleted",
@@ -236,9 +236,14 @@ export class VerdocsFieldTimestamp {
236
236
  "text": "Event fired when the field's settings are changed."
237
237
  },
238
238
  "complexType": {
239
- "original": "{fieldName: string}",
240
- "resolved": "{ fieldName: string; }",
241
- "references": {}
239
+ "original": "{fieldName: string; settings: ITemplateFieldSetting}",
240
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
241
+ "references": {
242
+ "ITemplateFieldSetting": {
243
+ "location": "import",
244
+ "path": "@verdocs/js-sdk/Templates/Types"
245
+ }
246
+ }
242
247
  }
243
248
  }, {
244
249
  "method": "deleted",
@@ -110,7 +110,7 @@ export class VerdocsTemplateFieldProperties {
110
110
  var _a, _b;
111
111
  this.dirty = false;
112
112
  this.updateField();
113
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName });
113
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties });
114
114
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
115
115
  })
116
116
  .catch(() => {
@@ -148,7 +148,7 @@ export class VerdocsTemplateFieldProperties {
148
148
  var _a, _b;
149
149
  this.dirty = false;
150
150
  this.updateField();
151
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName });
151
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties });
152
152
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
153
153
  })
154
154
  .catch(() => {
@@ -390,9 +390,14 @@ export class VerdocsTemplateFieldProperties {
390
390
  "text": "Event fired when the field's settings are changed."
391
391
  },
392
392
  "complexType": {
393
- "original": "{fieldName: string}",
394
- "resolved": "{ fieldName: string; }",
395
- "references": {}
393
+ "original": "{fieldName: string; settings: ITemplateFieldSetting}",
394
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
395
+ "references": {
396
+ "ITemplateFieldSetting": {
397
+ "location": "import",
398
+ "path": "@verdocs/js-sdk/Templates/Types"
399
+ }
400
+ }
396
401
  }
397
402
  }, {
398
403
  "method": "sdkError",
@@ -101,16 +101,17 @@ export class VerdocsTemplateFields {
101
101
  }
102
102
  attachFieldAttributes(pageInfo, field, roleIndex, el) {
103
103
  el.addEventListener('input', e => this.handleFieldChange(field, e));
104
- el.addEventListener('settingsChanged', () => {
104
+ el.addEventListener('settingsChanged', e => {
105
105
  var _a, _b, _c, _d;
106
+ console.log('[FIELDS] settingsChanged', e.detail);
107
+ Object.assign(field.setting, e.detail.settings);
106
108
  this.selectedRoleName = field.role_name;
107
- console.log('settings changed', this.selectedRoleName, field);
108
109
  el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.store), field.role_name));
109
110
  el.field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(f => f.name === field.name);
110
111
  this.rerender++;
111
112
  el.setAttribute('rerender', this.rerender);
112
113
  (_c = this.templateUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, template: (_d = this.store) === null || _d === void 0 ? void 0 : _d.state, event: 'updated-field' });
113
- console.log('Re-rendering field', field.name, pageInfo.pageNumber);
114
+ console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber);
114
115
  this.reRenderField(field, pageInfo.pageNumber);
115
116
  const newEl = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
116
117
  if (!newEl) {
@@ -3,7 +3,7 @@ export default {
3
3
  title: 'Templates/Fields',
4
4
  component: 'verdocs-template-fields',
5
5
  args: {
6
- templateId: '',
6
+ templateId: '90c2e63d-6b61-4dd2-a2e2-e137778f5ab5',
7
7
  },
8
8
  argTypes: {},
9
9
  parameters: {
@@ -11,7 +11,7 @@ import { d as defineCustomElement$3 } from './verdocs-dropdown2.js';
11
11
  import { d as defineCustomElement$2 } from './verdocs-envelope-recipient-summary2.js';
12
12
  import { f as format } from './index2.js';
13
13
 
14
- const verdocsEnvelopeSidebarCss = "verdocs-envelope-sidebar{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;-ms-flex:0 0 56px;flex:0 0 56px;width:56px;min-height:400px;height:100%;background:#41435e;-webkit-transition:0.5s cubic-bezier(0.35, 0, 0.25, 1);transition:0.5s cubic-bezier(0.35, 0, 0.25, 1)}verdocs-envelope-sidebar.open{-ms-flex:0 0 400px;flex:0 0 400px;width:400px}verdocs-envelope-sidebar .side-buttons{-ms-flex-direction:column;flex-direction:column;-ms-flex:0 0 56px;flex:0 0 56px;display:-ms-flexbox;display:flex}verdocs-envelope-sidebar .side-buttons button{height:50px;outline:none;border:none;border-left:2px solid transparent;background:none;width:100%}verdocs-envelope-sidebar .side-buttons button.active{border-left:2px solid #50bd80}verdocs-envelope-sidebar .side-buttons button svg{color:white;width:24px;height:24px}verdocs-envelope-sidebar .content{-ms-flex:1;flex:1;display:none;color:white;-ms-flex-direction:column;flex-direction:column;padding:12px 16px 16px}verdocs-envelope-sidebar.open .content{display:-ms-flexbox;display:flex;overflow-y:scroll}verdocs-envelope-sidebar .title{margin-bottom:12px;font-size:16px;line-height:24px;font-weight:400;-ms-flex:0;flex:0}verdocs-envelope-sidebar .label{font-size:12px;line-height:16px;color:rgba(255, 255, 255, 0.54);-ms-flex:0;flex:0}verdocs-envelope-sidebar .value{margin-bottom:14px;font-size:14px;font-weight:500;line-height:16px;color:#fff;-ms-flex:0;flex:0}verdocs-envelope-sidebar .manage-recipients-button{-ms-flex-item-align:center;align-self:center;white-space:nowrap}verdocs-envelope-sidebar .manage-recipients-button .label{color:#ffffff;font-size:14px}verdocs-envelope-sidebar .recipient-detail{-ms-flex:0;flex:0;padding:8px;position:relative;-ms-flex-direction:column;flex-direction:column;border:solid 1px #979797;margin-bottom:16px}verdocs-envelope-sidebar .recipient-header{-ms-flex-direction:row;flex-direction:row;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;place-content:center space-between;-ms-flex-align:center;align-items:center;margin-bottom:4px}verdocs-envelope-sidebar .recipient-number{width:24px;height:24px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border-radius:24px;font-size:14px;font-weight:500;margin-right:10px;border:solid 1px #979797}verdocs-envelope-sidebar .recipient-type{-ms-flex:1 1 88px;flex:1 1 88px;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:88px;min-width:88px;text-transform:capitalize}verdocs-envelope-sidebar .recipient-status{-ms-flex:1 1 100px;flex:1 1 100px;border-radius:5px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100px;min-width:100px;background-color:#616161;text-transform:capitalize}verdocs-envelope-sidebar .recipient-status.invited{background-color:#ff8f00}verdocs-envelope-sidebar .recipient-status.opened{background-color:#616161}verdocs-envelope-sidebar .recipient-status.signed,verdocs-envelope-sidebar .recipient-status.submitted{background-color:#2e7d32}verdocs-envelope-sidebar .recipient-status.pending{background-color:#0277bd}verdocs-envelope-sidebar .recipient-status.canceled,verdocs-envelope-sidebar .recipient-status.declined{background-color:#c62828}verdocs-envelope-sidebar .recipient-content{-ms-flex-direction:column;flex-direction:column}verdocs-envelope-sidebar .history-entry{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;padding:8px 0 0;margin:8px 0 0;border-top:1px solid #dddddd}verdocs-envelope-sidebar .history-entry .activity-icon{margin-right:14px}verdocs-envelope-sidebar .history-entry .activity-icon svg{width:24px;height:24px;fill:#ffffff}verdocs-envelope-sidebar .history-entry .activity-text{font-size:14px;line-height:16px;margin-bottom:4px}verdocs-envelope-sidebar .history-entry .activity-date{font-size:12px;line-height:16px;color:rgba(255, 255, 255, 0.54)}verdocs-envelope-sidebar .content .history-entry:first-of-type{border-top:none}";
14
+ const verdocsEnvelopeSidebarCss = "verdocs-envelope-sidebar{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;-ms-flex:0 0 56px;flex:0 0 56px;width:56px;min-height:400px;height:100%;background:#41435e;-webkit-transition:0.5s cubic-bezier(0.35, 0, 0.25, 1);transition:0.5s cubic-bezier(0.35, 0, 0.25, 1)}verdocs-envelope-sidebar.open{-ms-flex:0 0 400px;flex:0 0 400px;width:400px}verdocs-envelope-sidebar .side-buttons{-ms-flex-direction:column;flex-direction:column;-ms-flex:0 0 56px;flex:0 0 56px;display:-ms-flexbox;display:flex}verdocs-envelope-sidebar .side-buttons button{height:50px;outline:none;border:none;border-left:2px solid transparent;background:none;width:100%}verdocs-envelope-sidebar .side-buttons button.active{border-left:2px solid #50bd80}verdocs-envelope-sidebar .side-buttons button svg{color:white;width:24px;height:24px}verdocs-envelope-sidebar .content{-ms-flex:1;flex:1;display:none;color:white;-ms-flex-direction:column;flex-direction:column;padding:12px 16px 16px}verdocs-envelope-sidebar.open .content{display:-ms-flexbox;display:flex;overflow-y:scroll}verdocs-envelope-sidebar .title{margin-bottom:12px;font-size:16px;line-height:24px;font-weight:400;-ms-flex:0;flex:0}verdocs-envelope-sidebar .label{font-size:12px;line-height:16px;color:rgba(255, 255, 255, 0.54);-ms-flex:0;flex:0}verdocs-envelope-sidebar .value{margin-bottom:14px;font-size:14px;font-weight:500;line-height:16px;color:#fff;-ms-flex:0;flex:0}verdocs-envelope-sidebar .manage-recipients-button{-ms-flex-item-align:center;align-self:center;white-space:nowrap}verdocs-envelope-sidebar .manage-recipients-button .label{color:#ffffff;font-size:14px}verdocs-envelope-sidebar .recipient-detail{-ms-flex:0;flex:0;padding:8px;position:relative;-ms-flex-direction:column;flex-direction:column;border:solid 1px #979797;margin-bottom:16px}verdocs-envelope-sidebar .recipient-header{-ms-flex-direction:row;flex-direction:row;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;place-content:center space-between;-ms-flex-align:center;align-items:center;margin-bottom:4px}verdocs-envelope-sidebar .recipient-number{width:24px;height:24px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;border-radius:24px;font-size:14px;font-weight:500;margin-right:10px;border:solid 1px #979797}verdocs-envelope-sidebar .recipient-type{-ms-flex:1 1 88px;flex:1 1 88px;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:88px;min-width:88px;text-transform:capitalize}verdocs-envelope-sidebar .recipient-status{-ms-flex:1 1 100px;flex:1 1 100px;border-radius:5px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100px;min-width:100px;background-color:#616161;text-transform:capitalize;font-size:14px;padding:3px 0}verdocs-envelope-sidebar .recipient-status.invited{background-color:#ff8f00}verdocs-envelope-sidebar .recipient-status.opened{background-color:#616161}verdocs-envelope-sidebar .recipient-status.signed,verdocs-envelope-sidebar .recipient-status.submitted{background-color:#2e7d32}verdocs-envelope-sidebar .recipient-status.pending{background-color:#0277bd}verdocs-envelope-sidebar .recipient-status.canceled,verdocs-envelope-sidebar .recipient-status.declined{background-color:#c62828}verdocs-envelope-sidebar .recipient-content{-ms-flex-direction:column;flex-direction:column}verdocs-envelope-sidebar .history-entry{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;padding:8px 0 0;margin:8px 0 0;border-top:1px solid #dddddd}verdocs-envelope-sidebar .history-entry .activity-icon{margin-right:14px}verdocs-envelope-sidebar .history-entry .activity-icon svg{width:24px;height:24px;fill:#ffffff}verdocs-envelope-sidebar .history-entry .activity-text{font-size:14px;line-height:16px;margin-bottom:4px}verdocs-envelope-sidebar .history-entry .activity-date{font-size:12px;line-height:16px;color:rgba(255, 255, 255, 0.54)}verdocs-envelope-sidebar .content .history-entry:first-of-type{border-top:none}";
15
15
 
16
16
  const InformationCircle = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffffff"><path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" /></svg>`;
17
17
  const Users = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffffff"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z" /></svg>`;
@@ -10,7 +10,7 @@ import { d as defineCustomElement$4 } from './verdocs-select-input2.js';
10
10
  import { d as defineCustomElement$3 } from './verdocs-template-field-properties2.js';
11
11
  import { d as defineCustomElement$2 } from './verdocs-text-input2.js';
12
12
 
13
- const verdocsFieldCheckboxCss = "@charset \"UTF-8\";verdocs-field-checkbox{width:16px;height:16px;padding:1px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform-origin:bottom left;transform-origin:bottom left;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-field-checkbox.disabled{opacity:0.5}verdocs-field-checkbox label{width:14px;height:14px;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-field-checkbox label>input[type=checkbox]{display:none}verdocs-field-checkbox label>input[type=checkbox]+*::before{margin:0;content:\"\";width:14px;height:14px;display:block;line-height:14px;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #aeb4bf}verdocs-field-checkbox label>input[type=checkbox]:checked+*{color:#55bc81}verdocs-field-checkbox label>input[type=checkbox]:checked+*::before{content:\"✓\";color:white;font-size:12px;text-align:center;background:#55bc81;border-color:#55bc81}verdocs-field-checkbox.required{border:1px solid #cc0000}verdocs-field-checkbox.hide{display:none}verdocs-field-checkbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-field-checkbox verdocs-button-panel{margin-left:-20px;margin-top:-4px;-webkit-transform:scale(0.7);transform:scale(0.7)}";
13
+ const verdocsFieldCheckboxCss = "@charset \"UTF-8\";verdocs-field-checkbox{width:16px;height:16px;padding:1px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform-origin:bottom left;transform-origin:bottom left;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-field-checkbox.disabled{opacity:0.5}verdocs-field-checkbox label{width:14px;height:14px;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-field-checkbox label>input[type=checkbox]{display:none}verdocs-field-checkbox label>input[type=checkbox]+*::before{margin:0;content:\"\";width:14px;height:14px;display:block;line-height:14px;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #aeb4bf}verdocs-field-checkbox label>input[type=checkbox]:checked+*{color:#55bc81}verdocs-field-checkbox label>input[type=checkbox]:checked+*::before{content:\"✓\";color:white;font-size:12px;text-align:center;background:#55bc81;border-color:#55bc81}verdocs-field-checkbox.required{border:1px solid #cc0000}verdocs-field-checkbox.hide{display:none}verdocs-field-checkbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-field-checkbox verdocs-button-panel{display:block;margin-left:-20px;margin-top:-17px;-webkit-transform:scale(0.7);transform:scale(0.7)}";
14
14
 
15
15
  const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
16
16
  const VerdocsFieldCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -10,7 +10,7 @@ import { d as defineCustomElement$4 } from './verdocs-select-input2.js';
10
10
  import { d as defineCustomElement$3 } from './verdocs-template-field-properties2.js';
11
11
  import { d as defineCustomElement$2 } from './verdocs-text-input2.js';
12
12
 
13
- const verdocsFieldDropdownCss = "verdocs-field-dropdown{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;width:85px;height:20px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-dropdown.disabled{opacity:0.5}verdocs-field-dropdown select{position:absolute;background:linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);background-position:calc(100% - 7px) 6px, calc(100% - 3px) 6px, 100% 0;background-size:5px 5px, 5px 5px, 2.5em 2.5em;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87);font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;font-size:11px;border:1px solid rgba(0, 0, 0, 0.2);padding:0 5px}verdocs-field-dropdown select:focus{outline:none}verdocs-field-dropdown select.hide{display:none}verdocs-field-dropdown.required select{border:1px solid #cc0000}verdocs-field-dropdown.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-field-dropdown verdocs-button-panel{margin-left:-20px;margin-top:-4px;-webkit-transform:scale(0.7);transform:scale(0.7)}";
13
+ const verdocsFieldDropdownCss = "verdocs-field-dropdown{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;width:85px;height:20px;display:block;font-size:11px;position:relative;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left}verdocs-field-dropdown.disabled{opacity:0.5}verdocs-field-dropdown select{position:absolute;background:linear-gradient(55deg, transparent 50%, #333 50%), linear-gradient(125deg, #333 50%, transparent 50%), linear-gradient(to right, transparent, transparent);background-position:calc(100% - 7px) 6px, calc(100% - 3px) 6px, 100% 0;background-size:5px 5px, 5px 5px, 2.5em 2.5em;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87);font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;height:100%;width:100%;font-size:11px;border:1px solid rgba(0, 0, 0, 0.2);padding:0 5px}verdocs-field-dropdown select:focus{outline:none}verdocs-field-dropdown select.hide{display:none}verdocs-field-dropdown.required select{border:1px solid #cc0000}verdocs-field-dropdown.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-field-dropdown verdocs-button-panel{display:block;margin-left:-33px;margin-top:-1px;-webkit-transform:scale(0.7);transform:scale(0.7)}";
14
14
 
15
15
  const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
16
16
  const VerdocsFieldDropdown$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -2,6 +2,9 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { i as interact } from './interact.min.js';
3
3
  import { g as getRGBA } from './Colors.js';
4
4
  import { g as getFieldSettings } from './utils.js';
5
+ import { u as updateField } from './Fields.js';
6
+ import './Types.js';
7
+ import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
8
  import { d as defineCustomElement$9 } from './verdocs-button2.js';
6
9
  import { d as defineCustomElement$8 } from './verdocs-button-panel2.js';
7
10
  import { d as defineCustomElement$7 } from './verdocs-checkbox2.js';
@@ -11,7 +14,7 @@ import { d as defineCustomElement$4 } from './verdocs-select-input2.js';
11
14
  import { d as defineCustomElement$3 } from './verdocs-template-field-properties2.js';
12
15
  import { d as defineCustomElement$2 } from './verdocs-text-input2.js';
13
16
 
14
- const verdocsFieldTextboxCss = "verdocs-field-textbox{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;width:150px;height:15px;display:block;font-size:11px;position:relative;letter-spacing:-0.2px;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-textbox.disabled{opacity:0.5}verdocs-field-textbox input{width:100%;height:100%;border:none;outline:none;padding:0 3px;font-size:11px;background:none;font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87)}verdocs-field-textbox input.hide{display:none}verdocs-field-textbox.required{border:1px solid #cc0000}verdocs-field-textbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-field-textbox .resizer{position:absolute;bottom:1px;right:1px;width:8px;height:8px;z-index:9999}verdocs-field-textbox .resizer:hover{cursor:nwse-resize}verdocs-field-textbox .resizer .resizer-inner{position:absolute;bottom:0}verdocs-field-textbox .resizer .resizer-inner:before{position:absolute;top:-4px;left:-0.5px;content:\"\";display:block;width:10px;height:1px;background-color:rgba(0, 0, 0, 0.32);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}verdocs-field-textbox .resizer .resizer-inner:after{position:absolute;top:-1.5px;left:4.5px;content:\"\";display:block;width:5px;height:1px;background-color:rgba(0, 0, 0, 0.32);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}verdocs-field-textbox verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-textbox verdocs-button-panel[data-active],verdocs-field-textbox verdocs-button-panel:hover{opacity:1}verdocs-field-textbox verdocs-button-panel .icon svg{fill:#333333}verdocs-field-textbox verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-textbox [data-lastpass-icon-root]{display:none !important}";
17
+ const verdocsFieldTextboxCss = "verdocs-field-textbox{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;width:150px;height:15px;display:block;font-size:11px;position:relative;letter-spacing:-0.2px;background-color:transparent;-webkit-transform-origin:bottom left;transform-origin:bottom left;border:1px solid rgba(0, 0, 0, 0.2)}verdocs-field-textbox.disabled{opacity:0.5}verdocs-field-textbox input{width:100%;height:100%;border:none;outline:none;padding:0 3px;font-size:11px;background:none;font-weight:500;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0, 0, 0, 0.87)}verdocs-field-textbox input.hide{display:none}verdocs-field-textbox.required{border:1px solid #cc0000}verdocs-field-textbox.focused{-webkit-animation:verdocs-field-pulse 0.75s 2;animation:verdocs-field-pulse 0.75s 2}verdocs-field-textbox verdocs-button-panel{top:-3px;left:-2px;opacity:0.5;z-index:1000;cursor:pointer;position:absolute;-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-field-textbox verdocs-button-panel[data-active],verdocs-field-textbox verdocs-button-panel:hover{opacity:1}verdocs-field-textbox verdocs-button-panel .icon svg{fill:#333333}verdocs-field-textbox verdocs-button-panel .icon:hover svg{fill:#000000}verdocs-field-textbox [data-lastpass-icon-root]{display:none !important}";
15
18
 
16
19
  const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
17
20
  const VerdocsFieldTextbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -20,6 +23,7 @@ const VerdocsFieldTextbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
20
23
  this.__registerHost();
21
24
  this.settingsChanged = createEvent(this, "settingsChanged", 7);
22
25
  this.deleted = createEvent(this, "deleted", 7);
26
+ this.endpoint = VerdocsEndpoint.getDefault();
23
27
  this.templateid = '';
24
28
  this.field = null;
25
29
  this.disabled = false;
@@ -48,30 +52,42 @@ const VerdocsFieldTextbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
48
52
  componentDidRender() {
49
53
  interact.dynamicDrop(true);
50
54
  if (this.editable) {
51
- interact(this.resizeHandle).resizable({
55
+ interact(this.el).resizable({
56
+ edges: { top: false, bottom: false, left: true, right: true },
52
57
  listeners: {
53
- start(event) {
54
- console.log('[TEXTBOX] Resize started', event.type, event.target);
55
- },
58
+ start: this.handleResizeStart.bind(this),
56
59
  move: this.handleResize.bind(this),
57
- end(event) {
58
- console.log('[TEXTBOX] Resize end', event);
59
- },
60
+ end: this.handleResizeEnd.bind(this),
60
61
  },
61
62
  });
62
63
  }
63
64
  }
64
- handleResize(event) {
65
- console.log('[TEXTBOX] Resize', event.delta);
66
- const oldX = +(event.target.getAttribute('resizeX') || 0);
67
- const oldY = +(event.target.getAttribute('resizeY') || 0);
68
- const newX = event.dx + oldX;
69
- const newY = event.dy + oldY;
70
- this.el.style.width = `${parseFloat(this.el.style.width || '0') + event.dx}px`;
65
+ handleResizeStart(e) {
66
+ e.preventDefault();
67
+ e.stopPropagation();
68
+ }
69
+ handleResize(e) {
70
+ console.log('resize', e);
71
+ const oldX = +(e.target.getAttribute('resizeX') || 0);
72
+ const oldY = +(e.target.getAttribute('resizeY') || 0);
73
+ const newX = e.dx + oldX;
74
+ const newY = e.dy + oldY;
75
+ this.el.style.width = `${parseFloat(this.el.style.width || '0') + e.dx}px`;
71
76
  // Single line text fields are not resizeable in height
72
77
  // this.el.style.height = `${parseFloat(this.el.style.height || '0') + event.dy}px`;
73
- event.target.setAttribute('resizeX', newX);
74
- event.target.setAttribute('resizeY', newY);
78
+ e.target.setAttribute('resizeX', newX);
79
+ e.target.setAttribute('resizeY', newY);
80
+ }
81
+ handleResizeEnd(e) {
82
+ console.log('resizeEnd', e);
83
+ const resizeWidth = +(e.target.getAttribute('resizeX') || 0);
84
+ const settings = getFieldSettings(this.field);
85
+ const newWidth = (settings.width || 150) + resizeWidth;
86
+ const newSettings = { ...getFieldSettings(this.field), width: Math.round(newWidth) };
87
+ delete newSettings['result'];
88
+ updateField(this.endpoint, this.templateid, this.field.name, { setting: newSettings })
89
+ .then(() => { var _a; return (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings }); })
90
+ .catch(e => console.log('Field update failed', e));
75
91
  }
76
92
  render() {
77
93
  var _a, _b, _c, _d;
@@ -85,7 +101,7 @@ const VerdocsFieldTextbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
85
101
  if (this.done) {
86
102
  return h(Host, { class: { done: this.done } }, value);
87
103
  }
88
- return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: this.field.name, placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: (_d = this.field) === null || _d === void 0 ? void 0 : _d.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h("div", { class: "resizer", ref: el => (this.resizeHandle = el) }, h("div", { class: "resizer-inner" }))), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
104
+ return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: this.field.name, placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: (_d = this.field) === null || _d === void 0 ? void 0 : _d.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
89
105
  var _a;
90
106
  (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
91
107
  return this.hideSettingsPanel();
@@ -98,6 +114,7 @@ const VerdocsFieldTextbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
98
114
  get el() { return this; }
99
115
  static get style() { return verdocsFieldTextboxCss; }
100
116
  }, [0, "verdocs-field-textbox", {
117
+ "endpoint": [16],
101
118
  "templateid": [1],
102
119
  "field": [16],
103
120
  "disabled": [4],
@@ -7413,9 +7413,10 @@ const VerdocsStatusIndicator$1 = /*@__PURE__*/ proxyCustomElement(class extends
7413
7413
  return 'Submitted';
7414
7414
  case 'some-signed':
7415
7415
  return 'Partly Signed';
7416
- default:
7417
7416
  case 'pending':
7418
7417
  return 'Pending';
7418
+ default:
7419
+ return status;
7419
7420
  }
7420
7421
  }
7421
7422
  render() {
@@ -311,7 +311,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
311
311
  var _a, _b;
312
312
  this.dirty = false;
313
313
  this.updateField();
314
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName });
314
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties });
315
315
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
316
316
  })
317
317
  .catch(() => {
@@ -349,7 +349,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
349
349
  var _a, _b;
350
350
  this.dirty = false;
351
351
  this.updateField();
352
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName });
352
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties });
353
353
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
354
354
  })
355
355
  .catch(() => {
@@ -112,16 +112,17 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
112
112
  }
113
113
  attachFieldAttributes(pageInfo, field, roleIndex, el) {
114
114
  el.addEventListener('input', e => this.handleFieldChange(field, e));
115
- el.addEventListener('settingsChanged', () => {
115
+ el.addEventListener('settingsChanged', e => {
116
116
  var _a, _b, _c, _d;
117
+ console.log('[FIELDS] settingsChanged', e.detail);
118
+ Object.assign(field.setting, e.detail.settings);
117
119
  this.selectedRoleName = field.role_name;
118
- console.log('settings changed', this.selectedRoleName, field);
119
120
  el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.store), field.role_name));
120
121
  el.field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(f => f.name === field.name);
121
122
  this.rerender++;
122
123
  el.setAttribute('rerender', this.rerender);
123
124
  (_c = this.templateUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, template: (_d = this.store) === null || _d === void 0 ? void 0 : _d.state, event: 'updated-field' });
124
- console.log('Re-rendering field', field.name, pageInfo.pageNumber);
125
+ console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber);
125
126
  this.reRenderField(field, pageInfo.pageNumber);
126
127
  const newEl = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
127
128
  if (!newEl) {