@verdocs/web-sdk 6.8.10 → 6.8.11
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/{utils-kkGeJs-8.js → utils-DsDnct9q.js} +2 -4
- package/dist/cjs/utils-DsDnct9q.js.map +1 -0
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1102 -808
- package/dist/cjs/verdocs-contact-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-preview_6.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-signing-progress.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
- package/dist/collection/utils/utils.js +0 -2
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/{p-Cj8PYi4t.js → p-B1XBGdC7.js} +4 -4
- package/dist/components/{p-Cj8PYi4t.js.map → p-B1XBGdC7.js.map} +1 -1
- package/dist/components/{p-RdlD8c2P.js → p-B6tZPSE-.js} +3 -3
- package/dist/components/{p-RdlD8c2P.js.map → p-B6tZPSE-.js.map} +1 -1
- package/dist/components/{p-zAW1BOj6.js → p-BCwx8bsK.js} +3 -3
- package/dist/components/{p-zAW1BOj6.js.map → p-BCwx8bsK.js.map} +1 -1
- package/dist/components/{p-aH_YLUuP.js → p-CaoZmlp7.js} +3 -3
- package/dist/components/{p-aH_YLUuP.js.map → p-CaoZmlp7.js.map} +1 -1
- package/dist/components/{p-Cx0Mif05.js → p-CndV_5Je.js} +2 -4
- package/dist/components/{p-Cx0Mif05.js.map → p-CndV_5Je.js.map} +1 -1
- package/dist/components/{p-BrtyCjOf.js → p-DPfgYCMd.js} +3 -3
- package/dist/components/{p-BrtyCjOf.js.map → p-DPfgYCMd.js.map} +1 -1
- package/dist/components/{p-DNYvorxL.js → p-DqlhK3CE.js} +4 -4
- package/dist/components/{p-DNYvorxL.js.map → p-DqlhK3CE.js.map} +1 -1
- package/dist/components/{p-Bzs-6uU0.js → p-EQhWyfg9.js} +1104 -810
- package/dist/components/p-EQhWyfg9.js.map +1 -0
- package/dist/components/{p---tnXjlx.js → p-uNqpODUQ.js} +3 -3
- package/dist/components/{p---tnXjlx.js.map → p-uNqpODUQ.js.map} +1 -1
- package/dist/components/verdocs-build.js +5 -5
- package/dist/components/verdocs-contact-picker.js +1 -1
- package/dist/components/verdocs-envelope-document-page.js +1 -1
- package/dist/components/verdocs-envelopes-list.js +2 -2
- package/dist/components/verdocs-preview.js +1 -1
- package/dist/components/verdocs-quick-filter.js +1 -1
- package/dist/components/verdocs-send.js +1 -1
- package/dist/components/verdocs-sign.js +3 -3
- package/dist/components/verdocs-signing-progress.js +1 -1
- package/dist/components/verdocs-template-document-page.js +1 -1
- package/dist/components/verdocs-template-fields.js +1 -1
- package/dist/components/verdocs-templates-list.js +1 -1
- package/dist/components/verdocs-view.js +1 -1
- package/dist/esm/{utils-CPSY5rft.js → utils-Bty_rQI7.js} +2 -4
- package/dist/esm/utils-Bty_rQI7.js.map +1 -0
- package/dist/esm/verdocs-contact-picker.entry.js +1102 -808
- package/dist/esm/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm/verdocs-download-dialog_4.entry.js +1 -1
- package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm/verdocs-preview_6.entry.js +1 -1
- package/dist/esm/verdocs-sign.entry.js +1 -1
- package/dist/esm/verdocs-signing-progress.entry.js +1 -1
- package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm-es5/{utils-CPSY5rft.js → utils-Bty_rQI7.js} +1 -1
- package/dist/esm-es5/utils-Bty_rQI7.js.map +1 -0
- package/dist/esm-es5/verdocs-contact-picker.entry.js +2 -2
- package/dist/esm-es5/verdocs-contact-picker.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-download-dialog_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview_6.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-signing-progress.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/verdocs-web-sdk/{p-b7d907b4.system.entry.js → p-0f6aa428.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-92b4f218.entry.js → p-30ce93f4.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-4a24c445.system.entry.js +4 -0
- package/dist/verdocs-web-sdk/p-4a24c445.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-5b00dbf2.entry.js +3 -0
- package/dist/verdocs-web-sdk/p-5b00dbf2.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-3be22031.entry.js → p-64a68e39.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-0b59a4a5.entry.js → p-76770d9c.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-2ba8c771.system.entry.js → p-7fa0abc5.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-60cfa50a.system.entry.js → p-83f10fb7.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-641dbbfa.system.entry.js → p-8b80fe24.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-fc308ef0.entry.js → p-90005b19.entry.js} +3 -3
- package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
- package/dist/verdocs-web-sdk/p-Bg14ZSNR.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-a51WVEiq.system.js.map → p-BkSli2zt.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-DmQa-gqf.system.js.map → p-CLSDwNJu.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-BFC8G6sY.system.js.map → p-CkFoHSeo.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-DGti20Vc.system.js → p-CnF3etgg.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-CnF3etgg.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-N4-IQ3Cb.system.js.map → p-CotMN3Ey.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-CVmJ8lYI.system.js.map → p-CyHGFYot.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-BJ0cUjeu.system.js.map → p-Fo42OGz9.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-H1Y4Zb4E.system.js.map → p-HR08HTpW.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-C9JdpYtM.js → p-NAwq_U8G.js} +1 -1
- package/dist/verdocs-web-sdk/p-NAwq_U8G.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-6c8883ff.entry.js → p-b99e606b.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-6c8883ff.entry.js.map → p-b99e606b.entry.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-066eaea8.system.entry.js → p-e33fd901.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-d4e3efdb.system.entry.js → p-e97ce39e.system.entry.js} +3 -3
- package/dist/verdocs-web-sdk/{p-4f820bee.entry.js → p-f02af327.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-04981f9f.entry.js → p-f79ebbc1.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-4424623c.system.entry.js → p-ffbf5761.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/verdocs-contact-picker.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +3 -3
- package/dist/cjs/utils-kkGeJs-8.js.map +0 -1
- package/dist/components/p-Bzs-6uU0.js.map +0 -1
- package/dist/esm/utils-CPSY5rft.js.map +0 -1
- package/dist/esm-es5/utils-CPSY5rft.js.map +0 -1
- package/dist/verdocs-web-sdk/p-BuHYXI2L.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-C9JdpYtM.js.map +0 -1
- package/dist/verdocs-web-sdk/p-DGti20Vc.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-bcffad7a.system.entry.js +0 -4
- package/dist/verdocs-web-sdk/p-bcffad7a.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f7f33a99.entry.js +0 -3
- package/dist/verdocs-web-sdk/p-f7f33a99.entry.js.map +0 -1
- /package/dist/verdocs-web-sdk/{p-b7d907b4.system.entry.js.map → p-0f6aa428.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-92b4f218.entry.js.map → p-30ce93f4.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-3be22031.entry.js.map → p-64a68e39.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-0b59a4a5.entry.js.map → p-76770d9c.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-2ba8c771.system.entry.js.map → p-7fa0abc5.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-60cfa50a.system.entry.js.map → p-83f10fb7.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-641dbbfa.system.entry.js.map → p-8b80fe24.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-fc308ef0.entry.js.map → p-90005b19.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-066eaea8.system.entry.js.map → p-e33fd901.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-d4e3efdb.system.entry.js.map → p-e97ce39e.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-4f820bee.entry.js.map → p-f02af327.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-04981f9f.entry.js.map → p-f79ebbc1.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-4424623c.system.entry.js.map → p-ffbf5761.system.entry.js.map} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CQ5bTnED.js');
|
|
4
4
|
var jsSdk = require('@verdocs/js-sdk');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-DsDnct9q.js');
|
|
6
6
|
var errors = require('./errors-D1XRvnet.js');
|
|
7
7
|
var Datastore = require('./Datastore-C-Pojt3E.js');
|
|
8
8
|
require('./index-CeUF44L9.js');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CQ5bTnED.js');
|
|
4
4
|
var jsSdk = require('@verdocs/js-sdk');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-DsDnct9q.js');
|
|
6
6
|
var Toast = require('./Toast-BgG-6jAg.js');
|
|
7
7
|
var errors = require('./errors-D1XRvnet.js');
|
|
8
8
|
require('./index-CeUF44L9.js');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CQ5bTnED.js');
|
|
4
4
|
var jsSdk = require('@verdocs/js-sdk');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-DsDnct9q.js');
|
|
6
6
|
var popper = require('./popper-Dmp8OTYh.js');
|
|
7
7
|
require('./index-CeUF44L9.js');
|
|
8
8
|
require('./Types-YJQtg77a.js');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var index$1 = require('./index-CQ5bTnED.js');
|
|
4
4
|
var interact_min = require('./interact.min-BAnZvLwr.js');
|
|
5
5
|
var jsSdk = require('@verdocs/js-sdk');
|
|
6
|
-
var utils = require('./utils-
|
|
6
|
+
var utils = require('./utils-DsDnct9q.js');
|
|
7
7
|
var errors = require('./errors-D1XRvnet.js');
|
|
8
8
|
var Datastore = require('./Datastore-C-Pojt3E.js');
|
|
9
9
|
var Environment = require('./Environment-3vWt0C1Q.js');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CQ5bTnED.js');
|
|
4
4
|
var jsSdk = require('@verdocs/js-sdk');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-DsDnct9q.js');
|
|
6
6
|
var Icons = require('./Icons-TVvtZ5iL.js');
|
|
7
7
|
var Toast = require('./Toast-BgG-6jAg.js');
|
|
8
8
|
var errors = require('./errors-D1XRvnet.js');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CQ5bTnED.js');
|
|
4
4
|
var jsSdk = require('@verdocs/js-sdk');
|
|
5
|
-
var utils = require('./utils-
|
|
5
|
+
var utils = require('./utils-DsDnct9q.js');
|
|
6
6
|
var Datastore = require('./Datastore-C-Pojt3E.js');
|
|
7
7
|
var popper = require('./popper-Dmp8OTYh.js');
|
|
8
8
|
require('./index-CeUF44L9.js');
|
|
@@ -54,9 +54,7 @@ export const setControlStyles = (el, field, xScale, yScale) => {
|
|
|
54
54
|
var _a, _b;
|
|
55
55
|
let { x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type), settings } = field;
|
|
56
56
|
const isCanvasField = field.type === 'signature' || field.type === 'initial';
|
|
57
|
-
// @ts-expect-error - TODO: Type will be included in v6.8.2
|
|
58
57
|
const canvasWidth = !isCanvasField ? width : ((_a = settings === null || settings === void 0 ? void 0 : settings.canvasWidth) !== null && _a !== void 0 ? _a : width);
|
|
59
|
-
// @ts-expect-error - TODO: Type will be included in v6.8.2
|
|
60
58
|
const canvasHeight = !isCanvasField ? height : ((_b = settings === null || settings === void 0 ? void 0 : settings.canvasHeight) !== null && _b !== void 0 ? _b : height);
|
|
61
59
|
el.style.width = `${canvasWidth}px`;
|
|
62
60
|
el.style.height = `${canvasHeight}px`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {format} from 'date-fns';\nimport {downloadBlob, getEnvelopeFile, getEnvelopesZip, IEnvelope, IEnvelopeField, ITemplateField, rescale, TFieldType, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {FORMAT_DATE, IDocumentPageInfo} from './Types';\n\nexport const defaultWidth = (type: TFieldType) => {\n // checkbox was a legacy field type\n switch (type as any) {\n case 'textarea':\n return 150;\n case 'textbox':\n return 150;\n case 'timestamp':\n return 105;\n case 'date':\n return 75;\n case 'dropdown':\n return 85;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 71;\n }\n\n return 150;\n};\n\nexport const defaultHeight = (type: TFieldType) => {\n switch (type as any) {\n case 'textarea':\n return 41;\n case 'textbox':\n return 15;\n case 'timestamp':\n return 15;\n case 'date':\n return 15;\n case 'dropdown':\n return 20;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 36;\n }\n\n return 50;\n};\n\nexport const setControlStyles = (el: HTMLElement, field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type), settings} = field;\n const isCanvasField = field.type === 'signature' || field.type === 'initial';\n // @ts-expect-error - TODO: Type will be included in v6.8.2\n const canvasWidth = !isCanvasField ? width : (settings?.canvasWidth ?? width);\n // @ts-expect-error - TODO: Type will be included in v6.8.2\n const canvasHeight = !isCanvasField ? height : (settings?.canvasHeight ?? height);\n\n el.style.width = `${canvasWidth}px`;\n el.style.height = `${canvasHeight}px`;\n el.style.position = 'absolute';\n el.style.left = `${rescale(xScale, x)}px`;\n el.style.bottom = `${rescale(yScale, y)}px`;\n el.style.transform = `scale(${xScale}, ${yScale})`;\n};\n\nexport const getControlStyles = (field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n return {\n zIndex: '100',\n width: `${width}px`,\n height: `${height}px`,\n position: 'absolute',\n left: `${rescale(xScale, x)}px`,\n bottom: `${rescale(yScale, y)}px`,\n transform: `scale(${xScale}, ${yScale})`,\n };\n};\n\nexport const getFieldId = (field: ITemplateField | IEnvelopeField) => {\n return `verdocs-doc-fld-${field.name}`;\n};\n\ninterface IFieldOptions {\n disabled?: boolean;\n editable?: boolean;\n draggable?: boolean;\n done?: boolean;\n}\n\nexport const updateDocumentFieldValue = (field: ITemplateField | IEnvelopeField) => {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.roleindex = field;\n existingField.setAttribute('id', id); // We need this to trigger a re-render\n existingField.setAttribute('disabled', true); // We need this to trigger a re-render\n existingField.setAttribute('disabled', false); // We need this to trigger a re-render\n }\n};\n\nexport const renderDocumentField = (\n source: 'envelope' | 'template',\n field: ITemplateField | IEnvelopeField,\n docPage: IDocumentPageInfo,\n fieldOptions: IFieldOptions,\n tabIndex: number = 1,\n) => {\n const {disabled = false, editable = false, draggable = false, done = false} = fieldOptions;\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n // TODO: This gets emitted a lot by the builder naturally, when placing or updating fields, because Store.updateTemplate\n // triggers a re-render but we still have async code pending in contexts with references to the old/wrong controls DIV\n // IDs. It doesn't break anything because the re-render fixes it all up. But we do want to trap this for \"other\" situations.\n // console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n switch (field.type as any) {\n case 'radio':\n case 'checkbox':\n case 'attachment':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.done = done;\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n let {type} = field;\n if (type === 'textbox') {\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n }\n }\n\n const el: any = document.createElement(`verdocs-field-${type}`);\n el.field = field;\n el.setAttribute('id', id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('source', source);\n el.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n\n if (disabled) {\n el.setAttribute('tabindex', -1);\n el.setAttribute('disabled', true);\n } else {\n el.setAttribute('tabindex', tabIndex);\n }\n\n el.setAttribute('editable', editable);\n el.setAttribute('draggable', draggable);\n el.setAttribute('done', done);\n\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n\n return el;\n }\n\n default:\n console.log('[PREVIEW] Skipping unsupported field type', field);\n return null;\n }\n};\n\n/**\n * Helper function to safely set/update components in a CSS transform attribute. Transform is normally set as a string of\n * `operation1(param) operation2(param) ...` components, which makes updating them a bit of a pain. This will remove the\n * specified component if it's already set and replace it with the new value, without touching the other components that\n * may already be set. Note that this operation moves the component to the end of the transform chain so it's not meant\n * to be used for order-sensitive components e.g. translate-then-rotate.\n */\nexport const updateCssTransform = (el: HTMLElement, key: string, value: string) => {\n const currentTransform = el.style.transform || '';\n\n const newValue = `${key}(${value})`;\n if (currentTransform.includes(key)) {\n el.style.transform = currentTransform.replace(new RegExp(`${key}\\\\(.+?\\\\)`), newValue);\n } else {\n el.style.transform = currentTransform + ' ' + newValue;\n }\n};\n\nexport const removeCssTransform = (el: HTMLElement) => {\n // const currentTransform = el.style.transform || '';\n el.style.transform = el.style.transform.split(')')[0] + ')';\n // TODO: This is not working\n // el.style.transform = currentTransform.replace(new RegExp(`\\(${key}\\\\(.+?\\\\)\\)`), '');\n};\n\n// TODO: Shift to getDownloadLilnk\nexport const saveAttachment = async (endpoint: VerdocsEndpoint, envelope: IEnvelope, documentId: string) => {\n // e.g. \"Colorado-Motor-Vehicle-Bill-of-Sale.pdf\"\n const date = format(new Date(envelope.updated_at), FORMAT_DATE);\n const fileName = `${envelope.name} - ${date}.pdf`;\n const data = await getEnvelopeFile(endpoint, documentId);\n downloadBlob(data, fileName);\n};\n\nexport const saveEnvelopesAsZip = async (endpoint: VerdocsEndpoint, envelopes: IEnvelope[]) => {\n const formattedDate = format(envelopes.length === 1 ? new Date(envelopes[0].updated_at) : new Date(), FORMAT_DATE);\n const zipFileName = envelopes.length === 1 ? `${envelopes[0].name} - ${formattedDate}.zip` : `Verdocs-Envelopes-${formattedDate}`;\n console.log('Downloading envelopes as ZIP', envelopes, zipFileName);\n const result = await getEnvelopesZip(\n endpoint,\n envelopes.map(e => e.id),\n );\n downloadBlob(result.data, zipFileName);\n};\n\n/**\n * Throttle a given function by a delay value. Useful for things like resizeObserver.\n */\nexport const throttle = (f: Function, delay: number) => {\n let timer: any = 0;\n return function (...args) {\n clearTimeout(timer);\n timer = setTimeout(() => f.apply(this, args), delay);\n };\n};\n\n/**\n * Compute the rendered width of a given text string, using a given font.\n */\nexport const renderedTextWidth = (text: string, font: string = '16px Arial') => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n ctx.font = font;\n return ctx.measureText(text).width;\n};\n\n// \"(212) 555-1212\" => +12125551212\n// \"+46766861004\" => \"+46766861004\"\n// \"212-555-1212\" => +12125551212\n// \"212.555.1212\" => +12125551212\n// \"212 555 1212\" => +12125551212\n// @see https://46elks.com/kb/e164\nexport const convertToE164 = (input: string) => {\n let temp = (input || '').trim();\n // If we are already prefixed, assume the user did it deliberately and attempt to use what they entered. We also short-circuit blanks.\n if (!temp || temp.startsWith('+')) {\n return temp;\n }\n\n // Remove any spaces, parenthesis or other punctuation.\n temp = temp.replace(/[^0-9]/g, '');\n\n // If the number begins with a zero, remove the leading zero. Do not combine this with the previous step because it needs to be removed\n // whether it's the actual first character e.g. `0(5)` or just the first digit e.g. `(05`.\n temp = temp.replace(/^0/g, '');\n\n // Prepend the country code and +. We're assuming US in this case given the target demographic. Users in other countries would/should be\n // already entering a prefix so they'd shortcut out of this routine via the + prefix check.\n return `+1${temp}`;\n};\n\nexport interface IFlagOptions {\n variant: 'fill' | 'next';\n label: string;\n showSkip?: boolean;\n onSkip?: () => void;\n onClick?: () => void;\n id?: string;\n}\n\nexport const renderDocumentFlag = (\n docPage: IDocumentPageInfo,\n y: number, // Bottom position from field\n height: number, // Field height\n options: IFlagOptions,\n) => {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const el: any = document.createElement('verdocs-flag');\n el.variant = options.variant;\n el.label = options.label;\n el.showSkip = options.showSkip;\n if (options.id) {\n el.setAttribute('id', options.id);\n }\n el.classList.add('verdocs-flag-instance'); // Marker class for easy removal\n\n if (options.onSkip) {\n el.addEventListener('skip', options.onSkip);\n }\n if (options.onClick) {\n el.addEventListener('flagClick', options.onClick);\n }\n\n // Position the flag to stick out of the right edge of the page\n el.style.position = 'absolute';\n\n // The flag has a left-pointing arrow that is 14px wide (15% of 97px ~= 14.5px).\n // We want the \"body\" of the rectangle (starting after the arrow) to align with the\n // right edge of the page.\n el.style.left = 'calc(100% - 14px)';\n\n /*\n * Positioning Logic:\n * Field Y is distance from bottom.\n * Fields have `transform-origin: bottom left`.\n * Visual Bottom = y * scale.\n * Visual Top = (y * scale) + (height * scale).\n * Visual Center = (y * scale) + (height * scale) / 2.\n */\n // const flagHeight = 24; // Matches CSS\n const scaledY = rescale(docPage.yScale, y);\n const scaledHeight = rescale(docPage.yScale, height);\n\n // Align Flag Bottom with Field Top\n const bottom = scaledY + scaledHeight;\n\n el.style.bottom = `${bottom}px`;\n\n controlsDiv.appendChild(el);\n return el;\n};\n\n/**\n * Helper to generate a human-readable label for a field.\n */\nexport const getFieldLabel = (field: IEnvelopeField | ITemplateField) => {\n if (!field) return '';\n const typeMap: Record<string, string> = {\n signature: 'Signature',\n initial: 'Initials',\n date: 'Date',\n textbox: 'Text Field',\n checkbox: 'Checkbox',\n radio: 'Radio Button',\n dropdown: 'Dropdown',\n attachment: 'Attachment',\n payment: 'Payment',\n };\n\n const typeName = typeMap[field.type] || 'Field';\n if (field.required) {\n return `Required ${typeName}*`;\n }\n return `Optional ${typeName}`;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {format} from 'date-fns';\nimport {downloadBlob, getEnvelopeFile, getEnvelopesZip, IEnvelope, IEnvelopeField, ITemplateField, rescale, TFieldType, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {FORMAT_DATE, IDocumentPageInfo} from './Types';\n\nexport const defaultWidth = (type: TFieldType) => {\n // checkbox was a legacy field type\n switch (type as any) {\n case 'textarea':\n return 150;\n case 'textbox':\n return 150;\n case 'timestamp':\n return 105;\n case 'date':\n return 75;\n case 'dropdown':\n return 85;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 71;\n }\n\n return 150;\n};\n\nexport const defaultHeight = (type: TFieldType) => {\n switch (type as any) {\n case 'textarea':\n return 41;\n case 'textbox':\n return 15;\n case 'timestamp':\n return 15;\n case 'date':\n return 15;\n case 'dropdown':\n return 20;\n case 'attachment':\n case 'payment':\n return 24;\n case 'radio':\n case 'checkbox':\n return 14;\n case 'signature':\n case 'initial':\n return 36;\n }\n\n return 50;\n};\n\nexport const setControlStyles = (el: HTMLElement, field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type), settings} = field;\n const isCanvasField = field.type === 'signature' || field.type === 'initial';\n const canvasWidth = !isCanvasField ? width : (settings?.canvasWidth ?? width);\n const canvasHeight = !isCanvasField ? height : (settings?.canvasHeight ?? height);\n\n el.style.width = `${canvasWidth}px`;\n el.style.height = `${canvasHeight}px`;\n el.style.position = 'absolute';\n el.style.left = `${rescale(xScale, x)}px`;\n el.style.bottom = `${rescale(yScale, y)}px`;\n el.style.transform = `scale(${xScale}, ${yScale})`;\n};\n\nexport const getControlStyles = (field: ITemplateField | IEnvelopeField, xScale: number, yScale: number) => {\n let {x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type)} = field;\n\n return {\n zIndex: '100',\n width: `${width}px`,\n height: `${height}px`,\n position: 'absolute',\n left: `${rescale(xScale, x)}px`,\n bottom: `${rescale(yScale, y)}px`,\n transform: `scale(${xScale}, ${yScale})`,\n };\n};\n\nexport const getFieldId = (field: ITemplateField | IEnvelopeField) => {\n return `verdocs-doc-fld-${field.name}`;\n};\n\ninterface IFieldOptions {\n disabled?: boolean;\n editable?: boolean;\n draggable?: boolean;\n done?: boolean;\n}\n\nexport const updateDocumentFieldValue = (field: ITemplateField | IEnvelopeField) => {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.roleindex = field;\n existingField.setAttribute('id', id); // We need this to trigger a re-render\n existingField.setAttribute('disabled', true); // We need this to trigger a re-render\n existingField.setAttribute('disabled', false); // We need this to trigger a re-render\n }\n};\n\nexport const renderDocumentField = (\n source: 'envelope' | 'template',\n field: ITemplateField | IEnvelopeField,\n docPage: IDocumentPageInfo,\n fieldOptions: IFieldOptions,\n tabIndex: number = 1,\n) => {\n const {disabled = false, editable = false, draggable = false, done = false} = fieldOptions;\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n // TODO: This gets emitted a lot by the builder naturally, when placing or updating fields, because Store.updateTemplate\n // triggers a re-render but we still have async code pending in contexts with references to the old/wrong controls DIV\n // IDs. It doesn't break anything because the re-render fixes it all up. But we do want to trap this for \"other\" situations.\n // console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n switch (field.type as any) {\n case 'radio':\n case 'checkbox':\n case 'attachment':\n case 'date':\n case 'dropdown':\n case 'initial':\n case 'payment':\n case 'signature':\n case 'timestamp':\n case 'textarea':\n case 'textbox': {\n const id = getFieldId(field);\n const existingField = document.getElementById(id) as any;\n if (existingField) {\n existingField.field = field;\n existingField.done = done;\n setControlStyles(existingField, field, docPage.xScale, docPage.yScale);\n return existingField;\n }\n\n let {type} = field;\n if (type === 'textbox') {\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n }\n }\n\n const el: any = document.createElement(`verdocs-field-${type}`);\n el.field = field;\n el.setAttribute('id', id);\n el.setAttribute('fieldname', field.name);\n el.setAttribute('source', source);\n el.setAttribute('sourceid', 'template_id' in field ? field.template_id : field.envelope_id);\n\n if (disabled) {\n el.setAttribute('tabindex', -1);\n el.setAttribute('disabled', true);\n } else {\n el.setAttribute('tabindex', tabIndex);\n }\n\n el.setAttribute('editable', editable);\n el.setAttribute('draggable', draggable);\n el.setAttribute('done', done);\n\n setControlStyles(el, field, docPage.xScale, docPage.yScale);\n controlsDiv.appendChild(el);\n\n return el;\n }\n\n default:\n console.log('[PREVIEW] Skipping unsupported field type', field);\n return null;\n }\n};\n\n/**\n * Helper function to safely set/update components in a CSS transform attribute. Transform is normally set as a string of\n * `operation1(param) operation2(param) ...` components, which makes updating them a bit of a pain. This will remove the\n * specified component if it's already set and replace it with the new value, without touching the other components that\n * may already be set. Note that this operation moves the component to the end of the transform chain so it's not meant\n * to be used for order-sensitive components e.g. translate-then-rotate.\n */\nexport const updateCssTransform = (el: HTMLElement, key: string, value: string) => {\n const currentTransform = el.style.transform || '';\n\n const newValue = `${key}(${value})`;\n if (currentTransform.includes(key)) {\n el.style.transform = currentTransform.replace(new RegExp(`${key}\\\\(.+?\\\\)`), newValue);\n } else {\n el.style.transform = currentTransform + ' ' + newValue;\n }\n};\n\nexport const removeCssTransform = (el: HTMLElement) => {\n // const currentTransform = el.style.transform || '';\n el.style.transform = el.style.transform.split(')')[0] + ')';\n // TODO: This is not working\n // el.style.transform = currentTransform.replace(new RegExp(`\\(${key}\\\\(.+?\\\\)\\)`), '');\n};\n\n// TODO: Shift to getDownloadLilnk\nexport const saveAttachment = async (endpoint: VerdocsEndpoint, envelope: IEnvelope, documentId: string) => {\n // e.g. \"Colorado-Motor-Vehicle-Bill-of-Sale.pdf\"\n const date = format(new Date(envelope.updated_at), FORMAT_DATE);\n const fileName = `${envelope.name} - ${date}.pdf`;\n const data = await getEnvelopeFile(endpoint, documentId);\n downloadBlob(data, fileName);\n};\n\nexport const saveEnvelopesAsZip = async (endpoint: VerdocsEndpoint, envelopes: IEnvelope[]) => {\n const formattedDate = format(envelopes.length === 1 ? new Date(envelopes[0].updated_at) : new Date(), FORMAT_DATE);\n const zipFileName = envelopes.length === 1 ? `${envelopes[0].name} - ${formattedDate}.zip` : `Verdocs-Envelopes-${formattedDate}`;\n console.log('Downloading envelopes as ZIP', envelopes, zipFileName);\n const result = await getEnvelopesZip(\n endpoint,\n envelopes.map(e => e.id),\n );\n downloadBlob(result.data, zipFileName);\n};\n\n/**\n * Throttle a given function by a delay value. Useful for things like resizeObserver.\n */\nexport const throttle = (f: Function, delay: number) => {\n let timer: any = 0;\n return function (...args) {\n clearTimeout(timer);\n timer = setTimeout(() => f.apply(this, args), delay);\n };\n};\n\n/**\n * Compute the rendered width of a given text string, using a given font.\n */\nexport const renderedTextWidth = (text: string, font: string = '16px Arial') => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n ctx.font = font;\n return ctx.measureText(text).width;\n};\n\n// \"(212) 555-1212\" => +12125551212\n// \"+46766861004\" => \"+46766861004\"\n// \"212-555-1212\" => +12125551212\n// \"212.555.1212\" => +12125551212\n// \"212 555 1212\" => +12125551212\n// @see https://46elks.com/kb/e164\nexport const convertToE164 = (input: string) => {\n let temp = (input || '').trim();\n // If we are already prefixed, assume the user did it deliberately and attempt to use what they entered. We also short-circuit blanks.\n if (!temp || temp.startsWith('+')) {\n return temp;\n }\n\n // Remove any spaces, parenthesis or other punctuation.\n temp = temp.replace(/[^0-9]/g, '');\n\n // If the number begins with a zero, remove the leading zero. Do not combine this with the previous step because it needs to be removed\n // whether it's the actual first character e.g. `0(5)` or just the first digit e.g. `(05`.\n temp = temp.replace(/^0/g, '');\n\n // Prepend the country code and +. We're assuming US in this case given the target demographic. Users in other countries would/should be\n // already entering a prefix so they'd shortcut out of this routine via the + prefix check.\n return `+1${temp}`;\n};\n\nexport interface IFlagOptions {\n variant: 'fill' | 'next';\n label: string;\n showSkip?: boolean;\n onSkip?: () => void;\n onClick?: () => void;\n id?: string;\n}\n\nexport const renderDocumentFlag = (\n docPage: IDocumentPageInfo,\n y: number, // Bottom position from field\n height: number, // Field height\n options: IFlagOptions,\n) => {\n const controlsDiv = document.getElementById(docPage.containerId + '-controls');\n if (!controlsDiv) {\n return;\n }\n\n const el: any = document.createElement('verdocs-flag');\n el.variant = options.variant;\n el.label = options.label;\n el.showSkip = options.showSkip;\n if (options.id) {\n el.setAttribute('id', options.id);\n }\n el.classList.add('verdocs-flag-instance'); // Marker class for easy removal\n\n if (options.onSkip) {\n el.addEventListener('skip', options.onSkip);\n }\n if (options.onClick) {\n el.addEventListener('flagClick', options.onClick);\n }\n\n // Position the flag to stick out of the right edge of the page\n el.style.position = 'absolute';\n\n // The flag has a left-pointing arrow that is 14px wide (15% of 97px ~= 14.5px).\n // We want the \"body\" of the rectangle (starting after the arrow) to align with the\n // right edge of the page.\n el.style.left = 'calc(100% - 14px)';\n\n /*\n * Positioning Logic:\n * Field Y is distance from bottom.\n * Fields have `transform-origin: bottom left`.\n * Visual Bottom = y * scale.\n * Visual Top = (y * scale) + (height * scale).\n * Visual Center = (y * scale) + (height * scale) / 2.\n */\n // const flagHeight = 24; // Matches CSS\n const scaledY = rescale(docPage.yScale, y);\n const scaledHeight = rescale(docPage.yScale, height);\n\n // Align Flag Bottom with Field Top\n const bottom = scaledY + scaledHeight;\n\n el.style.bottom = `${bottom}px`;\n\n controlsDiv.appendChild(el);\n return el;\n};\n\n/**\n * Helper to generate a human-readable label for a field.\n */\nexport const getFieldLabel = (field: IEnvelopeField | ITemplateField) => {\n if (!field) return '';\n const typeMap: Record<string, string> = {\n signature: 'Signature',\n initial: 'Initials',\n date: 'Date',\n textbox: 'Text Field',\n checkbox: 'Checkbox',\n radio: 'Radio Button',\n dropdown: 'Dropdown',\n attachment: 'Attachment',\n payment: 'Payment',\n };\n\n const typeName = typeMap[field.type] || 'Field';\n if (field.required) {\n return `Required ${typeName}*`;\n }\n return `Optional ${typeName}`;\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, F as Fragment } from './p-CUAGH_8P.js';
|
|
2
2
|
import { i as interact } from './p-CGNX5HqF.js';
|
|
3
3
|
import { VerdocsEndpoint, getTemplate, integerSequence } from '@verdocs/js-sdk';
|
|
4
|
-
import { a as renderDocumentField } from './p-
|
|
4
|
+
import { a as renderDocumentField } from './p-CndV_5Je.js';
|
|
5
5
|
import { S as SDKError } from './p-C1sRVZWv.js';
|
|
6
6
|
import { S as Store } from './p-C7hFgM52.js';
|
|
7
7
|
import { d as defineCustomElement$o } from './p-C_yyK5xE.js';
|
|
@@ -24,7 +24,7 @@ import { d as defineCustomElement$8 } from './p-CNKACBaL.js';
|
|
|
24
24
|
import { d as defineCustomElement$7 } from './p-o9BQIoXw.js';
|
|
25
25
|
import { d as defineCustomElement$6 } from './p-DUYRis3A.js';
|
|
26
26
|
import { d as defineCustomElement$5 } from './p-C1AtapGD.js';
|
|
27
|
-
import { d as defineCustomElement$4 } from './p-
|
|
27
|
+
import { d as defineCustomElement$4 } from './p-CaoZmlp7.js';
|
|
28
28
|
import { d as defineCustomElement$3 } from './p-DmEzMnt3.js';
|
|
29
29
|
import { d as defineCustomElement$2 } from './p--qy4LrSt.js';
|
|
30
30
|
import { d as defineCustomElement$1 } from './p-DmEw4Bbl.js';
|
|
@@ -282,6 +282,6 @@ function defineCustomElement() {
|
|
|
282
282
|
}
|
|
283
283
|
|
|
284
284
|
export { VerdocsPreview as V, defineCustomElement as d };
|
|
285
|
-
//# sourceMappingURL=p-
|
|
285
|
+
//# sourceMappingURL=p-B1XBGdC7.js.map
|
|
286
286
|
|
|
287
|
-
//# sourceMappingURL=p-
|
|
287
|
+
//# sourceMappingURL=p-B1XBGdC7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-Cj8PYi4t.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/embeds/verdocs-preview/verdocs-preview.scss?tag=verdocs-preview","src/components/embeds/verdocs-preview/verdocs-preview.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-preview {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import interact from 'interactjs';\nimport {getTemplate, integerSequence, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Element, Event, EventEmitter, Host, Component, Prop, h, State, Fragment, Watch} from '@stencil/core';\nimport {renderDocumentField} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a template preview experience. This will display the template's attached\n * documents with signing fields overlaid on each page. Fields will be color-coded\n * by recipient, and will be read-only (cannot be filled, moved, or altered).\n *\n * ```ts\n * <verdocs-preview\n * templateId={TEMPLATE_ID}\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-preview',\n styleUrl: 'verdocs-preview.scss',\n shadow: false,\n})\nexport class VerdocsPreview {\n private templateListenerId = null;\n private renderedPages: Record<string, IDocumentPageInfo> = {};\n\n @Element() hostEl: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n this.template = template;\n this.loading = false;\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[PREVIEW] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[PREVIEW] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[PREVIEW] Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n componentDidRender() {\n // Defensive hack: fields rendered in other tabs (e.g. the builder's Fields tab) may share DOM\n // IDs with fields shown here, and interact.js — being vanilla JS — is unaware of Stencil's\n // re-renders. Unbind any drag/resize handlers on fields inside our own subtree after each\n // render so they stay non-interactive in preview mode. Scope to hostEl so we don't clobber\n // handlers on fields belonging to a sibling component during brief tab-switch overlaps.\n this.hostEl?.querySelectorAll('.verdocs-field').forEach(el => {\n interact(el as HTMLElement).unset();\n });\n }\n\n handlePageRendered(e: any) {\n const pageInfo = e.detail as IDocumentPageInfo;\n this.renderedPages[`${pageInfo.documentId}:${pageInfo.pageNumber}`] = pageInfo;\n\n const fields = (this.template?.fields || []).filter(field => {\n // Templates created on the new builder have document_id set, but old ones may not.\n // If document_id is missing, we assume it's for the first document or use legacy logic.\n // However, for this fix, we primarily care about multi-doc templates which should have IDs.\n if (field['document_id']) {\n return field['document_id'] === pageInfo.documentId && field.page === pageInfo.pageNumber;\n }\n return field.page === pageInfo.pageNumber;\n });\n\n // console.log('[PREVIEW] Page rendered', pageInfo, fields);\n fields.forEach(field => renderDocumentField('template', field, pageInfo, {disabled: true, editable: false, draggable: false}));\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n return (\n <Host>\n {(this.template?.documents || []).map(document => {\n const pageNumbers = integerSequence(1, document.pages);\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = document.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n return (\n <verdocs-template-document-page\n templateId={document.template_id}\n documentId={document.id}\n pageNumber={pageNumber}\n disabled={true}\n editable={false}\n done={false}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-B1XBGdC7.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/embeds/verdocs-preview/verdocs-preview.scss?tag=verdocs-preview","src/components/embeds/verdocs-preview/verdocs-preview.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-preview {\n font-family: $verdocs-primary-font;\n display: flex;\n padding: 15px;\n row-gap: 15px;\n min-height: 200px;\n position: relative;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n}\n","import interact from 'interactjs';\nimport {getTemplate, integerSequence, ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Element, Event, EventEmitter, Host, Component, Prop, h, State, Fragment, Watch} from '@stencil/core';\nimport {renderDocumentField} from '../../../utils/utils';\nimport {IDocumentPageInfo} from '../../../utils/Types';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Display a template preview experience. This will display the template's attached\n * documents with signing fields overlaid on each page. Fields will be color-coded\n * by recipient, and will be read-only (cannot be filled, moved, or altered).\n *\n * ```ts\n * <verdocs-preview\n * templateId={TEMPLATE_ID}\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-preview',\n styleUrl: 'verdocs-preview.scss',\n shadow: false,\n})\nexport class VerdocsPreview {\n private templateListenerId = null;\n private renderedPages: Record<string, IDocumentPageInfo> = {};\n\n @Element() hostEl: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the template to create the document from.\n */\n @Prop() templateId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n disconnectedCallback() {\n this.unlistenToTemplate();\n }\n\n async listenToTemplate() {\n this.unlistenToTemplate();\n Store.subscribe(\n 'templates',\n this.templateId,\n () => getTemplate(this.endpoint, this.templateId),\n false,\n (template: ITemplate) => {\n this.template = template;\n this.loading = false;\n },\n );\n }\n\n unlistenToTemplate() {\n if (this.templateListenerId) {\n Store.store.delListener(this.templateListenerId);\n this.templateListenerId = null;\n }\n }\n\n @Watch('templateId')\n onTemplateIdChanged(newTemplateId: string) {\n console.log('[PREVIEW] Template ID changed', newTemplateId);\n this.listenToTemplate();\n }\n\n async componentWillLoad() {\n try {\n this.endpoint.loadSession();\n if (!this.endpoint.session) {\n console.log('[PREVIEW] Unable to start builder session, must be authenticated');\n return;\n }\n\n if (!this.templateId) {\n console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);\n return;\n }\n\n this.listenToTemplate();\n } catch (e) {\n console.log('[PREVIEW] Error with preview session', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n\n componentDidRender() {\n // Defensive hack: fields rendered in other tabs (e.g. the builder's Fields tab) may share DOM\n // IDs with fields shown here, and interact.js — being vanilla JS — is unaware of Stencil's\n // re-renders. Unbind any drag/resize handlers on fields inside our own subtree after each\n // render so they stay non-interactive in preview mode. Scope to hostEl so we don't clobber\n // handlers on fields belonging to a sibling component during brief tab-switch overlaps.\n this.hostEl?.querySelectorAll('.verdocs-field').forEach(el => {\n interact(el as HTMLElement).unset();\n });\n }\n\n handlePageRendered(e: any) {\n const pageInfo = e.detail as IDocumentPageInfo;\n this.renderedPages[`${pageInfo.documentId}:${pageInfo.pageNumber}`] = pageInfo;\n\n const fields = (this.template?.fields || []).filter(field => {\n // Templates created on the new builder have document_id set, but old ones may not.\n // If document_id is missing, we assume it's for the first document or use legacy logic.\n // However, for this fix, we primarily care about multi-doc templates which should have IDs.\n if (field['document_id']) {\n return field['document_id'] === pageInfo.documentId && field.page === pageInfo.pageNumber;\n }\n return field.page === pageInfo.pageNumber;\n });\n\n // console.log('[PREVIEW] Page rendered', pageInfo, fields);\n fields.forEach(field => renderDocumentField('template', field, pageInfo, {disabled: true, editable: false, draggable: false}));\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n return (\n <Host>\n {(this.template?.documents || []).map(document => {\n const pageNumbers = integerSequence(1, document.pages);\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = document.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n return (\n <verdocs-template-document-page\n templateId={document.template_id}\n documentId={document.id}\n pageNumber={pageNumber}\n disabled={true}\n editable={false}\n done={false}\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -5,7 +5,7 @@ import { S as SDKError } from './p-C1sRVZWv.js';
|
|
|
5
5
|
import { S as Store } from './p-C7hFgM52.js';
|
|
6
6
|
import { d as defineCustomElement$8 } from './p-Ba_mXs1J.js';
|
|
7
7
|
import { d as defineCustomElement$7 } from './p-Dlm5bUxv.js';
|
|
8
|
-
import { d as defineCustomElement$6 } from './p-
|
|
8
|
+
import { d as defineCustomElement$6 } from './p-BCwx8bsK.js';
|
|
9
9
|
import { d as defineCustomElement$5 } from './p-BC5N3FIA.js';
|
|
10
10
|
import { d as defineCustomElement$4 } from './p-CNKACBaL.js';
|
|
11
11
|
import { d as defineCustomElement$3 } from './p-o9BQIoXw.js';
|
|
@@ -410,6 +410,6 @@ function defineCustomElement() {
|
|
|
410
410
|
}
|
|
411
411
|
|
|
412
412
|
export { VerdocsView as V, defineCustomElement as d };
|
|
413
|
-
//# sourceMappingURL=p-
|
|
413
|
+
//# sourceMappingURL=p-B6tZPSE-.js.map
|
|
414
414
|
|
|
415
|
-
//# sourceMappingURL=p-
|
|
415
|
+
//# sourceMappingURL=p-B6tZPSE-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-RdlD8c2P.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","src/components/embeds/verdocs-view/verdocs-view.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-view {\n display: flex;\n overflow: hidden;\n min-height: 600px;\n position: relative;\n flex-direction: column;\n box-sizing: border-box;\n font-family: $verdocs-primary-font;\n background-color: #f5f5f5;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n\n .document {\n flex: 1;\n width: 100%;\n height: 100%;\n display: flex;\n // padding: 15px; // Reduced padding for zoom container\n row-gap: 15px;\n min-height: 200px;\n max-width: 1200px;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n padding-right: 15px;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .signed-document-container {\n width: 64%;\n margin: 0 auto;\n transition: all 0.3s ease;\n padding: 15px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 15px;\n\n &.zoom-normal {\n width: 64%;\n }\n\n &.zoom-zoom1 {\n width: 80%;\n }\n\n &.zoom-zoom2 {\n width: 100%;\n }\n }\n\n @media (max-width: 768px) {\n .signed-document-container {\n width: 100%;\n\n &.zoom-normal,\n &.zoom-zoom1,\n &.zoom-zoom2 {\n width: 100%;\n }\n }\n\n // Hide toolbars on mobile\n .controls-toolbar {\n .center-controls {\n display: none;\n }\n\n .right-controls {\n .icon-button {\n &.minus,\n &.plus {\n display: none;\n }\n }\n }\n }\n }\n\n .loading-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n background-color: rgba(0, 0, 0, 0.7);\n justify-content: center;\n align-items: center;\n }\n\n verdocs-ok-dialog .background-overlay {\n align-items: flex-start;\n padding-top: 100px;\n }\n}\n\n// Styled separately because this toolbar can be reparented\n#verdocs-view-header {\n // Use .controls-toolbar styles here\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 54px;\n padding: 0 12px 0 24px;\n background-color: #ffffff;\n border-bottom: 1px solid #e0e0e0;\n box-shadow: none;\n font-family: 'Inter', sans-serif;\n color: #424242;\n z-index: 1000;\n width: 100%;\n box-sizing: border-box;\n\n .left-controls {\n flex: 1;\n display: flex;\n align-items: center;\n\n .title {\n font-weight: 500;\n font-size: 16px;\n color: #242424;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n .center-controls {\n flex: 1;\n display: none; // Hidden for now\n align-items: center;\n justify-content: center;\n gap: 10px;\n font-size: 14px;\n }\n\n .right-controls {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n\n .icon-button {\n width: 32px;\n height: 32px;\n display: flex;\n color: #424242;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s;\n\n &:hover {\n background-color: #f5f5f5;\n }\n\n &.disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n\n svg {\n display: block;\n width: 20px;\n height: 20px;\n }\n }\n }\n}\n\n@media print {\n #verdocs-view-header {\n display: none !important;\n }\n\n verdocs-view {\n min-height: auto;\n background-color: white;\n\n .document {\n overflow: visible;\n height: auto;\n display: block;\n padding: 0;\n }\n\n .signed-document-container {\n width: 100%;\n margin: 0;\n }\n }\n}\n","import {cancelEnvelope, getEnvelopeDocumentDownloadLink, getEnvelope, IEnvelope, integerSequence, userCanCancelEnvelope, VerdocsEndpoint, getEnvelopesZip} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, Fragment, State} from '@stencil/core';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Render the documents attached to an envelope in read-only (view) mode. All documents are\n * displayed in order.\n *\n * ```ts\n * <verdocs-view\n * envelopeId={ENVELOPE_ID}\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\nconst ToolbarMinusIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11 8C11.2761 8 11.5 8.22386 11.5 8.5C11.5 8.77614 11.2761 9 11 9H6C5.72386 9 5.5 8.77614 5.5 8.5C5.5 8.22386 5.72386 8 6 8H11ZM14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.83879 14 11.0659 13.5217 12.0196 12.7266L16.1464 16.8536L16.2157 16.9114C16.4106 17.0464 16.68 17.0271 16.8536 16.8536C17.0488 16.6583 17.0488 16.3417 16.8536 16.1464L12.7266 12.0196C13.5217 11.0659 14 9.83879 14 8.5ZM4 8.5C4 6.01472 6.01472 4 8.5 4C10.9853 4 13 6.01472 13 8.5C13 10.9853 10.9853 13 8.5 13C6.01472 13 4 10.9853 4 8.5Z\" fill=\"#424242\" /></svg>`;\nconst ToolbarPlusIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.5 8.5C11.5 8.22386 11.2761 8 11 8H9V6C9 5.72386 8.77614 5.5 8.5 5.5C8.22386 5.5 8 5.72386 8 6V8H6C5.72386 8 5.5 8.22386 5.5 8.5C5.5 8.77614 5.72386 9 6 9H8V11C8 11.2761 8.22386 11.5 8.5 11.5C8.77614 11.5 9 11.2761 9 11V9H11C11.2761 9 11.5 8.77614 11.5 8.5ZM8.5 3C11.5376 3 14 5.46243 14 8.5C14 9.83879 13.5217 11.0659 12.7266 12.0196L16.8536 16.1464C17.0488 16.3417 17.0488 16.6583 16.8536 16.8536C16.68 17.0271 16.4106 17.0464 16.2157 16.9114L16.1464 16.8536L12.0196 12.7266C11.0659 13.5217 9.83879 14 8.5 14C5.46243 14 3 11.5376 3 8.5C3 5.46243 5.46243 3 8.5 3ZM8.5 4C6.01472 4 4 6.01472 4 8.5C4 10.9853 6.01472 13 8.5 13C10.9853 13 13 10.9853 13 8.5C13 6.01472 10.9853 4 8.5 4Z\" fill=\"#424242\" /></svg>`;\nconst ToolbarDownloadIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.5 16.9988C15.7761 16.9988 16 17.2226 16 17.4988C16 17.7442 15.8231 17.9484 15.5899 17.9907L15.5 17.9988H4.5C4.22386 17.9988 4 17.7749 4 17.4988C4 17.2533 4.17688 17.0492 4.41012 17.0068L4.5 16.9988H15.5ZM10.0001 2.00098C10.2456 2.00098 10.4497 2.17798 10.492 2.41124L10.5 2.50112L10.496 14.295L14.1414 10.6466C14.3148 10.4729 14.5842 10.4534 14.7792 10.5882L14.8485 10.646C15.0222 10.8194 15.0418 11.0888 14.907 11.2838L14.8492 11.3531L10.3574 15.8531C10.285 15.9257 10.1957 15.9714 10.1021 15.9901L9.99608 15.9999C9.83511 15.9999 9.69192 15.9237 9.60051 15.8056L5.14386 11.3537C4.94846 11.1586 4.94823 10.842 5.14336 10.6466C5.3168 10.4729 5.58621 10.4534 5.78117 10.5883L5.85046 10.6461L9.496 14.287L9.5 2.50083C9.50008 2.22469 9.724 2.00098 10.0001 2.00098Z\" fill=\"#424242\"/></svg>`;\nconst ToolbarPrintIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 4.5C5 3.67157 5.67157 3 6.5 3H13.5C14.3284 3 15 3.67157 15 4.5V5H15.5C16.8807 5 18 6.11929 18 7.5V12.5C18 13.3284 17.3284 14 16.5 14H15V15.5C15 16.3284 14.3284 17 13.5 17H6.5C5.67157 17 5 16.3284 5 15.5V14H3.5C2.67157 14 2 13.3284 2 12.5V7.5C2 6.11929 3.11929 5 4.5 5H5V4.5ZM6 5H14V4.5C14 4.22386 13.7761 4 13.5 4H6.5C6.22386 4 6 4.22386 6 4.5V5ZM5 13V11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V13H16.5C16.7761 13 17 12.7761 17 12.5V7.5C17 6.67157 16.3284 6 15.5 6H4.5C3.67157 6 3 6.67157 3 7.5V12.5C3 12.7761 3.22386 13 3.5 13H5ZM6.5 11C6.22386 11 6 11.2239 6 11.5V15.5C6 15.7761 6.22386 16 6.5 16H13.5C13.7761 16 14 15.7761 14 15.5V11.5C14 11.2239 13.7761 11 13.5 11H6.5Z\" fill=\"#424242\"/></svg>`;\n\n@Component({\n tag: 'verdocs-view',\n styleUrl: 'verdocs-view.scss',\n shadow: false,\n})\nexport class VerdocsView {\n private envelopeListenerId = null;\n\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint | null = null;\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * If set, (recommended), the host application should create a <DIV> element with a unique ID. When this\n * component renders, the header will be removed from its default location and placed in the target element.\n * This allows the parent application to more easily control its placement and scroll effects (e.g. \"fixed\").\n *\n * The movement of the header to the target container is not dynamic - it is performed only on the initial\n * render. Host applications should not conditionally render this container. If the header's visibility must\n * be externally controlled, use CSS display options to hide/show it instead.\n */\n @Prop() headerTargetId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n /**\n * Event fired when the user clicks Send Another to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) another: EventEmitter;\n\n /**\n * Event fired when the user clicks Send Another to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) view: EventEmitter;\n\n /**\n * Event fired when the user clicks Done to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) next: EventEmitter;\n @State() canceling = false;\n @State() showCancelDone = false;\n @State() showLoadError = false;\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n @State() zoomLevel: 'normal' | 'zoom1' | 'zoom2' = 'normal';\n @State() showDownloadDialog = false;\n @State() polling = false;\n\n private pollingInterval: any = null;\n\n async componentWillLoad() {\n this.updateZoomFromWindow();\n window.addEventListener('resize', () => this.updateZoomFromWindow());\n if (!this.endpoint) {\n this.endpoint = VerdocsEndpoint.getDefault();\n this.endpoint.loadSession();\n }\n\n if (!this.envelopeId) {\n console.error(`[VIEW] Missing required envelopeId`);\n return;\n }\n\n await this.listenToEnvelope();\n\n if (!this.envelope) {\n try {\n console.log('[VIEW] Loading envelope...');\n this.envelope = await getEnvelope(this.endpoint, this.envelopeId);\n console.log('[VIEW] Loaded envelope', this.envelope);\n } catch (e) {\n this.showLoadError = true;\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n }\n\n componentDidRender() {\n const headerTarget = this.headerTargetId ? document.getElementById(this.headerTargetId) : null;\n const headerEl = document.getElementById('verdocs-view-header');\n if (headerTarget && headerEl) {\n console.log('[VIEW] Moving header');\n headerEl.remove();\n headerTarget.append(headerEl);\n }\n }\n\n disconnectedCallback() {\n this.stopPolling();\n this.unlistenToEnvelope();\n window.removeEventListener('resize', () => this.updateZoomFromWindow());\n }\n\n updateZoomFromWindow() {\n const width = window.innerWidth;\n if (width < 768) {\n if (this.zoomLevel !== 'zoom2') this.zoomLevel = 'zoom2';\n } else if (width < 1024) {\n if (this.zoomLevel !== 'zoom1') this.zoomLevel = 'zoom1';\n } else {\n if (this.zoomLevel !== 'normal') this.zoomLevel = 'normal';\n }\n }\n\n async listenToEnvelope() {\n console.log('[VIEW] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n true,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n this.loading = false;\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n handlePageRendered(_e: any) {\n // const pageInfo = e.detail as IDocumentPageInfo;\n // console.log('[VIEW] Page rendered', pageInfo);\n }\n\n async handleOptionSelected(e: any) {\n switch (e.detail.id) {\n case 'cancel':\n // TODO: Better option for inline-flow confirmation and alert dialogs.\n if (confirm('Are you sure you wish to cancel this envelope? This action cannot be undone.')) {\n this.canceling = true;\n cancelEnvelope(this.endpoint, this.envelopeId)\n .then(r => {\n this.canceling = false;\n console.log('[VIEW] Envelope canceled', r);\n return getEnvelope(this.endpoint, this.envelopeId);\n })\n .then(env => {\n console.log('[VIEW] Loaded new envelope details', env);\n this.envelope = env;\n })\n .catch(e => {\n this.canceling = false;\n console.log('[VIEW] Error canceling envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n this.showCancelDone = true;\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'canceled'});\n }\n break;\n\n case 'print':\n window.print();\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'printed'});\n break;\n\n case 'download':\n this.showDownloadDialog = true;\n this.startPolling();\n break;\n\n case 'download-attachments':\n // TODO: Multiple document support\n try {\n const firstDoc = this.envelope.documents.find(doc => doc.type === 'attachment');\n if (firstDoc) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, firstDoc.id);\n window.open(url, '_blank');\n }\n } catch (e) {\n console.log('Unable to download document', e);\n VerdocsToast(e.response?.data?.error || 'Unable to download document. Please try again later.', {style: 'error'});\n }\n break;\n\n case 'download-certificate':\n // TODO: Multiple certificate support\n {\n const firstCert = this.envelope.documents.find(doc => doc.type === 'certificate');\n if (firstCert) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, firstCert.id);\n window.open(url, '_blank');\n }\n }\n break;\n\n case 'download-all':\n getEnvelopesZip(this.endpoint, [this.envelope.id])\n .then(() => {\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded'});\n })\n .catch(e => {\n console.log('Error downloading Zip', e);\n });\n break;\n }\n }\n\n startPolling() {\n this.stopPolling();\n\n const checkPollingConditions = () => {\n // NOTE: Polling logic for finalizing envelope\n const isSigned = this.envelope?.status === 'complete' || !!this.envelope?.signed;\n const hasCertificate = this.envelope?.documents?.some(d => d.type === 'certificate');\n const allRecipientsSubmitted = this.envelope?.recipients?.every(r => r.status === 'submitted');\n\n if (isSigned && hasCertificate) return false;\n if (!allRecipientsSubmitted) return false;\n\n return true;\n };\n\n if (!checkPollingConditions()) {\n return;\n }\n\n this.polling = true;\n this.pollingInterval = setInterval(async () => {\n try {\n const envelope = await getEnvelope(this.endpoint, this.envelopeId);\n this.envelope = envelope;\n Store.updateEnvelope(this.envelopeId, envelope);\n\n if (!checkPollingConditions()) {\n this.stopPolling();\n }\n } catch (e) {\n console.error('[VIEW] Polling error', e);\n this.stopPolling();\n }\n }, 5000);\n }\n\n stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n this.pollingInterval = null;\n }\n this.polling = false;\n }\n\n handleZoomIn() {\n if (this.zoomLevel === 'normal') {\n this.zoomLevel = 'zoom1';\n } else if (this.zoomLevel === 'zoom1') {\n this.zoomLevel = 'zoom2';\n }\n }\n\n handleZoomOut() {\n if (this.zoomLevel === 'zoom1') {\n this.zoomLevel = 'normal';\n } else if (this.zoomLevel === 'zoom2') {\n this.zoomLevel = 'zoom1';\n }\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (this.showLoadError) {\n return (\n <Host>\n <verdocs-ok-dialog\n heading=\"Unable to View Envelope\"\n message={`Sorry, that envelope is not valid.`}\n buttonLabel=\"OK\"\n onNext={() => {\n this.showLoadError = false;\n }}\n />\n </Host>\n );\n }\n\n if (!this.envelope) {\n return (\n <Host>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </Host>\n );\n }\n\n // TODO: Review whether we want a different trigger for this.\n const showFooter = userCanCancelEnvelope(this.endpoint.profile, this.envelope);\n\n return (\n <Host>\n <div class=\"controls-toolbar\" id=\"verdocs-view-header\">\n <div class=\"left-controls\">\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n <div class=\"center-controls\">{/* Pagination controls hidden for now */}</div>\n <div class=\"right-controls\">\n <div class={{'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal'}} innerHTML={ToolbarMinusIcon} onClick={() => this.handleZoomOut()} />\n <div class={{'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2'}} innerHTML={ToolbarPlusIcon} onClick={() => this.handleZoomIn()} />\n <div class=\"icon-button download\" innerHTML={ToolbarDownloadIcon} onClick={() => this.handleOptionSelected({detail: {id: 'download'}})} />\n <div class=\"icon-button print\" innerHTML={ToolbarPrintIcon} onClick={() => this.handleOptionSelected({detail: {id: 'print'}})} />\n </div>\n </div>\n\n <div class={`document signed-document-container zoom-${this.zoomLevel}`} style={{paddingTop: this.headerTargetId ? '70px' : '15px'}}>\n {(this.envelope?.documents || [])\n .filter(document => document.type !== 'certificate')\n .map(envelopeDocument => {\n const pageNumbers = integerSequence(1, envelopeDocument.pages);\n\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = envelopeDocument.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n return (\n <verdocs-envelope-document-page\n envelopeId={this.envelopeId}\n documentId={envelopeDocument.id}\n endpoint={this.endpoint}\n type=\"filled\"\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n pageNumber={pageNumber}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </div>\n\n {this.showCancelDone && (\n <verdocs-ok-dialog\n heading=\"Cancelled\"\n message={`This envelope has been cancelled successfully.`}\n onNext={() => {\n this.showCancelDone = false;\n }}\n />\n )}\n\n {this.canceling && (\n <div class=\"loading-indicator\">\n <verdocs-loader />\n </div>\n )}\n\n {this.showDownloadDialog && (\n <verdocs-download-dialog\n signed={this.envelope.status === 'complete' || this.envelope.signed}\n polling={this.polling}\n documents={this.envelope.documents}\n onExit={() => {\n this.showDownloadDialog = false;\n this.stopPolling();\n }}\n onDownload={async e => {\n const {action, documentId} = e.detail as any;\n console.log('[VIEW] Download action selected:', action, documentId);\n\n try {\n if (action === 'document') {\n const targetDocId = documentId || this.envelope.documents.find(d => d.type === 'attachment')?.id;\n if (targetDocId) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, targetDocId);\n window.open(url, '_blank');\n }\n } else if (action === 'certificate') {\n const cert = this.envelope.documents.find(d => d.type === 'certificate');\n if (cert) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, cert.id);\n window.open(url, '_blank');\n } else {\n VerdocsToast('Certificate not yet available.', {style: 'info'});\n }\n } else if (action === 'zip') {\n const blob = await getEnvelopesZip(this.endpoint, [this.envelopeId]);\n const url = window.URL.createObjectURL(blob.data);\n const a = document.createElement('a');\n a.href = url;\n a.download = `${this.envelope.name}.zip`;\n document.body.appendChild(a);\n a.click();\n a.remove();\n window.URL.revokeObjectURL(url);\n }\n } catch (err) {\n console.error('Download error', err);\n VerdocsToast('Unable to complete download request.', {style: 'error'});\n }\n }}\n />\n )}\n\n {!showFooter && (\n <verdocs-sign-footer endpoint={this.endpoint} envelopeId={this.envelopeId} isDone={true} onAskQuestion={() => {}} onDecline={() => {}} onFinishLater={() => {}} />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-B6tZPSE-.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/embeds/verdocs-view/verdocs-view.scss?tag=verdocs-view","src/components/embeds/verdocs-view/verdocs-view.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-view {\n display: flex;\n overflow: hidden;\n min-height: 600px;\n position: relative;\n flex-direction: column;\n box-sizing: border-box;\n font-family: $verdocs-primary-font;\n background-color: #f5f5f5;\n\n div,\n canvas {\n box-sizing: border-box;\n }\n\n .document {\n flex: 1;\n width: 100%;\n height: 100%;\n display: flex;\n // padding: 15px; // Reduced padding for zoom container\n row-gap: 15px;\n min-height: 200px;\n max-width: 1200px;\n position: relative;\n overflow-y: scroll;\n align-items: center;\n box-sizing: border-box;\n flex-direction: column;\n padding-right: 15px;\n\n .inner {\n width: 100%;\n max-width: 1028px;\n }\n }\n\n .signed-document-container {\n width: 64%;\n margin: 0 auto;\n transition: all 0.3s ease;\n padding: 15px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 15px;\n\n &.zoom-normal {\n width: 64%;\n }\n\n &.zoom-zoom1 {\n width: 80%;\n }\n\n &.zoom-zoom2 {\n width: 100%;\n }\n }\n\n @media (max-width: 768px) {\n .signed-document-container {\n width: 100%;\n\n &.zoom-normal,\n &.zoom-zoom1,\n &.zoom-zoom2 {\n width: 100%;\n }\n }\n\n // Hide toolbars on mobile\n .controls-toolbar {\n .center-controls {\n display: none;\n }\n\n .right-controls {\n .icon-button {\n &.minus,\n &.plus {\n display: none;\n }\n }\n }\n }\n }\n\n .loading-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n z-index: 10000;\n position: fixed;\n background-color: rgba(0, 0, 0, 0.7);\n justify-content: center;\n align-items: center;\n }\n\n verdocs-ok-dialog .background-overlay {\n align-items: flex-start;\n padding-top: 100px;\n }\n}\n\n// Styled separately because this toolbar can be reparented\n#verdocs-view-header {\n // Use .controls-toolbar styles here\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 54px;\n padding: 0 12px 0 24px;\n background-color: #ffffff;\n border-bottom: 1px solid #e0e0e0;\n box-shadow: none;\n font-family: 'Inter', sans-serif;\n color: #424242;\n z-index: 1000;\n width: 100%;\n box-sizing: border-box;\n\n .left-controls {\n flex: 1;\n display: flex;\n align-items: center;\n\n .title {\n font-weight: 500;\n font-size: 16px;\n color: #242424;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n .center-controls {\n flex: 1;\n display: none; // Hidden for now\n align-items: center;\n justify-content: center;\n gap: 10px;\n font-size: 14px;\n }\n\n .right-controls {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n\n .icon-button {\n width: 32px;\n height: 32px;\n display: flex;\n color: #424242;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s;\n\n &:hover {\n background-color: #f5f5f5;\n }\n\n &.disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n\n svg {\n display: block;\n width: 20px;\n height: 20px;\n }\n }\n }\n}\n\n@media print {\n #verdocs-view-header {\n display: none !important;\n }\n\n verdocs-view {\n min-height: auto;\n background-color: white;\n\n .document {\n overflow: visible;\n height: auto;\n display: block;\n padding: 0;\n }\n\n .signed-document-container {\n width: 100%;\n margin: 0;\n }\n }\n}\n","import {cancelEnvelope, getEnvelopeDocumentDownloadLink, getEnvelope, IEnvelope, integerSequence, userCanCancelEnvelope, VerdocsEndpoint, getEnvelopesZip} from '@verdocs/js-sdk';\nimport {Component, h, Element, Event, Host, Prop, EventEmitter, Fragment, State} from '@stencil/core';\nimport {VerdocsToast} from '../../../utils/Toast';\nimport {SDKError} from '../../../utils/errors';\nimport {Store} from '../../../utils/Datastore';\n\n/**\n * Render the documents attached to an envelope in read-only (view) mode. All documents are\n * displayed in order.\n *\n * ```ts\n * <verdocs-view\n * envelopeId={ENVELOPE_ID}\n * onSdkError={({ detail }) => { console.log('SDK error', detail) }\n * />\n * ```\n */\nconst ToolbarMinusIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11 8C11.2761 8 11.5 8.22386 11.5 8.5C11.5 8.77614 11.2761 9 11 9H6C5.72386 9 5.5 8.77614 5.5 8.5C5.5 8.22386 5.72386 8 6 8H11ZM14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.83879 14 11.0659 13.5217 12.0196 12.7266L16.1464 16.8536L16.2157 16.9114C16.4106 17.0464 16.68 17.0271 16.8536 16.8536C17.0488 16.6583 17.0488 16.3417 16.8536 16.1464L12.7266 12.0196C13.5217 11.0659 14 9.83879 14 8.5ZM4 8.5C4 6.01472 6.01472 4 8.5 4C10.9853 4 13 6.01472 13 8.5C13 10.9853 10.9853 13 8.5 13C6.01472 13 4 10.9853 4 8.5Z\" fill=\"#424242\" /></svg>`;\nconst ToolbarPlusIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.5 8.5C11.5 8.22386 11.2761 8 11 8H9V6C9 5.72386 8.77614 5.5 8.5 5.5C8.22386 5.5 8 5.72386 8 6V8H6C5.72386 8 5.5 8.22386 5.5 8.5C5.5 8.77614 5.72386 9 6 9H8V11C8 11.2761 8.22386 11.5 8.5 11.5C8.77614 11.5 9 11.2761 9 11V9H11C11.2761 9 11.5 8.77614 11.5 8.5ZM8.5 3C11.5376 3 14 5.46243 14 8.5C14 9.83879 13.5217 11.0659 12.7266 12.0196L16.8536 16.1464C17.0488 16.3417 17.0488 16.6583 16.8536 16.8536C16.68 17.0271 16.4106 17.0464 16.2157 16.9114L16.1464 16.8536L12.0196 12.7266C11.0659 13.5217 9.83879 14 8.5 14C5.46243 14 3 11.5376 3 8.5C3 5.46243 5.46243 3 8.5 3ZM8.5 4C6.01472 4 4 6.01472 4 8.5C4 10.9853 6.01472 13 8.5 13C10.9853 13 13 10.9853 13 8.5C13 6.01472 10.9853 4 8.5 4Z\" fill=\"#424242\" /></svg>`;\nconst ToolbarDownloadIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.5 16.9988C15.7761 16.9988 16 17.2226 16 17.4988C16 17.7442 15.8231 17.9484 15.5899 17.9907L15.5 17.9988H4.5C4.22386 17.9988 4 17.7749 4 17.4988C4 17.2533 4.17688 17.0492 4.41012 17.0068L4.5 16.9988H15.5ZM10.0001 2.00098C10.2456 2.00098 10.4497 2.17798 10.492 2.41124L10.5 2.50112L10.496 14.295L14.1414 10.6466C14.3148 10.4729 14.5842 10.4534 14.7792 10.5882L14.8485 10.646C15.0222 10.8194 15.0418 11.0888 14.907 11.2838L14.8492 11.3531L10.3574 15.8531C10.285 15.9257 10.1957 15.9714 10.1021 15.9901L9.99608 15.9999C9.83511 15.9999 9.69192 15.9237 9.60051 15.8056L5.14386 11.3537C4.94846 11.1586 4.94823 10.842 5.14336 10.6466C5.3168 10.4729 5.58621 10.4534 5.78117 10.5883L5.85046 10.6461L9.496 14.287L9.5 2.50083C9.50008 2.22469 9.724 2.00098 10.0001 2.00098Z\" fill=\"#424242\"/></svg>`;\nconst ToolbarPrintIcon = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 4.5C5 3.67157 5.67157 3 6.5 3H13.5C14.3284 3 15 3.67157 15 4.5V5H15.5C16.8807 5 18 6.11929 18 7.5V12.5C18 13.3284 17.3284 14 16.5 14H15V15.5C15 16.3284 14.3284 17 13.5 17H6.5C5.67157 17 5 16.3284 5 15.5V14H3.5C2.67157 14 2 13.3284 2 12.5V7.5C2 6.11929 3.11929 5 4.5 5H5V4.5ZM6 5H14V4.5C14 4.22386 13.7761 4 13.5 4H6.5C6.22386 4 6 4.22386 6 4.5V5ZM5 13V11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V13H16.5C16.7761 13 17 12.7761 17 12.5V7.5C17 6.67157 16.3284 6 15.5 6H4.5C3.67157 6 3 6.67157 3 7.5V12.5C3 12.7761 3.22386 13 3.5 13H5ZM6.5 11C6.22386 11 6 11.2239 6 11.5V15.5C6 15.7761 6.22386 16 6.5 16H13.5C13.7761 16 14 15.7761 14 15.5V11.5C14 11.2239 13.7761 11 13.5 11H6.5Z\" fill=\"#424242\"/></svg>`;\n\n@Component({\n tag: 'verdocs-view',\n styleUrl: 'verdocs-view.scss',\n shadow: false,\n})\nexport class VerdocsView {\n private envelopeListenerId = null;\n\n @Element() component: HTMLElement;\n\n /**\n * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.\n */\n @Prop() endpoint: VerdocsEndpoint | null = null;\n\n /**\n * The envelope ID to render. Set ONE OF templateId or envelopeId. If both are set, envelopeId will be ignored.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * If set, (recommended), the host application should create a <DIV> element with a unique ID. When this\n * component renders, the header will be removed from its default location and placed in the target element.\n * This allows the parent application to more easily control its placement and scroll effects (e.g. \"fixed\").\n *\n * The movement of the header to the target container is not dynamic - it is performed only on the initial\n * render. Host applications should not conditionally render this container. If the header's visibility must\n * be externally controlled, use CSS display options to hide/show it instead.\n */\n @Prop() headerTargetId: string | null = null;\n\n /**\n * Event fired if an error occurs. The event details will contain information about the error. Most errors will\n * terminate the process, and the calling application should correct the condition and re-render the component.\n */\n @Event({composed: true}) sdkError: EventEmitter<SDKError>;\n\n /**\n * Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems.\n */\n @Event({composed: true}) envelopeUpdated: EventEmitter<{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}>;\n\n /**\n * Event fired when the user clicks Send Another to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) another: EventEmitter;\n\n /**\n * Event fired when the user clicks Send Another to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) view: EventEmitter;\n\n /**\n * Event fired when the user clicks Done to proceed. It is up to the host application\n * to redirect the user to the appropriate next workflow step.\n */\n @Event({composed: true}) next: EventEmitter;\n @State() canceling = false;\n @State() showCancelDone = false;\n @State() showLoadError = false;\n\n @State() loading = true;\n @State() envelope: IEnvelope | null = null;\n @State() zoomLevel: 'normal' | 'zoom1' | 'zoom2' = 'normal';\n @State() showDownloadDialog = false;\n @State() polling = false;\n\n private pollingInterval: any = null;\n\n async componentWillLoad() {\n this.updateZoomFromWindow();\n window.addEventListener('resize', () => this.updateZoomFromWindow());\n if (!this.endpoint) {\n this.endpoint = VerdocsEndpoint.getDefault();\n this.endpoint.loadSession();\n }\n\n if (!this.envelopeId) {\n console.error(`[VIEW] Missing required envelopeId`);\n return;\n }\n\n await this.listenToEnvelope();\n\n if (!this.envelope) {\n try {\n console.log('[VIEW] Loading envelope...');\n this.envelope = await getEnvelope(this.endpoint, this.envelopeId);\n console.log('[VIEW] Loaded envelope', this.envelope);\n } catch (e) {\n this.showLoadError = true;\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n }\n }\n }\n\n componentDidRender() {\n const headerTarget = this.headerTargetId ? document.getElementById(this.headerTargetId) : null;\n const headerEl = document.getElementById('verdocs-view-header');\n if (headerTarget && headerEl) {\n console.log('[VIEW] Moving header');\n headerEl.remove();\n headerTarget.append(headerEl);\n }\n }\n\n disconnectedCallback() {\n this.stopPolling();\n this.unlistenToEnvelope();\n window.removeEventListener('resize', () => this.updateZoomFromWindow());\n }\n\n updateZoomFromWindow() {\n const width = window.innerWidth;\n if (width < 768) {\n if (this.zoomLevel !== 'zoom2') this.zoomLevel = 'zoom2';\n } else if (width < 1024) {\n if (this.zoomLevel !== 'zoom1') this.zoomLevel = 'zoom1';\n } else {\n if (this.zoomLevel !== 'normal') this.zoomLevel = 'normal';\n }\n }\n\n async listenToEnvelope() {\n console.log('[VIEW] Loading envelope', this.envelopeId);\n this.unlistenToEnvelope();\n Store.subscribe(\n 'envelopes',\n this.envelopeId,\n () => getEnvelope(this.endpoint, this.envelopeId),\n true,\n (envelope: IEnvelope) => {\n this.envelope = envelope;\n this.loading = false;\n },\n );\n }\n\n unlistenToEnvelope() {\n if (this.envelopeListenerId) {\n Store.store.delListener(this.envelopeListenerId);\n this.envelopeListenerId = null;\n }\n }\n\n handlePageRendered(_e: any) {\n // const pageInfo = e.detail as IDocumentPageInfo;\n // console.log('[VIEW] Page rendered', pageInfo);\n }\n\n async handleOptionSelected(e: any) {\n switch (e.detail.id) {\n case 'cancel':\n // TODO: Better option for inline-flow confirmation and alert dialogs.\n if (confirm('Are you sure you wish to cancel this envelope? This action cannot be undone.')) {\n this.canceling = true;\n cancelEnvelope(this.endpoint, this.envelopeId)\n .then(r => {\n this.canceling = false;\n console.log('[VIEW] Envelope canceled', r);\n return getEnvelope(this.endpoint, this.envelopeId);\n })\n .then(env => {\n console.log('[VIEW] Loaded new envelope details', env);\n this.envelope = env;\n })\n .catch(e => {\n this.canceling = false;\n console.log('[VIEW] Error canceling envelope', e);\n this.sdkError?.emit(new SDKError(e.message, e.response?.status, e.response?.data));\n });\n this.showCancelDone = true;\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'canceled'});\n }\n break;\n\n case 'print':\n window.print();\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'printed'});\n break;\n\n case 'download':\n this.showDownloadDialog = true;\n this.startPolling();\n break;\n\n case 'download-attachments':\n // TODO: Multiple document support\n try {\n const firstDoc = this.envelope.documents.find(doc => doc.type === 'attachment');\n if (firstDoc) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, firstDoc.id);\n window.open(url, '_blank');\n }\n } catch (e) {\n console.log('Unable to download document', e);\n VerdocsToast(e.response?.data?.error || 'Unable to download document. Please try again later.', {style: 'error'});\n }\n break;\n\n case 'download-certificate':\n // TODO: Multiple certificate support\n {\n const firstCert = this.envelope.documents.find(doc => doc.type === 'certificate');\n if (firstCert) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, firstCert.id);\n window.open(url, '_blank');\n }\n }\n break;\n\n case 'download-all':\n getEnvelopesZip(this.endpoint, [this.envelope.id])\n .then(() => {\n this.envelopeUpdated?.emit({endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded'});\n })\n .catch(e => {\n console.log('Error downloading Zip', e);\n });\n break;\n }\n }\n\n startPolling() {\n this.stopPolling();\n\n const checkPollingConditions = () => {\n // NOTE: Polling logic for finalizing envelope\n const isSigned = this.envelope?.status === 'complete' || !!this.envelope?.signed;\n const hasCertificate = this.envelope?.documents?.some(d => d.type === 'certificate');\n const allRecipientsSubmitted = this.envelope?.recipients?.every(r => r.status === 'submitted');\n\n if (isSigned && hasCertificate) return false;\n if (!allRecipientsSubmitted) return false;\n\n return true;\n };\n\n if (!checkPollingConditions()) {\n return;\n }\n\n this.polling = true;\n this.pollingInterval = setInterval(async () => {\n try {\n const envelope = await getEnvelope(this.endpoint, this.envelopeId);\n this.envelope = envelope;\n Store.updateEnvelope(this.envelopeId, envelope);\n\n if (!checkPollingConditions()) {\n this.stopPolling();\n }\n } catch (e) {\n console.error('[VIEW] Polling error', e);\n this.stopPolling();\n }\n }, 5000);\n }\n\n stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n this.pollingInterval = null;\n }\n this.polling = false;\n }\n\n handleZoomIn() {\n if (this.zoomLevel === 'normal') {\n this.zoomLevel = 'zoom1';\n } else if (this.zoomLevel === 'zoom1') {\n this.zoomLevel = 'zoom2';\n }\n }\n\n handleZoomOut() {\n if (this.zoomLevel === 'zoom1') {\n this.zoomLevel = 'normal';\n } else if (this.zoomLevel === 'zoom2') {\n this.zoomLevel = 'zoom1';\n }\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <verdocs-loader />\n </Host>\n );\n }\n\n if (this.showLoadError) {\n return (\n <Host>\n <verdocs-ok-dialog\n heading=\"Unable to View Envelope\"\n message={`Sorry, that envelope is not valid.`}\n buttonLabel=\"OK\"\n onNext={() => {\n this.showLoadError = false;\n }}\n />\n </Host>\n );\n }\n\n if (!this.envelope) {\n return (\n <Host>\n <img\n src=\"https://public-assets.verdocs.com/loading-placeholder.png\"\n style={{width: '612px', height: '792px', boxShadow: '0 0 10px 5px #0000000f', marginTop: '15px'}}\n alt=\"Placeholder page\"\n />\n </Host>\n );\n }\n\n // TODO: Review whether we want a different trigger for this.\n const showFooter = userCanCancelEnvelope(this.endpoint.profile, this.envelope);\n\n return (\n <Host>\n <div class=\"controls-toolbar\" id=\"verdocs-view-header\">\n <div class=\"left-controls\">\n <div class=\"title\">{this.envelope.name}</div>\n </div>\n <div class=\"center-controls\">{/* Pagination controls hidden for now */}</div>\n <div class=\"right-controls\">\n <div class={{'icon-button': true, 'minus': true, 'disabled': this.zoomLevel === 'normal'}} innerHTML={ToolbarMinusIcon} onClick={() => this.handleZoomOut()} />\n <div class={{'icon-button': true, 'plus': true, 'disabled': this.zoomLevel === 'zoom2'}} innerHTML={ToolbarPlusIcon} onClick={() => this.handleZoomIn()} />\n <div class=\"icon-button download\" innerHTML={ToolbarDownloadIcon} onClick={() => this.handleOptionSelected({detail: {id: 'download'}})} />\n <div class=\"icon-button print\" innerHTML={ToolbarPrintIcon} onClick={() => this.handleOptionSelected({detail: {id: 'print'}})} />\n </div>\n </div>\n\n <div class={`document signed-document-container zoom-${this.zoomLevel}`} style={{paddingTop: this.headerTargetId ? '70px' : '15px'}}>\n {(this.envelope?.documents || [])\n .filter(document => document.type !== 'certificate')\n .map(envelopeDocument => {\n const pageNumbers = integerSequence(1, envelopeDocument.pages);\n\n return (\n <Fragment>\n {pageNumbers.map(pageNumber => {\n const pageSize = envelopeDocument.page_sizes?.[pageNumber] || {width: 612, height: 792};\n\n return (\n <verdocs-envelope-document-page\n envelopeId={this.envelopeId}\n documentId={envelopeDocument.id}\n endpoint={this.endpoint}\n type=\"filled\"\n virtualWidth={pageSize.width}\n virtualHeight={pageSize.height}\n pageNumber={pageNumber}\n onPageRendered={e => this.handlePageRendered(e)}\n layers={[\n {name: 'page', type: 'canvas'},\n {name: 'controls', type: 'div'},\n ]}\n />\n );\n })}\n </Fragment>\n );\n })}\n </div>\n\n {this.showCancelDone && (\n <verdocs-ok-dialog\n heading=\"Cancelled\"\n message={`This envelope has been cancelled successfully.`}\n onNext={() => {\n this.showCancelDone = false;\n }}\n />\n )}\n\n {this.canceling && (\n <div class=\"loading-indicator\">\n <verdocs-loader />\n </div>\n )}\n\n {this.showDownloadDialog && (\n <verdocs-download-dialog\n signed={this.envelope.status === 'complete' || this.envelope.signed}\n polling={this.polling}\n documents={this.envelope.documents}\n onExit={() => {\n this.showDownloadDialog = false;\n this.stopPolling();\n }}\n onDownload={async e => {\n const {action, documentId} = e.detail as any;\n console.log('[VIEW] Download action selected:', action, documentId);\n\n try {\n if (action === 'document') {\n const targetDocId = documentId || this.envelope.documents.find(d => d.type === 'attachment')?.id;\n if (targetDocId) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, targetDocId);\n window.open(url, '_blank');\n }\n } else if (action === 'certificate') {\n const cert = this.envelope.documents.find(d => d.type === 'certificate');\n if (cert) {\n const url = await getEnvelopeDocumentDownloadLink(this.endpoint, cert.id);\n window.open(url, '_blank');\n } else {\n VerdocsToast('Certificate not yet available.', {style: 'info'});\n }\n } else if (action === 'zip') {\n const blob = await getEnvelopesZip(this.endpoint, [this.envelopeId]);\n const url = window.URL.createObjectURL(blob.data);\n const a = document.createElement('a');\n a.href = url;\n a.download = `${this.envelope.name}.zip`;\n document.body.appendChild(a);\n a.click();\n a.remove();\n window.URL.revokeObjectURL(url);\n }\n } catch (err) {\n console.error('Download error', err);\n VerdocsToast('Unable to complete download request.', {style: 'error'});\n }\n }}\n />\n )}\n\n {!showFooter && (\n <verdocs-sign-footer endpoint={this.endpoint} envelopeId={this.envelopeId} isDone={true} onAskQuestion={() => {}} onDecline={() => {}} onFinishLater={() => {}} />\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-CUAGH_8P.js';
|
|
2
2
|
import { VerdocsEndpoint, getEnvelopeDocumentPageDisplayUri } from '@verdocs/js-sdk';
|
|
3
|
-
import { t as throttle } from './p-
|
|
3
|
+
import { t as throttle } from './p-CndV_5Je.js';
|
|
4
4
|
import { d as defineCustomElement$1 } from './p-BC5N3FIA.js';
|
|
5
5
|
|
|
6
6
|
const verdocsEnvelopeDocumentPageCss = "verdocs-envelope-document-page{width:100%;position:relative}verdocs-envelope-document-page .verdocs-envelope-document-page-layer{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294);box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294)}verdocs-envelope-document-page .verdocs-envelope-document-page-layer.img{width:100%}";
|
|
@@ -164,6 +164,6 @@ function defineCustomElement() {
|
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
export { VerdocsEnvelopeDocumentPage as V, defineCustomElement as d };
|
|
167
|
-
//# sourceMappingURL=p-
|
|
167
|
+
//# sourceMappingURL=p-BCwx8bsK.js.map
|
|
168
168
|
|
|
169
|
-
//# sourceMappingURL=p-
|
|
169
|
+
//# sourceMappingURL=p-BCwx8bsK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-zAW1BOj6.js","mappings":";;;;;AAAA,MAAM,8BAA8B,GAAG,uXAAuX;;MCiBjZ,2BAA2B,iBAAAA,kBAAA,CAAA,MAAA,2BAAA,SAAAC,CAAA,CAAA;AALxC,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AASE;;AAEG;AACK,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,UAAU,EAAE;AAEhE;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE;AAE/B;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE;AAE/B;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC;AAE9B;;;AAGG;AACK,QAAA,IAAY,CAAA,YAAA,GAAW,GAAG;AAElC;;;AAGG;AACoB,QAAA,IAAa,CAAA,aAAA,GAAW,GAAG;AAElD;;;;;;;;;;;AAWG;AACK,QAAA,IAAA,CAAA,MAAM,GAAiB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;AAEvD,QAAA,IAAI,CAAA,IAAA,GAA0C,UAAU;QAOvD,IAAA,CAAA,WAAW,GAAG,CAAA,+BAAA,EAAkC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAE;AAE7F,QAAA,IAAA,CAAA,aAAa,GAAW,IAAI,CAAC,YAAY;AACzC,QAAA,IAAA,CAAA,cAAc,GAAW,IAAI,CAAC,aAAa;AAC3C,QAAA,IAAA,CAAA,YAAY,GAAW,IAAI,CAAC,YAAY;AACxC,QAAA,IAAA,CAAA,aAAa,GAAW,IAAI,CAAC,aAAa;QAC1C,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa;AAE5D,QAAA,IAAqB,CAAA,qBAAA,GAAG,IAAI;AAE5B,QAAA,IAAc,CAAA,cAAA,GAAG,6EAA6E;AA+FxG;AA7FC,IAAA,MAAM,iBAAiB,GAAA;QACrB,IAAI,CAAC,cAAc,GAAG,MAAM,iCAAiC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;;IAG3H,gBAAgB,GAAA;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACtC,QAAQ,CAAC,OAAO,IAAG;AACjB,YAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,gBAAA,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK;AAC7C,gBAAA,IAAI,CAAC,aAAa,GAAG,aAAa;AAClC,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;;YAGhF,IAAI,CAAC,kBAAkB,EAAE;AAC3B,SAAC,EAAE,GAAG,CAAC,CACR;QAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;;IAG7C,oBAAoB,GAAA;;QAClB,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,EAAE;;;;;;;IASnC,kBAAkB,GAAA;;;AAGhB,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;YAClC;;AAGF,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;YAErB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;AAC7B,YAAA,MAAM,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY;AAC9C,YAAA,MAAM,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa;AACjD,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,MAAM,MAAM,GAAG,CAAA,EAAG,IAAI,CAAC,cAAc,IAAI;AAEzC,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAA,CAAE,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,CAAA,IAAA,EAAO,MAAM,CAAA,CAAE,EAAC,EAAA,EACpE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IACpB,KAAK,CAAC,IAAI,KAAK,KAAK,IAClB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,sCAAsC,EAAC,EAAE,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAA,CAAE,EAAE,KAAK,EAAE,EAAC,MAAM,EAAC,EAAA,CAAI,IAC5G,IAAI,CAAC,cAAc,IACrB,CAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAC,0CAA0C,EAChD,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,CAAA,CAAE,EACvC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAE,QAAQ,IAAI,CAAC,UAAU,CAAA,CAAE,EACjB,aAAA,EAAA,IAAI,EACjB,OAAO,EAAC,MAAM,EACd,MAAM,EAAE,CAAC,CAAM,KAAI;;;;;;;;gBAQjB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY;gBACzC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa;gBAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa;gBACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW;AACzD,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AAC/D,aAAC,EAAA,CACD,KAEF,CAAA,CAAA,KAAA,EAAA,IAAA,CAAW,CACZ,CACF,CACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.scss?tag=verdocs-envelope-document-page","src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-envelope-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getEnvelopeDocumentPageDisplayUri, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {throttle} from '../../../utils/utils';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-envelope-document-page',\n styleUrl: 'verdocs-envelope-document-page.scss',\n shadow: false,\n})\nexport class VerdocsEnvelopeDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the envelope the document is for.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop() documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9\">\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n @Prop() type: 'original' | 'filled' | 'certificate' = 'original';\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-envelope-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n @State() pageDisplayUri = 'https://verdocs-public-assets.s3.amazonaws.com/page-loading-placeholder.png';\n\n async componentWillLoad() {\n this.pageDisplayUri = await getEnvelopeDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber, this.type);\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n // container: this.container,\n containerId: this.containerId,\n documentId: this.documentId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale: this.renderedWidth / this.virtualWidth,\n yScale: this.renderedHeight / this.virtualHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height, flex: `0 0 ${height}`}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-envelope-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-envelope-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageDisplayUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n loading=\"lazy\"\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n this.renderedHeight = e.target.offsetWidth / this.aspectRatio;\n }}\n />\n ) : (\n <div></div>\n ),\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-BCwx8bsK.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.scss?tag=verdocs-envelope-document-page","src/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-envelope-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-envelope-document-page-layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n box-shadow: 0 0 10px 5px #0000000f;\n\n &.img {\n width: 100%;\n }\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getEnvelopeDocumentPageDisplayUri, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {throttle} from '../../../utils/utils';\n\n/**\n * Represents one document page. This is primarily a layout container used to coordinate positions of\n * page-related layers such as the page itself, signature fields, etc. It is not intended to be used\n * on its own as an individual component.\n */\n@Component({\n tag: 'verdocs-envelope-document-page',\n styleUrl: 'verdocs-envelope-document-page.scss',\n shadow: false,\n})\nexport class VerdocsEnvelopeDocumentPage {\n @Element() container: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * The ID of the envelope the document is for.\n */\n @Prop() envelopeId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop() documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop() pageNumber: number = 1;\n\n /**\n * The \"virtual\" width of the page canvas. Defaults to 612 which at 72dpi is 8.5\" wide. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop() virtualWidth: number = 612;\n\n /**\n * The \"virtual\" height of the page canvas. Defaults to 792 which at 72dpi is 11\" tall. This is used to compute\n * the aspect ratio of the final rendered element when scaling up/down.\n */\n @Prop({mutable: true}) virtualHeight: number = 792;\n\n /**\n * The layers that will be rendered. The DOM structure will be a DIV container with one child DIV for each layer.\n * The parent DIV will have a unique ID, and each child DIV will have that ID with the layer name appended, e.g.\n * if `pages` was ['page', 'fields'] the structure will be:\n *\n * ```\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9\">\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-envelope-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\n\n @Prop() type: 'original' | 'filled' | 'certificate' = 'original';\n\n /**\n * Fired when a page has been rendered. This is also fired when the page is resized.\n */\n @Event() pageRendered: EventEmitter<IDocumentPageInfo>;\n\n @State() containerId = `verdocs-envelope-document-page-${Math.random().toString(36).substring(2, 11)}`;\n\n @State() renderedWidth: number = this.virtualWidth;\n @State() renderedHeight: number = this.virtualHeight;\n @State() naturalWidth: number = this.virtualWidth;\n @State() naturalHeight: number = this.virtualHeight;\n @State() aspectRatio: number = this.virtualWidth / this.virtualHeight;\n\n @State() skipFirstNotification = true;\n\n @State() pageDisplayUri = 'https://verdocs-public-assets.s3.amazonaws.com/page-loading-placeholder.png';\n\n async componentWillLoad() {\n this.pageDisplayUri = await getEnvelopeDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber, this.type);\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(\n throttle(entries => {\n for (const entry of entries) {\n const renderedWidth = entry.contentRect.width;\n this.renderedWidth = renderedWidth;\n this.renderedHeight = this.virtualHeight * (renderedWidth / this.virtualWidth);\n }\n\n this.notifyRenderedSize();\n }, 100),\n );\n\n this.resizeObserver.observe(this.container);\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // Left here for documentation purposes in case we find an edge case where this isn't true. But we apparently don't need this.\n // When we add the resize observer it will always be triggered at least once so notifying here as well is just a dupe.\n // componentDidRender() {\n // this.notifyRenderedSize();\n // }\n\n notifyRenderedSize() {\n // We skip one notification because by default we will always get at least two, one when rendering the initial size\n // and a second once we're able to compute the scale size, when the resizeObserver sets renderedWidth/renderedHeight.\n if (this.skipFirstNotification) {\n this.skipFirstNotification = false;\n return;\n }\n\n this.pageRendered.emit({\n // container: this.container,\n containerId: this.containerId,\n documentId: this.documentId,\n pageNumber: this.pageNumber,\n virtualWidth: this.virtualWidth,\n virtualHeight: this.virtualHeight,\n renderedWidth: this.renderedWidth,\n renderedHeight: this.renderedHeight,\n naturalWidth: this.naturalWidth,\n naturalHeight: this.naturalHeight,\n aspectRatio: this.aspectRatio,\n xScale: this.renderedWidth / this.virtualWidth,\n yScale: this.renderedHeight / this.virtualHeight,\n });\n }\n\n render() {\n const height = `${this.renderedHeight}px`;\n\n return (\n <Host id={`${this.containerId}`} style={{height, flex: `0 0 ${height}`}}>\n {this.layers.map(layer =>\n layer.type === 'div' ? (\n <div class=\"verdocs-envelope-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}} />\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-envelope-document-page-layer img\"\n id={`${this.containerId}-${layer.name}`}\n src={this.pageDisplayUri}\n alt={`Page ${this.pageNumber}`}\n aria-hidden={true}\n loading=\"lazy\"\n onLoad={(e: any) => {\n // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that\n // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).\n // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values\n // for a field are based on the responsive Web view the Template editor was seeing. The IMG was scaled down there in the\n // exact same way, so we just honor it. We capture the natural width and height here more as information. Then we use the\n // aspect ratio to adjust the \"virtual\" height in case the page is not 8.5\"x11\".\n // TODO: Store this in the DB with each page.\n this.naturalWidth = e.target.naturalWidth;\n this.naturalHeight = e.target.naturalHeight;\n this.aspectRatio = this.naturalWidth / this.naturalHeight;\n this.virtualHeight = this.virtualWidth / this.aspectRatio;\n this.renderedHeight = e.target.offsetWidth / this.aspectRatio;\n }}\n />\n ) : (\n <div></div>\n ),\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, F as Fragment } from './p-CUAGH_8P.js';
|
|
2
2
|
import { VerdocsEndpoint, getTemplateDocumentPageDisplayUri, getTemplate } from '@verdocs/js-sdk';
|
|
3
|
-
import { t as throttle, f as getControlStyles, g as getFieldId } from './p-
|
|
3
|
+
import { t as throttle, f as getControlStyles, g as getFieldId } from './p-CndV_5Je.js';
|
|
4
4
|
import { S as Store } from './p-C7hFgM52.js';
|
|
5
5
|
import { d as defineCustomElement$n } from './p-C_yyK5xE.js';
|
|
6
6
|
import { d as defineCustomElement$m } from './p-BvV9rOTP.js';
|
|
@@ -383,6 +383,6 @@ function defineCustomElement() {
|
|
|
383
383
|
}
|
|
384
384
|
|
|
385
385
|
export { VerdocsTemplateDocumentPage as V, defineCustomElement as d };
|
|
386
|
-
//# sourceMappingURL=p-
|
|
386
|
+
//# sourceMappingURL=p-CaoZmlp7.js.map
|
|
387
387
|
|
|
388
|
-
//# sourceMappingURL=p-
|
|
388
|
+
//# sourceMappingURL=p-CaoZmlp7.js.map
|