@verdocs/web-sdk 1.12.21 → 1.12.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{Envelopes-87aea63d.js → Envelopes-2b8a280d.js} +16 -1
- package/dist/cjs/{Templates-e72a23b7.js → Templates-6705a1ce.js} +1 -1
- package/dist/cjs/{interact.min-d2e625b7.js → interact.min-8e19d5c0.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{index-4de6ec2f.js → templateStore-1862f03c.js} +45 -1
- package/dist/cjs/{utils-cc3321ad.js → utils-cf75a796.js} +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +7 -7
- package/dist/cjs/verdocs-dropdown_2.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +21 -20
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js +1 -2
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-date.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-signature.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +5 -6
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-preview.cjs.entry.js +4 -5
- package/dist/cjs/verdocs-send.cjs.entry.js +4 -5
- package/dist/cjs/verdocs-sign.cjs.entry.js +24 -23
- package/dist/cjs/verdocs-template-attachments.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-template-create_2.cjs.entry.js +5 -6
- package/dist/cjs/verdocs-template-document-page.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-name.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-template-properties.cjs.entry.js +1 -2
- package/dist/cjs/verdocs-template-reminders.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-template-role-properties_2.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-template-roles.cjs.entry.js +5 -6
- package/dist/cjs/verdocs-template-visibility.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-view.cjs.entry.js +24 -24
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +24 -20
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +26 -23
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +6 -6
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +25 -23
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +2 -2
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +1 -1
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +23 -4
- package/dist/components/Envelopes.js +16 -1
- package/dist/components/templateStore.js +192 -1
- package/dist/components/verdocs-envelope-sidebar.js +23 -18
- package/dist/components/verdocs-field-textbox.js +1 -1
- package/dist/components/verdocs-sign.js +25 -21
- package/dist/components/verdocs-template-field-properties2.js +6 -4
- package/dist/components/verdocs-view2.js +25 -22
- package/dist/custom-elements.json +4 -0
- package/dist/docs.json +18 -1
- package/dist/esm/{Envelopes-16f09341.js → Envelopes-c36c692e.js} +16 -1
- package/dist/esm/{Templates-d66ec625.js → Templates-deedf4bd.js} +1 -1
- package/dist/esm/{interact.min-1e2f37ab.js → interact.min-da238961.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{index-85f4a40f.js → templateStore-17c872da.js} +45 -1
- package/dist/esm/{utils-bca7b101.js → utils-1d934f99.js} +1 -1
- package/dist/esm/verdocs-build.entry.js +2 -3
- package/dist/esm/verdocs-button-panel_3.entry.js +7 -7
- package/dist/esm/verdocs-dropdown_2.entry.js +2 -2
- package/dist/esm/verdocs-envelope-sidebar.entry.js +21 -20
- package/dist/esm/verdocs-field-attachment.entry.js +1 -2
- package/dist/esm/verdocs-field-checkbox.entry.js +3 -4
- package/dist/esm/verdocs-field-date.entry.js +3 -4
- package/dist/esm/verdocs-field-dropdown.entry.js +3 -4
- package/dist/esm/verdocs-field-initial.entry.js +3 -4
- package/dist/esm/verdocs-field-payment.entry.js +3 -4
- package/dist/esm/verdocs-field-radio-button.entry.js +3 -4
- package/dist/esm/verdocs-field-signature.entry.js +3 -4
- package/dist/esm/verdocs-field-textarea.entry.js +3 -4
- package/dist/esm/verdocs-field-textbox.entry.js +5 -6
- package/dist/esm/verdocs-field-timestamp.entry.js +3 -4
- package/dist/esm/verdocs-preview.entry.js +4 -5
- package/dist/esm/verdocs-send.entry.js +4 -5
- package/dist/esm/verdocs-sign.entry.js +24 -23
- package/dist/esm/verdocs-template-attachments.entry.js +2 -3
- package/dist/esm/verdocs-template-create_2.entry.js +5 -6
- package/dist/esm/verdocs-template-document-page.entry.js +2 -2
- package/dist/esm/verdocs-template-name.entry.js +2 -3
- package/dist/esm/verdocs-template-properties.entry.js +1 -2
- package/dist/esm/verdocs-template-reminders.entry.js +2 -3
- package/dist/esm/verdocs-template-role-properties_2.entry.js +2 -3
- package/dist/esm/verdocs-template-roles.entry.js +5 -6
- package/dist/esm/verdocs-template-visibility.entry.js +2 -3
- package/dist/esm/verdocs-view.entry.js +23 -23
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/{Envelopes-16f09341.js → Envelopes-c36c692e.js} +1 -1
- package/dist/esm-es5/{Templates-d66ec625.js → Templates-deedf4bd.js} +1 -1
- package/dist/esm-es5/{interact.min-1e2f37ab.js → interact.min-da238961.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/templateStore-17c872da.js +1 -0
- package/dist/esm-es5/{utils-bca7b101.js → utils-1d934f99.js} +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-dropdown_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-attachments.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-create_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-name.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-properties.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-reminders.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-role-properties_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-roles.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-visibility.entry.js +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +4 -2
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +2 -0
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +2 -0
- package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +4 -0
- package/dist/types/components.d.ts +8 -0
- package/dist/verdocs-web-sdk/p-037fa432.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-6a2e16ea.system.js → p-0a000948.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-10ea4d8d.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-ceae05e8.system.entry.js → p-152f38f2.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-1772de58.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-1a9437d9.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-1d60a9e2.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-7d73a258.entry.js → p-212ecdc5.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-284f69ec.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2af1ec32.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2e2fd9f3.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-30decbde.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-36ef57a7.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-370e03f7.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-38368af4.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-386a9c8b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3ec38739.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4161fc87.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4271a0bf.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-449e8445.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4680b94d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-47eec326.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-48fbc0e0.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4f7dc10b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-511ba013.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-52164a0a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-58cbbdf4.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5911bf86.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5e1b2cc7.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-62542624.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-3d0efcc9.js → p-6324d9f8.js} +1 -1
- package/dist/verdocs-web-sdk/p-63789dec.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-e5bd3e93.js → p-6685a532.js} +1 -1
- package/dist/verdocs-web-sdk/{p-7dc40910.system.entry.js → p-66a21bd1.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-6caf1137.system.js +1 -1
- package/dist/verdocs-web-sdk/p-6f1501f8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-71b8bb54.system.js +1 -0
- package/dist/verdocs-web-sdk/p-7bc337ce.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-837894c5.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8383c63c.js +1 -0
- package/dist/verdocs-web-sdk/p-83ada8f3.system.js +1 -0
- package/dist/verdocs-web-sdk/{p-2b335cb4.system.js → p-8ac64953.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-8b501a20.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-66a673dd.entry.js → p-8b87e539.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-8d567305.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-92b8c139.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9364c0b0.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-971a2acc.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-983149af.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-98c6210b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9b37434a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9f44ba0d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a30da45d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-aac44c0d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b3768d2e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c5d2e145.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c903c4a7.js +1 -0
- package/dist/verdocs-web-sdk/p-d181f220.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d92494e8.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-736cf2bf.js → p-ddbe721b.js} +1 -1
- package/dist/verdocs-web-sdk/p-de6dec13.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-df529ac2.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e02ac695.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e176d75b.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-fdcf756a.system.js → p-e4dc637b.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-f7460048.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-fbda7ba5.entry.js +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/Envelopes-cd0d7be9.js +0 -68
- package/dist/cjs/templateStore-b44b1dd5.js +0 -49
- package/dist/collection/utils/Envelopes.js +0 -33
- package/dist/collection/utils/envelopeStore.js +0 -32
- package/dist/components/Envelopes2.js +0 -65
- package/dist/components/index3.js +0 -194
- package/dist/esm/Envelopes-93e699a5.js +0 -65
- package/dist/esm/templateStore-3b087176.js +0 -47
- package/dist/esm-es5/Envelopes-93e699a5.js +0 -1
- package/dist/esm-es5/index-85f4a40f.js +0 -1
- package/dist/esm-es5/templateStore-3b087176.js +0 -1
- package/dist/types/utils/Envelopes.d.ts +0 -2
- package/dist/types/utils/envelopeStore.d.ts +0 -12
- package/dist/verdocs-web-sdk/p-02914dbb.js +0 -1
- package/dist/verdocs-web-sdk/p-030318b5.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0c1bd8ab.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0eb7f329.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-19804b90.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-28551fd4.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2a8a48c1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2afbcb32.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2e105a9d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2e7aba30.js +0 -1
- package/dist/verdocs-web-sdk/p-312b3c6e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-335f01d1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-3dbb8b8c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-40e96848.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-41d6c443.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-43c3073f.system.js +0 -1
- package/dist/verdocs-web-sdk/p-4a52d3a3.system.js +0 -1
- package/dist/verdocs-web-sdk/p-518f1125.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-568c5e70.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-59ac5b50.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5a362440.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5a4227f6.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5abaf86d.js +0 -1
- package/dist/verdocs-web-sdk/p-609f6f1c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6616c85f.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-671bb0a7.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-70fe647e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7295a277.system.js +0 -1
- package/dist/verdocs-web-sdk/p-745cab4f.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-745f02b1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7494a45d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7ec320f8.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7f28d60f.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7fe39c68.js +0 -1
- package/dist/verdocs-web-sdk/p-83a2eaee.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-8e2e32a8.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-94d43d18.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-96044424.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9e1ed4b6.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9ff98c7c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a82fc8d0.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ad58de61.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b4355a5a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b55a37d5.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c0edd8eb.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c521e212.system.js +0 -1
- package/dist/verdocs-web-sdk/p-c877e418.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d0afa6df.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d0aff325.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d4d689cd.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d90f70da.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-df483a68.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e457d21a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e50182b0.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e6b7b61d.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-eaaf7e3e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f0847cbd.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f65a851a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f724400e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-fab4b76c.system.entry.js +0 -1
@@ -1,6 +1,197 @@
|
|
1
|
-
import {
|
1
|
+
import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
|
2
2
|
import { i as integerSequence } from './Primitives.js';
|
3
3
|
|
4
|
+
const appendToMap = (map, propName, value) => {
|
5
|
+
const items = map.get(propName);
|
6
|
+
if (!items) {
|
7
|
+
map.set(propName, [value]);
|
8
|
+
}
|
9
|
+
else if (!items.includes(value)) {
|
10
|
+
items.push(value);
|
11
|
+
}
|
12
|
+
};
|
13
|
+
const debounce = (fn, ms) => {
|
14
|
+
let timeoutId;
|
15
|
+
return (...args) => {
|
16
|
+
if (timeoutId) {
|
17
|
+
clearTimeout(timeoutId);
|
18
|
+
}
|
19
|
+
timeoutId = setTimeout(() => {
|
20
|
+
timeoutId = 0;
|
21
|
+
fn(...args);
|
22
|
+
}, ms);
|
23
|
+
};
|
24
|
+
};
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Check if a possible element isConnected.
|
28
|
+
* The property might not be there, so we check for it.
|
29
|
+
*
|
30
|
+
* We want it to return true if isConnected is not a property,
|
31
|
+
* otherwise we would remove these elements and would not update.
|
32
|
+
*
|
33
|
+
* Better leak in Edge than to be useless.
|
34
|
+
*/
|
35
|
+
const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
|
36
|
+
const cleanupElements = debounce((map) => {
|
37
|
+
for (let key of map.keys()) {
|
38
|
+
map.set(key, map.get(key).filter(isConnected));
|
39
|
+
}
|
40
|
+
}, 2000);
|
41
|
+
const stencilSubscription = () => {
|
42
|
+
if (typeof getRenderingRef !== 'function') {
|
43
|
+
// If we are not in a stencil project, we do nothing.
|
44
|
+
// This function is not really exported by @stencil/core.
|
45
|
+
return {};
|
46
|
+
}
|
47
|
+
const elmsToUpdate = new Map();
|
48
|
+
return {
|
49
|
+
dispose: () => elmsToUpdate.clear(),
|
50
|
+
get: (propName) => {
|
51
|
+
const elm = getRenderingRef();
|
52
|
+
if (elm) {
|
53
|
+
appendToMap(elmsToUpdate, propName, elm);
|
54
|
+
}
|
55
|
+
},
|
56
|
+
set: (propName) => {
|
57
|
+
const elements = elmsToUpdate.get(propName);
|
58
|
+
if (elements) {
|
59
|
+
elmsToUpdate.set(propName, elements.filter(forceUpdate));
|
60
|
+
}
|
61
|
+
cleanupElements(elmsToUpdate);
|
62
|
+
},
|
63
|
+
reset: () => {
|
64
|
+
elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
|
65
|
+
cleanupElements(elmsToUpdate);
|
66
|
+
},
|
67
|
+
};
|
68
|
+
};
|
69
|
+
|
70
|
+
const unwrap = (val) => (typeof val === 'function' ? val() : val);
|
71
|
+
const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
|
72
|
+
const unwrappedState = unwrap(defaultState);
|
73
|
+
let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));
|
74
|
+
const handlers = {
|
75
|
+
dispose: [],
|
76
|
+
get: [],
|
77
|
+
set: [],
|
78
|
+
reset: [],
|
79
|
+
};
|
80
|
+
const reset = () => {
|
81
|
+
var _a;
|
82
|
+
// When resetting the state, the default state may be a function - unwrap it to invoke it.
|
83
|
+
// otherwise, the state won't be properly reset
|
84
|
+
states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));
|
85
|
+
handlers.reset.forEach((cb) => cb());
|
86
|
+
};
|
87
|
+
const dispose = () => {
|
88
|
+
// Call first dispose as resetting the state would
|
89
|
+
// cause less updates ;)
|
90
|
+
handlers.dispose.forEach((cb) => cb());
|
91
|
+
reset();
|
92
|
+
};
|
93
|
+
const get = (propName) => {
|
94
|
+
handlers.get.forEach((cb) => cb(propName));
|
95
|
+
return states.get(propName);
|
96
|
+
};
|
97
|
+
const set = (propName, value) => {
|
98
|
+
const oldValue = states.get(propName);
|
99
|
+
if (shouldUpdate(value, oldValue, propName)) {
|
100
|
+
states.set(propName, value);
|
101
|
+
handlers.set.forEach((cb) => cb(propName, value, oldValue));
|
102
|
+
}
|
103
|
+
};
|
104
|
+
const state = (typeof Proxy === 'undefined'
|
105
|
+
? {}
|
106
|
+
: new Proxy(unwrappedState, {
|
107
|
+
get(_, propName) {
|
108
|
+
return get(propName);
|
109
|
+
},
|
110
|
+
ownKeys(_) {
|
111
|
+
return Array.from(states.keys());
|
112
|
+
},
|
113
|
+
getOwnPropertyDescriptor() {
|
114
|
+
return {
|
115
|
+
enumerable: true,
|
116
|
+
configurable: true,
|
117
|
+
};
|
118
|
+
},
|
119
|
+
has(_, propName) {
|
120
|
+
return states.has(propName);
|
121
|
+
},
|
122
|
+
set(_, propName, value) {
|
123
|
+
set(propName, value);
|
124
|
+
return true;
|
125
|
+
},
|
126
|
+
}));
|
127
|
+
const on = (eventName, callback) => {
|
128
|
+
handlers[eventName].push(callback);
|
129
|
+
return () => {
|
130
|
+
removeFromArray(handlers[eventName], callback);
|
131
|
+
};
|
132
|
+
};
|
133
|
+
const onChange = (propName, cb) => {
|
134
|
+
const unSet = on('set', (key, newValue) => {
|
135
|
+
if (key === propName) {
|
136
|
+
cb(newValue);
|
137
|
+
}
|
138
|
+
});
|
139
|
+
// We need to unwrap the defaultState because it might be a function.
|
140
|
+
// Otherwise we might not be sending the right reset value.
|
141
|
+
const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
|
142
|
+
return () => {
|
143
|
+
unSet();
|
144
|
+
unReset();
|
145
|
+
};
|
146
|
+
};
|
147
|
+
const use = (...subscriptions) => {
|
148
|
+
const unsubs = subscriptions.reduce((unsubs, subscription) => {
|
149
|
+
if (subscription.set) {
|
150
|
+
unsubs.push(on('set', subscription.set));
|
151
|
+
}
|
152
|
+
if (subscription.get) {
|
153
|
+
unsubs.push(on('get', subscription.get));
|
154
|
+
}
|
155
|
+
if (subscription.reset) {
|
156
|
+
unsubs.push(on('reset', subscription.reset));
|
157
|
+
}
|
158
|
+
if (subscription.dispose) {
|
159
|
+
unsubs.push(on('dispose', subscription.dispose));
|
160
|
+
}
|
161
|
+
return unsubs;
|
162
|
+
}, []);
|
163
|
+
return () => unsubs.forEach((unsub) => unsub());
|
164
|
+
};
|
165
|
+
const forceUpdate = (key) => {
|
166
|
+
const oldValue = states.get(key);
|
167
|
+
handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
|
168
|
+
};
|
169
|
+
return {
|
170
|
+
state,
|
171
|
+
get,
|
172
|
+
set,
|
173
|
+
on,
|
174
|
+
onChange,
|
175
|
+
use,
|
176
|
+
dispose,
|
177
|
+
reset,
|
178
|
+
forceUpdate,
|
179
|
+
};
|
180
|
+
};
|
181
|
+
const removeFromArray = (array, item) => {
|
182
|
+
const index = array.indexOf(item);
|
183
|
+
if (index >= 0) {
|
184
|
+
array[index] = array[array.length - 1];
|
185
|
+
array.length--;
|
186
|
+
}
|
187
|
+
};
|
188
|
+
|
189
|
+
const createStore = (defaultState, shouldUpdate) => {
|
190
|
+
const map = createObservableMap(defaultState, shouldUpdate);
|
191
|
+
map.use(stencilSubscription());
|
192
|
+
return map;
|
193
|
+
};
|
194
|
+
|
4
195
|
// NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to
|
5
196
|
const { state, onChange } = createStore({
|
6
197
|
templateId: '',
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
+
import { t as throttledGetEnvelope } from './Envelopes.js';
|
2
3
|
import './Types.js';
|
3
4
|
import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
|
4
|
-
import { g as getEnvelopeById, s as state } from './Envelopes2.js';
|
5
5
|
import { S as SDKError } from './errors.js';
|
6
6
|
import { d as defineCustomElement$2 } from './verdocs-dropdown2.js';
|
7
7
|
import { f as format } from './index2.js';
|
@@ -40,6 +40,8 @@ const VerdocsEnvelopeSidebar$1 = /*@__PURE__*/ proxyCustomElement(class extends
|
|
40
40
|
this.envelopeUpdated = createEvent(this, "envelopeUpdated", 7);
|
41
41
|
this.endpoint = VerdocsEndpoint.getDefault();
|
42
42
|
this.envelopeId = '';
|
43
|
+
this.envelope = null;
|
44
|
+
this.roleNames = [];
|
43
45
|
this.activeTab = 1;
|
44
46
|
this.panelOpen = false;
|
45
47
|
}
|
@@ -48,14 +50,15 @@ const VerdocsEnvelopeSidebar$1 = /*@__PURE__*/ proxyCustomElement(class extends
|
|
48
50
|
}
|
49
51
|
// TODO: Handling signing vs preview-as-user cases
|
50
52
|
// TODO: Handle anonymous case and failure to load due to not being logged in
|
51
|
-
async
|
53
|
+
async componentWillRender() {
|
52
54
|
var _a, _b, _c;
|
53
55
|
if (!this.envelopeId) {
|
54
56
|
console.error(`[SIDEBAR] Missing required envelopeId`);
|
55
57
|
return;
|
56
58
|
}
|
57
59
|
try {
|
58
|
-
await
|
60
|
+
this.envelope = await throttledGetEnvelope(this.endpoint, this.envelopeId);
|
61
|
+
this.roleNames = this.envelope.recipients.map(r => r.role_name);
|
59
62
|
}
|
60
63
|
catch (e) {
|
61
64
|
(_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));
|
@@ -68,31 +71,31 @@ const VerdocsEnvelopeSidebar$1 = /*@__PURE__*/ proxyCustomElement(class extends
|
|
68
71
|
// TODO: Refactor to a common library?
|
69
72
|
canResendRecipient(recipient) {
|
70
73
|
return (!['pending', 'declined', 'submitted', 'canceled'].includes(recipient.status) && //
|
71
|
-
!['complete', 'declined', 'canceled'].includes(
|
74
|
+
!['complete', 'declined', 'canceled'].includes(this.envelope.status));
|
72
75
|
}
|
73
76
|
canModifyRecipient(recipient) {
|
74
77
|
return (!recipient.claimed && //
|
75
78
|
!['declined', 'signed', 'submitted', 'canceled'].includes(recipient.status) &&
|
76
|
-
!['complete', 'declined', 'canceled'].includes(
|
79
|
+
!['complete', 'declined', 'canceled'].includes(this.envelope.status));
|
77
80
|
}
|
78
81
|
handleRecipientAction(recipient, id) {
|
79
82
|
var _a;
|
80
83
|
console.log('recipient action', id, recipient);
|
81
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
84
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: id });
|
82
85
|
}
|
83
86
|
prepareHistoryEntries() {
|
84
87
|
const entries = [];
|
85
|
-
const histories =
|
86
|
-
entries.push({ icon: 'pencil', message: 'Envelope created.', date: new Date(
|
87
|
-
if (
|
88
|
-
entries.push({ icon: 'pencil', message: 'Envelope completed.', date: new Date(
|
88
|
+
const histories = this.envelope.histories || [];
|
89
|
+
entries.push({ icon: 'pencil', message: 'Envelope created.', date: new Date(this.envelope.created_at) });
|
90
|
+
if (this.envelope.status === 'complete') {
|
91
|
+
entries.push({ icon: 'pencil', message: 'Envelope completed.', date: new Date(this.envelope.updated_at) });
|
89
92
|
}
|
90
93
|
const ownerCanceled = histories.some(history => history.event === 'owner:canceled');
|
91
|
-
if (
|
92
|
-
entries.push({ icon: 'pencil', message: 'Envelope Cancelled.', date: new Date(
|
94
|
+
if (this.envelope.status === 'canceled' && !ownerCanceled) {
|
95
|
+
entries.push({ icon: 'pencil', message: 'Envelope Cancelled.', date: new Date(this.envelope.canceled_at) });
|
93
96
|
}
|
94
97
|
histories.forEach(history => {
|
95
|
-
const user =
|
98
|
+
const user = this.envelope.recipients.find(recipient => recipient.role_name === history.role_name);
|
96
99
|
const name = (user === null || user === void 0 ? void 0 : user.full_name) || '';
|
97
100
|
switch (history.event.toLowerCase()) {
|
98
101
|
case 'recipient:signed':
|
@@ -196,15 +199,15 @@ const VerdocsEnvelopeSidebar$1 = /*@__PURE__*/ proxyCustomElement(class extends
|
|
196
199
|
}
|
197
200
|
render() {
|
198
201
|
var _a, _b, _c;
|
199
|
-
if (!
|
202
|
+
if (!this.envelope) {
|
200
203
|
return h(Host, null);
|
201
204
|
}
|
202
205
|
const session = this.endpoint.getSession();
|
203
|
-
const isEnvelopeOwner = session.profile_id ===
|
206
|
+
const isEnvelopeOwner = session.profile_id === this.envelope.profile_id; // TODO: What about org admins?
|
204
207
|
const historyEntries = this.prepareHistoryEntries();
|
205
|
-
return (h(Host, { class: this.panelOpen ? 'open' : ''
|
206
|
-
_a.first_name, " ", (_b =
|
207
|
-
_b.last_name), h("div", { class: "label" }, "Verdoc Owner Email"), h("div", { class: "value" }, (_c =
|
208
|
+
return (h(Host, { class: this.panelOpen ? 'open' : '' }, h("div", { class: "buttons" }, h("button", { class: this.activeTab === 1 ? 'active' : '', onClick: () => this.setTab(1), innerHTML: InformationCircle }), h("button", { class: this.activeTab === 2 ? 'active' : '', onClick: () => this.setTab(2), innerHTML: Users }), h("button", { class: this.activeTab === 3 ? 'active' : '', onClick: () => this.setTab(3), innerHTML: ClipboardDocuments })), this.activeTab === 1 && (h("div", { class: "content" }, h("div", { class: "title" }, "Details"), h("div", { class: "label" }, "Envelope ID"), h("div", { class: "value" }, this.envelope.id), h("div", { class: "label" }, "Date Created"), h("div", { class: "value" }, format(new Date(this.envelope.created_at), 'PP pp')), h("div", { class: "label" }, "Last Modified"), h("div", { class: "value" }, format(new Date(this.envelope.updated_at), 'PP pp')), h("div", { class: "label" }, "Status"), h("div", { class: "value" }, this.envelope.status), h("div", { class: "label" }, "Verdoc Owner ID"), h("div", { class: "value" }, this.envelope.profile_id), h("div", { class: "label" }, "Verdoc Owner Name"), h("div", { class: "value" }, (_a = this.envelope.profile) === null || _a === void 0 ? void 0 :
|
209
|
+
_a.first_name, " ", (_b = this.envelope.profile) === null || _b === void 0 ? void 0 :
|
210
|
+
_b.last_name), h("div", { class: "label" }, "Verdoc Owner Email"), h("div", { class: "value" }, (_c = this.envelope.profile) === null || _c === void 0 ? void 0 : _c.email))), this.activeTab === 2 && (h("div", { class: "content" }, h("div", { class: "title" }, "Recipients"), this.envelope.recipients.map((recipient, index) => (h("div", { class: "recipient-detail" }, h("div", { class: "recipient-header" }, h("div", { class: "recipient-number" }, index + 1), h("div", { class: "recipient-type" }, recipient.type), h("div", { class: { 'recipient-status': true, [recipient.status]: true } }, recipient.status), isEnvelopeOwner && (h("verdocs-dropdown", { onOptionSelected: item => this.handleRecipientAction(recipient, item.detail.id), options: [
|
208
211
|
{ id: 'reminder', label: 'Send Reminder', disabled: !this.canResendRecipient(recipient) },
|
209
212
|
{ id: 'modify', label: 'Modify Recipient', disabled: !this.canModifyRecipient(recipient) },
|
210
213
|
{ id: 'inperson', label: 'Get In-Person Link', disabled: !this.canModifyRecipient(recipient) || !['invited', 'opened'].includes(recipient.status) },
|
@@ -216,6 +219,8 @@ const VerdocsEnvelopeSidebar$1 = /*@__PURE__*/ proxyCustomElement(class extends
|
|
216
219
|
}, [0, "verdocs-envelope-sidebar", {
|
217
220
|
"endpoint": [16],
|
218
221
|
"envelopeId": [1, "envelope-id"],
|
222
|
+
"envelope": [32],
|
223
|
+
"roleNames": [32],
|
219
224
|
"activeTab": [32],
|
220
225
|
"panelOpen": [32]
|
221
226
|
}]);
|
@@ -90,7 +90,7 @@ const VerdocsFieldTextbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
90
90
|
var _a;
|
91
91
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
92
92
|
return this.hideSettingsPanel();
|
93
|
-
} })))));
|
93
|
+
}, helpText: 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the "name" field.<br /><br />If marked required, the participant must complete the field before proceeding.' })))));
|
94
94
|
}
|
95
95
|
get el() { return this; }
|
96
96
|
static get style() { return verdocsFieldTextboxCss; }
|
@@ -1,11 +1,10 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
|
2
|
-
import { g as getSigningSession, u as updateEnvelopeField, a as updateEnvelopeFieldSignature, b as updateEnvelopeFieldInitials } from './Envelopes.js';
|
2
|
+
import { g as getSigningSession, t as throttledGetEnvelope, u as updateEnvelopeField, a as updateEnvelopeFieldSignature, b as updateEnvelopeFieldInitials } from './Envelopes.js';
|
3
3
|
import './Types.js';
|
4
4
|
import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
|
5
5
|
import { a as isValidPhone, i as isValidEmail } from './Validators.js';
|
6
6
|
import { f as fullNameToInitials } from './Primitives.js';
|
7
7
|
import { s as saveAttachment, u as updateDocumentFieldValue, a as getRoleIndex, r as renderDocumentField, b as getFieldId } from './utils.js';
|
8
|
-
import { g as getEnvelopeById, s as state } from './Envelopes2.js';
|
9
8
|
import { S as SDKError } from './errors.js';
|
10
9
|
import { d as defineCustomElement$8 } from './verdocs-button2.js';
|
11
10
|
import { d as defineCustomElement$7 } from './verdocs-checkbox2.js';
|
@@ -134,6 +133,8 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
134
133
|
this.roleId = null;
|
135
134
|
this.inviteCode = null;
|
136
135
|
this.headerTargetId = null;
|
136
|
+
this.envelope = null;
|
137
|
+
this.roleNames = [];
|
137
138
|
this.recipient = null;
|
138
139
|
this.signerToken = null;
|
139
140
|
this.hasSignature = false;
|
@@ -180,24 +181,25 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
180
181
|
if (this.agreed) {
|
181
182
|
this.nextButtonLabel = 'Next';
|
182
183
|
}
|
183
|
-
await
|
184
|
-
|
184
|
+
this.envelope = await throttledGetEnvelope(this.endpoint, this.envelopeId);
|
185
|
+
this.roleNames = this.envelope.recipients.map(r => r.role_name);
|
186
|
+
if (this.envelope.documents.length > 0) {
|
185
187
|
this.documentsSingularPlural = 'document(s)';
|
186
188
|
}
|
187
|
-
this.recipientIndex =
|
189
|
+
this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);
|
188
190
|
if (this.recipientIndex > -1) {
|
189
|
-
this.recipient =
|
191
|
+
this.recipient = this.envelope.recipients[this.recipientIndex];
|
190
192
|
this.agreed = this.recipient.agreed;
|
191
193
|
console.log('[SIGN] Found our recipient in the envelope', this.recipientIndex, this.recipient);
|
192
194
|
}
|
193
195
|
else {
|
194
|
-
console.log('[SIGN] Could not find our recipient record', this.roleId,
|
196
|
+
console.log('[SIGN] Could not find our recipient record', this.roleId, this.envelope.recipients);
|
195
197
|
}
|
196
198
|
this.isDone = ['submitted', 'canceled', 'declined'].includes(this.recipient.status);
|
197
199
|
// TODO: Fix service to allow this?
|
198
200
|
// const sigs = await getSignatures();
|
199
201
|
// console.log('sigs', sigs);
|
200
|
-
(_d = this.envelopeLoaded) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope:
|
202
|
+
(_d = this.envelopeLoaded) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: this.envelope });
|
201
203
|
}
|
202
204
|
catch (e) {
|
203
205
|
console.log('Error with signing session', e);
|
@@ -219,7 +221,7 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
219
221
|
var _a;
|
220
222
|
this.nextButtonLabel = 'Next';
|
221
223
|
this.agreed = true; // The server returns a recipient object but it's not "deep" so we track this locally
|
222
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
224
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'agreed' });
|
223
225
|
})
|
224
226
|
.catch(e => {
|
225
227
|
var _a, _b, _c;
|
@@ -233,29 +235,29 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
233
235
|
case 'later':
|
234
236
|
this.finishLater = true;
|
235
237
|
this.showFinishLater = true;
|
236
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
238
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'later' });
|
237
239
|
break;
|
238
240
|
case 'claim':
|
239
241
|
window.alert('This feature will be available in an upcoming release.');
|
240
|
-
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope:
|
242
|
+
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'claimed' });
|
241
243
|
break;
|
242
244
|
case 'decline':
|
243
245
|
{
|
244
246
|
const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);
|
245
247
|
console.log('Decline result', declineResult);
|
246
|
-
(_c = this.envelopeUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, envelope:
|
248
|
+
(_c = this.envelopeUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'declined' });
|
247
249
|
this.isDone = true;
|
248
250
|
}
|
249
251
|
break;
|
250
252
|
case 'print':
|
251
253
|
window.print();
|
252
|
-
(_d = this.envelopeUpdated) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope:
|
254
|
+
(_d = this.envelopeUpdated) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'printed' });
|
253
255
|
break;
|
254
256
|
case 'download':
|
255
|
-
saveAttachment(this.endpoint,
|
257
|
+
saveAttachment(this.endpoint, this.envelope, this.envelope.envelope_document_id).catch(e => {
|
256
258
|
console.log('Error downloading PDF', e);
|
257
259
|
});
|
258
|
-
(_e = this.envelopeUpdated) === null || _e === void 0 ? void 0 : _e.emit({ endpoint: this.endpoint, envelope:
|
260
|
+
(_e = this.envelopeUpdated) === null || _e === void 0 ? void 0 : _e.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded' });
|
259
261
|
break;
|
260
262
|
}
|
261
263
|
}
|
@@ -434,7 +436,7 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
434
436
|
}
|
435
437
|
handlePageRendered(e) {
|
436
438
|
const pageInfo = e.detail;
|
437
|
-
const roleIndex = getRoleIndex(
|
439
|
+
const roleIndex = getRoleIndex(this.roleNames, this.recipient.role_name);
|
438
440
|
const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);
|
439
441
|
console.log('[SIGN] Page rendered, updating fields', { pageInfo, roleIndex, recipientFields });
|
440
442
|
recipientFields.forEach(field => {
|
@@ -474,10 +476,10 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
474
476
|
// });
|
475
477
|
});
|
476
478
|
// Render fields for "the other" recipients
|
477
|
-
|
479
|
+
this.envelope.recipients
|
478
480
|
.filter(recipient => recipient.role_name !== this.recipient.role_name)
|
479
481
|
.forEach(otherRecipient => {
|
480
|
-
const otherRoleIndex = getRoleIndex(
|
482
|
+
const otherRoleIndex = getRoleIndex(this.roleNames, otherRecipient.role_name);
|
481
483
|
const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);
|
482
484
|
// We don't render other recipients' fields if they've already acted, because those values are now stamped into the document page.
|
483
485
|
// TODO: Do we want to render alternate treatments for recipients who have declined (red boxes?) and/or if the envelope is cancelled?
|
@@ -508,13 +510,13 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
508
510
|
this.checkRecipientFields();
|
509
511
|
}
|
510
512
|
render() {
|
511
|
-
if (
|
513
|
+
if (!this.envelope) {
|
512
514
|
return (h(Host, null, h("verdocs-loader", null)));
|
513
515
|
}
|
514
516
|
if (this.isDone) {
|
515
|
-
return (h(Host, { class: { agreed: this.agreed }
|
517
|
+
return (h(Host, { class: { agreed: this.agreed } }, this.isDone ? (h("verdocs-view", { endpoint: this.endpoint, envelopeId: this.envelopeId, onSdkError: e => { var _a; return (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } })) : (h("verdocs-view", { endpoint: this.endpoint, envelopeId: this.envelopeId, onSdkError: e => { var _a; return (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } })), this.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') })));
|
516
518
|
}
|
517
|
-
return (h(Host, { class: { agreed: this.agreed }
|
519
|
+
return (h(Host, { class: { agreed: this.agreed } }, !this.finishLater && h("div", { class: "intro" }, "Please review and act on these documents."), h("div", { id: "verdocs-sign-header" }, !this.agreed ? (h("div", { class: "agree" }, h("verdocs-checkbox", { name: "agree", label: "I agree to use electronic records and signatures.", onInput: () => this.handleClickAgree() }))) : (h(Fragment, null, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name), h("div", { style: { flex: '1' } }))), !this.finishLater && h("verdocs-button", { size: "small", label: this.nextButtonLabel, disabled: !this.agreed, onClick: () => this.handleNext() }), h("div", { style: { marginLeft: '10px' } }), h("verdocs-dropdown", { options: !this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions, onOptionSelected: e => this.handleOptionSelected(e) })), !this.agreed ? h("div", { class: "cover" }) : h("div", { style: { display: 'none' } }), h("div", { class: "document", style: { paddingTop: this.headerTargetId ? '70px' : '15px' } }, (this.envelope.documents || []).map(envelopeDocument => {
|
518
520
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
519
521
|
pages.sort((a, b) => a.sequence - b.sequence);
|
520
522
|
return (h(Fragment, null, pages.map(page => {
|
@@ -539,6 +541,8 @@ const VerdocsSign$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
539
541
|
"roleId": [1, "role-id"],
|
540
542
|
"inviteCode": [1, "invite-code"],
|
541
543
|
"headerTargetId": [1, "header-target-id"],
|
544
|
+
"envelope": [32],
|
545
|
+
"roleNames": [32],
|
542
546
|
"recipient": [32],
|
543
547
|
"signerToken": [32],
|
544
548
|
"hasSignature": [32],
|
@@ -28,6 +28,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
|
|
28
28
|
this.endpoint = VerdocsEndpoint.getDefault();
|
29
29
|
this.templateId = '';
|
30
30
|
this.fieldName = '';
|
31
|
+
this.helpText = '';
|
31
32
|
this.dirty = false;
|
32
33
|
this.loading = true;
|
33
34
|
this.type = 'signature';
|
@@ -39,7 +40,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
|
|
39
40
|
this.options = [];
|
40
41
|
this.placeholder = '';
|
41
42
|
this.defaultValue = '';
|
42
|
-
this.showingHelp =
|
43
|
+
this.showingHelp = false;
|
43
44
|
}
|
44
45
|
async componentWillLoad() {
|
45
46
|
var _a, _b, _c, _d, _e;
|
@@ -159,10 +160,10 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
|
|
159
160
|
if (!this.endpoint.session || !state.template) {
|
160
161
|
return h(Host, { class: "empty" });
|
161
162
|
}
|
162
|
-
if (this.showingHelp) {
|
163
|
-
return (h(Host, null, h("h6", null, capitalize(this.fieldType), " Settings ", h("div", { style: { flex: '1' } }), h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = false) })), h("p", { class: "instructions"
|
163
|
+
if (this.helpText && this.showingHelp) {
|
164
|
+
return (h(Host, null, h("h6", null, capitalize(this.fieldType), " Settings ", h("div", { style: { flex: '1' } }), h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = false) })), h("p", { class: "instructions", innerHTML: this.helpText })));
|
164
165
|
}
|
165
|
-
return (h(Host, null, h("h6", null, capitalize(this.fieldType), " Settings ", h("div", { style: { flex: '1' } }), h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = true) })), h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("verdocs-text-input", { id: "verdocs-field-name", label: "Field Name", value: this.name, autocomplete: "off",
|
166
|
+
return (h(Host, null, h("h6", null, capitalize(this.fieldType), " Settings ", h("div", { style: { flex: '1' } }), this.helpText && h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = true) })), h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("verdocs-text-input", { id: "verdocs-field-name", label: "Field Name", value: this.name, autocomplete: "off",
|
166
167
|
// helpText="The internal name of the field. Must be unique, and contain only letters, numbers, and dashes. After an envelope is completed, the value entered by the signer will be tagged with this key."
|
167
168
|
placeholder: "Field Name...", onInput: (e) => {
|
168
169
|
this.name = e.target.value;
|
@@ -208,6 +209,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
|
|
208
209
|
"endpoint": [16],
|
209
210
|
"templateId": [1, "template-id"],
|
210
211
|
"fieldName": [1, "field-name"],
|
212
|
+
"helpText": [1, "help-text"],
|
211
213
|
"dirty": [32],
|
212
214
|
"loading": [32],
|
213
215
|
"type": [32],
|
@@ -1,9 +1,8 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
|
2
|
-
import { d as cancelEnvelope } from './Envelopes.js';
|
2
|
+
import { t as throttledGetEnvelope, d as cancelEnvelope } from './Envelopes.js';
|
3
3
|
import { E as EnvelopeStates } from './Types.js';
|
4
4
|
import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
|
5
5
|
import { f as saveEnvelopesAsZip, h as saveCertificate, s as saveAttachment } from './utils.js';
|
6
|
-
import { g as getEnvelopeById, s as state } from './Envelopes2.js';
|
7
6
|
import { S as SDKError } from './errors.js';
|
8
7
|
import { d as defineCustomElement$3 } from './verdocs-dropdown2.js';
|
9
8
|
import { d as defineCustomElement$2 } from './verdocs-envelope-document-page2.js';
|
@@ -40,6 +39,8 @@ const VerdocsView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
40
39
|
this.envelopeId = '';
|
41
40
|
this.headerTargetId = null;
|
42
41
|
this.isProcessing = false;
|
42
|
+
this.envelope = null;
|
43
|
+
this.roleNames = [];
|
43
44
|
}
|
44
45
|
componentWillLoad() {
|
45
46
|
this.endpoint.loadSession();
|
@@ -66,8 +67,9 @@ const VerdocsView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
66
67
|
var _a, _b, _c;
|
67
68
|
console.log('[VIEW] Checking for updated envelope');
|
68
69
|
try {
|
69
|
-
await
|
70
|
-
this.
|
70
|
+
this.envelope = await throttledGetEnvelope(this.endpoint, this.envelopeId);
|
71
|
+
this.roleNames = this.envelope.recipients.map(r => r.role_name);
|
72
|
+
this.isProcessing = this.envelope.documents.some(document => document.type === 'attachment' && !document.processed);
|
71
73
|
if (this.isProcessing) {
|
72
74
|
setTimeout(() => this.reloadEnvelope(), 3000);
|
73
75
|
}
|
@@ -87,38 +89,38 @@ const VerdocsView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
87
89
|
// TODO: Better option for inline-flow confirmation and alert dialogs.
|
88
90
|
if (confirm('Are you sure you wish to cancel this envelope? This action cannot be undone.')) {
|
89
91
|
await cancelEnvelope(this.endpoint, this.envelopeId);
|
90
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
92
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'canceled' });
|
91
93
|
}
|
92
94
|
break;
|
93
95
|
case 'print':
|
94
96
|
window.print();
|
95
|
-
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope:
|
97
|
+
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'printed' });
|
96
98
|
break;
|
97
99
|
case 'download-attachments':
|
98
|
-
saveAttachment(this.endpoint,
|
100
|
+
saveAttachment(this.endpoint, this.envelope, this.envelope.envelope_document_id)
|
99
101
|
.then(() => {
|
100
102
|
var _a;
|
101
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
103
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded' });
|
102
104
|
})
|
103
105
|
.catch(e => {
|
104
106
|
console.log('Error downloading PDF', e);
|
105
107
|
});
|
106
108
|
break;
|
107
109
|
case 'download-certificate':
|
108
|
-
saveCertificate(this.endpoint,
|
110
|
+
saveCertificate(this.endpoint, this.envelope, this.envelope.certificate_document_id)
|
109
111
|
.then(() => {
|
110
112
|
var _a;
|
111
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
113
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded' });
|
112
114
|
})
|
113
115
|
.catch(e => {
|
114
116
|
console.log('Error downloading PDF', e);
|
115
117
|
});
|
116
118
|
break;
|
117
119
|
case 'download-all':
|
118
|
-
saveEnvelopesAsZip(this.endpoint, [
|
120
|
+
saveEnvelopesAsZip(this.endpoint, [this.envelope])
|
119
121
|
.then(() => {
|
120
122
|
var _a;
|
121
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
123
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded' });
|
122
124
|
})
|
123
125
|
.catch(e => {
|
124
126
|
console.log('Error downloading Zip', e);
|
@@ -128,19 +130,17 @@ const VerdocsView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
128
130
|
}
|
129
131
|
render() {
|
130
132
|
var _a;
|
131
|
-
if (
|
133
|
+
if (!this.envelope) {
|
134
|
+
console.log('rendering, no env');
|
132
135
|
return (h(Host, null, h("verdocs-loader", null)));
|
133
136
|
}
|
134
|
-
if (state.error) {
|
135
|
-
return (h(Host, null, h("div", null, state.error)));
|
136
|
-
}
|
137
137
|
const menuOptions = [{ id: 'print', label: 'Print' }];
|
138
|
-
if (userCanCancelEnvelope(this.endpoint.session,
|
138
|
+
if (userCanCancelEnvelope(this.endpoint.session, this.envelope)) {
|
139
139
|
menuOptions.push({ id: 'cancel', label: 'Cancel' });
|
140
140
|
}
|
141
141
|
// Add download options to the menu
|
142
|
-
const hasAttachments =
|
143
|
-
const hasCertificate = !!
|
142
|
+
const hasAttachments = this.envelope.documents.length > 0;
|
143
|
+
const hasCertificate = !!this.envelope.certificate;
|
144
144
|
if (hasAttachments || hasCertificate) {
|
145
145
|
menuOptions.push({ label: '' });
|
146
146
|
if (hasAttachments) {
|
@@ -153,10 +153,11 @@ const VerdocsView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
153
153
|
menuOptions.push({ id: 'download-all', label: 'Download All Files' });
|
154
154
|
}
|
155
155
|
}
|
156
|
-
|
156
|
+
console.log('docs', this.envelope, this.envelope.documents);
|
157
|
+
return (h(Host, null, h("div", { id: "verdocs-view-header" }, h(Fragment, null, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name), h("div", { style: { flex: '1' } }), h("div", { style: { marginLeft: '10px' } }), h("verdocs-dropdown", { options: menuOptions, onOptionSelected: e => this.handleOptionSelected(e) }))), h("div", { class: "document", style: { paddingTop: this.headerTargetId ? '70px' : '15px' } }, (((_a = this.envelope) === null || _a === void 0 ? void 0 : _a.documents) || [])
|
157
158
|
.filter(document => document.type !== 'certificate')
|
158
159
|
.map(envelopeDocument => {
|
159
|
-
console.log('[VIEW] Rendering document',
|
160
|
+
console.log('[VIEW] Rendering document', this.envelope, envelopeDocument);
|
160
161
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
161
162
|
pages.sort((a, b) => a.sequence - b.sequence);
|
162
163
|
if (!envelopeDocument.processed) {
|
@@ -174,7 +175,9 @@ const VerdocsView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
174
175
|
"endpoint": [16],
|
175
176
|
"envelopeId": [1, "envelope-id"],
|
176
177
|
"headerTargetId": [1, "header-target-id"],
|
177
|
-
"isProcessing": [32]
|
178
|
+
"isProcessing": [32],
|
179
|
+
"envelope": [32],
|
180
|
+
"roleNames": [32]
|
178
181
|
}]);
|
179
182
|
function defineCustomElement() {
|
180
183
|
if (typeof customElements === "undefined") {
|