@verdocs/web-sdk 2.2.21 → 2.2.23

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 (184) hide show
  1. package/dist/cjs/{TemplateStore-66577b50.js → TemplateStore-a5fa2b0c.js} +1 -1
  2. package/dist/cjs/{VerdocsEndpoint-a2dc85ad.js → VerdocsEndpoint-45deeb6a.js} +2 -2
  3. package/dist/cjs/ipc-test.cjs.entry.js +2 -2
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/verdocs-activity-box.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-build.cjs.entry.js +24 -77
  8. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +2 -2
  9. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -0
  11. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
  13. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  14. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  15. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +1 -1
  16. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +1 -1
  17. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  18. package/dist/cjs/{verdocs-preview_7.cjs.entry.js → verdocs-preview_8.cjs.entry.js} +96 -2
  19. package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-search.cjs.entry.js +1 -1
  21. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -1
  22. package/dist/cjs/verdocs-settings.cjs.entry.js +1 -1
  23. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-tabs.cjs.entry.js +0 -8
  25. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +11 -5
  27. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  28. package/dist/cjs/verdocs-templates-list.cjs.entry.js +1 -1
  29. package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  31. package/dist/collection/collection-manifest.json +1 -0
  32. package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +1 -0
  33. package/dist/collection/components/controls/verdocs-tabs/verdocs-tabs.js +5 -17
  34. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +25 -38
  35. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.css +25 -0
  36. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.js +219 -0
  37. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.stories.js +16 -0
  38. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +9 -3
  39. package/dist/components/VerdocsEndpoint.js +1 -1
  40. package/dist/components/index.d.ts +1 -0
  41. package/dist/components/index.js +1 -0
  42. package/dist/components/verdocs-build.js +61 -109
  43. package/dist/components/verdocs-dropdown2.js +1 -0
  44. package/dist/components/verdocs-tabs2.js +1 -10
  45. package/dist/components/verdocs-template-build-tabs.d.ts +11 -0
  46. package/dist/components/verdocs-template-build-tabs.js +6 -0
  47. package/dist/components/verdocs-template-build-tabs2.js +132 -0
  48. package/dist/components/verdocs-template-roles2.js +9 -3
  49. package/dist/custom-elements.json +37 -3
  50. package/dist/docs.json +137 -11
  51. package/dist/esm/{TemplateStore-3c138524.js → TemplateStore-e8cf5a15.js} +1 -1
  52. package/dist/esm/{VerdocsEndpoint-6fe4258b.js → VerdocsEndpoint-d58d5544.js} +1 -1
  53. package/dist/esm/ipc-test.entry.js +2 -2
  54. package/dist/esm/loader.js +1 -1
  55. package/dist/esm/verdocs-activity-box.entry.js +1 -1
  56. package/dist/esm/verdocs-auth.entry.js +1 -1
  57. package/dist/esm/verdocs-build.entry.js +25 -78
  58. package/dist/esm/verdocs-button-panel_2.entry.js +2 -2
  59. package/dist/esm/verdocs-contact-picker_2.entry.js +1 -1
  60. package/dist/esm/verdocs-dropdown.entry.js +1 -0
  61. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  62. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  63. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  64. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  65. package/dist/esm/verdocs-field-textarea.entry.js +1 -1
  66. package/dist/esm/verdocs-field-textbox.entry.js +1 -1
  67. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  68. package/dist/esm/{verdocs-preview_7.entry.js → verdocs-preview_8.entry.js} +96 -3
  69. package/dist/esm/verdocs-quick-functions_3.entry.js +1 -1
  70. package/dist/esm/verdocs-search.entry.js +1 -1
  71. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
  72. package/dist/esm/verdocs-settings.entry.js +1 -1
  73. package/dist/esm/verdocs-sign.entry.js +1 -1
  74. package/dist/esm/verdocs-tabs.entry.js +0 -8
  75. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  76. package/dist/esm/verdocs-template-fields_4.entry.js +11 -5
  77. package/dist/esm/verdocs-template-star.entry.js +1 -1
  78. package/dist/esm/verdocs-templates-list.entry.js +1 -1
  79. package/dist/esm/verdocs-view.entry.js +1 -1
  80. package/dist/esm/verdocs-web-sdk.js +1 -1
  81. package/dist/esm-es5/{TemplateStore-3c138524.js → TemplateStore-e8cf5a15.js} +1 -1
  82. package/dist/esm-es5/{VerdocsEndpoint-6fe4258b.js → VerdocsEndpoint-d58d5544.js} +1 -1
  83. package/dist/esm-es5/ipc-test.entry.js +1 -1
  84. package/dist/esm-es5/loader.js +1 -1
  85. package/dist/esm-es5/verdocs-activity-box.entry.js +1 -1
  86. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  87. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  88. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  89. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  90. package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
  91. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  92. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  93. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  94. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  95. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  96. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  97. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  98. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -0
  99. package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
  100. package/dist/esm-es5/verdocs-search.entry.js +1 -1
  101. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  102. package/dist/esm-es5/verdocs-settings.entry.js +1 -1
  103. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  104. package/dist/esm-es5/verdocs-tabs.entry.js +1 -1
  105. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  106. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  107. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  108. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  109. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  110. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  111. package/dist/types/components/controls/verdocs-tabs/verdocs-tabs.d.ts +3 -5
  112. package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +5 -4
  113. package/dist/types/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.d.ts +39 -0
  114. package/dist/types/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.stories.d.ts +8 -0
  115. package/dist/types/components/templates/verdocs-template-roles/verdocs-template-roles.d.ts +1 -0
  116. package/dist/types/components.d.ts +56 -6
  117. package/dist/verdocs-web-sdk/{p-963f6e05.system.entry.js → p-07696831.system.entry.js} +1 -1
  118. package/dist/verdocs-web-sdk/{p-8eb640c4.system.entry.js → p-07b5f356.system.entry.js} +1 -1
  119. package/dist/verdocs-web-sdk/{p-957e1e4e.entry.js → p-0b2102df.entry.js} +1 -1
  120. package/dist/verdocs-web-sdk/{p-ec9f11dc.system.entry.js → p-0df9e6e1.system.entry.js} +1 -1
  121. package/dist/verdocs-web-sdk/p-15df3998.system.entry.js +1 -0
  122. package/dist/verdocs-web-sdk/{p-724d4efa.system.js → p-1753f57b.system.js} +1 -1
  123. package/dist/verdocs-web-sdk/p-1dda2d09.entry.js +1 -0
  124. package/dist/verdocs-web-sdk/{p-7fb8387d.system.entry.js → p-21e137f0.system.entry.js} +1 -1
  125. package/dist/verdocs-web-sdk/{p-1ab8f7f6.system.entry.js → p-2284d430.system.entry.js} +1 -1
  126. package/dist/verdocs-web-sdk/{p-49777798.system.entry.js → p-2549a794.system.entry.js} +1 -1
  127. package/dist/verdocs-web-sdk/{p-353c7ff6.system.entry.js → p-272933c6.system.entry.js} +1 -1
  128. package/dist/verdocs-web-sdk/{p-53fb6c8c.entry.js → p-2b6e4f2a.entry.js} +1 -1
  129. package/dist/verdocs-web-sdk/{p-a06f6e8e.entry.js → p-3a90098d.entry.js} +1 -1
  130. package/dist/verdocs-web-sdk/{p-4a3f9e45.entry.js → p-3da4fed1.entry.js} +1 -1
  131. package/dist/verdocs-web-sdk/{p-3a5d8085.system.entry.js → p-4017b53a.system.entry.js} +1 -1
  132. package/dist/verdocs-web-sdk/{p-f867f61b.entry.js → p-428de4a5.entry.js} +1 -1
  133. package/dist/verdocs-web-sdk/{p-6c4de84c.entry.js → p-42f27e8c.entry.js} +1 -1
  134. package/dist/verdocs-web-sdk/p-4422958b.system.js +1 -0
  135. package/dist/verdocs-web-sdk/{p-71d6e1c3.system.entry.js → p-45bee3f6.system.entry.js} +1 -1
  136. package/dist/verdocs-web-sdk/{p-92e3d974.system.entry.js → p-45d5e035.system.entry.js} +1 -1
  137. package/dist/verdocs-web-sdk/{p-0fa99a06.system.entry.js → p-48c62137.system.entry.js} +1 -1
  138. package/dist/verdocs-web-sdk/{p-79c09ffc.system.entry.js → p-506754d5.system.entry.js} +1 -1
  139. package/dist/verdocs-web-sdk/{p-79410da3.entry.js → p-51979353.entry.js} +1 -1
  140. package/dist/verdocs-web-sdk/{p-2cb422a2.entry.js → p-5ab837bf.entry.js} +1 -1
  141. package/dist/verdocs-web-sdk/p-65c99d51.system.entry.js +1 -0
  142. package/dist/verdocs-web-sdk/{p-96fb90bd.system.entry.js → p-66cec042.system.entry.js} +1 -1
  143. package/dist/verdocs-web-sdk/{p-f732abf1.entry.js → p-6ccb86b6.entry.js} +1 -1
  144. package/dist/verdocs-web-sdk/p-6f1e794d.system.entry.js +1 -0
  145. package/dist/verdocs-web-sdk/p-70685224.entry.js +1 -0
  146. package/dist/verdocs-web-sdk/{p-58c8584e.entry.js → p-77ecee31.entry.js} +1 -1
  147. package/dist/verdocs-web-sdk/{p-b3b370b5.entry.js → p-78e4f430.entry.js} +1 -1
  148. package/dist/verdocs-web-sdk/{p-6734b77c.entry.js → p-79b0c643.entry.js} +1 -1
  149. package/dist/verdocs-web-sdk/{p-c26d3d7b.system.entry.js → p-7bd5db75.system.entry.js} +1 -1
  150. package/dist/verdocs-web-sdk/{p-5ed21587.entry.js → p-84efd562.entry.js} +1 -1
  151. package/dist/verdocs-web-sdk/{p-b3706eb2.system.entry.js → p-883d60e1.system.entry.js} +1 -1
  152. package/dist/verdocs-web-sdk/p-8d14ace0.entry.js +1 -0
  153. package/dist/verdocs-web-sdk/{p-87c527e4.entry.js → p-9009e136.entry.js} +1 -1
  154. package/dist/verdocs-web-sdk/{p-a41a8742.entry.js → p-965b66a8.entry.js} +1 -1
  155. package/dist/verdocs-web-sdk/{p-99c8acfa.system.entry.js → p-a0ad315e.system.entry.js} +1 -1
  156. package/dist/verdocs-web-sdk/{p-d56ac75b.entry.js → p-a1e82d5a.entry.js} +1 -1
  157. package/dist/verdocs-web-sdk/{p-a8aefe57.system.entry.js → p-a894761f.system.entry.js} +1 -1
  158. package/dist/verdocs-web-sdk/{p-ab7df219.system.entry.js → p-aba05f25.system.entry.js} +1 -1
  159. package/dist/verdocs-web-sdk/{p-c488219f.entry.js → p-ad273610.entry.js} +1 -1
  160. package/dist/verdocs-web-sdk/{p-1e48cc2c.system.entry.js → p-ae971bb4.system.entry.js} +1 -1
  161. package/dist/verdocs-web-sdk/{p-53276c5b.js → p-af048fad.js} +1 -1
  162. package/dist/verdocs-web-sdk/{p-ec06b3d1.entry.js → p-ba04698a.entry.js} +1 -1
  163. package/dist/verdocs-web-sdk/{p-55f66c83.entry.js → p-bbd400a5.entry.js} +1 -1
  164. package/dist/verdocs-web-sdk/p-c230e3d1.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/{p-38031118.system.entry.js → p-cd64b223.system.entry.js} +1 -1
  166. package/dist/verdocs-web-sdk/{p-e36c7481.entry.js → p-d4aec860.entry.js} +1 -1
  167. package/dist/verdocs-web-sdk/{p-2c5e2d73.js → p-d4d8858f.js} +1 -1
  168. package/dist/verdocs-web-sdk/{p-a6d93251.entry.js → p-e40dd4d1.entry.js} +1 -1
  169. package/dist/verdocs-web-sdk/{p-f8210aa7.system.entry.js → p-edabba6b.system.entry.js} +1 -1
  170. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  171. package/dist/verdocs-web-sdk/{p-994623c4.entry.js → p-f2deae25.entry.js} +1 -1
  172. package/dist/verdocs-web-sdk/{p-3e20d28c.system.entry.js → p-f9e89b56.system.entry.js} +1 -1
  173. package/dist/verdocs-web-sdk/{p-75435256.system.entry.js → p-fab73ec8.system.entry.js} +1 -1
  174. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  175. package/package.json +1 -1
  176. package/dist/esm-es5/verdocs-preview_7.entry.js +0 -1
  177. package/dist/verdocs-web-sdk/p-08571348.entry.js +0 -1
  178. package/dist/verdocs-web-sdk/p-3d25b680.entry.js +0 -1
  179. package/dist/verdocs-web-sdk/p-473f6990.system.entry.js +0 -1
  180. package/dist/verdocs-web-sdk/p-65e1ab33.system.entry.js +0 -1
  181. package/dist/verdocs-web-sdk/p-686bf682.entry.js +0 -1
  182. package/dist/verdocs-web-sdk/p-9e15bdda.system.js +0 -1
  183. package/dist/verdocs-web-sdk/p-b860a7fe.entry.js +0 -1
  184. package/dist/verdocs-web-sdk/p-d07dcf76.system.entry.js +0 -1
@@ -0,0 +1,219 @@
1
+ import { VerdocsEndpoint } from '@verdocs/js-sdk';
2
+ import { h, Host } from '@stencil/core';
3
+ import { getTemplateStore } from '../../../utils/TemplateStore';
4
+ import { SDKError } from '../../../utils/errors';
5
+ const STEPS = ['attachments', 'roles', 'settings', 'fields', 'preview'];
6
+ /**
7
+ * Display a set of tabs for the template builder.
8
+ */
9
+ export class VerdocsTemplateBuildTabs {
10
+ constructor() {
11
+ this.endpoint = VerdocsEndpoint.getDefault();
12
+ this.templateId = null;
13
+ this.step = 'preview';
14
+ this.store = null;
15
+ }
16
+ onStepChanged() {
17
+ console.log('Step changed', this.step, this.templateId);
18
+ this.loadTemplate().catch((e) => console.log('Unknown Error', e));
19
+ }
20
+ async componentWillLoad() {
21
+ var _a, _b, _c;
22
+ try {
23
+ this.endpoint.loadSession();
24
+ if (!this.endpoint.session) {
25
+ console.log('[BUILD_TABS] Unable to start builder session, must be authenticated');
26
+ return;
27
+ }
28
+ if (!this.templateId) {
29
+ this.step = 'preview';
30
+ return;
31
+ }
32
+ this.loadTemplate().catch(e => console.log('[BUILD_TABS] Unable to load template', e));
33
+ }
34
+ catch (e) {
35
+ console.log('[BUILD_TABS] Error loading template', e);
36
+ (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new 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));
37
+ }
38
+ }
39
+ async loadTemplate() {
40
+ if (this.templateId) {
41
+ this.store = await getTemplateStore(this.endpoint, this.templateId, false);
42
+ }
43
+ }
44
+ setStep(e) {
45
+ var _a;
46
+ console.log('Selected step', e.detail.tab.id);
47
+ e.stopPropagation();
48
+ e.preventDefault();
49
+ this.step = e.detail.tab.id;
50
+ (_a = this.stepChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail.tab.id);
51
+ }
52
+ render() {
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
54
+ if (!this.endpoint.session) {
55
+ return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
56
+ }
57
+ let canPreview = false;
58
+ let canEditFields = false;
59
+ let canEditRoles = false;
60
+ if (this.templateId && this.store) {
61
+ console.log('lengths', (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.template_documents.length, (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles.length, (_f = (_e = this.store) === null || _e === void 0 ? void 0 : _e.state) === null || _f === void 0 ? void 0 : _f.fields.length);
62
+ canEditRoles = ((_h = (_g = this.store) === null || _g === void 0 ? void 0 : _g.state) === null || _h === void 0 ? void 0 : _h.template_documents.length) > 0;
63
+ canEditFields = canEditRoles && ((_k = (_j = this.store) === null || _j === void 0 ? void 0 : _j.state) === null || _k === void 0 ? void 0 : _k.roles.length) > 0;
64
+ canPreview = canEditFields && ((_m = (_l = this.store) === null || _l === void 0 ? void 0 : _l.state) === null || _m === void 0 ? void 0 : _m.fields.length) > 0;
65
+ // TODO
66
+ // canPreview = this.store && userCanPreviewTemplate(this.endpoint.session, this.store?.state);
67
+ // canEditFields = this.store && userCanBuildTemplate(this.endpoint.session, this.store?.state);
68
+ // canEditRoles = this.store && userCanUpdateTemplate(this.endpoint.session, this.store?.state);
69
+ }
70
+ let selectedStepIndex = Math.max(STEPS.indexOf(this.step), 0);
71
+ if (!canPreview && selectedStepIndex >= 4) {
72
+ selectedStepIndex = 3;
73
+ }
74
+ if (!canEditFields && selectedStepIndex >= 3) {
75
+ selectedStepIndex = 1;
76
+ }
77
+ if (!canEditRoles && selectedStepIndex >= 1) {
78
+ selectedStepIndex = 0;
79
+ }
80
+ console.log({ selectedStepIndex, canPreview, canEditFields, canEditRoles });
81
+ console.log('[BUILD_TABS] Rendering', this.step, selectedStepIndex);
82
+ return (h(Host, null, h("verdocs-tabs", { onSelectTab: e => this.setStep(e), selectedTab: selectedStepIndex, tabs: [
83
+ { id: 'attachments', disabled: false, label: this.templateId && this.store ? 'Attachment(s)' : 'Upload Attachment(s)' },
84
+ { id: 'roles', disabled: !canEditRoles, label: 'Roles' },
85
+ { id: 'settings', disabled: !canEditFields, label: 'Settings' },
86
+ { id: 'fields', disabled: !canEditFields, label: 'Fields' },
87
+ { id: 'preview', disabled: !canPreview, label: 'Preview/Send' },
88
+ ] })));
89
+ }
90
+ static get is() { return "verdocs-template-build-tabs"; }
91
+ static get originalStyleUrls() {
92
+ return {
93
+ "$": ["verdocs-template-build-tabs.scss"]
94
+ };
95
+ }
96
+ static get styleUrls() {
97
+ return {
98
+ "$": ["verdocs-template-build-tabs.css"]
99
+ };
100
+ }
101
+ static get properties() {
102
+ return {
103
+ "endpoint": {
104
+ "type": "unknown",
105
+ "mutable": false,
106
+ "complexType": {
107
+ "original": "VerdocsEndpoint",
108
+ "resolved": "VerdocsEndpoint",
109
+ "references": {
110
+ "VerdocsEndpoint": {
111
+ "location": "import",
112
+ "path": "@verdocs/js-sdk"
113
+ }
114
+ }
115
+ },
116
+ "required": false,
117
+ "optional": false,
118
+ "docs": {
119
+ "tags": [],
120
+ "text": "The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used."
121
+ },
122
+ "defaultValue": "VerdocsEndpoint.getDefault()"
123
+ },
124
+ "templateId": {
125
+ "type": "string",
126
+ "mutable": true,
127
+ "complexType": {
128
+ "original": "string | null",
129
+ "resolved": "string",
130
+ "references": {}
131
+ },
132
+ "required": false,
133
+ "optional": false,
134
+ "docs": {
135
+ "tags": [],
136
+ "text": "The ID of the template to create the document from. Unlike most other components, this is an optional parameter here.\nIf the template ID is known, `step` may also be specified to force displaying a specific step in the creation process.\nIf it is not specified, `step` will be ignored and the create step will be shown."
137
+ },
138
+ "attribute": "template-id",
139
+ "reflect": true,
140
+ "defaultValue": "null"
141
+ },
142
+ "step": {
143
+ "type": "string",
144
+ "mutable": true,
145
+ "complexType": {
146
+ "original": "TVerdocsBuildStep",
147
+ "resolved": "\"attachments\" | \"fields\" | \"preview\" | \"roles\" | \"settings\"",
148
+ "references": {
149
+ "TVerdocsBuildStep": {
150
+ "location": "local"
151
+ }
152
+ }
153
+ },
154
+ "required": false,
155
+ "optional": false,
156
+ "docs": {
157
+ "tags": [],
158
+ "text": "The step in the creation process to display."
159
+ },
160
+ "attribute": "step",
161
+ "reflect": true,
162
+ "defaultValue": "'preview'"
163
+ }
164
+ };
165
+ }
166
+ static get states() {
167
+ return {
168
+ "store": {}
169
+ };
170
+ }
171
+ static get events() {
172
+ return [{
173
+ "method": "sdkError",
174
+ "name": "sdkError",
175
+ "bubbles": true,
176
+ "cancelable": true,
177
+ "composed": true,
178
+ "docs": {
179
+ "tags": [],
180
+ "text": "Event fired if an error occurs. The event details will contain information about the error. Most errors will\nterminate the process, and the calling application should correct the condition and re-render the component."
181
+ },
182
+ "complexType": {
183
+ "original": "SDKError",
184
+ "resolved": "SDKError",
185
+ "references": {
186
+ "SDKError": {
187
+ "location": "import",
188
+ "path": "../../../utils/errors"
189
+ }
190
+ }
191
+ }
192
+ }, {
193
+ "method": "stepChanged",
194
+ "name": "stepChanged",
195
+ "bubbles": true,
196
+ "cancelable": true,
197
+ "composed": true,
198
+ "docs": {
199
+ "tags": [],
200
+ "text": "Event fired when the user selects a different step."
201
+ },
202
+ "complexType": {
203
+ "original": "TVerdocsBuildStep",
204
+ "resolved": "\"attachments\" | \"fields\" | \"preview\" | \"roles\" | \"settings\"",
205
+ "references": {
206
+ "TVerdocsBuildStep": {
207
+ "location": "local"
208
+ }
209
+ }
210
+ }
211
+ }];
212
+ }
213
+ static get watchers() {
214
+ return [{
215
+ "propName": "step",
216
+ "methodName": "onStepChanged"
217
+ }];
218
+ }
219
+ }
@@ -0,0 +1,16 @@
1
+ import { html } from 'lit-html';
2
+ export default {
3
+ title: 'Templates/Build Tabs',
4
+ component: 'verdocs-template-build-tabs',
5
+ args: {
6
+ templateId: '',
7
+ step: 'preview',
8
+ },
9
+ argTypes: {
10
+ onStepChanged: { action: 'stepChanged' },
11
+ },
12
+ parameters: {
13
+ layout: 'fullscreen',
14
+ },
15
+ };
16
+ export const BuildTabs = ({ templateId, step, onStepChanged }) => html `<verdocs-template-build-tabs .step=${step} .templateId=${templateId} @stepChanged=${onStepChanged} />`;
@@ -47,15 +47,18 @@ export class VerdocsTemplateRoles {
47
47
  console.log('[ROLES] Unable to start builder session, must be authenticated');
48
48
  return;
49
49
  }
50
- this.store = await getTemplateStore(this.endpoint, this.templateId, true);
51
- this.sortTemplateRoles();
52
- this.renumberTemplateRoles();
50
+ await this.reloadStore();
53
51
  }
54
52
  catch (e) {
55
53
  console.log('[FIELDS] Error with preview session', e);
56
54
  (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new 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));
57
55
  }
58
56
  }
57
+ async reloadStore() {
58
+ this.store = await getTemplateStore(this.endpoint, this.templateId, true);
59
+ this.sortTemplateRoles();
60
+ this.renumberTemplateRoles();
61
+ }
59
62
  componentDidRender() {
60
63
  interact.dynamicDrop(true);
61
64
  interact('.recipient').draggable({
@@ -120,6 +123,7 @@ export class VerdocsTemplateRoles {
120
123
  var _a, _b;
121
124
  console.log('[ROLES] Updated roles');
122
125
  (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'updated-role', endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state });
126
+ this.reloadStore().catch(e => console.log('Unknown error', e));
123
127
  })
124
128
  .catch(e => console.log('[ROLES] Role updates failed', e));
125
129
  }
@@ -214,6 +218,7 @@ export class VerdocsTemplateRoles {
214
218
  // this.store.state.roles = [...this.store?.state.roles, r];
215
219
  // this.renumberTemplateRoles();
216
220
  (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'created-role', endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state });
221
+ this.reloadStore().catch(e => console.log('Unknown error', e));
217
222
  })
218
223
  .catch(e => {
219
224
  console.log('[ROLES] Error creating role', e);
@@ -260,6 +265,7 @@ export class VerdocsTemplateRoles {
260
265
  this.showingRoleDialog = null;
261
266
  // this.forceRerender++;
262
267
  (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'deleted-role', endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state });
268
+ this.reloadStore().catch(e => console.log('Unknown error', e));
263
269
  } })), this.showingSenderDialog && h("verdocs-template-sender", { endpoint: this.endpoint, templateId: this.templateId, onClose: () => (this.showingSenderDialog = false) })));
264
270
  }
265
271
  static get is() { return "verdocs-template-roles"; }
@@ -4002,4 +4002,4 @@ var VerdocsEndpoint = /** @class */ (function () {
4002
4002
  return VerdocsEndpoint;
4003
4003
  }());
4004
4004
 
4005
- export { Permissions as P, TemplateActions as T, VerdocsEndpoint as V, TemplateSenderTypes as a };
4005
+ export { TemplateActions as T, VerdocsEndpoint as V, TemplateSenderTypes as a };
@@ -58,6 +58,7 @@ export { VerdocsStatusIndicator as VerdocsStatusIndicator } from '../types/compo
58
58
  export { VerdocsTable as VerdocsTable } from '../types/components/controls/verdocs-table/verdocs-table';
59
59
  export { VerdocsTabs as VerdocsTabs } from '../types/components/controls/verdocs-tabs/verdocs-tabs';
60
60
  export { VerdocsTemplateAttachments as VerdocsTemplateAttachments } from '../types/components/templates/verdocs-template-attachments/verdocs-template-attachments';
61
+ export { VerdocsTemplateBuildTabs as VerdocsTemplateBuildTabs } from '../types/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs';
61
62
  export { VerdocsTemplateCard as VerdocsTemplateCard } from '../types/components/templates/verdocs-template-card/verdocs-template-card';
62
63
  export { VerdocsTemplateCreate as VerdocsTemplateCreate } from '../types/components/templates/verdocs-template-create/verdocs-template-create';
63
64
  export { VerdocsTemplateDocumentPage as VerdocsTemplateDocumentPage } from '../types/components/templates/verdocs-template-document-page/verdocs-template-document-page';
@@ -58,6 +58,7 @@ export { VerdocsStatusIndicator, defineCustomElement as defineCustomElementVerdo
58
58
  export { VerdocsTable, defineCustomElement as defineCustomElementVerdocsTable } from './verdocs-table.js';
59
59
  export { VerdocsTabs, defineCustomElement as defineCustomElementVerdocsTabs } from './verdocs-tabs.js';
60
60
  export { VerdocsTemplateAttachments, defineCustomElement as defineCustomElementVerdocsTemplateAttachments } from './verdocs-template-attachments.js';
61
+ export { VerdocsTemplateBuildTabs, defineCustomElement as defineCustomElementVerdocsTemplateBuildTabs } from './verdocs-template-build-tabs.js';
61
62
  export { VerdocsTemplateCard, defineCustomElement as defineCustomElementVerdocsTemplateCard } from './verdocs-template-card.js';
62
63
  export { VerdocsTemplateCreate, defineCustomElement as defineCustomElementVerdocsTemplateCreate } from './verdocs-template-create.js';
63
64
  export { VerdocsTemplateDocumentPage, defineCustomElement as defineCustomElementVerdocsTemplateDocumentPage } from './verdocs-template-document-page.js';
@@ -1,23 +1,24 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
2
2
  import './Types.js';
3
- import { P as Permissions, V as VerdocsEndpoint } from './VerdocsEndpoint.js';
3
+ import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
4
4
  import { g as getTemplateStore } from './TemplateStore.js';
5
5
  import { S as SDKError } from './errors.js';
6
- import { d as defineCustomElement$s } from './verdocs-button2.js';
7
- import { d as defineCustomElement$r } from './verdocs-checkbox2.js';
8
- import { d as defineCustomElement$q } from './verdocs-component-error2.js';
9
- import { d as defineCustomElement$p } from './verdocs-contact-picker2.js';
10
- import { d as defineCustomElement$o } from './verdocs-file-chooser2.js';
11
- import { d as defineCustomElement$n } from './verdocs-help-icon2.js';
12
- import { d as defineCustomElement$m } from './verdocs-loader2.js';
13
- import { d as defineCustomElement$l } from './verdocs-ok-dialog2.js';
14
- import { d as defineCustomElement$k } from './verdocs-preview2.js';
15
- import { d as defineCustomElement$j } from './verdocs-progress-bar2.js';
16
- import { d as defineCustomElement$i } from './verdocs-radio-button2.js';
17
- import { d as defineCustomElement$h } from './verdocs-select-input2.js';
18
- import { d as defineCustomElement$g } from './verdocs-send2.js';
19
- import { d as defineCustomElement$f } from './verdocs-tabs2.js';
20
- import { d as defineCustomElement$e } from './verdocs-template-attachments2.js';
6
+ import { d as defineCustomElement$t } from './verdocs-button2.js';
7
+ import { d as defineCustomElement$s } from './verdocs-checkbox2.js';
8
+ import { d as defineCustomElement$r } from './verdocs-component-error2.js';
9
+ import { d as defineCustomElement$q } from './verdocs-contact-picker2.js';
10
+ import { d as defineCustomElement$p } from './verdocs-file-chooser2.js';
11
+ import { d as defineCustomElement$o } from './verdocs-help-icon2.js';
12
+ import { d as defineCustomElement$n } from './verdocs-loader2.js';
13
+ import { d as defineCustomElement$m } from './verdocs-ok-dialog2.js';
14
+ import { d as defineCustomElement$l } from './verdocs-preview2.js';
15
+ import { d as defineCustomElement$k } from './verdocs-progress-bar2.js';
16
+ import { d as defineCustomElement$j } from './verdocs-radio-button2.js';
17
+ import { d as defineCustomElement$i } from './verdocs-select-input2.js';
18
+ import { d as defineCustomElement$h } from './verdocs-send2.js';
19
+ import { d as defineCustomElement$g } from './verdocs-tabs2.js';
20
+ import { d as defineCustomElement$f } from './verdocs-template-attachments2.js';
21
+ import { d as defineCustomElement$e } from './verdocs-template-build-tabs2.js';
21
22
  import { d as defineCustomElement$d } from './verdocs-template-create2.js';
22
23
  import { d as defineCustomElement$c } from './verdocs-template-document-page2.js';
23
24
  import { d as defineCustomElement$b } from './verdocs-template-fields2.js';
@@ -31,46 +32,6 @@ import { d as defineCustomElement$4 } from './verdocs-text-input2.js';
31
32
  import { d as defineCustomElement$3 } from './verdocs-toggle-button2.js';
32
33
  import { d as defineCustomElement$2 } from './verdocs-toolbar-icon2.js';
33
34
 
34
- /**
35
- * Confirm whether the user has all of the specified permissions.
36
- */
37
- var userHasPermissions = function (session, permissions) {
38
- return permissions.every(function (perm) { return ((session === null || session === void 0 ? void 0 : session.permissions) || []).includes(perm); });
39
- };
40
-
41
- /**
42
- * Various helpers to identify available operations for a template by a user.
43
- *
44
- * @module
45
- */
46
- /**
47
- * Check to see if the user created the template.
48
- */
49
- var userIsTemplateCreator = function (session, template) {
50
- return session && template && session.profile_id === template.profile_id;
51
- };
52
- /**
53
- * Check to see if a template is "shared" with the user.
54
- */
55
- var userHasSharedTemplate = function (session, template) {
56
- return session && template && !template.is_personal && session.organization_id === template.organization_id;
57
- };
58
- /**
59
- * Check to see if the user can update a tempate.
60
- */
61
- var userCanUpdateTemplate = function (session, template) {
62
- return userIsTemplateCreator(session, template) ||
63
- (userHasSharedTemplate(session, template) &&
64
- userHasPermissions(session, [Permissions.TEMPLATE_MEMBER_READ, Permissions.TEMPLATE_MEMBER_WRITE]));
65
- };
66
- /**
67
- * Check to see if the user can "build" the template (use the field builder). The user must have write access to the
68
- * template, and the template must have at least one signer role.
69
- */
70
- var userCanBuildTemplate = function (session, template) {
71
- return userCanUpdateTemplate(session, template) && (template.roles || []).filter(function (role) { return role.type === 'signer'; }).length > 0;
72
- };
73
-
74
35
  const verdocsBuildCss = "verdocs-build{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-build .content{-ms-flex:1;flex:1;gap:20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column}verdocs-build verdocs-template-attachments,verdocs-build verdocs-template-roles{margin:20px}verdocs-build verdocs-template-fields{border-top:1px solid #777777}verdocs-build verdocs-template-attachments{padding:20px;background:#ffffff}verdocs-build verdocs-template-fields{width:100%}verdocs-build verdocs-preview{-ms-flex:1;flex:1}";
75
36
 
76
37
  const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -86,11 +47,14 @@ const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
86
47
  this.templateId = null;
87
48
  this.step = 'preview';
88
49
  this.store = null;
89
- this.tabsUpdateKey = 1;
90
50
  }
91
- onTemplateIdChanged() {
92
- console.log('Template ID changed', this.templateId);
93
- this.loadTemplate().catch((e) => console.log('Unknown Error', e));
51
+ onTemplateIdChanged(newTemplateId) {
52
+ console.log('Template ID changed', newTemplateId);
53
+ this.loadTemplate(newTemplateId).catch((e) => console.log('Unknown Error', e));
54
+ }
55
+ onStepChanged(newStep) {
56
+ console.log('Step changed', newStep);
57
+ this.loadTemplate(this.templateId).catch((e) => console.log('Unknown Error', e));
94
58
  }
95
59
  async componentWillLoad() {
96
60
  var _a, _b, _c;
@@ -105,16 +69,18 @@ const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
105
69
  console.log('[BUILD] Unable to start builder session, must be authenticated');
106
70
  return;
107
71
  }
108
- this.loadTemplate().catch(e => console.log('[BUILD] Unable to load template', e));
72
+ this.loadTemplate(this.templateId).catch(e => console.log('[BUILD] Unable to load template', e));
109
73
  }
110
74
  catch (e) {
111
75
  console.log('[BUILD] Error loading template', e);
112
76
  (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new 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));
113
77
  }
114
78
  }
115
- async loadTemplate() {
116
- if (this.templateId) {
117
- this.store = await getTemplateStore(this.endpoint, this.templateId, true);
79
+ async loadTemplate(templateId) {
80
+ if (templateId) {
81
+ console.log('Loading store', templateId);
82
+ this.store = await getTemplateStore(this.endpoint, templateId, true);
83
+ forceUpdate(this.el);
118
84
  }
119
85
  }
120
86
  handleCancel(e) {
@@ -123,8 +89,8 @@ const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
123
89
  }
124
90
  async handleTemplateCreated(templateId) {
125
91
  var _a;
92
+ await this.loadTemplate(templateId);
126
93
  this.templateId = templateId;
127
- await this.loadTemplate();
128
94
  this.step = 'roles';
129
95
  (_a = this.stepChanged) === null || _a === void 0 ? void 0 : _a.emit('roles');
130
96
  }
@@ -132,7 +98,6 @@ const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
132
98
  var _a;
133
99
  console.log('tup');
134
100
  (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
135
- this.tabsUpdateKey++;
136
101
  }
137
102
  handleAttachmentsNext() {
138
103
  var _a;
@@ -144,58 +109,40 @@ const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
144
109
  this.step = 'fields';
145
110
  (_a = this.stepChanged) === null || _a === void 0 ? void 0 : _a.emit('fields');
146
111
  }
147
- setStep(e, step) {
112
+ handleStepChanged(step) {
148
113
  var _a;
149
- e.stopPropagation();
150
- e.preventDefault();
114
+ console.log('osc', step);
151
115
  this.step = step;
152
116
  (_a = this.stepChanged) === null || _a === void 0 ? void 0 : _a.emit(step);
153
117
  }
154
118
  render() {
155
- var _a, _b, _c;
156
119
  if (!this.endpoint.session) {
157
120
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
158
121
  }
159
- if (!this.templateId || !this.store) {
122
+ if (!this.store) {
160
123
  console.log('[BUILD] No template ID, rendering created view');
161
- return (h(Host, null, h("div", { class: "content" }, h("verdocs-tabs", { key: this.tabsUpdateKey, onSelectTab: () => { }, tabs: [
162
- { id: 'attachments', disabled: false, label: 'Upload Attachment(s)' },
163
- { id: 'roles', disabled: true, label: 'Roles' },
164
- { id: 'settings', disabled: true, label: 'Settings' },
165
- { id: 'fields', disabled: true, label: 'Fields' },
166
- { id: 'preview', disabled: true, label: 'Preview/Send' },
167
- ] }), h("verdocs-template-create", { endpoint: this.endpoint, onExit: e => this.handleCancel(e), onNext: () => this.handleAttachmentsNext(), onTemplateCreated: e => this.handleTemplateCreated(e.detail.templateId) }))));
124
+ return (h(Host, null, h("div", { class: "content" }, h("verdocs-template-build-tabs", { endpoint: this.endpoint, templateId: this.templateId, step: "attachments", onSdkError: e => { var _a; return (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(e.detail); }, onStepChanged: e => this.handleStepChanged(e.detail) }), h("verdocs-template-create", { endpoint: this.endpoint, onExit: e => this.handleCancel(e), onNext: () => this.handleAttachmentsNext(), onTemplateCreated: e => this.handleTemplateCreated(e.detail.templateId) }))));
168
125
  }
169
126
  console.log('[BUILD] Rendering build view', this.step, ['attachments', 'roles', 'settings', 'fields', 'preview'].indexOf(this.step));
170
- // const canPreview = this.store && userCanPreviewTemplate(this.endpoint.session, this.store?.state);
171
- // TODO: Had to disable this for now to research why reactivity isn't re-rendering the tabs
172
- const canPreview = this.store && userCanBuildTemplate(this.endpoint.session, (_a = this.store) === null || _a === void 0 ? void 0 : _a.state);
173
- const canEditFields = this.store && userCanBuildTemplate(this.endpoint.session, (_b = this.store) === null || _b === void 0 ? void 0 : _b.state);
174
- const canEditRoles = this.store && userCanUpdateTemplate(this.endpoint.session, (_c = this.store) === null || _c === void 0 ? void 0 : _c.state);
175
- return (h(Host, null, h("div", { class: "content" }, h("verdocs-tabs", { key: this.tabsUpdateKey, onSelectTab: e => this.setStep(e, e.detail.tab.id), defaultTab: ['attachments', 'roles', 'settings', 'fields', 'preview'].indexOf(this.step), tabs: [
176
- { id: 'attachments', disabled: false, label: 'Attachment(s)' },
177
- { id: 'roles', disabled: !canEditRoles, label: 'Roles' },
178
- { id: 'settings', disabled: !canEditFields, label: 'Settings' },
179
- { id: 'fields', disabled: !canEditFields, label: 'Fields' },
180
- { id: 'preview', disabled: !canPreview, label: 'Preview/Send' },
181
- ] }), this.step === 'attachments' && (h("verdocs-template-attachments", { templateId: this.templateId, endpoint: this.endpoint, onExit: e => this.handleCancel(e), onNext: () => this.handleAttachmentsNext(), onTemplateUpdated: e => this.handleTemplateUpdated(e) })), this.step === 'roles' && (h("verdocs-template-roles", { templateId: this.templateId, endpoint: this.endpoint, onExit: e => this.handleCancel(e), onNext: () => this.handleRolesNext(), onTemplateUpdated: e => this.handleTemplateUpdated(e) })), this.step === 'settings' && (h("div", { style: { flexDirection: 'column', gap: '20px', display: 'flex', maxWidth: '400px', margin: '20px' } }, h("verdocs-template-name", { templateId: this.templateId, endpoint: this.endpoint, style: { backgroundColor: '#ffffff', padding: '20px' }, onTemplateUpdated: e => this.handleTemplateUpdated(e) }), h("verdocs-template-reminders", { templateId: this.templateId, endpoint: this.endpoint, style: { backgroundColor: '#ffffff', padding: '20px' }, onTemplateUpdated: e => this.handleTemplateUpdated(e) }), h("verdocs-template-visibility", { templateId: this.templateId, endpoint: this.endpoint, style: { backgroundColor: '#ffffff', padding: '20px' }, onTemplateUpdated: e => this.handleTemplateUpdated(e) }))), this.step === 'fields' && h("verdocs-template-fields", { templateId: this.templateId, endpoint: this.endpoint, onTemplateUpdated: e => this.handleTemplateUpdated(e) }), this.step === 'preview' && (h("div", { style: { flexDirection: 'row', display: 'flex', width: '100%', backgroundColor: '#eeeeee', maxHeight: '100%' } }, h("div", { style: { display: 'flex', flex: '0 0 300px', backgroundColor: '#ffffff', boxShadow: '1px 1px 6px -2px #0000007f' } }, h("verdocs-send", { templateId: this.templateId, endpoint: this.endpoint, onSend: e => { var _a; return (_a = this.send) === null || _a === void 0 ? void 0 : _a.emit(e.detail); }, style: { width: '100%' } })), h("div", { style: { display: 'flex', flex: '1', justifyContent: 'center', overflowY: 'scroll' } }, h("verdocs-preview", { templateId: this.templateId, endpoint: this.endpoint, style: { display: 'flex', flex: '1', maxWidth: '1000px' } })))))));
127
+ return (h(Host, null, h("div", { class: "content" }, h("verdocs-template-build-tabs", { endpoint: this.endpoint, templateId: this.templateId, step: this.step, onSdkError: e => { var _a; return (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(e.detail); }, onStepChanged: e => this.handleStepChanged(e.detail) }), this.step === 'attachments' && (h("verdocs-template-attachments", { templateId: this.templateId, endpoint: this.endpoint, onExit: e => this.handleCancel(e), onNext: () => this.handleAttachmentsNext(), onTemplateUpdated: e => this.handleTemplateUpdated(e) })), this.step === 'roles' && (h("verdocs-template-roles", { templateId: this.templateId, endpoint: this.endpoint, onExit: e => this.handleCancel(e), onNext: () => this.handleRolesNext(), onTemplateUpdated: e => this.handleTemplateUpdated(e) })), this.step === 'settings' && (h("div", { style: { flexDirection: 'column', gap: '20px', display: 'flex', maxWidth: '400px', margin: '20px' } }, h("verdocs-template-name", { templateId: this.templateId, endpoint: this.endpoint, style: { backgroundColor: '#ffffff', padding: '20px' }, onTemplateUpdated: e => this.handleTemplateUpdated(e) }), h("verdocs-template-reminders", { templateId: this.templateId, endpoint: this.endpoint, style: { backgroundColor: '#ffffff', padding: '20px' }, onTemplateUpdated: e => this.handleTemplateUpdated(e) }), h("verdocs-template-visibility", { templateId: this.templateId, endpoint: this.endpoint, style: { backgroundColor: '#ffffff', padding: '20px' }, onTemplateUpdated: e => this.handleTemplateUpdated(e) }))), this.step === 'fields' && h("verdocs-template-fields", { templateId: this.templateId, endpoint: this.endpoint, onTemplateUpdated: e => this.handleTemplateUpdated(e) }), this.step === 'preview' && (h("div", { style: { flexDirection: 'row', display: 'flex', width: '100%', backgroundColor: '#eeeeee', maxHeight: '100%' } }, h("div", { style: { display: 'flex', flex: '0 0 300px', backgroundColor: '#ffffff', boxShadow: '1px 1px 6px -2px #0000007f' } }, h("verdocs-send", { templateId: this.templateId, endpoint: this.endpoint, onSend: e => { var _a; return (_a = this.send) === null || _a === void 0 ? void 0 : _a.emit(e.detail); }, style: { width: '100%' } })), h("div", { style: { display: 'flex', flex: '1', justifyContent: 'center', overflowY: 'scroll' } }, h("verdocs-preview", { templateId: this.templateId, endpoint: this.endpoint, style: { display: 'flex', flex: '1', maxWidth: '1000px' } })))))));
182
128
  }
129
+ get el() { return this; }
183
130
  static get watchers() { return {
184
- "templateId": ["onTemplateIdChanged"]
131
+ "templateId": ["onTemplateIdChanged"],
132
+ "step": ["onStepChanged"]
185
133
  }; }
186
134
  static get style() { return verdocsBuildCss; }
187
135
  }, [0, "verdocs-build", {
188
136
  "endpoint": [16],
189
137
  "templateId": [1537, "template-id"],
190
138
  "step": [1537],
191
- "store": [32],
192
- "tabsUpdateKey": [32]
139
+ "store": [32]
193
140
  }]);
194
141
  function defineCustomElement$1() {
195
142
  if (typeof customElements === "undefined") {
196
143
  return;
197
144
  }
198
- const components = ["verdocs-build", "verdocs-button", "verdocs-checkbox", "verdocs-component-error", "verdocs-contact-picker", "verdocs-file-chooser", "verdocs-help-icon", "verdocs-loader", "verdocs-ok-dialog", "verdocs-preview", "verdocs-progress-bar", "verdocs-radio-button", "verdocs-select-input", "verdocs-send", "verdocs-tabs", "verdocs-template-attachments", "verdocs-template-create", "verdocs-template-document-page", "verdocs-template-fields", "verdocs-template-name", "verdocs-template-reminders", "verdocs-template-role-properties", "verdocs-template-roles", "verdocs-template-sender", "verdocs-template-visibility", "verdocs-text-input", "verdocs-toggle-button", "verdocs-toolbar-icon"];
145
+ const components = ["verdocs-build", "verdocs-button", "verdocs-checkbox", "verdocs-component-error", "verdocs-contact-picker", "verdocs-file-chooser", "verdocs-help-icon", "verdocs-loader", "verdocs-ok-dialog", "verdocs-preview", "verdocs-progress-bar", "verdocs-radio-button", "verdocs-select-input", "verdocs-send", "verdocs-tabs", "verdocs-template-attachments", "verdocs-template-build-tabs", "verdocs-template-create", "verdocs-template-document-page", "verdocs-template-fields", "verdocs-template-name", "verdocs-template-reminders", "verdocs-template-role-properties", "verdocs-template-roles", "verdocs-template-sender", "verdocs-template-visibility", "verdocs-text-input", "verdocs-toggle-button", "verdocs-toolbar-icon"];
199
146
  components.forEach(tagName => { switch (tagName) {
200
147
  case "verdocs-build":
201
148
  if (!customElements.get(tagName)) {
@@ -204,75 +151,80 @@ function defineCustomElement$1() {
204
151
  break;
205
152
  case "verdocs-button":
206
153
  if (!customElements.get(tagName)) {
207
- defineCustomElement$s();
154
+ defineCustomElement$t();
208
155
  }
209
156
  break;
210
157
  case "verdocs-checkbox":
211
158
  if (!customElements.get(tagName)) {
212
- defineCustomElement$r();
159
+ defineCustomElement$s();
213
160
  }
214
161
  break;
215
162
  case "verdocs-component-error":
216
163
  if (!customElements.get(tagName)) {
217
- defineCustomElement$q();
164
+ defineCustomElement$r();
218
165
  }
219
166
  break;
220
167
  case "verdocs-contact-picker":
221
168
  if (!customElements.get(tagName)) {
222
- defineCustomElement$p();
169
+ defineCustomElement$q();
223
170
  }
224
171
  break;
225
172
  case "verdocs-file-chooser":
226
173
  if (!customElements.get(tagName)) {
227
- defineCustomElement$o();
174
+ defineCustomElement$p();
228
175
  }
229
176
  break;
230
177
  case "verdocs-help-icon":
231
178
  if (!customElements.get(tagName)) {
232
- defineCustomElement$n();
179
+ defineCustomElement$o();
233
180
  }
234
181
  break;
235
182
  case "verdocs-loader":
236
183
  if (!customElements.get(tagName)) {
237
- defineCustomElement$m();
184
+ defineCustomElement$n();
238
185
  }
239
186
  break;
240
187
  case "verdocs-ok-dialog":
241
188
  if (!customElements.get(tagName)) {
242
- defineCustomElement$l();
189
+ defineCustomElement$m();
243
190
  }
244
191
  break;
245
192
  case "verdocs-preview":
246
193
  if (!customElements.get(tagName)) {
247
- defineCustomElement$k();
194
+ defineCustomElement$l();
248
195
  }
249
196
  break;
250
197
  case "verdocs-progress-bar":
251
198
  if (!customElements.get(tagName)) {
252
- defineCustomElement$j();
199
+ defineCustomElement$k();
253
200
  }
254
201
  break;
255
202
  case "verdocs-radio-button":
256
203
  if (!customElements.get(tagName)) {
257
- defineCustomElement$i();
204
+ defineCustomElement$j();
258
205
  }
259
206
  break;
260
207
  case "verdocs-select-input":
261
208
  if (!customElements.get(tagName)) {
262
- defineCustomElement$h();
209
+ defineCustomElement$i();
263
210
  }
264
211
  break;
265
212
  case "verdocs-send":
266
213
  if (!customElements.get(tagName)) {
267
- defineCustomElement$g();
214
+ defineCustomElement$h();
268
215
  }
269
216
  break;
270
217
  case "verdocs-tabs":
271
218
  if (!customElements.get(tagName)) {
272
- defineCustomElement$f();
219
+ defineCustomElement$g();
273
220
  }
274
221
  break;
275
222
  case "verdocs-template-attachments":
223
+ if (!customElements.get(tagName)) {
224
+ defineCustomElement$f();
225
+ }
226
+ break;
227
+ case "verdocs-template-build-tabs":
276
228
  if (!customElements.get(tagName)) {
277
229
  defineCustomElement$e();
278
230
  }
@@ -44,6 +44,7 @@ const VerdocsDropdown = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
44
44
  const bodyWidth = document.body.scrollWidth;
45
45
  const buttonRect = (_a = this.dropdownButton) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
46
46
  const triggerHeight = ((_b = this.dropdownButton) === null || _b === void 0 ? void 0 : _b.offsetWidth) || 28;
47
+ console.log('Repositioning dropdown', { bodyWidth, buttonRect, triggerHeight }, menu);
47
48
  menu.style.top = `${((buttonRect === null || buttonRect === void 0 ? void 0 : buttonRect.top) || 0) + triggerHeight}px`;
48
49
  menu.style.right = `${Math.max(0, bodyWidth - ((buttonRect === null || buttonRect === void 0 ? void 0 : buttonRect.right) || 0))}px`;
49
50
  }