@verdocs/web-sdk 1.12.33 → 1.12.35

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 (81) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/verdocs-build.cjs.entry.js +13 -3
  3. package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +6 -1
  4. package/dist/cjs/verdocs-progress-bar.cjs.entry.js +23 -0
  5. package/dist/cjs/verdocs-send.cjs.entry.js +5 -3
  6. package/dist/cjs/verdocs-template-create_3.cjs.entry.js +755 -0
  7. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  8. package/dist/collection/collection-manifest.json +1 -0
  9. package/dist/collection/components/controls/verdocs-progress-bar/verdocs-progress-bar.css +31 -0
  10. package/dist/collection/components/controls/verdocs-progress-bar/verdocs-progress-bar.js +84 -0
  11. package/dist/collection/components/controls/verdocs-progress-bar/verdocs-progress-bar.stories.js +12 -0
  12. package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +27 -3
  13. package/dist/collection/components/embeds/verdocs-send/verdocs-send.css +1 -0
  14. package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +4 -2
  15. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.css +3 -1
  16. package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.js +20 -24
  17. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +7 -1
  18. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.stories.js +2 -1
  19. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.css +2 -0
  20. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.stories.js +1 -2
  21. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +2 -0
  22. package/dist/components/index.d.ts +1 -0
  23. package/dist/components/index.js +1 -0
  24. package/dist/components/verdocs-build.js +79 -15
  25. package/dist/components/verdocs-progress-bar.d.ts +11 -0
  26. package/dist/components/verdocs-progress-bar.js +6 -0
  27. package/dist/components/verdocs-progress-bar2.js +38 -0
  28. package/dist/components/verdocs-send.js +5 -3
  29. package/dist/components/verdocs-template-create2.js +33 -31
  30. package/dist/components/verdocs-template-field-properties2.js +7 -1
  31. package/dist/components/verdocs-template-fields2.js +1 -1
  32. package/dist/components/verdocs-template-roles.js +1 -374
  33. package/dist/{esm/verdocs-template-roles.entry.js → components/verdocs-template-roles2.js} +100 -22
  34. package/dist/docs.json +119 -2
  35. package/dist/esm/loader.js +1 -1
  36. package/dist/esm/verdocs-build.entry.js +13 -3
  37. package/dist/esm/verdocs-button-panel_3.entry.js +6 -1
  38. package/dist/esm/verdocs-progress-bar.entry.js +19 -0
  39. package/dist/esm/verdocs-send.entry.js +5 -3
  40. package/dist/esm/verdocs-template-create_3.entry.js +749 -0
  41. package/dist/esm/verdocs-web-sdk.js +1 -1
  42. package/dist/esm-es5/loader.js +1 -1
  43. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  44. package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
  45. package/dist/esm-es5/verdocs-progress-bar.entry.js +1 -0
  46. package/dist/esm-es5/verdocs-send.entry.js +1 -1
  47. package/dist/esm-es5/verdocs-template-create_3.entry.js +1 -0
  48. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  49. package/dist/types/components/controls/verdocs-progress-bar/verdocs-progress-bar.d.ts +18 -0
  50. package/dist/types/components/controls/verdocs-progress-bar/verdocs-progress-bar.stories.d.ts +8 -0
  51. package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +6 -0
  52. package/dist/types/components/templates/verdocs-template-create/verdocs-template-create.d.ts +2 -0
  53. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +1 -0
  54. package/dist/types/components.d.ts +41 -0
  55. package/dist/verdocs-web-sdk/p-2413519c.system.entry.js +1 -0
  56. package/dist/verdocs-web-sdk/p-423b6ddf.entry.js +1 -0
  57. package/dist/verdocs-web-sdk/p-5cf14e4c.entry.js +1 -0
  58. package/dist/verdocs-web-sdk/p-6caf1137.system.js +1 -1
  59. package/dist/verdocs-web-sdk/p-6e1e787a.system.entry.js +1 -0
  60. package/dist/verdocs-web-sdk/p-a2cd33fd.system.entry.js +1 -0
  61. package/dist/verdocs-web-sdk/p-bcc9c2d8.entry.js +1 -0
  62. package/dist/verdocs-web-sdk/p-c4229602.system.entry.js +1 -0
  63. package/dist/verdocs-web-sdk/p-e4b18c52.entry.js +1 -0
  64. package/dist/verdocs-web-sdk/{p-0ba7360f.system.entry.js → p-fdbafc1f.system.entry.js} +1 -1
  65. package/dist/verdocs-web-sdk/p-fe2ab7b9.entry.js +1 -0
  66. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  67. package/package.json +1 -1
  68. package/dist/cjs/verdocs-template-create_2.cjs.entry.js +0 -473
  69. package/dist/cjs/verdocs-template-roles.cjs.entry.js +0 -304
  70. package/dist/esm/verdocs-template-create_2.entry.js +0 -468
  71. package/dist/esm-es5/verdocs-template-create_2.entry.js +0 -1
  72. package/dist/esm-es5/verdocs-template-roles.entry.js +0 -1
  73. package/dist/verdocs-web-sdk/p-0c5c9ebf.system.entry.js +0 -1
  74. package/dist/verdocs-web-sdk/p-13b8ec6f.system.entry.js +0 -1
  75. package/dist/verdocs-web-sdk/p-1da14840.entry.js +0 -1
  76. package/dist/verdocs-web-sdk/p-4ddd2113.system.entry.js +0 -1
  77. package/dist/verdocs-web-sdk/p-6f828ccb.system.entry.js +0 -1
  78. package/dist/verdocs-web-sdk/p-a2438331.entry.js +0 -1
  79. package/dist/verdocs-web-sdk/p-baf138a0.entry.js +0 -1
  80. package/dist/verdocs-web-sdk/p-cd0bdac3.entry.js +0 -1
  81. package/dist/verdocs-web-sdk/p-e890fc53.entry.js +0 -1
@@ -1,468 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-5260ed60.js';
2
- import './Types-6dc82c14.js';
3
- import { c as createTemplate, g as getTemplate } from './Templates-8e4ab976.js';
4
- import { c as createTemplateDocument } from './TemplateDocuments-618934d0.js';
5
- import { V as VerdocsEndpoint } from './VerdocsEndpoint-d0a126c0.js';
6
- import { S as SDKError } from './errors-9b5498c8.js';
7
- import { i as interact } from './interact.min-ad5c452f.js';
8
- import { u as updateField, c as createField } from './Fields-c82e6df3.js';
9
- import { b as getRoleIndex, r as renderDocumentField, e as updateCssTransform, f as defaultWidth, h as defaultHeight } from './utils-9628af35.js';
10
- import { s as state } from './templateStore-17c872da.js';
11
- import { l as loadTemplate } from './Templates-deedf4bd.js';
12
- import './Envelopes-19a6e456.js';
13
- import './Files-70a192df.js';
14
- import './index-d264c496.js';
15
- import './Primitives-054bc6e5.js';
16
-
17
- const verdocsTemplateCreateCss = "verdocs-template-create{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-create form{background-color:#ffffff;padding:12px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-template-create form .upload-box{-webkit-box-sizing:border-box;box-sizing:border-box;width:320px;text-align:center;padding:44px 18px 66px;border:2px dashed #979797;color:rgba(0, 0, 0, 0.54)}verdocs-template-create form .upload-box svg{width:64px;fill:#5c6575}verdocs-template-create .loader-wrapper{background-color:#ffffff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;width:320px;height:320px;text-align:center;border:2px dashed #979797;-ms-flex-pack:end;justify-content:flex-end;padding:0 0 30px 0}verdocs-template-create .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin-top:16px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-template-create .buttons .flex-fill{-ms-flex:1;flex:1}verdocs-template-create ::-webkit-input-placeholder{color:#aaaaaa}verdocs-template-create ::-moz-placeholder{color:#aaaaaa}verdocs-template-create :-ms-input-placeholder{color:#aaaaaa}verdocs-template-create ::-ms-input-placeholder{color:#aaaaaa}verdocs-template-create ::placeholder{color:#aaaaaa}";
18
-
19
- const unicodeNBSP = ' ';
20
- const FileIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"></path></svg>';
21
- const VerdocsTemplateCreate = class {
22
- constructor(hostRef) {
23
- registerInstance(this, hostRef);
24
- this.exit = createEvent(this, "exit", 7);
25
- this.next = createEvent(this, "next", 7);
26
- this.sdkError = createEvent(this, "sdkError", 7);
27
- this.endpoint = VerdocsEndpoint.getDefault();
28
- this.file = undefined;
29
- this.creating = false;
30
- }
31
- componentWillLoad() {
32
- this.endpoint.setTimeout(30000);
33
- this.endpoint.loadSession();
34
- }
35
- handleFileChanged(e) {
36
- var _a;
37
- this.file = ((_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]) || null;
38
- console.log('[CREATE] Selected file', this.file);
39
- // this.filePath = e.target.files?.[0]?.name;
40
- }
41
- handleUpload(e) {
42
- e.stopPropagation();
43
- const fileElem = document.getElementById('verdocs-template-create-file');
44
- fileElem.click();
45
- }
46
- handleCancel(e) {
47
- e.stopPropagation();
48
- this.exit.emit();
49
- }
50
- async handleSubmit(e) {
51
- var _a, _b, _c;
52
- e.stopPropagation();
53
- console.log('Submitting');
54
- // Should be true if we're here because onClick is only enabled then. We're just guarding this for Typescript.
55
- if (!this.file) {
56
- return;
57
- }
58
- this.creating = true;
59
- try {
60
- const template = await createTemplate(this.endpoint, { name: this.file.name });
61
- console.log('[CREATE] Created template', template);
62
- const template_document = await createTemplateDocument(this.endpoint, template.id, this.file);
63
- console.log('[CREATE] Created document', template_document);
64
- let finalTemplate = null;
65
- const processingWait = setInterval(async () => {
66
- var _a;
67
- console.log('[CREATE] Waiting for template to be processed...', template_document);
68
- finalTemplate = await getTemplate(this.endpoint, template.id);
69
- if (finalTemplate === null || finalTemplate === void 0 ? void 0 : finalTemplate.processed) {
70
- console.log('[CREATE] Retrieved new template', finalTemplate);
71
- // for await (let pageNumber of Array.from(Array(template_document.page_numbers).keys(), n => n + 1)) {
72
- // console.log('Updating page', pageNumber);
73
- // const page = await createPage(this.endpoint, template.id, {sequence: pageNumber, page_number: pageNumber, document_id: template_document.id});
74
- // console.log('Created page', page);
75
- // }
76
- if (processingWait) {
77
- clearInterval(processingWait);
78
- }
79
- (_a = this.next) === null || _a === void 0 ? void 0 : _a.emit(finalTemplate);
80
- this.creating = false;
81
- }
82
- }, 3000);
83
- }
84
- catch (e) {
85
- console.log('[CREATE] 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
- this.creating = false;
88
- }
89
- }
90
- render() {
91
- if (!this.endpoint.session) {
92
- return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
93
- }
94
- return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("input", { type: "file", id: "verdocs-template-create-file", multiple: true, accept: "application/pdf", style: { display: 'none' }, onChange: e => this.handleFileChanged(e) }), this.creating ? (h("div", { class: "loader-wrapper" }, h("verdocs-loader", null), h("div", { class: "loading-text" }, "Processing, please wait..."))) : (h("div", { class: "upload-box" }, h("div", null, h("span", { innerHTML: FileIcon })), h("div", { style: { marginTop: '20px', fontSize: '20px', fontWeight: 'bold', overflowWrap: 'anywhere' } }, this.file ? this.file.name : 'Drag a file here'), h("div", { style: {
95
- marginTop: '20px',
96
- marginBottom: '20px',
97
- fontSize: '16px',
98
- height: '20px',
99
- } }, this.file ? unicodeNBSP : 'Or, if you prefer...'), h("verdocs-button", { label: this.file ? 'Select a different file' : 'Select a file from your computer', size: "small", onClick: e => this.handleUpload(e) }))), h("div", { class: "buttons" }, h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e), disabled: this.creating }), h("verdocs-button", { label: "Next", size: "small", onClick: e => this.handleSubmit(e), disabled: !this.file || this.creating }))));
100
- }
101
- };
102
- VerdocsTemplateCreate.style = verdocsTemplateCreateCss;
103
-
104
- const verdocsTemplateFieldsCss = "verdocs-template-fields{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;position:relative}verdocs-template-fields .page-0{padding:65px 15px 0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .page-0 .user-placed-fields{height:100px;position:relative;background:#ffffff;-webkit-box-shadow:0 0 10px 5px #0000000f;box-shadow:0 0 10px 5px #0000000f}verdocs-template-fields .page-0 .user-placed-fields .title{top:0;left:0;color:#ffffff;font-size:12px;padding:3px 6px;font-weight:bold;position:absolute;background:#46497d}verdocs-template-fields .pages{display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-template-fields .pages div,verdocs-template-fields .pages canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields #verdocs-template-fields-toolbar{height:50px;display:-ms-flexbox;display:flex;-ms-flex:0 0 50px;flex:0 0 50px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;background:#46497d}verdocs-template-fields #verdocs-template-fields-toolbar svg{width:24px;height:24px}verdocs-template-fields.placing-attachment{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-checkbox_group{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-date{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-dropdown{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25' /%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-initial{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-payment{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-radio_button_group{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-signature{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-textarea{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-textbox{cursor:url(\"data:image/svg+xml,%3Csvg width='32' height='15' viewBox='0 0 32 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='path-1-inside-1_1401_24' fill='white'%3E%3Cpath d='M0 0H32V15H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0H32V15H0V0Z' fill='%234C56CB' fill-opacity='0.1'/%3E%3Cpath d='M0 0V-1H-1V0H0ZM0 15H-1V16H0V15ZM0 1H32V-1H0V1ZM32 14H0V16H32V14ZM1 15V0H-1V15H1Z' fill='%234C56CB' mask='url(%23path-1-inside-1_1401_24)'/%3E%3Cpath d='M3 11.8V8.65H14.15V11.8H3ZM3 6.65V3.5H20.15V6.65H3Z' fill='%234C56CB'/%3E%3Cline x1='31.5' y1='1' x2='31.5' y2='14' stroke='%234C56CB' stroke-opacity='0.32' stroke-dasharray='1 1'/%3E%3C/svg%3E%0A\") 0 14, pointer}verdocs-template-fields.placing-timestamp{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z'%3E%3C/path%3E%3C/svg%3E\") 16 16, pointer}";
105
-
106
- const iconTextbox = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z"/></svg>';
107
- const iconTextarea = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z"/></svg>';
108
- const iconCheck = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z"/></svg>';
109
- const iconRadio = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z"/></svg>';
110
- const iconDatepicker = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z"/></svg>';
111
- const iconSignature = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z"/></svg>';
112
- const iconInitial = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z"/></svg>';
113
- const iconTimestamp = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z"></path></svg>';
114
- const iconDropdown = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" stroke-width="1.5" stroke="currentColor"><path stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" d="M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25" /></svg>';
115
- const separator = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.707 14.707"><g><rect x="6.275" y="0" fill="#ffffff7f" width="1" height="15"/></g></svg>';
116
- const menuOptions = [
117
- { id: 'signature', tooltip: 'Signature', icon: iconSignature },
118
- { id: 'initial', tooltip: 'Initials', icon: iconInitial },
119
- { id: 'sep1', tooltip: '', icon: separator },
120
- { id: 'textbox', tooltip: 'Text Box', icon: iconTextbox },
121
- { id: 'textarea', tooltip: 'Text Area', icon: iconTextarea },
122
- { id: 'checkbox_group', tooltip: 'Check Box', icon: iconCheck },
123
- { id: 'radio_button_group', tooltip: 'Radio Button', icon: iconRadio },
124
- { id: 'dropdown', tooltip: 'Dropdown', icon: iconDropdown },
125
- { id: 'sep2', tooltip: '', icon: separator },
126
- { id: 'date', tooltip: 'Date', icon: iconDatepicker },
127
- { id: 'timestamp', tooltip: 'Timestamp', icon: iconTimestamp },
128
- // {id: 'sep3', tooltip: '', icon: separator},
129
- // {id: 'attachment', tooltip: 'Attachment', icon: 'A'},
130
- // {id: 'payment', tooltip: 'Payment', icon: 'P'},
131
- ];
132
- const VerdocsTemplateFields = class {
133
- constructor(hostRef) {
134
- registerInstance(this, hostRef);
135
- this.sdkError = createEvent(this, "sdkError", 7);
136
- this.templateUpdated = createEvent(this, "templateUpdated", 7);
137
- this.pageHeights = {};
138
- this.cachedPageInfo = {};
139
- this.endpoint = VerdocsEndpoint.getDefault();
140
- this.templateId = null;
141
- this.toolbarTargetId = null;
142
- this.placing = null;
143
- this.selectedRoleName = '';
144
- this.rerender = 1;
145
- }
146
- async componentWillLoad() {
147
- var _a, _b, _c, _d, _e, _f;
148
- try {
149
- this.endpoint.loadSession();
150
- if (!this.templateId) {
151
- console.log(`[FIELDS] Missing required template ID ${this.templateId}`);
152
- return;
153
- }
154
- if (!this.endpoint.session) {
155
- console.log('[BUILD] Unable to start builder session, must be authenticated');
156
- return;
157
- }
158
- try {
159
- console.log(`[FIELDS] Loading template ${this.templateId}`, this.endpoint.session);
160
- await loadTemplate(this.endpoint, this.templateId, true);
161
- this.selectedRoleName = state.roleNames[0];
162
- console.log('Starting with role', this.selectedRoleName);
163
- }
164
- catch (e) {
165
- console.log('[FIELDS] Error loading template', e);
166
- (_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));
167
- }
168
- }
169
- catch (e) {
170
- console.log('[FIELDS] Error with preview session', e);
171
- (_d = this.sdkError) === null || _d === void 0 ? void 0 : _d.emit(new SDKError(e.message, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status, (_f = e.response) === null || _f === void 0 ? void 0 : _f.data));
172
- }
173
- }
174
- componentDidRender() {
175
- interact.dynamicDrop(true);
176
- const toolbarTarget = this.toolbarTargetId ? document.getElementById(this.toolbarTargetId) : null;
177
- const toolbarEl = document.getElementById('verdocs-template-fields-toolbar');
178
- if (toolbarTarget && toolbarEl) {
179
- console.log('[FIELDS] Moving toolbar');
180
- toolbarEl.remove();
181
- toolbarTarget.append(toolbarEl);
182
- }
183
- }
184
- // Stop field-placement mode if ESC is pressed
185
- handleKeyDown(ev) {
186
- if (ev.key === 'Escape') {
187
- this.placing = null;
188
- }
189
- }
190
- async handleFieldChange(field, e, optionId) {
191
- console.log('[FIELDS] handleFieldChange', field, e, optionId);
192
- this.rerender++;
193
- }
194
- attachFieldAttributes(pageInfo, field, roleIndex, el) {
195
- el.addEventListener('input', e => this.handleFieldChange(field, e));
196
- el.addEventListener('settingsChanged', () => {
197
- var _a;
198
- console.log('Settings', state.fields);
199
- this.selectedRoleName = field.role_name;
200
- console.log('settings changed', this.selectedRoleName, field);
201
- el.setAttribute('roleindex', getRoleIndex(state.roleNames, field.role_name));
202
- this.rerender++;
203
- el.setAttribute('rerender', this.rerender);
204
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: state.template, event: 'updated-field' });
205
- });
206
- el.addEventListener('deleted', () => {
207
- var _a;
208
- console.log('deleted', this, field);
209
- el.remove();
210
- this.rerender++;
211
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: state.template, event: 'updated-field' });
212
- });
213
- el.setAttribute('roleindex', roleIndex);
214
- el.setAttribute('pageNumber', pageInfo.pageNumber);
215
- el.setAttribute('xScale', pageInfo.xScale);
216
- el.setAttribute('yScale', pageInfo.yScale);
217
- el.setAttribute('name', field.name);
218
- }
219
- handlePageRendered(e) {
220
- const pageInfo = e.detail;
221
- console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
222
- this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
223
- this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
224
- const fields = state.fields.filter(field => field.page_sequence === pageInfo.pageNumber);
225
- // const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
226
- // console.log('[FIELDS] Fields on page', fields);
227
- fields.forEach(field => {
228
- const roleIndex = getRoleIndex(state.roleNames, field.role_name);
229
- const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
230
- if (!el) {
231
- return;
232
- }
233
- if (Array.isArray(el)) {
234
- el.forEach(e => {
235
- this.attachFieldAttributes(pageInfo, field, roleIndex, e);
236
- interact(e).draggable({
237
- listeners: {
238
- start(event) {
239
- console.log('[FIELDS] Drag started', event.type, event.target);
240
- },
241
- move(event) {
242
- const oldX = +(event.target.getAttribute('posX') || 0);
243
- const oldY = +(event.target.getAttribute('posY') || 0);
244
- const xScale = +(event.target.getAttribute('xScale') || 1);
245
- const yScale = +(event.target.getAttribute('yScale') || 1);
246
- const newX = event.dx / xScale + oldX;
247
- const newY = event.dy / yScale + oldY;
248
- event.target.setAttribute('posX', newX);
249
- event.target.setAttribute('posy', newY);
250
- updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
251
- },
252
- end: this.handleMoveField.bind(this),
253
- },
254
- });
255
- });
256
- }
257
- else {
258
- this.attachFieldAttributes(pageInfo, field, roleIndex, el);
259
- interact(el).draggable({
260
- listeners: {
261
- start(event) {
262
- console.log('[FIELDS] Drag started', event.type, event.target);
263
- },
264
- move(event) {
265
- const oldX = +(event.target.getAttribute('posX') || 0);
266
- const oldY = +(event.target.getAttribute('posY') || 0);
267
- const xScale = +(event.target.getAttribute('xScale') || 1);
268
- const yScale = +(event.target.getAttribute('yScale') || 1);
269
- const newX = event.dx / xScale + oldX;
270
- const newY = event.dy / yScale + oldY;
271
- event.target.setAttribute('posX', newX);
272
- event.target.setAttribute('posy', newY);
273
- updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
274
- },
275
- end: this.handleMoveField.bind(this),
276
- },
277
- });
278
- }
279
- });
280
- }
281
- async handleMoveField(e) {
282
- const pageNumber = e.target.getAttribute('pageNumber');
283
- const { naturalWidth = 612, naturalHeight = 792, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
284
- console.log('[FIELDS] Drag ended', pageNumber, e.target);
285
- const clientRect = e.target.getBoundingClientRect();
286
- const parent = e.target.parentElement;
287
- const parentRect = parent.getBoundingClientRect();
288
- // These two being backwards is not a mistake. Left measures "over" from the left (positive displacement) while bottom measures
289
- // "up" from the bottom (negative displacement).
290
- const newX = Math.max(clientRect.left - parentRect.left, 0);
291
- const newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);
292
- const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - e.rect.width, naturalHeight - e.rect.height);
293
- const name = e.target.getAttribute('name');
294
- const option = +(e.target.getAttribute('option') || '0');
295
- const field = state.fields.find(field => field.name === name);
296
- console.log('Will update', name, option, field);
297
- if (field) {
298
- switch (field.type) {
299
- case 'attachment':
300
- case 'payment':
301
- case 'initial':
302
- case 'signature':
303
- case 'date':
304
- case 'dropdown':
305
- case 'textarea':
306
- case 'textbox':
307
- case 'timestamp':
308
- field.setting.x = x;
309
- field.setting.y = y;
310
- break;
311
- case 'checkbox_group':
312
- case 'radio_button_group':
313
- {
314
- const opt = field.setting.options[option];
315
- if (opt) {
316
- opt.x = x;
317
- opt.y = y;
318
- }
319
- }
320
- break;
321
- }
322
- await updateField(this.endpoint, this.templateId, name, field);
323
- this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
324
- }
325
- }
326
- generateFieldName(type, pageNumber) {
327
- let i = 1;
328
- let fieldName;
329
- do {
330
- fieldName = `${type}P${pageNumber}-${i}`;
331
- console.log('testing field', fieldName);
332
- i++;
333
- } while (state.fields.some(field => field.name === fieldName));
334
- console.log('Will use field name', fieldName, state.fields);
335
- return fieldName;
336
- }
337
- // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
338
- viewCoordinatesToPageCoordinates(viewX, viewY, pageNumber, xMax, yMax) {
339
- const { xScale = 1, yScale = 1, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
340
- const x = Math.floor(Math.min(viewX / xScale, xMax));
341
- const y = Math.floor(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));
342
- return { x, y };
343
- }
344
- async handleClickPage(e, page) {
345
- var _a;
346
- if (this.placing) {
347
- console.log('Placing field', this.placing, page.sequence, e.offsetX, e.offsetY);
348
- const pageNumber = page.sequence;
349
- const clickedX = e.offsetX;
350
- const clickedY = e.offsetY;
351
- const width = defaultWidth(this.placing);
352
- const height = defaultHeight(this.placing);
353
- const cachedPage = this.cachedPageInfo[pageNumber];
354
- console.log('Cached page', cachedPage);
355
- const { naturalWidth = 612, naturalHeight = 792 } = cachedPage;
356
- const coords = this.viewCoordinatesToPageCoordinates(clickedX, clickedY, pageNumber, naturalWidth - width, naturalHeight - height);
357
- const x = Math.floor(coords.x);
358
- const y = Math.floor(coords.y);
359
- const field = {
360
- name: this.generateFieldName(this.placing, pageNumber),
361
- role_name: this.selectedRoleName,
362
- template_id: this.templateId,
363
- type: this.placing,
364
- required: true,
365
- page_sequence: pageNumber,
366
- validator: null,
367
- setting: { x, y }, // In the future, this is all we should send, see below
368
- };
369
- // TODO: Fix how the server validates all this. It uses a JSON schema and is very particular about shapes for each field type.
370
- // That makes it harder for third party developers to create fields via API calls. It would be better to always set X/Y and
371
- // let the server normalize the rest, discarding properties that are invalid and back-filling defaults as needed.
372
- switch (field.type) {
373
- case 'attachment':
374
- case 'payment':
375
- field.setting = { x, y };
376
- break;
377
- case 'initial':
378
- case 'signature':
379
- field.setting = { x, y, result: '' };
380
- break;
381
- case 'checkbox_group':
382
- // @ts-ignore
383
- field.setting = {
384
- minimum_checked: 0,
385
- maximum_checked: 1000,
386
- options: [
387
- {
388
- id: `${field.name}-1`,
389
- value: 'Option 1',
390
- checked: false,
391
- x,
392
- y,
393
- },
394
- ],
395
- };
396
- break;
397
- case 'date':
398
- field.setting = { x, y, width, height, result: '' };
399
- break;
400
- // TODO: What is this?
401
- // case 'placeholder':break;
402
- case 'dropdown':
403
- field.required = false;
404
- field.setting = { x, y, width, height, value: null, placeholder: 'Choose', options: [{ id: 'option-1', value: 'Option 1' }] };
405
- break;
406
- case 'radio_button_group':
407
- // @ts-ignore
408
- field.setting = {
409
- options: [
410
- {
411
- id: `${field.name}-1`,
412
- value: 'Option 1',
413
- selected: false,
414
- x,
415
- y,
416
- },
417
- ],
418
- };
419
- break;
420
- // TODO: What about textareas?
421
- case 'textarea':
422
- case 'textbox':
423
- field.setting = { x, y, width, height, result: '', leading: 0, alignment: 0, upperCase: false };
424
- break;
425
- case 'timestamp':
426
- field.setting = { x, y, width, height };
427
- break;
428
- }
429
- // ??? We don't actually have a unique field type for multi-line text?
430
- if (field.type === 'textarea') {
431
- field.type = 'textbox';
432
- }
433
- const saved = await createField(this.endpoint, this.templateId, field);
434
- console.log('Saved field', saved);
435
- state.fields.push(saved);
436
- this.placing = null;
437
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: state.template, event: 'added-field' });
438
- this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
439
- }
440
- }
441
- render() {
442
- if (!this.endpoint.session) {
443
- return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
444
- }
445
- // TODO: Render a better error
446
- if (state.loading || !state.template) {
447
- return (h(Host, null, h("verdocs-loader", null)));
448
- }
449
- const pages = [...state.template.pages];
450
- pages.sort((a, b) => a.sequence - b.sequence);
451
- return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-r": this.rerender, onSubmit: () => {
452
- console.log('onSubmit');
453
- } }, h("div", { id: "verdocs-template-fields-toolbar" }, menuOptions.map(option => (h("verdocs-toolbar-icon", { text: option.tooltip, icon: option.icon, onClick: () => {
454
- if (option.tooltip) {
455
- // We have empty tooltips on the separators, quick hack...
456
- this.placing = option.id;
457
- }
458
- } })))), h("div", { class: "pages" }, pages.map(page => {
459
- return (h("verdocs-template-document-page", { templateId: page.template_id, documentId: page.document_id, pageNumber: page.sequence, virtualWidth: 612, virtualHeight: 792, onClick: (e) => this.handleClickPage(e, page), onPageRendered: e => this.handlePageRendered(e), layers: [
460
- { name: 'page', type: 'canvas' },
461
- { name: 'controls', type: 'div' },
462
- ] }));
463
- }))));
464
- }
465
- };
466
- VerdocsTemplateFields.style = verdocsTemplateFieldsCss;
467
-
468
- export { VerdocsTemplateCreate as verdocs_template_create, VerdocsTemplateFields as verdocs_template_fields };
@@ -1 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,i,a){function o(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,r){function n(e){try{l(a.next(e))}catch(e){r(e)}}function s(e){try{l(a["throw"](e))}catch(e){r(e)}}function l(e){e.done?i(e.value):o(e.value).then(n,s)}l((a=a.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},a,o,r,n;return n={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(n[Symbol.iterator]=function(){return this}),n;function s(e){return function(t){return l([e,t])}}function l(n){if(a)throw new TypeError("Generator is already executing.");while(i)try{if(a=1,o&&(r=n[0]&2?o["return"]:n[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,n[1])).done)return r;if(o=0,r)n=[n[0]&2,r.value];switch(n[0]){case 0:case 1:r=n;break;case 4:i.label++;return{value:n[1],done:false};case 5:i.label++;o=n[1];n=[0];continue;case 7:n=i.ops.pop();i.trys.pop();continue;default:if(!(r=i.trys,r=r.length>0&&r[r.length-1])&&(n[0]===6||n[0]===2)){i=0;continue}if(n[0]===3&&(!r||n[1]>r[0]&&n[1]<r[3])){i.label=n[1];break}if(n[0]===6&&i.label<r[1]){i.label=r[1];r=n;break}if(r&&i.label<r[2]){i.label=r[2];i.ops.push(n);break}if(r[2])i.ops.pop();i.trys.pop();continue}n=t.call(e,i)}catch(e){n=[6,e];o=0}finally{a=r=0}if(n[0]&5)throw n[1];return{value:n[0]?n[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,i){if(i||arguments.length===2)for(var a=0,o=t.length,r;a<o;a++){if(r||!(a in t)){if(!r)r=Array.prototype.slice.call(t,0,a);r[a]=t[a]}}return e.concat(r||Array.prototype.slice.call(t))};import{r as registerInstance,c as createEvent,h,H as Host}from"./index-5260ed60.js";import"./Types-6dc82c14.js";import{c as createTemplate,g as getTemplate}from"./Templates-8e4ab976.js";import{c as createTemplateDocument}from"./TemplateDocuments-618934d0.js";import{V as VerdocsEndpoint}from"./VerdocsEndpoint-d0a126c0.js";import{S as SDKError}from"./errors-9b5498c8.js";import{i as interact}from"./interact.min-ad5c452f.js";import{u as updateField,c as createField}from"./Fields-c82e6df3.js";import{b as getRoleIndex,r as renderDocumentField,e as updateCssTransform,f as defaultWidth,h as defaultHeight}from"./utils-9628af35.js";import{s as state}from"./templateStore-17c872da.js";import{l as loadTemplate}from"./Templates-deedf4bd.js";import"./Envelopes-19a6e456.js";import"./Files-70a192df.js";import"./index-d264c496.js";import"./Primitives-054bc6e5.js";var verdocsTemplateCreateCss='verdocs-template-create{font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif}verdocs-template-create form{background-color:#ffffff;padding:12px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-template-create form .upload-box{-webkit-box-sizing:border-box;box-sizing:border-box;width:320px;text-align:center;padding:44px 18px 66px;border:2px dashed #979797;color:rgba(0, 0, 0, 0.54)}verdocs-template-create form .upload-box svg{width:64px;fill:#5c6575}verdocs-template-create .loader-wrapper{background-color:#ffffff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;width:320px;height:320px;text-align:center;border:2px dashed #979797;-ms-flex-pack:end;justify-content:flex-end;padding:0 0 30px 0}verdocs-template-create .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin-top:16px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-template-create .buttons .flex-fill{-ms-flex:1;flex:1}verdocs-template-create ::-webkit-input-placeholder{color:#aaaaaa}verdocs-template-create ::-moz-placeholder{color:#aaaaaa}verdocs-template-create :-ms-input-placeholder{color:#aaaaaa}verdocs-template-create ::-ms-input-placeholder{color:#aaaaaa}verdocs-template-create ::placeholder{color:#aaaaaa}';var unicodeNBSP=" ";var FileIcon='<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"></path></svg>';var VerdocsTemplateCreate=function(){function e(e){registerInstance(this,e);this.exit=createEvent(this,"exit",7);this.next=createEvent(this,"next",7);this.sdkError=createEvent(this,"sdkError",7);this.endpoint=VerdocsEndpoint.getDefault();this.file=undefined;this.creating=false}e.prototype.componentWillLoad=function(){this.endpoint.setTimeout(3e4);this.endpoint.loadSession()};e.prototype.handleFileChanged=function(e){var t;this.file=((t=e.target.files)===null||t===void 0?void 0:t[0])||null;console.log("[CREATE] Selected file",this.file)};e.prototype.handleUpload=function(e){e.stopPropagation();var t=document.getElementById("verdocs-template-create-file");t.click()};e.prototype.handleCancel=function(e){e.stopPropagation();this.exit.emit()};e.prototype.handleSubmit=function(e){return __awaiter(this,void 0,void 0,(function(){var t,i,a,o,r,n,s,l;var d=this;return __generator(this,(function(c){switch(c.label){case 0:e.stopPropagation();console.log("Submitting");if(!this.file){return[2]}this.creating=true;c.label=1;case 1:c.trys.push([1,4,,5]);return[4,createTemplate(this.endpoint,{name:this.file.name})];case 2:o=c.sent();console.log("[CREATE] Created template",o);return[4,createTemplateDocument(this.endpoint,o.id,this.file)];case 3:r=c.sent();console.log("[CREATE] Created document",r);n=null;s=setInterval((function(){return __awaiter(d,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:console.log("[CREATE] Waiting for template to be processed...",r);return[4,getTemplate(this.endpoint,o.id)];case 1:n=t.sent();if(n===null||n===void 0?void 0:n.processed){console.log("[CREATE] Retrieved new template",n);if(s){clearInterval(s)}(e=this.next)===null||e===void 0?void 0:e.emit(n);this.creating=false}return[2]}}))}))}),3e3);return[3,5];case 4:l=c.sent();console.log("[CREATE] Error creating template",l);(t=this.sdkError)===null||t===void 0?void 0:t.emit(new SDKError(l.message,(i=l.response)===null||i===void 0?void 0:i.status,(a=l.response)===null||a===void 0?void 0:a.data));this.creating=false;return[3,5];case 5:return[2]}}))}))};e.prototype.render=function(){var e=this;if(!this.endpoint.session){return h(Host,null,h("verdocs-component-error",{message:"You must be authenticated to use this module."}))}return h("form",{onSubmit:function(e){return e.preventDefault()},onClick:function(e){return e.stopPropagation()},autocomplete:"off"},h("input",{type:"file",id:"verdocs-template-create-file",multiple:true,accept:"application/pdf",style:{display:"none"},onChange:function(t){return e.handleFileChanged(t)}}),this.creating?h("div",{class:"loader-wrapper"},h("verdocs-loader",null),h("div",{class:"loading-text"},"Processing, please wait...")):h("div",{class:"upload-box"},h("div",null,h("span",{innerHTML:FileIcon})),h("div",{style:{marginTop:"20px",fontSize:"20px",fontWeight:"bold",overflowWrap:"anywhere"}},this.file?this.file.name:"Drag a file here"),h("div",{style:{marginTop:"20px",marginBottom:"20px",fontSize:"16px",height:"20px"}},this.file?unicodeNBSP:"Or, if you prefer..."),h("verdocs-button",{label:this.file?"Select a different file":"Select a file from your computer",size:"small",onClick:function(t){return e.handleUpload(t)}})),h("div",{class:"buttons"},h("verdocs-button",{variant:"outline",label:"Cancel",size:"small",onClick:function(t){return e.handleCancel(t)},disabled:this.creating}),h("verdocs-button",{label:"Next",size:"small",onClick:function(t){return e.handleSubmit(t)},disabled:!this.file||this.creating})))};return e}();VerdocsTemplateCreate.style=verdocsTemplateCreateCss;var verdocsTemplateFieldsCss="verdocs-template-fields{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;position:relative}verdocs-template-fields .page-0{padding:65px 15px 0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .page-0 .user-placed-fields{height:100px;position:relative;background:#ffffff;-webkit-box-shadow:0 0 10px 5px #0000000f;box-shadow:0 0 10px 5px #0000000f}verdocs-template-fields .page-0 .user-placed-fields .title{top:0;left:0;color:#ffffff;font-size:12px;padding:3px 6px;font-weight:bold;position:absolute;background:#46497d}verdocs-template-fields .pages{display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-template-fields .pages div,verdocs-template-fields .pages canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields #verdocs-template-fields-toolbar{height:50px;display:-ms-flexbox;display:flex;-ms-flex:0 0 50px;flex:0 0 50px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:center;justify-content:center;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;background:#46497d}verdocs-template-fields #verdocs-template-fields-toolbar svg{width:24px;height:24px}verdocs-template-fields.placing-attachment{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-checkbox_group{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-date{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-dropdown{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25' /%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-initial{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-payment{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-radio_button_group{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-signature{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-textarea{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-textbox{cursor:url(\"data:image/svg+xml,%3Csvg width='32' height='15' viewBox='0 0 32 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='path-1-inside-1_1401_24' fill='white'%3E%3Cpath d='M0 0H32V15H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0H32V15H0V0Z' fill='%234C56CB' fill-opacity='0.1'/%3E%3Cpath d='M0 0V-1H-1V0H0ZM0 15H-1V16H0V15ZM0 1H32V-1H0V1ZM32 14H0V16H32V14ZM1 15V0H-1V15H1Z' fill='%234C56CB' mask='url(%23path-1-inside-1_1401_24)'/%3E%3Cpath d='M3 11.8V8.65H14.15V11.8H3ZM3 6.65V3.5H20.15V6.65H3Z' fill='%234C56CB'/%3E%3Cline x1='31.5' y1='1' x2='31.5' y2='14' stroke='%234C56CB' stroke-opacity='0.32' stroke-dasharray='1 1'/%3E%3C/svg%3E%0A\") 0 14, pointer}verdocs-template-fields.placing-timestamp{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z'%3E%3C/path%3E%3C/svg%3E\") 16 16, pointer}";var iconTextbox='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z"/></svg>';var iconTextarea='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z"/></svg>';var iconCheck='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z"/></svg>';var iconRadio='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z"/></svg>';var iconDatepicker='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z"/></svg>';var iconSignature='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z"/></svg>';var iconInitial='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z"/></svg>';var iconTimestamp='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z"></path></svg>';var iconDropdown='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" stroke-width="1.5" stroke="currentColor"><path stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" d="M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25" /></svg>';var separator='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.707 14.707"><g><rect x="6.275" y="0" fill="#ffffff7f" width="1" height="15"/></g></svg>';var menuOptions=[{id:"signature",tooltip:"Signature",icon:iconSignature},{id:"initial",tooltip:"Initials",icon:iconInitial},{id:"sep1",tooltip:"",icon:separator},{id:"textbox",tooltip:"Text Box",icon:iconTextbox},{id:"textarea",tooltip:"Text Area",icon:iconTextarea},{id:"checkbox_group",tooltip:"Check Box",icon:iconCheck},{id:"radio_button_group",tooltip:"Radio Button",icon:iconRadio},{id:"dropdown",tooltip:"Dropdown",icon:iconDropdown},{id:"sep2",tooltip:"",icon:separator},{id:"date",tooltip:"Date",icon:iconDatepicker},{id:"timestamp",tooltip:"Timestamp",icon:iconTimestamp}];var VerdocsTemplateFields=function(){function e(e){registerInstance(this,e);this.sdkError=createEvent(this,"sdkError",7);this.templateUpdated=createEvent(this,"templateUpdated",7);this.pageHeights={};this.cachedPageInfo={};this.endpoint=VerdocsEndpoint.getDefault();this.templateId=null;this.toolbarTargetId=null;this.placing=null;this.selectedRoleName="";this.rerender=1}e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,i,a,o,r,n,s;return __generator(this,(function(l){switch(l.label){case 0:l.trys.push([0,5,,6]);this.endpoint.loadSession();if(!this.templateId){console.log("[FIELDS] Missing required template ID ".concat(this.templateId));return[2]}if(!this.endpoint.session){console.log("[BUILD] Unable to start builder session, must be authenticated");return[2]}l.label=1;case 1:l.trys.push([1,3,,4]);console.log("[FIELDS] Loading template ".concat(this.templateId),this.endpoint.session);return[4,loadTemplate(this.endpoint,this.templateId,true)];case 2:l.sent();this.selectedRoleName=state.roleNames[0];console.log("Starting with role",this.selectedRoleName);return[3,4];case 3:n=l.sent();console.log("[FIELDS] Error loading template",n);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new SDKError(n.message,(t=n.response)===null||t===void 0?void 0:t.status,(i=n.response)===null||i===void 0?void 0:i.data));return[3,4];case 4:return[3,6];case 5:s=l.sent();console.log("[FIELDS] Error with preview session",s);(a=this.sdkError)===null||a===void 0?void 0:a.emit(new SDKError(s.message,(o=s.response)===null||o===void 0?void 0:o.status,(r=s.response)===null||r===void 0?void 0:r.data));return[3,6];case 6:return[2]}}))}))};e.prototype.componentDidRender=function(){interact.dynamicDrop(true);var e=this.toolbarTargetId?document.getElementById(this.toolbarTargetId):null;var t=document.getElementById("verdocs-template-fields-toolbar");if(e&&t){console.log("[FIELDS] Moving toolbar");t.remove();e.append(t)}};e.prototype.handleKeyDown=function(e){if(e.key==="Escape"){this.placing=null}};e.prototype.handleFieldChange=function(e,t,i){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(a){console.log("[FIELDS] handleFieldChange",e,t,i);this.rerender++;return[2]}))}))};e.prototype.attachFieldAttributes=function(e,t,i,a){var o=this;a.addEventListener("input",(function(e){return o.handleFieldChange(t,e)}));a.addEventListener("settingsChanged",(function(){var e;console.log("Settings",state.fields);o.selectedRoleName=t.role_name;console.log("settings changed",o.selectedRoleName,t);a.setAttribute("roleindex",getRoleIndex(state.roleNames,t.role_name));o.rerender++;a.setAttribute("rerender",o.rerender);(e=o.templateUpdated)===null||e===void 0?void 0:e.emit({endpoint:o.endpoint,template:state.template,event:"updated-field"})}));a.addEventListener("deleted",(function(){var e;console.log("deleted",o,t);a.remove();o.rerender++;(e=o.templateUpdated)===null||e===void 0?void 0:e.emit({endpoint:o.endpoint,template:state.template,event:"updated-field"})}));a.setAttribute("roleindex",i);a.setAttribute("pageNumber",e.pageNumber);a.setAttribute("xScale",e.xScale);a.setAttribute("yScale",e.yScale);a.setAttribute("name",t.name)};e.prototype.handlePageRendered=function(e){var t=this;var i=e.detail;console.log("[FIELDS] Page rendered",i.pageNumber,i);this.cachedPageInfo[i.pageNumber]=i;this.pageHeights[i.pageNumber]=i.naturalHeight;var a=state.fields.filter((function(e){return e.page_sequence===i.pageNumber}));a.forEach((function(e){var a=getRoleIndex(state.roleNames,e.role_name);var o=renderDocumentField(e,i,a,{disabled:true,editable:true,draggable:true});if(!o){return}if(Array.isArray(o)){o.forEach((function(o){t.attachFieldAttributes(i,e,a,o);interact(o).draggable({listeners:{start:function(e){console.log("[FIELDS] Drag started",e.type,e.target)},move:function(e){var t=+(e.target.getAttribute("posX")||0);var i=+(e.target.getAttribute("posY")||0);var a=+(e.target.getAttribute("xScale")||1);var o=+(e.target.getAttribute("yScale")||1);var r=e.dx/a+t;var n=e.dy/o+i;e.target.setAttribute("posX",r);e.target.setAttribute("posy",n);updateCssTransform(e.target,"translate","".concat(r,"px, ").concat(n,"px"))},end:t.handleMoveField.bind(t)}})}))}else{t.attachFieldAttributes(i,e,a,o);interact(o).draggable({listeners:{start:function(e){console.log("[FIELDS] Drag started",e.type,e.target)},move:function(e){var t=+(e.target.getAttribute("posX")||0);var i=+(e.target.getAttribute("posY")||0);var a=+(e.target.getAttribute("xScale")||1);var o=+(e.target.getAttribute("yScale")||1);var r=e.dx/a+t;var n=e.dy/o+i;e.target.setAttribute("posX",r);e.target.setAttribute("posy",n);updateCssTransform(e.target,"translate","".concat(r,"px, ").concat(n,"px"))},end:t.handleMoveField.bind(t)}})}}))};e.prototype.handleMoveField=function(e){return __awaiter(this,void 0,void 0,(function(){var t,i,a,o,r,n,s,l,d,c,p,h,g,u,m,f,v,x,b,w;return __generator(this,(function(y){switch(y.label){case 0:t=e.target.getAttribute("pageNumber");i=this.cachedPageInfo[t],a=i.naturalWidth,o=a===void 0?612:a,r=i.naturalHeight,n=r===void 0?792:r,s=i.renderedHeight,l=s===void 0?792:s;console.log("[FIELDS] Drag ended",t,e.target);d=e.target.getBoundingClientRect();c=e.target.parentElement;p=c.getBoundingClientRect();h=Math.max(d.left-p.left,0);g=Math.max(l-(p.bottom-d.bottom),0);u=this.viewCoordinatesToPageCoordinates(h,g,t,o-e.rect.width,n-e.rect.height),m=u.x,f=u.y;v=e.target.getAttribute("name");x=+(e.target.getAttribute("option")||"0");b=state.fields.find((function(e){return e.name===v}));console.log("Will update",v,x,b);if(!b)return[3,2];switch(b.type){case"attachment":case"payment":case"initial":case"signature":case"date":case"dropdown":case"textarea":case"textbox":case"timestamp":b.setting.x=m;b.setting.y=f;break;case"checkbox_group":case"radio_button_group":{w=b.setting.options[x];if(w){w.x=m;w.y=f}}break}return[4,updateField(this.endpoint,this.templateId,v,b)];case 1:y.sent();this.handlePageRendered({detail:this.cachedPageInfo[t]});y.label=2;case 2:return[2]}}))}))};e.prototype.generateFieldName=function(e,t){var i=1;var a;do{a="".concat(e,"P").concat(t,"-").concat(i);console.log("testing field",a);i++}while(state.fields.some((function(e){return e.name===a})));console.log("Will use field name",a,state.fields);return a};e.prototype.viewCoordinatesToPageCoordinates=function(e,t,i,a,o){var r=this.cachedPageInfo[i],n=r.xScale,s=n===void 0?1:n,l=r.yScale,d=l===void 0?1:l,c=r.renderedHeight,p=c===void 0?792:c;var h=Math.floor(Math.min(e/s,a));var g=Math.floor(Math.min(Math.max(p-t,0)/d,o));return{x:h,y:g}};e.prototype.handleClickPage=function(e,t){return __awaiter(this,void 0,void 0,(function(){var i,a,o,r,n,s,l,d,c,p,h,g,u,m,f,v;return __generator(this,(function(x){switch(x.label){case 0:if(!this.placing)return[3,2];console.log("Placing field",this.placing,t.sequence,e.offsetX,e.offsetY);a=t.sequence;o=e.offsetX;r=e.offsetY;n=defaultWidth(this.placing);s=defaultHeight(this.placing);l=this.cachedPageInfo[a];console.log("Cached page",l);d=l.naturalWidth,c=d===void 0?612:d,p=l.naturalHeight,h=p===void 0?792:p;g=this.viewCoordinatesToPageCoordinates(o,r,a,c-n,h-s);u=Math.floor(g.x);m=Math.floor(g.y);f={name:this.generateFieldName(this.placing,a),role_name:this.selectedRoleName,template_id:this.templateId,type:this.placing,required:true,page_sequence:a,validator:null,setting:{x:u,y:m}};switch(f.type){case"attachment":case"payment":f.setting={x:u,y:m};break;case"initial":case"signature":f.setting={x:u,y:m,result:""};break;case"checkbox_group":f.setting={minimum_checked:0,maximum_checked:1e3,options:[{id:"".concat(f.name,"-1"),value:"Option 1",checked:false,x:u,y:m}]};break;case"date":f.setting={x:u,y:m,width:n,height:s,result:""};break;case"dropdown":f.required=false;f.setting={x:u,y:m,width:n,height:s,value:null,placeholder:"Choose",options:[{id:"option-1",value:"Option 1"}]};break;case"radio_button_group":f.setting={options:[{id:"".concat(f.name,"-1"),value:"Option 1",selected:false,x:u,y:m}]};break;case"textarea":case"textbox":f.setting={x:u,y:m,width:n,height:s,result:"",leading:0,alignment:0,upperCase:false};break;case"timestamp":f.setting={x:u,y:m,width:n,height:s};break}if(f.type==="textarea"){f.type="textbox"}return[4,createField(this.endpoint,this.templateId,f)];case 1:v=x.sent();console.log("Saved field",v);state.fields.push(v);this.placing=null;(i=this.templateUpdated)===null||i===void 0?void 0:i.emit({endpoint:this.endpoint,template:state.template,event:"added-field"});this.handlePageRendered({detail:this.cachedPageInfo[a]});x.label=2;case 2:return[2]}}))}))};e.prototype.render=function(){var e;var t=this;if(!this.endpoint.session){return h(Host,null,h("verdocs-component-error",{message:"You must be authenticated to use this module."}))}if(state.loading||!state.template){return h(Host,null,h("verdocs-loader",null))}var i=__spreadArray([],state.template.pages,true);i.sort((function(e,t){return e.sequence-t.sequence}));return h(Host,{class:this.placing?(e={},e["placing-".concat(this.placing)]=true,e):{},"data-r":this.rerender,onSubmit:function(){console.log("onSubmit")}},h("div",{id:"verdocs-template-fields-toolbar"},menuOptions.map((function(e){return h("verdocs-toolbar-icon",{text:e.tooltip,icon:e.icon,onClick:function(){if(e.tooltip){t.placing=e.id}}})}))),h("div",{class:"pages"},i.map((function(e){return h("verdocs-template-document-page",{templateId:e.template_id,documentId:e.document_id,pageNumber:e.sequence,virtualWidth:612,virtualHeight:792,onClick:function(i){return t.handleClickPage(i,e)},onPageRendered:function(e){return t.handlePageRendered(e)},layers:[{name:"page",type:"canvas"},{name:"controls",type:"div"}]})}))))};return e}();VerdocsTemplateFields.style=verdocsTemplateFieldsCss;export{VerdocsTemplateCreate as verdocs_template_create,VerdocsTemplateFields as verdocs_template_fields};
@@ -1 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,o,r){function n(e){return e instanceof o?e:new o((function(t){t(e)}))}return new(o||(o=Promise))((function(o,s){function a(e){try{i(r.next(e))}catch(e){s(e)}}function l(e){try{i(r["throw"](e))}catch(e){s(e)}}function i(e){e.done?o(e.value):n(e.value).then(a,l)}i((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var o={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,n,s,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(e){return function(t){return i([e,t])}}function i(a){if(r)throw new TypeError("Generator is already executing.");while(o)try{if(r=1,n&&(s=a[0]&2?n["return"]:a[0]?n["throw"]||((s=n["return"])&&s.call(n),0):n.next)&&!(s=s.call(n,a[1])).done)return s;if(n=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:o.label++;return{value:a[1],done:false};case 5:o.label++;n=a[1];a=[0];continue;case 7:a=o.ops.pop();o.trys.pop();continue;default:if(!(s=o.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){o=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){o.label=a[1];break}if(a[0]===6&&o.label<s[1]){o.label=s[1];s=a;break}if(s&&o.label<s[2]){o.label=s[2];o.ops.push(a);break}if(s[2])o.ops.pop();o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e];n=0}finally{r=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var _g;import{r as registerInstance,c as createEvent,h,H as Host,F as Fragment,a as getElement}from"./index-5260ed60.js";import{i as interact}from"./interact.min-ad5c452f.js";import"./Types-6dc82c14.js";import{u as updateRole,c as createRole}from"./Roles-6eb459df.js";import{V as VerdocsEndpoint,T as TemplateSenderTypes}from"./VerdocsEndpoint-d0a126c0.js";import{g as getRGBA}from"./Colors-1b298092.js";import{s as state}from"./templateStore-17c872da.js";import{l as loadTemplate}from"./Templates-deedf4bd.js";import{b as getRoleIndex}from"./utils-9628af35.js";import{S as SDKError}from"./errors-9b5498c8.js";import"./Primitives-054bc6e5.js";import"./Templates-8e4ab976.js";import"./Envelopes-19a6e456.js";import"./Files-70a192df.js";import"./index-d264c496.js";var verdocsTemplateRolesCss='verdocs-template-roles{display:block;min-width:400px;font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif}verdocs-template-roles>form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#ffffff;padding:12px}verdocs-template-roles>form h5{font-size:16px;font-weight:bold;color:#4c56cb;margin:0 0 10px 0}verdocs-template-roles>form .participants{position:relative}verdocs-template-roles>form .left-line{top:32px;left:11px;z-index:1;width:12px;bottom:30px;position:absolute;background:#ffffff;border-left:3px dotted #9b9b9b}verdocs-template-roles>form .row{display:-ms-flexbox;display:flex;-webkit-column-gap:0;-moz-column-gap:0;column-gap:0;min-height:35px;margin-left:40px;position:relative;-ms-flex-direction:row;flex-direction:row;padding:6px 0 4px 0}verdocs-template-roles>form .row .row-roles{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;-ms-flex-direction:row;flex-direction:row}verdocs-template-roles>form .row .icon{top:14px;z-index:2;left:-40px;width:24px;height:24px;position:absolute;background:#ffffff}verdocs-template-roles>form .row .sender{height:30px;display:-ms-flexbox;display:flex;font-size:14px;line-height:30px;-ms-flex-align:center;align-items:center;border-radius:30px;-ms-flex-direction:row;flex-direction:row;padding:0 5px 0 15px;border:1px solid #c6c9cc;background-color:#f5f5fa}verdocs-template-roles>form .row .complete{height:30px;display:-ms-flexbox;display:flex;font-size:14px;padding:0 15px;line-height:30px;-ms-flex-direction:row;flex-direction:row;border-radius:30px;background-color:#f5f5fa;border:1px solid #aeb4bf}verdocs-template-roles>form .row .label{font-weight:bold;margin-right:6px;color:#33364b}verdocs-template-roles>form .row .settings-button{display:-ms-flexbox;display:flex;cursor:pointer;margin:0 0 0 9px}verdocs-template-roles>form .row .recipient{height:30px;display:-ms-flexbox;display:flex;font-size:14px;border-radius:30px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;padding:0 5px 0 6px;white-space:nowrap;border:2px solid #aeb4bf}verdocs-template-roles>form .row .recipient .type-icon{width:24px;height:24px;-webkit-transform:scale(0.8);transform:scale(0.8);opacity:0.6;margin:0 12px 0 0}verdocs-template-roles>form .row .recipient.dragging{position:absolute}verdocs-template-roles>form .row .recipient.dragging+.dropzone{display:none !important}verdocs-template-roles>form .row .dropzone{width:14px;height:30px;display:none}verdocs-template-roles>form .row .dropzone svg{fill:#cccccc}verdocs-template-roles>form .row .dropzone.visible{margin:0 7px;display:-ms-flexbox;display:flex;-ms-flex:0 0 14px;flex:0 0 14px}verdocs-template-roles>form .row .dropzone.active{-ms-flex:0 0 120px;flex:0 0 120px;border-radius:30px;background:#654dcb7f;border:1px dashed #654dcb}verdocs-template-roles>form label{display:block;font-size:14px;font-weight:500;margin:0 0 4px 0;color:#5c6575}verdocs-template-roles>form input{border:none;font-size:18px;padding:3px 6px 3px 0;background:transparent;border-bottom:1px solid #33364b}verdocs-template-roles>form input:focus{outline:none}verdocs-template-roles .row.add-sequence{display:none}verdocs-template-roles .add-role{margin:0;padding:0;border:none;opacity:0.5;cursor:pointer;background:none}verdocs-template-roles .add-role:hover{opacity:1}verdocs-template-roles .add-role svg{width:32px;height:32px}verdocs-template-roles .add-step{margin:0;padding:0;border:none;opacity:0.5;cursor:pointer;background:none}verdocs-template-roles .add-step:hover{opacity:1}verdocs-template-roles .add-step svg{width:32px;height:32px}verdocs-template-roles.dragging .add-role{display:none}verdocs-template-roles.dragging form .row .recipient+.dropzone{display:-ms-flexbox;display:flex}verdocs-template-roles.dragging .row.add-sequence{display:-ms-flexbox;display:flex}verdocs-template-roles.dragging .row.add-sequence .dropzone{opacity:0.5;-ms-flex:0 0 120px;flex:0 0 120px;border-radius:30px;-ms-flex-align:center;align-items:center;background:#654dcb7f;-ms-flex-pack:center;justify-content:center;border:1px dashed #654dcb}verdocs-template-roles.dragging .row.add-sequence .dropzone.active{opacity:1}verdocs-template-roles .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin-top:16px;-ms-flex-direction:row;flex-direction:row}verdocs-template-roles .empty{font-size:13px;margin-top:15px;margin-bottom:5px}verdocs-template-roles .empty svg{width:20px;height:20px;stroke:#666666;margin-bottom:-5px}verdocs-template-roles ::-webkit-input-placeholder{color:#aaaaaa}verdocs-template-roles ::-moz-placeholder{color:#aaaaaa}verdocs-template-roles :-ms-input-placeholder{color:#aaaaaa}verdocs-template-roles ::-ms-input-placeholder{color:#aaaaaa}verdocs-template-roles ::placeholder{color:#aaaaaa}';var senderLabels=(_g={},_g[TemplateSenderTypes.EVERYONE]="Everyone",_g[TemplateSenderTypes.EVERYONE_AS_CREATOR]="Everyone as Me",_g[TemplateSenderTypes.ORGANIZATION_MEMBER]="Organization member",_g[TemplateSenderTypes.ORGANIZATION_MEMBER_AS_CREATOR]="Organization Member as Me",_g[TemplateSenderTypes.CREATOR]="Me",_g);var settingsIcon='<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20" fill="#00000089"><path d="m8.021 17.917-.313-2.5q-.27-.125-.625-.334-.354-.208-.625-.395l-2.312.979-1.979-3.438 1.979-1.5q-.021-.167-.031-.364-.011-.198-.011-.365 0-.146.011-.344.01-.198.031-.385l-1.979-1.5 1.979-3.417 2.312.958q.271-.187.615-.385t.635-.344l.313-2.5h3.958l.313 2.5q.312.167.625.344.312.177.604.385l2.333-.958 1.979 3.417-1.979 1.521q.021.187.021.364V10q0 .146-.01.333-.011.188-.011.396l1.958 1.5-1.979 3.438-2.312-.979q-.292.208-.615.395-.323.188-.614.334l-.313 2.5Zm1.937-5.355q1.063 0 1.813-.75t.75-1.812q0-1.062-.75-1.812t-1.813-.75q-1.041 0-1.802.75-.76.75-.76 1.812t.76 1.812q.761.75 1.802.75Zm0-1.333q-.5 0-.864-.364-.365-.365-.365-.865t.365-.865q.364-.364.864-.364t.865.364q.365.365.365.865t-.365.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.187q.605-.167 1.136-.49.531-.323 1.031-.802l2.021.875.854-1.375-1.792-1.354q.105-.333.136-.635.031-.303.031-.615 0-.292-.031-.573-.031-.281-.115-.635l1.792-1.396-.834-1.375-2.062.875q-.438-.438-1.021-.781-.583-.344-1.125-.49l-.271-2.208H9.167l-.271 2.208q-.584.146-1.125.458-.542.313-1.042.792l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.479.458 1.021.771.542.312 1.146.479Z"/></svg>';var startIcon='<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="#00000089"><path d="M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z"></path></svg>';var stepIcon='<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="#00000089"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></svg>';var doneIcon='<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="#00000089"><path d="m18 7-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z"></path></svg>';var plusIcon='<svg xmlns="http://www.w3.org/2000/svg" fill="#ffffff" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor"><path strokeLinecap="round" strokeLinejoin="round" d="M12 9v6m3-3H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>';var iconSigner='<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z"/></svg>';var iconApprover='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zm13.36-1.814a.75.75 0 10-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 00-1.06 1.06l2.25 2.25a.75.75 0 001.14-.094l3.75-5.25z" clip-rule="evenodd" /></svg>';var iconCC='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z" /><path d="M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z" /></svg>';var VerdocsTemplateRoles=function(){function e(e){registerInstance(this,e);this.next=createEvent(this,"next",7);this.exit=createEvent(this,"exit",7);this.sdkError=createEvent(this,"sdkError",7);this.templateUpdated=createEvent(this,"templateUpdated",7);this.sequences=[];this.endpoint=VerdocsEndpoint.getDefault();this.templateId="";this.showingRoleDialog=null;this.showingSenderDialog=false;this.sender=null;this.forceRerender=1}e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,o,r,n,s,a,l;return __generator(this,(function(i){switch(i.label){case 0:i.trys.push([0,5,,6]);this.endpoint.loadSession();if(!this.templateId){console.log("[ROLES] Missing required template ID ".concat(this.templateId));return[2]}if(!this.endpoint.session){console.log("[ROLES] Unable to start builder session, must be authenticated");return[2]}i.label=1;case 1:i.trys.push([1,3,,4]);console.log("[ROLES] Loading template ".concat(this.templateId),this.endpoint.session);return[4,loadTemplate(this.endpoint,this.templateId,true)];case 2:i.sent();return[3,4];case 3:a=i.sent();console.log("[ROLES] Error loading template",a);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new SDKError(a.message,(t=a.response)===null||t===void 0?void 0:t.status,(o=a.response)===null||o===void 0?void 0:o.data));return[3,4];case 4:this.sortTemplateRoles();this.renumberTemplateRoles();return[3,6];case 5:l=i.sent();console.log("[FIELDS] Error with preview session",l);(r=this.sdkError)===null||r===void 0?void 0:r.emit(new SDKError(l.message,(n=l.response)===null||n===void 0?void 0:n.status,(s=l.response)===null||s===void 0?void 0:s.data));return[3,6];case 6:return[2]}}))}))};e.prototype.componentDidRender=function(){interact.dynamicDrop(true);interact(".recipient").draggable({listeners:{start:function e(t){t.target.classList.add("dragging");this.el.classList.add("dragging")}.bind(this),move:function e(t){var o=+(t.target.getAttribute("posX")||0);var r=+(t.target.getAttribute("posY")||0);var n=t.dx+o;var s=t.dy+r;t.target.setAttribute("posX",n);t.target.setAttribute("posy",s);t.target.style.transform="translate(".concat(n+100,"px, ").concat(s-40,"px)")}.bind(this),end:function e(t){t.target.classList.remove("dragging");this.el.classList.remove("dragging");t.target.setAttribute("posX",0);t.target.setAttribute("posy",0);t.target.style.transform="translate(0px, 0px)"}.bind(this)}});interact(".dropzone").dropzone({overlap:.05,ondrop:function e(t){var o=this;var r,n;t.target.classList.remove("active");var s=t.relatedTarget.dataset.rolename;var a=+t.target.dataset.sequence;var l=+t.target.dataset.order;var i=(r=state.template)===null||r===void 0?void 0:r.roles.find((function(e){return e.name===s}));if(i){i.sequence=a;i.order=l;this.sortTemplateRoles();this.renumberTemplateRoles();this.forceRerender++;Promise.all((n=state.template)===null||n===void 0?void 0:n.roles.map((function(e){return updateRole(o.endpoint,o.templateId,e.name,{sequence:e.sequence,order:e.order})}))).then((function(){var e;console.log("[ROLES] Updated roles");(e=o.templateUpdated)===null||e===void 0?void 0:e.emit({event:"updated-role",endpoint:o.endpoint,template:state.template})})).catch((function(e){return console.log("[ROLES] Role updates failed",e)}))}}.bind(this),ondropactivate:function(e){e.target.classList.add("visible")},ondropdeactivate:function(e){e.target.classList.remove("visible")},ondragenter:function(e){e.target.classList.add("active")},ondragleave:function(e){e.target.classList.remove("active")}})};e.prototype.handleCancel=function(e){var t;e.stopPropagation();(t=this.exit)===null||t===void 0?void 0:t.emit()};e.prototype.handleSubmit=function(e){var t;e.stopPropagation();(t=this.next)===null||t===void 0?void 0:t.emit()};e.prototype.sortTemplateRoles=function(){var e;(e=state.template)===null||e===void 0?void 0:e.roles.sort((function(e,t){return e.sequence===t.sequence?e.order-t.order:e.sequence-t.sequence}))};e.prototype.extractSequenceNumbers=function(){var e=this;var t;this.sequences=[];(t=state.template)===null||t===void 0?void 0:t.roles.forEach((function(t){if(!e.sequences.includes(t.sequence)){e.sequences.push(t.sequence)}}))};e.prototype.renumberTemplateRoles=function(){this.extractSequenceNumbers();var e=[];this.sequences.sort((function(e,t){return e-t}));this.sequences.forEach((function(t,o){var r;(r=state.template)===null||r===void 0?void 0:r.roles.filter((function(e){return e.sequence===t})).forEach((function(t,r){if(!e.includes(t.name)){t.sequence=o+1;t.order=r+1;e.push(t.name)}}))}));this.extractSequenceNumbers()};e.prototype.getNextRoleName=function(){var e,t;var o="";var r=(e=state.template)===null||e===void 0?void 0:e.roles.length;do{r++;o="Recipient ".concat(r)}while(!o||((t=state.template)===null||t===void 0?void 0:t.roles.some((function(e){return e.name===o}))));return o};e.prototype.handleAddRole=function(e,t){var o=this;e.stopPropagation();var r=state.template.roles.filter((function(e){return e.sequence===t})).length+1;var n=this.getNextRoleName();console.log("Will create",n,t,r);createRole(this.endpoint,this.templateId,{template_id:this.templateId,name:n,full_name:"",email:"",phone:"",sequence:t,order:r,type:"signer",delegator:false}).then((function(e){var t;console.log("Created role",e);state.template.roles.push(e);o.renumberTemplateRoles();o.forceRerender++;(t=o.templateUpdated)===null||t===void 0?void 0:t.emit({event:"created-role",endpoint:o.endpoint,template:state.template})})).catch((function(e){console.log("Error creating role",e)}))};e.prototype.handleAddStep=function(e,t){var o=this;e.stopPropagation();var r=1;var n=this.getNextRoleName();console.log("Will create",n,t,r);createRole(this.endpoint,this.templateId,{template_id:this.templateId,name:n,full_name:"",email:"",phone:"",sequence:t,order:r,type:"signer",delegator:false}).then((function(e){console.log("Created role",e);state.template.roles.push(e);o.renumberTemplateRoles();o.forceRerender++})).catch((function(e){console.log("Error creating role",e)}))};e.prototype.render=function(){var e=this;var t;if(!this.endpoint.session){return h(Host,null,h("verdocs-component-error",{message:"You must be authenticated to use this module."}))}if(state.loading||!state.template){return h(Host,null,h("verdocs-loader",null))}var o=(((t=state.template)===null||t===void 0?void 0:t.roles)||[]).map((function(e){return e.name}));return h(Host,null,h("form",{onSubmit:function(e){return e.preventDefault()},onClick:function(e){return e.stopPropagation()},autocomplete:"off","data-r":this.forceRerender},h("h5",null,"Roles and Workflow"),h("div",{class:"participants"},h("div",{class:"left-line"}),h("div",{class:"row"},h("div",{class:"icon",innerHTML:startIcon}),h("div",{class:"row-roles"},h("div",{class:"sender"},h("span",{class:"label"},"Sender:")," ",senderLabels[state.template.sender]," ",h("div",{class:"settings-button",innerHTML:settingsIcon,onClick:function(){return e.showingSenderDialog=true},"aria-role":"button"})))),h("div",{class:"row add-sequence","data-sequence":0},h("div",{class:"icon",innerHTML:plusIcon}),h("div",{class:"row-roles"},h("div",{class:"dropzone","data-sequence":0,"data-order":1},"Add Step"))),this.sequences.map((function(t){return h(Fragment,null,h("div",{class:"row"},h("div",{class:"icon",innerHTML:stepIcon}),h("div",{class:"row-roles"},h("div",{class:"dropzone","data-order":.5,"data-sequence":t}),state.template.roles.filter((function(e){return e.sequence===t})).map((function(r){var n=!r.email;return n?h(Fragment,null,h("div",{class:"recipient",style:{backgroundColor:getRGBA(getRoleIndex(o,r.name))},"data-rolename":r.name},h("span",{class:"type-icon",innerHTML:r.type==="signer"?iconSigner:r.type==="cc"?iconCC:iconApprover}),r.name," ",h("div",{class:"settings-button",innerHTML:settingsIcon,onClick:function(){return e.showingRoleDialog=r.name},"aria-role":"button"})),h("div",{class:"dropzone","data-order":r.order+.5,"data-sequence":t})):h(Fragment,null,h("div",{class:"recipient",style:{borderColor:getRGBA(getRoleIndex(o,r.name))},"data-rolename":r.name},h("span",{class:"type-icon",innerHTML:r.type==="signer"?iconSigner:r.type==="cc"?iconCC:iconApprover}),r.full_name," ",h("div",{class:"settings-button",innerHTML:settingsIcon,onClick:function(){return e.showingRoleDialog=r.name},"aria-role":"button"})),h("div",{class:"dropzone","data-order":r.order+.5,"data-sequence":t}))})),h("button",{class:"add-role",innerHTML:plusIcon,onClick:function(o){return e.handleAddRole(o,t)}}))),e.sequences.length>0&&h("div",{class:"row add-sequence","data-sequence":t},h("div",{class:"row-roles"},h("div",{class:"icon",innerHTML:plusIcon}),h("div",{class:"dropzone","data-sequence":t+1,"data-order":1},"Add Step"))))})),h("div",{class:"row","data-sequence":this.sequences.length+1},h("div",{class:"row-roles"},h("div",{class:"icon",innerHTML:plusIcon}),h("button",{class:"add-step",innerHTML:plusIcon,onClick:function(t){return e.handleAddStep(t,e.sequences.length+1)}}))),h("div",{class:"row"},h("div",{class:"icon",innerHTML:doneIcon}),h("div",{class:"row-roles"},h("div",{class:"complete"},"Document Complete")))),o.length<1&&h("div",{class:"empty"},"You must add at least one Role before proceeding.",h("br",null)," Click the ",h("span",{innerHTML:plusIcon})," Add button above to get started."),h("div",{class:"buttons"},h("div",{class:"flex-fill"}),h("verdocs-button",{variant:"outline",label:"Cancel",size:"small",onClick:function(t){return e.handleCancel(t)}}),h("verdocs-button",{label:"OK",size:"small",onClick:function(t){return e.handleSubmit(t)},disabled:o.length<1}))),this.showingRoleDialog&&h("verdocs-template-role-properties",{endpoint:this.endpoint,templateId:this.templateId,roleName:this.showingRoleDialog,onClose:function(){e.showingRoleDialog=null;e.forceRerender++},onDelete:function(t){var o;console.log("deleted",t.detail);e.renumberTemplateRoles();e.showingRoleDialog=null;e.forceRerender++;(o=e.templateUpdated)===null||o===void 0?void 0:o.emit({event:"deleted-role",endpoint:e.endpoint,template:state.template})}}),this.showingSenderDialog&&h("verdocs-template-sender",{endpoint:this.endpoint,templateId:this.templateId,onClose:function(){return e.showingSenderDialog=false}}))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();VerdocsTemplateRoles.style=verdocsTemplateRolesCss;export{VerdocsTemplateRoles as verdocs_template_roles};
@@ -1 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,n,s){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function i(e){try{a(s.next(e))}catch(e){r(e)}}function l(e){try{a(s["throw"](e))}catch(e){r(e)}}function a(e){e.done?n(e.value):o(e.value).then(i,l)}a((s=s.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},s,o,r,i;return i={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function l(e){return function(t){return a([e,t])}}function a(i){if(s)throw new TypeError("Generator is already executing.");while(n)try{if(s=1,o&&(r=i[0]&2?o["return"]:i[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;if(o=0,r)i=[i[0]&2,r.value];switch(i[0]){case 0:case 1:r=i;break;case 4:n.label++;return{value:i[1],done:false};case 5:n.label++;o=i[1];i=[0];continue;case 7:i=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(i[0]===6||i[0]===2)){n=0;continue}if(i[0]===3&&(!r||i[1]>r[0]&&i[1]<r[3])){n.label=i[1];break}if(i[0]===6&&n.label<r[1]){n.label=r[1];r=i;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(i);break}if(r[2])n.ops.pop();n.trys.pop();continue}i=t.call(e,n)}catch(e){i=[6,e];o=0}finally{s=r=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};System.register(["./p-871407e9.system.js","./p-d46a428b.system.js","./p-5c043400.system.js","./p-8ac64953.system.js","./p-187b20b7.system.js","./p-69912cbf.system.js","./p-71b8bb54.system.js","./p-d50523fd.system.js"],(function(e){"use strict";var t,n,s,o,r,i,l;return{setters:[function(e){t=e.r;n=e.c;s=e.h;o=e.H},function(){},function(e){r=e.V},function(e){i=e.l},function(e){l=e.S},function(){},function(){},function(){}],execute:function(){var a='verdocs-build{display:-ms-flexbox;display:flex;font-family:"Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}';var u=e("verdocs_build",function(){function e(e){t(this,e);this.sdkError=n(this,"sdkError",7);this.fields=[];this.endpoint=r.getDefault();this.templateId=null;this.step="create";this.pdfUrl=null;this.template=null}e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n,s;return __generator(this,(function(o){switch(o.label){case 0:this.endpoint.loadSession();if(!this.endpoint.session){console.log("[BUILD] Unable to start builder session, must be authenticated");return[2]}if(!this.templateId){console.log("[BUILD] No template ID specified, showing upload option");this.step="create";return[2]}o.label=1;case 1:o.trys.push([1,3,,4]);console.log("[BUILD] Loading template ".concat(this.templateId));return[4,i(this.endpoint,this.templateId)];case 2:o.sent();this.step="fields";return[3,4];case 3:s=o.sent();console.log("[BUILD] Error loading template",s);(e=this.sdkError)===null||e===void 0?void 0:e.emit(new l(s.message,(t=s.response)===null||t===void 0?void 0:t.status,(n=s.response)===null||n===void 0?void 0:n.data));return[3,4];case 4:return[2]}}))}))};e.prototype.handleCancel=function(e){console.log("Cancel",e.detail);this.step=""};e.prototype.handleTemplateCreated=function(e){console.log("Created",e.detail);this.step="fields"};e.prototype.render=function(){var e=this;if(!this.endpoint.session){return s(o,null,s("verdocs-component-error",{message:"You must be authenticated to use this module."}))}return s(o,null,this.step==="create"&&s("verdocs-template-create",{onExit:function(t){return e.handleCancel(t)},onNext:function(t){return e.handleTemplateCreated(t)}}),this.step==="fields"&&s("verdocs-template-fields",null))};return e}());u.style=a}}}));