@verdocs/web-sdk 2.2.20 → 2.2.22

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 (206) 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 +50 -72
  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-dialog_3.cjs.entry.js → verdocs-dialog_2.cjs.entry.js} +0 -25
  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_6.cjs.entry.js → verdocs-preview_8.cjs.entry.js} +205 -14
  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 +26 -0
  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-tabs/verdocs-tabs.css +15 -16
  33. package/dist/collection/components/controls/verdocs-tabs/verdocs-tabs.js +5 -14
  34. package/dist/collection/components/controls/verdocs-tabs/verdocs-tabs.stories.js +4 -13
  35. package/dist/collection/components/embeds/verdocs-build/verdocs-build.css +1 -34
  36. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +107 -17
  37. package/dist/collection/components/embeds/verdocs-build/verdocs-build.stories.js +1 -1
  38. package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +13 -8
  39. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.css +25 -0
  40. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.js +219 -0
  41. package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.stories.js +16 -0
  42. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.js +28 -3
  43. package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.js +27 -3
  44. package/dist/collection/components/templates/verdocs-template-reminders/verdocs-template-reminders.js +28 -3
  45. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +9 -3
  46. package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.js +27 -2
  47. package/dist/components/VerdocsEndpoint.js +1 -1
  48. package/dist/components/index.d.ts +1 -0
  49. package/dist/components/index.js +1 -0
  50. package/dist/components/verdocs-build.js +99 -102
  51. package/dist/components/verdocs-tabs2.js +2 -8
  52. package/dist/components/verdocs-template-attachments2.js +5 -4
  53. package/dist/components/verdocs-template-build-tabs.d.ts +11 -0
  54. package/dist/components/verdocs-template-build-tabs.js +6 -0
  55. package/dist/components/verdocs-template-build-tabs2.js +132 -0
  56. package/dist/components/verdocs-template-create.js +1 -138
  57. package/dist/{esm/verdocs-template-create.entry.js → components/verdocs-template-create2.js} +61 -14
  58. package/dist/components/verdocs-template-name2.js +4 -3
  59. package/dist/components/verdocs-template-reminders2.js +5 -3
  60. package/dist/components/verdocs-template-roles2.js +9 -3
  61. package/dist/components/verdocs-template-visibility2.js +4 -2
  62. package/dist/docs.json +212 -13
  63. package/dist/esm/{TemplateStore-3c138524.js → TemplateStore-e8cf5a15.js} +1 -1
  64. package/dist/esm/{VerdocsEndpoint-6fe4258b.js → VerdocsEndpoint-d58d5544.js} +1 -1
  65. package/dist/esm/ipc-test.entry.js +2 -2
  66. package/dist/esm/loader.js +1 -1
  67. package/dist/esm/verdocs-activity-box.entry.js +1 -1
  68. package/dist/esm/verdocs-auth.entry.js +1 -1
  69. package/dist/esm/verdocs-build.entry.js +51 -73
  70. package/dist/esm/verdocs-button-panel_2.entry.js +2 -2
  71. package/dist/esm/verdocs-contact-picker_2.entry.js +1 -1
  72. package/dist/esm/{verdocs-dialog_3.entry.js → verdocs-dialog_2.entry.js} +1 -25
  73. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  74. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  75. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  76. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  77. package/dist/esm/verdocs-field-textarea.entry.js +1 -1
  78. package/dist/esm/verdocs-field-textbox.entry.js +1 -1
  79. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  80. package/dist/esm/{verdocs-preview_6.entry.js → verdocs-preview_8.entry.js} +207 -18
  81. package/dist/esm/verdocs-quick-functions_3.entry.js +1 -1
  82. package/dist/esm/verdocs-search.entry.js +1 -1
  83. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
  84. package/dist/esm/verdocs-settings.entry.js +1 -1
  85. package/dist/esm/verdocs-sign.entry.js +1 -1
  86. package/dist/esm/verdocs-tabs.entry.js +22 -0
  87. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  88. package/dist/esm/verdocs-template-fields_4.entry.js +11 -5
  89. package/dist/esm/verdocs-template-star.entry.js +1 -1
  90. package/dist/esm/verdocs-templates-list.entry.js +1 -1
  91. package/dist/esm/verdocs-view.entry.js +1 -1
  92. package/dist/esm/verdocs-web-sdk.js +1 -1
  93. package/dist/esm-es5/{TemplateStore-3c138524.js → TemplateStore-e8cf5a15.js} +1 -1
  94. package/dist/esm-es5/{VerdocsEndpoint-6fe4258b.js → VerdocsEndpoint-d58d5544.js} +1 -1
  95. package/dist/esm-es5/ipc-test.entry.js +1 -1
  96. package/dist/esm-es5/loader.js +1 -1
  97. package/dist/esm-es5/verdocs-activity-box.entry.js +1 -1
  98. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  99. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  100. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  101. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  102. package/dist/esm-es5/{verdocs-dialog_3.entry.js → verdocs-dialog_2.entry.js} +1 -1
  103. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  104. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  105. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  106. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  107. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  108. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  109. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  110. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -0
  111. package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
  112. package/dist/esm-es5/verdocs-search.entry.js +1 -1
  113. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  114. package/dist/esm-es5/verdocs-settings.entry.js +1 -1
  115. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  116. package/dist/esm-es5/verdocs-tabs.entry.js +1 -0
  117. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  118. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  119. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  120. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  121. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  123. package/dist/types/components/controls/verdocs-tabs/verdocs-tabs.d.ts +3 -4
  124. package/dist/types/components/controls/verdocs-tabs/verdocs-tabs.stories.d.ts +2 -3
  125. package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +24 -2
  126. package/dist/types/components/templates/verdocs-template-attachments/verdocs-template-attachments.d.ts +4 -2
  127. package/dist/types/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.d.ts +39 -0
  128. package/dist/types/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.stories.d.ts +8 -0
  129. package/dist/types/components/templates/verdocs-template-create/verdocs-template-create.d.ts +8 -0
  130. package/dist/types/components/templates/verdocs-template-name/verdocs-template-name.d.ts +9 -0
  131. package/dist/types/components/templates/verdocs-template-reminders/verdocs-template-reminders.d.ts +9 -0
  132. package/dist/types/components/templates/verdocs-template-roles/verdocs-template-roles.d.ts +1 -0
  133. package/dist/types/components/templates/verdocs-template-visibillity/verdocs-template-visibility.d.ts +9 -0
  134. package/dist/types/components.d.ts +82 -8
  135. package/dist/verdocs-web-sdk/{p-963f6e05.system.entry.js → p-07696831.system.entry.js} +1 -1
  136. package/dist/verdocs-web-sdk/{p-8eb640c4.system.entry.js → p-07b5f356.system.entry.js} +1 -1
  137. package/dist/verdocs-web-sdk/{p-957e1e4e.entry.js → p-0b2102df.entry.js} +1 -1
  138. package/dist/verdocs-web-sdk/{p-ec9f11dc.system.entry.js → p-0df9e6e1.system.entry.js} +1 -1
  139. package/dist/verdocs-web-sdk/p-15df3998.system.entry.js +1 -0
  140. package/dist/verdocs-web-sdk/{p-724d4efa.system.js → p-1753f57b.system.js} +1 -1
  141. package/dist/verdocs-web-sdk/p-1dda2d09.entry.js +1 -0
  142. package/dist/verdocs-web-sdk/{p-7fb8387d.system.entry.js → p-21e137f0.system.entry.js} +1 -1
  143. package/dist/verdocs-web-sdk/{p-1ab8f7f6.system.entry.js → p-2284d430.system.entry.js} +1 -1
  144. package/dist/verdocs-web-sdk/{p-49777798.system.entry.js → p-2549a794.system.entry.js} +1 -1
  145. package/dist/verdocs-web-sdk/p-2a0ed0ab.entry.js +1 -0
  146. package/dist/verdocs-web-sdk/{p-53fb6c8c.entry.js → p-2b6e4f2a.entry.js} +1 -1
  147. package/dist/verdocs-web-sdk/{p-a06f6e8e.entry.js → p-3a90098d.entry.js} +1 -1
  148. package/dist/verdocs-web-sdk/p-3ce7e733.system.entry.js +1 -0
  149. package/dist/verdocs-web-sdk/{p-4a3f9e45.entry.js → p-3da4fed1.entry.js} +1 -1
  150. package/dist/verdocs-web-sdk/{p-3a5d8085.system.entry.js → p-4017b53a.system.entry.js} +1 -1
  151. package/dist/verdocs-web-sdk/{p-f867f61b.entry.js → p-428de4a5.entry.js} +1 -1
  152. package/dist/verdocs-web-sdk/{p-6c4de84c.entry.js → p-42f27e8c.entry.js} +1 -1
  153. package/dist/verdocs-web-sdk/p-4422958b.system.js +1 -0
  154. package/dist/verdocs-web-sdk/{p-71d6e1c3.system.entry.js → p-45bee3f6.system.entry.js} +1 -1
  155. package/dist/verdocs-web-sdk/{p-92e3d974.system.entry.js → p-45d5e035.system.entry.js} +1 -1
  156. package/dist/verdocs-web-sdk/{p-0fa99a06.system.entry.js → p-48c62137.system.entry.js} +1 -1
  157. package/dist/verdocs-web-sdk/{p-79c09ffc.system.entry.js → p-506754d5.system.entry.js} +1 -1
  158. package/dist/verdocs-web-sdk/{p-79410da3.entry.js → p-51979353.entry.js} +1 -1
  159. package/dist/verdocs-web-sdk/{p-2cb422a2.entry.js → p-5ab837bf.entry.js} +1 -1
  160. package/dist/verdocs-web-sdk/p-65c99d51.system.entry.js +1 -0
  161. package/dist/verdocs-web-sdk/{p-96fb90bd.system.entry.js → p-66cec042.system.entry.js} +1 -1
  162. package/dist/verdocs-web-sdk/{p-f732abf1.entry.js → p-6ccb86b6.entry.js} +1 -1
  163. package/dist/verdocs-web-sdk/p-6f1e794d.system.entry.js +1 -0
  164. package/dist/verdocs-web-sdk/p-70685224.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/{p-58c8584e.entry.js → p-77ecee31.entry.js} +1 -1
  166. package/dist/verdocs-web-sdk/{p-b3b370b5.entry.js → p-78e4f430.entry.js} +1 -1
  167. package/dist/verdocs-web-sdk/{p-6734b77c.entry.js → p-79b0c643.entry.js} +1 -1
  168. package/dist/verdocs-web-sdk/{p-c26d3d7b.system.entry.js → p-7bd5db75.system.entry.js} +1 -1
  169. package/dist/verdocs-web-sdk/{p-5ed21587.entry.js → p-84efd562.entry.js} +1 -1
  170. package/dist/verdocs-web-sdk/{p-b3706eb2.system.entry.js → p-883d60e1.system.entry.js} +1 -1
  171. package/dist/verdocs-web-sdk/p-8d14ace0.entry.js +1 -0
  172. package/dist/verdocs-web-sdk/{p-87c527e4.entry.js → p-9009e136.entry.js} +1 -1
  173. package/dist/verdocs-web-sdk/{p-a41a8742.entry.js → p-965b66a8.entry.js} +1 -1
  174. package/dist/verdocs-web-sdk/{p-99c8acfa.system.entry.js → p-a0ad315e.system.entry.js} +1 -1
  175. package/dist/verdocs-web-sdk/{p-d56ac75b.entry.js → p-a1e82d5a.entry.js} +1 -1
  176. package/dist/verdocs-web-sdk/{p-a8aefe57.system.entry.js → p-a894761f.system.entry.js} +1 -1
  177. package/dist/verdocs-web-sdk/{p-ab7df219.system.entry.js → p-aba05f25.system.entry.js} +1 -1
  178. package/dist/verdocs-web-sdk/{p-c488219f.entry.js → p-ad273610.entry.js} +1 -1
  179. package/dist/verdocs-web-sdk/{p-1e48cc2c.system.entry.js → p-ae971bb4.system.entry.js} +1 -1
  180. package/dist/verdocs-web-sdk/{p-53276c5b.js → p-af048fad.js} +1 -1
  181. package/dist/verdocs-web-sdk/{p-ec06b3d1.entry.js → p-ba04698a.entry.js} +1 -1
  182. package/dist/verdocs-web-sdk/{p-55f66c83.entry.js → p-bbd400a5.entry.js} +1 -1
  183. package/dist/verdocs-web-sdk/{p-38031118.system.entry.js → p-cd64b223.system.entry.js} +1 -1
  184. package/dist/verdocs-web-sdk/{p-e36c7481.entry.js → p-d4aec860.entry.js} +1 -1
  185. package/dist/verdocs-web-sdk/{p-2c5e2d73.js → p-d4d8858f.js} +1 -1
  186. package/dist/verdocs-web-sdk/{p-a6d93251.entry.js → p-e40dd4d1.entry.js} +1 -1
  187. package/dist/verdocs-web-sdk/{p-f8210aa7.system.entry.js → p-edabba6b.system.entry.js} +1 -1
  188. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  189. package/dist/verdocs-web-sdk/{p-994623c4.entry.js → p-f2deae25.entry.js} +1 -1
  190. package/dist/verdocs-web-sdk/{p-3e20d28c.system.entry.js → p-f9e89b56.system.entry.js} +1 -1
  191. package/dist/verdocs-web-sdk/{p-75435256.system.entry.js → p-fab73ec8.system.entry.js} +1 -1
  192. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  193. package/package.json +1 -1
  194. package/dist/cjs/verdocs-template-create.cjs.entry.js +0 -99
  195. package/dist/custom-elements.json +0 -2021
  196. package/dist/esm-es5/verdocs-preview_6.entry.js +0 -1
  197. package/dist/esm-es5/verdocs-template-create.entry.js +0 -1
  198. package/dist/verdocs-web-sdk/p-070dfd64.system.entry.js +0 -1
  199. package/dist/verdocs-web-sdk/p-7ebe11ff.entry.js +0 -1
  200. package/dist/verdocs-web-sdk/p-88e12975.entry.js +0 -1
  201. package/dist/verdocs-web-sdk/p-93eb4996.system.entry.js +0 -1
  202. package/dist/verdocs-web-sdk/p-9e15bdda.system.js +0 -1
  203. package/dist/verdocs-web-sdk/p-b35e8183.system.entry.js +0 -1
  204. package/dist/verdocs-web-sdk/p-e1cad931.entry.js +0 -1
  205. package/dist/verdocs-web-sdk/p-f3aa514e.system.entry.js +0 -1
  206. package/dist/verdocs-web-sdk/p-fbd27c79.entry.js +0 -1
@@ -1,22 +1,25 @@
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$q } from './verdocs-button2.js';
7
- import { d as defineCustomElement$p } from './verdocs-checkbox2.js';
8
- import { d as defineCustomElement$o } from './verdocs-component-error2.js';
9
- import { d as defineCustomElement$n } from './verdocs-contact-picker2.js';
10
- import { d as defineCustomElement$m } from './verdocs-file-chooser2.js';
11
- import { d as defineCustomElement$l } from './verdocs-help-icon2.js';
12
- import { d as defineCustomElement$k } from './verdocs-loader2.js';
13
- import { d as defineCustomElement$j } from './verdocs-ok-dialog2.js';
14
- import { d as defineCustomElement$i } from './verdocs-preview2.js';
15
- import { d as defineCustomElement$h } from './verdocs-progress-bar2.js';
16
- import { d as defineCustomElement$g } from './verdocs-radio-button2.js';
17
- import { d as defineCustomElement$f } from './verdocs-select-input2.js';
18
- import { d as defineCustomElement$e } from './verdocs-send2.js';
19
- import { d as defineCustomElement$d } 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';
22
+ import { d as defineCustomElement$d } from './verdocs-template-create2.js';
20
23
  import { d as defineCustomElement$c } from './verdocs-template-document-page2.js';
21
24
  import { d as defineCustomElement$b } from './verdocs-template-fields2.js';
22
25
  import { d as defineCustomElement$a } from './verdocs-template-name2.js';
@@ -29,64 +32,7 @@ import { d as defineCustomElement$4 } from './verdocs-text-input2.js';
29
32
  import { d as defineCustomElement$3 } from './verdocs-toggle-button2.js';
30
33
  import { d as defineCustomElement$2 } from './verdocs-toolbar-icon2.js';
31
34
 
32
- /**
33
- * Confirm whether the user has all of the specified permissions.
34
- */
35
- var userHasPermissions = function (session, permissions) {
36
- return permissions.every(function (perm) { return ((session === null || session === void 0 ? void 0 : session.permissions) || []).includes(perm); });
37
- };
38
-
39
- /**
40
- * Various helpers to identify available operations for a template by a user.
41
- *
42
- * @module
43
- */
44
- /**
45
- * Check to see if the user created the template.
46
- */
47
- var userIsTemplateCreator = function (session, template) {
48
- return session && template && session.profile_id === template.profile_id;
49
- };
50
- /**
51
- * Check to see if a template is "shared" with the user.
52
- */
53
- var userHasSharedTemplate = function (session, template) {
54
- return session && template && !template.is_personal && session.organization_id === template.organization_id;
55
- };
56
- /**
57
- * Check to see if the user can read/view a template.
58
- */
59
- var userCanReadTemplate = function (session, template) {
60
- return template.is_public ||
61
- userIsTemplateCreator(session, template) ||
62
- (userHasSharedTemplate(session, template) && userHasPermissions(session, [Permissions.TEMPLATE_MEMBER_READ]));
63
- };
64
- /**
65
- * Check to see if the user can update a tempate.
66
- */
67
- var userCanUpdateTemplate = function (session, template) {
68
- return userIsTemplateCreator(session, template) ||
69
- (userHasSharedTemplate(session, template) &&
70
- userHasPermissions(session, [Permissions.TEMPLATE_MEMBER_READ, Permissions.TEMPLATE_MEMBER_WRITE]));
71
- };
72
- /**
73
- * Check to see if the user can "build" the template (use the field builder). The user must have write access to the
74
- * template, and the template must have at least one signer role.
75
- */
76
- var userCanBuildTemplate = function (session, template) {
77
- return userCanUpdateTemplate(session, template) && (template.roles || []).filter(function (role) { return role.type === 'signer'; }).length > 0;
78
- };
79
- /**
80
- * Check to see if the user can preview the template. The user must have read access to the template, the template must
81
- * have at least one signer, and every signer must have at least one field.
82
- */
83
- var userCanPreviewTemplate = function (session, template) {
84
- var hasPermission = userCanReadTemplate(session, template);
85
- var signers = (template.roles || []).filter(function (role) { return role.type === 'signer'; });
86
- return hasPermission && signers.length > 0 && signers.every(function (signer) { return (signer.fields || []).length > 0; });
87
- };
88
-
89
- 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 .steps{-ms-flex:0;flex:0;gap:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;padding:5px 20px 0 10px;background-color:#f2f5fa;border-bottom:1px solid #cccccc}verdocs-build .steps .step{border:none;height:40px;display:-ms-flexbox;display:flex;color:#ffffff;cursor:pointer;padding:0 20px;font-size:13px;font-weight:600;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-transform:uppercase;border-top-left-radius:5px;border-top-right-radius:5px;background-color:#666666}verdocs-build .steps .step:disabled{cursor:inherit;background-color:#aaaaaa}verdocs-build .steps .step.active{background-color:#707ae5}verdocs-build .content{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 0 7px -3px #000000cc;box-shadow:0 0 7px -3px #000000cc}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}";
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}";
90
36
 
91
37
  const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
92
38
  constructor() {
@@ -95,35 +41,64 @@ const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
95
41
  this.sdkError = createEvent(this, "sdkError", 7);
96
42
  this.stepChanged = createEvent(this, "stepChanged", 7);
97
43
  this.send = createEvent(this, "send", 7);
98
- this.store = null;
44
+ this.templateUpdated = createEvent(this, "templateUpdated", 7);
45
+ this.templateCreated = createEvent(this, "templateCreated", 7);
99
46
  this.endpoint = VerdocsEndpoint.getDefault();
100
47
  this.templateId = null;
101
- this.step = null;
48
+ this.step = 'preview';
49
+ this.store = null;
50
+ }
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));
102
58
  }
103
59
  async componentWillLoad() {
104
60
  var _a, _b, _c;
105
61
  try {
106
62
  this.endpoint.loadSession();
107
63
  if (!this.templateId) {
108
- console.log(`[BUILD] Missing required template ID ${this.templateId}`);
64
+ console.log(`[BUILD] No template ID, activating upload mode`);
65
+ this.step = 'attachments';
109
66
  return;
110
67
  }
111
68
  if (!this.endpoint.session) {
112
69
  console.log('[BUILD] Unable to start builder session, must be authenticated');
113
70
  return;
114
71
  }
115
- this.step = 'roles';
116
- this.store = await getTemplateStore(this.endpoint, this.templateId, true);
72
+ this.loadTemplate(this.templateId).catch(e => console.log('[BUILD] Unable to load template', e));
117
73
  }
118
74
  catch (e) {
119
75
  console.log('[BUILD] Error loading template', e);
120
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));
121
77
  }
122
78
  }
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);
84
+ }
85
+ }
123
86
  handleCancel(e) {
124
87
  console.log('Cancel', e.detail);
125
88
  this.step = 'preview';
126
89
  }
90
+ async handleTemplateCreated(templateId) {
91
+ var _a;
92
+ await this.loadTemplate(templateId);
93
+ this.templateId = templateId;
94
+ this.step = 'roles';
95
+ (_a = this.stepChanged) === null || _a === void 0 ? void 0 : _a.emit('roles');
96
+ }
97
+ async handleTemplateUpdated(e) {
98
+ var _a;
99
+ console.log('tup');
100
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
101
+ }
127
102
  handleAttachmentsNext() {
128
103
  var _a;
129
104
  this.step = 'roles';
@@ -134,10 +109,9 @@ const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
134
109
  this.step = 'fields';
135
110
  (_a = this.stepChanged) === null || _a === void 0 ? void 0 : _a.emit('fields');
136
111
  }
137
- setStep(e, step) {
112
+ handleStepChanged(step) {
138
113
  var _a;
139
- e.stopPropagation();
140
- e.preventDefault();
114
+ console.log('osc', step);
141
115
  this.step = step;
142
116
  (_a = this.stepChanged) === null || _a === void 0 ? void 0 : _a.emit(step);
143
117
  }
@@ -145,22 +119,30 @@ const VerdocsBuild$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
145
119
  if (!this.endpoint.session) {
146
120
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
147
121
  }
148
- const canPreview = userCanPreviewTemplate(this.endpoint.session, this.store.state);
149
- const canEditFields = userCanBuildTemplate(this.endpoint.session, this.store.state);
150
- const canEditRoles = userCanUpdateTemplate(this.endpoint.session, this.store.state);
151
- return (h(Host, null, h("div", { class: "steps" }, h("button", { class: `step ${this.step === 'attachments' ? 'active' : ''}`, onClick: e => this.setStep(e, 'attachments') }, "Attachments"), h("button", { class: `step ${this.step === 'roles' ? 'active' : ''}`, onClick: e => this.setStep(e, 'roles'), disabled: !canEditRoles }, "Roles"), h("button", { class: `step ${this.step === 'settings' ? 'active' : ''}`, onClick: e => this.setStep(e, 'settings'), disabled: !canEditFields }, "Settings"), h("button", { class: `step ${this.step === 'fields' ? 'active' : ''}`, onClick: e => this.setStep(e, 'fields'), disabled: !canEditFields }, "Fields"), h("button", { class: `step ${this.step === 'preview' ? 'active' : ''}`, onClick: e => this.setStep(e, 'preview'), disabled: !canPreview }, "Preview/Send")), h("div", { class: "content" }, this.step === 'attachments' && (h("verdocs-template-attachments", { templateId: this.templateId, endpoint: this.endpoint, onExit: e => this.handleCancel(e), onNext: () => this.handleAttachmentsNext() })), this.step === 'roles' && (h("verdocs-template-roles", { templateId: this.templateId, endpoint: this.endpoint, onExit: e => this.handleCancel(e), onNext: () => this.handleRolesNext() })), 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' } }), h("verdocs-template-reminders", { templateId: this.templateId, endpoint: this.endpoint, style: { backgroundColor: '#ffffff', padding: '20px' } }), h("verdocs-template-visibility", { templateId: this.templateId, endpoint: this.endpoint, style: { backgroundColor: '#ffffff', padding: '20px' } }))), this.step === 'fields' && h("verdocs-template-fields", { templateId: this.templateId, endpoint: this.endpoint }), 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' } })))))));
122
+ if (!this.store) {
123
+ console.log('[BUILD] No template ID, rendering created view');
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) }))));
125
+ }
126
+ console.log('[BUILD] Rendering build view', this.step, ['attachments', 'roles', 'settings', 'fields', 'preview'].indexOf(this.step));
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' } })))))));
152
128
  }
129
+ get el() { return this; }
130
+ static get watchers() { return {
131
+ "templateId": ["onTemplateIdChanged"],
132
+ "step": ["onStepChanged"]
133
+ }; }
153
134
  static get style() { return verdocsBuildCss; }
154
135
  }, [0, "verdocs-build", {
155
136
  "endpoint": [16],
156
- "templateId": [1, "template-id"],
157
- "step": [1537]
137
+ "templateId": [1537, "template-id"],
138
+ "step": [1537],
139
+ "store": [32]
158
140
  }]);
159
141
  function defineCustomElement$1() {
160
142
  if (typeof customElements === "undefined") {
161
143
  return;
162
144
  }
163
- 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-template-attachments", "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"];
164
146
  components.forEach(tagName => { switch (tagName) {
165
147
  case "verdocs-build":
166
148
  if (!customElements.get(tagName)) {
@@ -169,70 +151,85 @@ function defineCustomElement$1() {
169
151
  break;
170
152
  case "verdocs-button":
171
153
  if (!customElements.get(tagName)) {
172
- defineCustomElement$q();
154
+ defineCustomElement$t();
173
155
  }
174
156
  break;
175
157
  case "verdocs-checkbox":
176
158
  if (!customElements.get(tagName)) {
177
- defineCustomElement$p();
159
+ defineCustomElement$s();
178
160
  }
179
161
  break;
180
162
  case "verdocs-component-error":
181
163
  if (!customElements.get(tagName)) {
182
- defineCustomElement$o();
164
+ defineCustomElement$r();
183
165
  }
184
166
  break;
185
167
  case "verdocs-contact-picker":
186
168
  if (!customElements.get(tagName)) {
187
- defineCustomElement$n();
169
+ defineCustomElement$q();
188
170
  }
189
171
  break;
190
172
  case "verdocs-file-chooser":
191
173
  if (!customElements.get(tagName)) {
192
- defineCustomElement$m();
174
+ defineCustomElement$p();
193
175
  }
194
176
  break;
195
177
  case "verdocs-help-icon":
196
178
  if (!customElements.get(tagName)) {
197
- defineCustomElement$l();
179
+ defineCustomElement$o();
198
180
  }
199
181
  break;
200
182
  case "verdocs-loader":
201
183
  if (!customElements.get(tagName)) {
202
- defineCustomElement$k();
184
+ defineCustomElement$n();
203
185
  }
204
186
  break;
205
187
  case "verdocs-ok-dialog":
206
188
  if (!customElements.get(tagName)) {
207
- defineCustomElement$j();
189
+ defineCustomElement$m();
208
190
  }
209
191
  break;
210
192
  case "verdocs-preview":
211
193
  if (!customElements.get(tagName)) {
212
- defineCustomElement$i();
194
+ defineCustomElement$l();
213
195
  }
214
196
  break;
215
197
  case "verdocs-progress-bar":
216
198
  if (!customElements.get(tagName)) {
217
- defineCustomElement$h();
199
+ defineCustomElement$k();
218
200
  }
219
201
  break;
220
202
  case "verdocs-radio-button":
221
203
  if (!customElements.get(tagName)) {
222
- defineCustomElement$g();
204
+ defineCustomElement$j();
223
205
  }
224
206
  break;
225
207
  case "verdocs-select-input":
226
208
  if (!customElements.get(tagName)) {
227
- defineCustomElement$f();
209
+ defineCustomElement$i();
228
210
  }
229
211
  break;
230
212
  case "verdocs-send":
231
213
  if (!customElements.get(tagName)) {
232
- defineCustomElement$e();
214
+ defineCustomElement$h();
215
+ }
216
+ break;
217
+ case "verdocs-tabs":
218
+ if (!customElements.get(tagName)) {
219
+ defineCustomElement$g();
233
220
  }
234
221
  break;
235
222
  case "verdocs-template-attachments":
223
+ if (!customElements.get(tagName)) {
224
+ defineCustomElement$f();
225
+ }
226
+ break;
227
+ case "verdocs-template-build-tabs":
228
+ if (!customElements.get(tagName)) {
229
+ defineCustomElement$e();
230
+ }
231
+ break;
232
+ case "verdocs-template-create":
236
233
  if (!customElements.get(tagName)) {
237
234
  defineCustomElement$d();
238
235
  }
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
 
3
- const verdocsTabsCss = "verdocs-tabs{width:100%;height:50px;display:-ms-flexbox;display:flex;color:#72757d;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0 10px 0;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#e5e5e5;font-family:\"Inter\", \"Barlow\", sans-serif;-webkit-filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06));filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}verdocs-tabs .tab{height:50px;display:-ms-flexbox;display:flex;cursor:pointer;padding:0 40px;font-size:16px;font-weight:600;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:#e4e4e7}verdocs-tabs .tab.active{color:#707ae5;background-color:#ffffff}verdocs-tabs .tab.disabled{color:#d4d4d8;cursor:default}";
3
+ const verdocsTabsCss = "verdocs-tabs{gap:10px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row;font-family:\"Inter\", \"Barlow\", sans-serif}verdocs-tabs .tab{display:-ms-flexbox;display:flex;color:#111111;cursor:pointer;font-size:14px;font-weight:400;padding:5px 10px;-ms-flex-align:center;align-items:center;text-transform:none;-ms-flex-pack:center;justify-content:center;border-bottom:4px solid transparent}verdocs-tabs .tab:focus{border:none;outline:none}verdocs-tabs .tab.active{color:#000000;font-weight:500;border-bottom:4px solid #654dcb}verdocs-tabs .tab.disabled{color:#666666;cursor:default}";
4
4
 
5
5
  const VerdocsTabs = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
6
  constructor() {
@@ -8,15 +8,10 @@ const VerdocsTabs = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
8
  this.__registerHost();
9
9
  this.selectTab = createEvent(this, "selectTab", 7);
10
10
  this.tabs = [];
11
- this.defaultTab = 0;
12
11
  this.selectedTab = 0;
13
12
  }
14
- componentWillLoad() {
15
- this.selectedTab = this.defaultTab || 0;
16
- }
17
13
  handleSelectTab(index) {
18
14
  var _a;
19
- this.selectedTab = index;
20
15
  (_a = this.selectTab) === null || _a === void 0 ? void 0 : _a.emit({ tab: this.tabs[index], index });
21
16
  }
22
17
  render() {
@@ -25,8 +20,7 @@ const VerdocsTabs = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
25
20
  static get style() { return verdocsTabsCss; }
26
21
  }, [4, "verdocs-tabs", {
27
22
  "tabs": [16],
28
- "defaultTab": [2, "default-tab"],
29
- "selectedTab": [32]
23
+ "selectedTab": [2, "selected-tab"]
30
24
  }]);
31
25
  function defineCustomElement() {
32
26
  if (typeof customElements === "undefined") {
@@ -19,7 +19,7 @@ const VerdocsTemplateAttachments = /*@__PURE__*/ proxyCustomElement(class extend
19
19
  this.__registerHost();
20
20
  this.exit = createEvent(this, "exit", 7);
21
21
  this.next = createEvent(this, "next", 7);
22
- this.templateUpdate = createEvent(this, "templateUpdate", 7);
22
+ this.templateUpdated = createEvent(this, "templateUpdated", 7);
23
23
  this.sdkError = createEvent(this, "sdkError", 7);
24
24
  this.endpoint = VerdocsEndpoint.getDefault();
25
25
  this.templateId = '';
@@ -63,7 +63,7 @@ const VerdocsTemplateAttachments = /*@__PURE__*/ proxyCustomElement(class extend
63
63
  }
64
64
  }
65
65
  async handleUpload(e) {
66
- var _a, _b, _c;
66
+ var _a, _b, _c, _d;
67
67
  e.stopPropagation();
68
68
  const file = e.detail.file;
69
69
  if (!file) {
@@ -76,14 +76,15 @@ const VerdocsTemplateAttachments = /*@__PURE__*/ proxyCustomElement(class extend
76
76
  const template = await createTemplateDocument(this.endpoint, this.templateId, file, this.handleUploadProgress.bind(this));
77
77
  console.log('[ATTACHMENTS] Created attachment', template);
78
78
  this.store = await getTemplateStore(this.endpoint, this.templateId, true);
79
- console.log('[ATTACHMENTS] New template', this.store.state);
79
+ console.log('[ATTACHMENTS] Updated template', this.store.state);
80
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: this.store.state, event: 'attachments' });
80
81
  this.uploading = false;
81
82
  this.progressLabel = '';
82
83
  this.progressPercent = 0;
83
84
  }
84
85
  catch (e) {
85
86
  console.log('[ATTACHMENTS] Error creating template', e);
86
- (_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));
87
+ (_b = this.sdkError) === null || _b === void 0 ? void 0 : _b.emit(new SDKError(e.message, (_c = e.response) === null || _c === void 0 ? void 0 : _c.status, (_d = e.response) === null || _d === void 0 ? void 0 : _d.data));
87
88
  this.uploading = false;
88
89
  }
89
90
  }
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VerdocsTemplateBuildTabs extends Components.VerdocsTemplateBuildTabs, HTMLElement {}
4
+ export const VerdocsTemplateBuildTabs: {
5
+ prototype: VerdocsTemplateBuildTabs;
6
+ new (): VerdocsTemplateBuildTabs;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { V as VerdocsTemplateBuildTabs$1, d as defineCustomElement$1 } from './verdocs-template-build-tabs2.js';
2
+
3
+ const VerdocsTemplateBuildTabs = VerdocsTemplateBuildTabs$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { VerdocsTemplateBuildTabs, defineCustomElement };
@@ -0,0 +1,132 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import './Types.js';
3
+ import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
4
+ import { g as getTemplateStore } from './TemplateStore.js';
5
+ import { S as SDKError } from './errors.js';
6
+ import { d as defineCustomElement$2 } from './verdocs-component-error2.js';
7
+ import { d as defineCustomElement$1 } from './verdocs-tabs2.js';
8
+
9
+ const verdocsTemplateBuildTabsCss = "verdocs-template-build-tabs{-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;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-build-tabs verdocs-template-attachments,verdocs-template-build-tabs verdocs-template-roles{margin:20px}verdocs-template-build-tabs verdocs-template-fields{border-top:1px solid #777777}verdocs-template-build-tabs verdocs-template-attachments{padding:20px;background:#ffffff}verdocs-template-build-tabs verdocs-template-fields{width:100%}verdocs-template-build-tabs verdocs-preview{-ms-flex:1;flex:1}";
10
+
11
+ const STEPS = ['attachments', 'roles', 'settings', 'fields', 'preview'];
12
+ const VerdocsTemplateBuildTabs = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
13
+ constructor() {
14
+ super();
15
+ this.__registerHost();
16
+ this.sdkError = createEvent(this, "sdkError", 7);
17
+ this.stepChanged = createEvent(this, "stepChanged", 7);
18
+ this.endpoint = VerdocsEndpoint.getDefault();
19
+ this.templateId = null;
20
+ this.step = 'preview';
21
+ this.store = null;
22
+ }
23
+ onStepChanged() {
24
+ console.log('Step changed', this.step, this.templateId);
25
+ this.loadTemplate().catch((e) => console.log('Unknown Error', e));
26
+ }
27
+ async componentWillLoad() {
28
+ var _a, _b, _c;
29
+ try {
30
+ this.endpoint.loadSession();
31
+ if (!this.endpoint.session) {
32
+ console.log('[BUILD_TABS] Unable to start builder session, must be authenticated');
33
+ return;
34
+ }
35
+ if (!this.templateId) {
36
+ this.step = 'preview';
37
+ return;
38
+ }
39
+ this.loadTemplate().catch(e => console.log('[BUILD_TABS] Unable to load template', e));
40
+ }
41
+ catch (e) {
42
+ console.log('[BUILD_TABS] Error loading template', e);
43
+ (_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));
44
+ }
45
+ }
46
+ async loadTemplate() {
47
+ if (this.templateId) {
48
+ this.store = await getTemplateStore(this.endpoint, this.templateId, false);
49
+ }
50
+ }
51
+ setStep(e) {
52
+ var _a;
53
+ console.log('Selected step', e.detail.tab.id);
54
+ e.stopPropagation();
55
+ e.preventDefault();
56
+ this.step = e.detail.tab.id;
57
+ (_a = this.stepChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail.tab.id);
58
+ }
59
+ render() {
60
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
61
+ if (!this.endpoint.session) {
62
+ return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
63
+ }
64
+ let canPreview = false;
65
+ let canEditFields = false;
66
+ let canEditRoles = false;
67
+ if (this.templateId && this.store) {
68
+ 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);
69
+ canEditRoles = ((_h = (_g = this.store) === null || _g === void 0 ? void 0 : _g.state) === null || _h === void 0 ? void 0 : _h.template_documents.length) > 0;
70
+ canEditFields = canEditRoles && ((_k = (_j = this.store) === null || _j === void 0 ? void 0 : _j.state) === null || _k === void 0 ? void 0 : _k.roles.length) > 0;
71
+ canPreview = canEditFields && ((_m = (_l = this.store) === null || _l === void 0 ? void 0 : _l.state) === null || _m === void 0 ? void 0 : _m.fields.length) > 0;
72
+ // TODO
73
+ // canPreview = this.store && userCanPreviewTemplate(this.endpoint.session, this.store?.state);
74
+ // canEditFields = this.store && userCanBuildTemplate(this.endpoint.session, this.store?.state);
75
+ // canEditRoles = this.store && userCanUpdateTemplate(this.endpoint.session, this.store?.state);
76
+ }
77
+ let selectedStepIndex = Math.max(STEPS.indexOf(this.step), 0);
78
+ if (!canPreview && selectedStepIndex >= 4) {
79
+ selectedStepIndex = 3;
80
+ }
81
+ if (!canEditFields && selectedStepIndex >= 3) {
82
+ selectedStepIndex = 1;
83
+ }
84
+ if (!canEditRoles && selectedStepIndex >= 1) {
85
+ selectedStepIndex = 0;
86
+ }
87
+ console.log({ selectedStepIndex, canPreview, canEditFields, canEditRoles });
88
+ console.log('[BUILD_TABS] Rendering', this.step, selectedStepIndex);
89
+ return (h(Host, null, h("verdocs-tabs", { onSelectTab: e => this.setStep(e), selectedTab: selectedStepIndex, tabs: [
90
+ { id: 'attachments', disabled: false, label: this.templateId && this.store ? 'Attachment(s)' : 'Upload Attachment(s)' },
91
+ { id: 'roles', disabled: !canEditRoles, label: 'Roles' },
92
+ { id: 'settings', disabled: !canEditFields, label: 'Settings' },
93
+ { id: 'fields', disabled: !canEditFields, label: 'Fields' },
94
+ { id: 'preview', disabled: !canPreview, label: 'Preview/Send' },
95
+ ] })));
96
+ }
97
+ static get watchers() { return {
98
+ "step": ["onStepChanged"]
99
+ }; }
100
+ static get style() { return verdocsTemplateBuildTabsCss; }
101
+ }, [0, "verdocs-template-build-tabs", {
102
+ "endpoint": [16],
103
+ "templateId": [1537, "template-id"],
104
+ "step": [1537],
105
+ "store": [32]
106
+ }]);
107
+ function defineCustomElement() {
108
+ if (typeof customElements === "undefined") {
109
+ return;
110
+ }
111
+ const components = ["verdocs-template-build-tabs", "verdocs-component-error", "verdocs-tabs"];
112
+ components.forEach(tagName => { switch (tagName) {
113
+ case "verdocs-template-build-tabs":
114
+ if (!customElements.get(tagName)) {
115
+ customElements.define(tagName, VerdocsTemplateBuildTabs);
116
+ }
117
+ break;
118
+ case "verdocs-component-error":
119
+ if (!customElements.get(tagName)) {
120
+ defineCustomElement$2();
121
+ }
122
+ break;
123
+ case "verdocs-tabs":
124
+ if (!customElements.get(tagName)) {
125
+ defineCustomElement$1();
126
+ }
127
+ break;
128
+ } });
129
+ }
130
+ defineCustomElement();
131
+
132
+ export { VerdocsTemplateBuildTabs as V, defineCustomElement as d };