@verdocs/web-sdk 5.0.32 → 5.0.34

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 (127) hide show
  1. package/dist/cjs/index-ccac8641.js +8 -4
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
  4. package/dist/cjs/verdocs-build.cjs.entry.js.map +1 -1
  5. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +8 -7
  6. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/{verdocs-envelope-recipient-link_2.cjs.entry.js → verdocs-envelope-recipient-link.cjs.entry.js} +1 -25
  8. package/dist/cjs/verdocs-envelope-recipient-link.cjs.entry.js.map +1 -0
  9. package/dist/cjs/{verdocs-preview_6.cjs.entry.js → verdocs-preview_7.cjs.entry.js} +146 -15
  10. package/dist/cjs/verdocs-preview_7.cjs.entry.js.map +1 -0
  11. package/dist/cjs/verdocs-switch.cjs.entry.js +32 -0
  12. package/dist/cjs/verdocs-switch.cjs.entry.js.map +1 -0
  13. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  14. package/dist/collection/collection-manifest.json +1 -0
  15. package/dist/collection/components/controls/verdocs-switch/verdocs-switch.css +2 -2
  16. package/dist/collection/components/controls/verdocs-switch/verdocs-switch.js +3 -3
  17. package/dist/collection/components/controls/verdocs-switch/verdocs-switch.js.map +1 -1
  18. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +1 -1
  19. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js.map +1 -1
  20. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +16 -16
  21. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
  22. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.css +3 -3
  23. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js +7 -6
  24. package/dist/collection/components/envelopes/verdocs-contact-picker/verdocs-contact-picker.js.map +1 -1
  25. package/dist/collection/components/templates/verdocs-template-settings/verdocs-template-settings.css +57 -0
  26. package/dist/collection/components/templates/verdocs-template-settings/verdocs-template-settings.js +282 -0
  27. package/dist/collection/components/templates/verdocs-template-settings/verdocs-template-settings.js.map +1 -0
  28. package/dist/components/index.js +2 -0
  29. package/dist/components/index.js.map +1 -1
  30. package/dist/components/{p-f4e068a9.js → p-38e1fed8.js} +4 -4
  31. package/dist/components/{p-f4e068a9.js.map → p-38e1fed8.js.map} +1 -1
  32. package/dist/components/p-7ad22da6.js +212 -0
  33. package/dist/components/p-7ad22da6.js.map +1 -0
  34. package/dist/components/{p-449f2b47.js → p-a1ba64de.js} +11 -16
  35. package/dist/components/p-a1ba64de.js.map +1 -0
  36. package/dist/components/{p-27548ebd.js → p-a443bd3a.js} +9 -8
  37. package/dist/components/{p-27548ebd.js.map → p-a443bd3a.js.map} +1 -1
  38. package/dist/components/verdocs-build.js +85 -73
  39. package/dist/components/verdocs-build.js.map +1 -1
  40. package/dist/components/verdocs-contact-picker.js +1 -1
  41. package/dist/components/verdocs-envelope-sidebar.js +1 -1
  42. package/dist/components/verdocs-send.js +1 -1
  43. package/dist/components/verdocs-switch.js +1 -1
  44. package/dist/components/verdocs-template-settings.d.ts +11 -0
  45. package/dist/components/verdocs-template-settings.js +8 -0
  46. package/dist/components/verdocs-template-settings.js.map +1 -0
  47. package/dist/custom-elements.json +14 -1
  48. package/dist/esm/index-272d51a4.js +8 -4
  49. package/dist/esm/loader.js +1 -1
  50. package/dist/esm/verdocs-build.entry.js +1 -1
  51. package/dist/esm/verdocs-build.entry.js.map +1 -1
  52. package/dist/esm/verdocs-contact-picker_2.entry.js +8 -7
  53. package/dist/esm/verdocs-contact-picker_2.entry.js.map +1 -1
  54. package/dist/esm/{verdocs-envelope-recipient-link_2.entry.js → verdocs-envelope-recipient-link.entry.js} +2 -25
  55. package/dist/esm/verdocs-envelope-recipient-link.entry.js.map +1 -0
  56. package/dist/esm/{verdocs-preview_6.entry.js → verdocs-preview_7.entry.js} +147 -17
  57. package/dist/esm/verdocs-preview_7.entry.js.map +1 -0
  58. package/dist/esm/verdocs-switch.entry.js +28 -0
  59. package/dist/esm/verdocs-switch.entry.js.map +1 -0
  60. package/dist/esm/verdocs-web-sdk.js +1 -1
  61. package/dist/esm-es5/index-272d51a4.js +1 -1
  62. package/dist/esm-es5/index-272d51a4.js.map +1 -1
  63. package/dist/esm-es5/loader.js +1 -1
  64. package/dist/esm-es5/loader.js.map +1 -1
  65. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  66. package/dist/esm-es5/verdocs-build.entry.js.map +1 -1
  67. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  68. package/dist/esm-es5/verdocs-contact-picker_2.entry.js.map +1 -1
  69. package/dist/esm-es5/{verdocs-envelope-recipient-link_2.entry.js → verdocs-envelope-recipient-link.entry.js} +2 -2
  70. package/dist/esm-es5/verdocs-envelope-recipient-link.entry.js.map +1 -0
  71. package/dist/esm-es5/verdocs-preview_7.entry.js +8 -0
  72. package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -0
  73. package/dist/esm-es5/verdocs-switch.entry.js +2 -0
  74. package/dist/esm-es5/verdocs-switch.entry.js.map +1 -0
  75. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  76. package/dist/esm-es5/verdocs-web-sdk.js.map +1 -1
  77. package/dist/types/components/controls/verdocs-switch/verdocs-switch.d.ts +1 -1
  78. package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +3 -2
  79. package/dist/types/components/templates/verdocs-template-settings/verdocs-template-settings.d.ts +55 -0
  80. package/dist/types/components.d.ts +81 -6
  81. package/dist/verdocs-web-sdk/p-09460960.entry.js +8 -0
  82. package/dist/verdocs-web-sdk/p-09460960.entry.js.map +1 -0
  83. package/dist/verdocs-web-sdk/p-17457a7a.entry.js +2 -0
  84. package/dist/verdocs-web-sdk/p-17457a7a.entry.js.map +1 -0
  85. package/dist/verdocs-web-sdk/p-21e9abff.system.entry.js +2 -0
  86. package/dist/verdocs-web-sdk/p-21e9abff.system.entry.js.map +1 -0
  87. package/dist/verdocs-web-sdk/p-27ddc017.system.entry.js +2 -0
  88. package/dist/verdocs-web-sdk/p-27ddc017.system.entry.js.map +1 -0
  89. package/dist/verdocs-web-sdk/p-5df005a9.system.entry.js +8 -0
  90. package/dist/verdocs-web-sdk/p-5df005a9.system.entry.js.map +1 -0
  91. package/dist/verdocs-web-sdk/p-69527aaf.system.entry.js +2 -0
  92. package/dist/verdocs-web-sdk/p-69527aaf.system.entry.js.map +1 -0
  93. package/dist/verdocs-web-sdk/{p-6f1e2f2f.entry.js → p-8e699235.entry.js} +2 -2
  94. package/dist/verdocs-web-sdk/p-8e699235.entry.js.map +1 -0
  95. package/dist/verdocs-web-sdk/p-a1aefbfc.entry.js +2 -0
  96. package/dist/verdocs-web-sdk/p-a1aefbfc.entry.js.map +1 -0
  97. package/dist/verdocs-web-sdk/{p-cabfdb9d.system.entry.js → p-a63b359e.system.entry.js} +2 -2
  98. package/dist/verdocs-web-sdk/p-a63b359e.system.entry.js.map +1 -0
  99. package/dist/verdocs-web-sdk/p-dddd328d.entry.js +2 -0
  100. package/dist/verdocs-web-sdk/p-dddd328d.entry.js.map +1 -0
  101. package/dist/verdocs-web-sdk/p-e2b70dfb.system.js +1 -1
  102. package/dist/verdocs-web-sdk/p-e2b70dfb.system.js.map +1 -1
  103. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  104. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js.map +1 -1
  105. package/package.json +1 -1
  106. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js.map +0 -1
  107. package/dist/cjs/verdocs-preview_6.cjs.entry.js.map +0 -1
  108. package/dist/components/p-449f2b47.js.map +0 -1
  109. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js.map +0 -1
  110. package/dist/esm/verdocs-preview_6.entry.js.map +0 -1
  111. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js.map +0 -1
  112. package/dist/esm-es5/verdocs-preview_6.entry.js +0 -8
  113. package/dist/esm-es5/verdocs-preview_6.entry.js.map +0 -1
  114. package/dist/verdocs-web-sdk/p-0666fb5d.system.entry.js +0 -8
  115. package/dist/verdocs-web-sdk/p-0666fb5d.system.entry.js.map +0 -1
  116. package/dist/verdocs-web-sdk/p-6f1e2f2f.entry.js.map +0 -1
  117. package/dist/verdocs-web-sdk/p-8d7d61ee.system.entry.js +0 -2
  118. package/dist/verdocs-web-sdk/p-8d7d61ee.system.entry.js.map +0 -1
  119. package/dist/verdocs-web-sdk/p-b9fee1a7.entry.js +0 -2
  120. package/dist/verdocs-web-sdk/p-b9fee1a7.entry.js.map +0 -1
  121. package/dist/verdocs-web-sdk/p-cabfdb9d.system.entry.js.map +0 -1
  122. package/dist/verdocs-web-sdk/p-d58010a4.entry.js +0 -2
  123. package/dist/verdocs-web-sdk/p-d58010a4.entry.js.map +0 -1
  124. package/dist/verdocs-web-sdk/p-e3efeb57.system.entry.js +0 -2
  125. package/dist/verdocs-web-sdk/p-e3efeb57.system.entry.js.map +0 -1
  126. package/dist/verdocs-web-sdk/p-f81f766c.entry.js +0 -8
  127. package/dist/verdocs-web-sdk/p-f81f766c.entry.js.map +0 -1
@@ -210,7 +210,7 @@ const VerdocsSend = class {
210
210
  }
211
211
  });
212
212
  }
213
- getLevels() {
213
+ getSequenceNumbers() {
214
214
  var _a;
215
215
  // TODO: This is cleaner with a Set but we found a regression in some target environments where
216
216
  // this breaks down. Reverting to an older technique while we diagnose it.
@@ -218,9 +218,8 @@ const VerdocsSend = class {
218
218
  (((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || []).forEach(role => {
219
219
  sequences[role.sequence] = true;
220
220
  });
221
- console.log('[SEND] Sequences', sequences);
222
221
  return Object.keys(sequences)
223
- .map(s => +s - 1) // We subtract 1 here because the sequence is 1-based and our rendering is 0-based
222
+ .map(s => +s)
224
223
  .sort((a, b) => a - b);
225
224
  // const levels = [...new Set((this.template?.roles || []).map(role => role.sequence - 1))];
226
225
  // levels.sort((a, b) => a - b);
@@ -229,7 +228,7 @@ const VerdocsSend = class {
229
228
  getRolesAtLevel(level) {
230
229
  var _a;
231
230
  const rolesAtLevel = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || [])
232
- .filter(role => role.sequence - 1 === level)
231
+ .filter(role => role.sequence === level)
233
232
  .map((role, index) => ({
234
233
  ...role,
235
234
  id: `r-${level}-${index}`,
@@ -240,11 +239,10 @@ const VerdocsSend = class {
240
239
  return rolesAtLevel;
241
240
  }
242
241
  getLevelIcon(level) {
243
- const levels = this.getLevels();
244
- if (level < 0) {
242
+ if (level === 'start') {
245
243
  return index$1.h("div", { class: "level-icon", innerHTML: startIcon });
246
244
  }
247
- else if (level >= levels.length) {
245
+ else if (level === 'end') {
248
246
  return index$1.h("div", { class: "level-icon", innerHTML: doneIcon });
249
247
  }
250
248
  else {
@@ -280,7 +278,7 @@ const VerdocsSend = class {
280
278
  // TODO: Pre-filled fields support
281
279
  fields: [],
282
280
  };
283
- const beforeSendResult = this.beforeSend.emit({ ...details, name: details.name });
281
+ const beforeSendResult = this.beforeSend.emit({ ...details, name: details.name, template: this.template });
284
282
  if (beforeSendResult.defaultPrevented) {
285
283
  console.log('[SEND] Send cancelled by parent', details);
286
284
  this.sending = false;
@@ -316,16 +314,13 @@ const VerdocsSend = class {
316
314
  if (!this.endpoint.session) {
317
315
  return (index$1.h(index$1.Host, { style: { display: 'flex' } }, index$1.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
318
316
  }
319
- const levels = this.getLevels();
317
+ const levels = this.getSequenceNumbers();
320
318
  console.log('[SEND] Rendering levels', levels);
321
319
  const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => jsSdk.isValidEmail(recipient.email) && recipient.first_name && recipient.last_name);
322
320
  // TODO: Reactivate once SMS is re-enabled
323
321
  // const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) || isValidPhone(recipient.phone));
324
322
  const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;
325
- return (index$1.h(index$1.Host, { class: { sendable: (_a = this.template) === null || _a === void 0 ? void 0 : _a.is_sendable } }, index$1.h("div", { class: "recipients" }, index$1.h("div", { class: "left-line" }), index$1.h("div", { class: `level level-start` }, this.getLevelIcon(-1), index$1.h("div", { class: "complete" }, "Send Envelope")), levels.map(level => (index$1.h("div", { class: `level level-${level}` }, this.getLevelIcon(level), () => {
326
- console.log('Rendering level', level, this.getRolesAtLevel(level));
327
- return '';
328
- }, this.getRolesAtLevel(level).map(role => {
323
+ return (index$1.h(index$1.Host, { class: { sendable: (_a = this.template) === null || _a === void 0 ? void 0 : _a.is_sendable } }, index$1.h("div", { class: "recipients" }, index$1.h("div", { class: "left-line" }), index$1.h("div", { class: `level level-start` }, this.getLevelIcon('start'), index$1.h("div", { class: "complete" }, "Send Envelope")), levels.map(level => (index$1.h("div", { class: `level level-${level}` }, this.getLevelIcon('sequence'), this.getRolesAtLevel(level).map(role => {
329
324
  var _a, _b, _c;
330
325
  const unknown = !role.email || !role.first_name || !role.last_name;
331
326
  const roleName = ((_a = this.rolesCompleted[role.id]) === null || _a === void 0 ? void 0 : _a.first_name) ? jsSdk.formatFullName(this.rolesCompleted[role.id]) : unknown ? role.role_name : jsSdk.formatFullName(role);
@@ -338,7 +333,7 @@ const VerdocsSend = class {
338
333
  border: completed ? '2px solid #55bc81' : '2px solid #dddddd',
339
334
  };
340
335
  return unknown ? (index$1.h("div", { class: "recipient", "data-ri": roleIndex, "data-rn": role.role_name, style: style, onClick: e => this.handleClickRole(e, role), id: elId }, roleName, index$1.h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (index$1.h("verdocs-portal", { anchor: elId, onClickAway: () => (this.showPickerForId = '') }, index$1.h("verdocs-contact-picker", { onExit: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: (_b = this.rolesCompleted[role.id]) !== null && _b !== void 0 ? _b : role, onSearchContacts: e => { var _a; return (_a = this.searchContacts) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } }))))) : (index$1.h("div", { class: "recipient", "data-ri": roleIndex, "data-rn": role.role_name, style: style, onClick: e => this.handleClickRole(e, role), id: elId }, roleName, index$1.h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (index$1.h("verdocs-portal", { anchor: elId, onClickAway: () => (this.showPickerForId = '') }, index$1.h("verdocs-contact-picker", { onExit: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: ((_c = this.rolesCompleted[role.id]) !== null && _c !== void 0 ? _c : role), onSearchContacts: e => { var _a; return (_a = this.searchContacts) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } })))));
341
- })))), index$1.h("div", { class: `level level-done` }, this.getLevelIcon(levels.length), index$1.h("div", { class: "complete" }, "Signing Complete"))), index$1.h("div", { class: "buttons" }, index$1.h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e), disabled: this.sending }), index$1.h("verdocs-button", { label: "Send", size: "small", disabled: !allRolesAssigned || this.sending, onClick: e => this.handleSend(e) }), this.sending && index$1.h("verdocs-spinner", null))));
336
+ })))), index$1.h("div", { class: `level level-done` }, this.getLevelIcon('end'), index$1.h("div", { class: "complete" }, "Signing Complete"))), index$1.h("div", { class: "buttons" }, index$1.h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e), disabled: this.sending }), index$1.h("verdocs-button", { label: "Send", size: "small", disabled: !allRolesAssigned || this.sending, onClick: e => this.handleSend(e) }), this.sending && index$1.h("verdocs-spinner", null))));
342
337
  }
343
338
  static get watchers() { return {
344
339
  "templateId": ["onTemplateIdChanged"]
@@ -3909,11 +3904,147 @@ const VerdocsTemplateRoles = class {
3909
3904
  };
3910
3905
  VerdocsTemplateRoles.style = VerdocsTemplateRolesStyle0;
3911
3906
 
3907
+ const verdocsTemplateSettingsCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-template-settings{display:block;max-width:600px;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-settings>form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#ffffff;padding:12px}verdocs-template-settings>form h5{font-size:16px;font-weight:bold;color:#46497d;margin:0 0 10px 0}verdocs-template-settings>form label{display:block;font-size:14px;font-weight:500;margin:0 0 4px 0;color:#5c6575}verdocs-template-settings>form input{border:none;font-size:18px;padding:3px 6px 3px 0;background:transparent;border-bottom:1px solid #33364b}verdocs-template-settings>form input:focus{outline:none}verdocs-template-settings>form .row{margin:20px 0 0 0}verdocs-template-settings .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin-top:16px;-ms-flex-direction:row;flex-direction:row}verdocs-template-settings ::-webkit-input-placeholder{color:#aaaaaa}verdocs-template-settings ::-moz-placeholder{color:#aaaaaa}verdocs-template-settings :-ms-input-placeholder{color:#aaaaaa}verdocs-template-settings ::-ms-input-placeholder{color:#aaaaaa}verdocs-template-settings ::placeholder{color:#aaaaaa}";
3908
+ const VerdocsTemplateSettingsStyle0 = verdocsTemplateSettingsCss;
3909
+
3910
+ const MS_PER_DAY = 24 * 60 * 60 * 1000;
3911
+ const VerdocsTemplateSettings = class {
3912
+ constructor(hostRef) {
3913
+ index$1.registerInstance(this, hostRef);
3914
+ this.next = index$1.createEvent(this, "next", 7);
3915
+ this.exit = index$1.createEvent(this, "exit", 7);
3916
+ this.sdkError = index$1.createEvent(this, "sdkError", 7);
3917
+ this.templateUpdated = index$1.createEvent(this, "templateUpdated", 7);
3918
+ this.templateListenerId = null;
3919
+ this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
3920
+ this.templateId = '';
3921
+ this.name = null;
3922
+ this.visibility = 'private';
3923
+ this.sender = 'envelope_creator';
3924
+ this.sendReminders = false;
3925
+ this.initialReminder = 0;
3926
+ this.followupReminders = 0;
3927
+ this.dirty = false;
3928
+ this.loading = true;
3929
+ this.template = null;
3930
+ }
3931
+ disconnectedCallback() {
3932
+ this.unlistenToTemplate();
3933
+ }
3934
+ async listenToTemplate() {
3935
+ console.log('[SETTINGS] Loading template', this.templateId);
3936
+ this.unlistenToTemplate();
3937
+ Datastore.Store.subscribe('templates', this.templateId, () => jsSdk.getTemplate(this.endpoint, this.templateId), false, (template) => {
3938
+ console.log('[SETTINGS] Template Updated', template);
3939
+ this.template = template;
3940
+ this.name = template.name;
3941
+ this.visibility = template.visibility;
3942
+ this.sender = template.sender;
3943
+ this.sendReminders = template.initial_reminder !== null;
3944
+ this.initialReminder = template.initial_reminder ? Math.floor(template.initial_reminder / MS_PER_DAY) : null;
3945
+ this.followupReminders = template.followup_reminders ? Math.floor(template.followup_reminders / MS_PER_DAY) : null;
3946
+ this.dirty = false;
3947
+ this.loading = false;
3948
+ });
3949
+ }
3950
+ unlistenToTemplate() {
3951
+ if (this.templateListenerId) {
3952
+ Datastore.Store.store.delListener(this.templateListenerId);
3953
+ this.templateListenerId = null;
3954
+ }
3955
+ }
3956
+ async componentWillLoad() {
3957
+ var _a, _b, _c;
3958
+ try {
3959
+ this.endpoint.loadSession();
3960
+ if (!this.templateId) {
3961
+ console.log(`[SETTINGS] Missing required template ID ${this.templateId}`);
3962
+ return;
3963
+ }
3964
+ if (!this.endpoint.session) {
3965
+ console.log('[SETTINGS] Unable to start builder session, must be authenticated');
3966
+ return;
3967
+ }
3968
+ this.listenToTemplate();
3969
+ }
3970
+ catch (e) {
3971
+ console.log('[SETTINGS] Error with preview session', e);
3972
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
3973
+ }
3974
+ }
3975
+ handleCancel() {
3976
+ var _a;
3977
+ (_a = this.exit) === null || _a === void 0 ? void 0 : _a.emit();
3978
+ }
3979
+ handleSubmit() {
3980
+ jsSdk.updateTemplate(this.endpoint, this.templateId, {
3981
+ name: this.name,
3982
+ visibility: this.visibility,
3983
+ sender: this.sender,
3984
+ initial_reminder: this.sendReminders ? this.initialReminder * MS_PER_DAY : null,
3985
+ followup_reminders: this.sendReminders ? this.followupReminders * MS_PER_DAY : null,
3986
+ })
3987
+ .then(template => {
3988
+ var _a, _b;
3989
+ console.log('[SETTINGS] Template Updated', template);
3990
+ this.dirty = false;
3991
+ this.name = template.name;
3992
+ this.visibility = template.visibility;
3993
+ this.sender = template.sender;
3994
+ this.sendReminders = template.initial_reminder !== null;
3995
+ this.initialReminder = template.initial_reminder ? Math.floor(template.initial_reminder / MS_PER_DAY) : null;
3996
+ this.followupReminders = template.followup_reminders ? Math.floor(template.followup_reminders / MS_PER_DAY) : null;
3997
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template, event: 'update' });
3998
+ (_b = this.next) === null || _b === void 0 ? void 0 : _b.emit();
3999
+ })
4000
+ .catch(e => {
4001
+ var _a, _b, _c, _d, _e;
4002
+ console.log('[SETTINGS] Error updating template', e);
4003
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
4004
+ Toast.VerdocsToast(((_e = (_d = e.response) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.error) || 'Error updating template, please try again later.');
4005
+ });
4006
+ }
4007
+ render() {
4008
+ if (!this.endpoint.session) {
4009
+ return (index$1.h(index$1.Host, null, index$1.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
4010
+ }
4011
+ if (this.loading || !this.template) {
4012
+ return (index$1.h(index$1.Host, { class: "loading" }, index$1.h("verdocs-loader", null)));
4013
+ }
4014
+ return (index$1.h(index$1.Host, null, index$1.h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, index$1.h("h5", null, "Settings"), index$1.h("div", { class: "row" }, index$1.h("verdocs-text-input", { id: "verdocs-field-name", label: "Template Name", value: this.name, autocomplete: "off", placeholder: "Template Name...", onInput: (e) => {
4015
+ this.name = e.target.value;
4016
+ this.dirty = true;
4017
+ } })), index$1.h("div", { class: "row" }, index$1.h("verdocs-select-input", { label: "Visibility", value: this.visibility, onInput: (e) => {
4018
+ this.visibility = e.target.value;
4019
+ this.dirty = true;
4020
+ }, options: [
4021
+ { value: 'private', label: 'Private' },
4022
+ { value: 'shared', label: 'Shared' },
4023
+ { value: 'public', label: 'Public' },
4024
+ ] })), index$1.h("div", { class: "row" }, index$1.h("verdocs-select-input", { label: "Owner for envelopes created from this template", value: this.sender, onInput: (e) => {
4025
+ this.sender = e.target.value;
4026
+ this.dirty = true;
4027
+ }, options: [
4028
+ { value: 'envelope_creator', label: 'Envelope Creator' },
4029
+ { value: 'template_owner', label: 'Template Owner' },
4030
+ ] })), index$1.h("div", { class: "row" }, index$1.h("label", null, "Send Reminders"), index$1.h("verdocs-switch", { checked: this.sendReminders, onCheckedChange: e => (this.sendReminders = e.detail) })), this.sendReminders && (index$1.h("div", { class: "row" }, index$1.h("verdocs-text-input", { id: "verdocs-field-name", label: "First Reminder (days)", value: String(this.initialReminder || 0), autocomplete: "off", placeholder: "Delay in days...", onInput: (e) => {
4031
+ this.initialReminder = +e.target.value;
4032
+ this.dirty = true;
4033
+ } }))), this.sendReminders && (index$1.h("div", { class: "row" }, index$1.h("verdocs-text-input", { id: "verdocs-field-name", label: "Follow-up Reminders (days)", value: String(this.followupReminders || 0), autocomplete: "off", placeholder: "Delay in days...", onInput: (e) => {
4034
+ this.followupReminders = +e.target.value;
4035
+ this.dirty = true;
4036
+ } }))), index$1.h("div", { class: "buttons" }, index$1.h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: () => this.handleCancel() }), index$1.h("verdocs-button", { label: "Save", size: "small", onClick: () => this.handleSubmit(), disabled: !this.dirty })))));
4037
+ }
4038
+ get el() { return index$1.getElement(this); }
4039
+ };
4040
+ VerdocsTemplateSettings.style = VerdocsTemplateSettingsStyle0;
4041
+
3912
4042
  exports.verdocs_preview = VerdocsPreview;
3913
4043
  exports.verdocs_send = VerdocsSend;
3914
4044
  exports.verdocs_template_attachments = VerdocsTemplateAttachments;
3915
4045
  exports.verdocs_template_build_tabs = VerdocsTemplateBuildTabs;
3916
4046
  exports.verdocs_template_fields = VerdocsTemplateFields;
3917
4047
  exports.verdocs_template_roles = VerdocsTemplateRoles;
4048
+ exports.verdocs_template_settings = VerdocsTemplateSettings;
3918
4049
 
3919
- //# sourceMappingURL=verdocs-preview_6.cjs.entry.js.map
4050
+ //# sourceMappingURL=verdocs-preview_7.cjs.entry.js.map