@hubsync/esign-web-sdk 6.5.4 → 6.5.6
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/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-adopt-signature-dialog_8.cjs.entry.js +5 -4
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +6 -2
- package/dist/cjs/verdocs-ok-dialog.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +43 -25
- package/dist/cjs/verdocs-sign.entry.cjs.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js +6 -2
- package/dist/collection/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.js.map +1 -1
- package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js +7 -6
- package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js.map +1 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +43 -25
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js.map +1 -1
- package/dist/components/{p-Q4A8au3E.js → p-4KJMQrRB.js} +6 -6
- package/dist/components/{p-Q4A8au3E.js.map → p-4KJMQrRB.js.map} +1 -1
- package/dist/components/{p-RIeHu5V1.js → p-BBCbRcjI.js} +3 -3
- package/dist/components/{p-RIeHu5V1.js.map → p-BBCbRcjI.js.map} +1 -1
- package/dist/components/{p-oa9K_bbZ.js → p-Bv2DuncC.js} +5 -5
- package/dist/components/{p-oa9K_bbZ.js.map → p-Bv2DuncC.js.map} +1 -1
- package/dist/components/{p-4olD14NA.js → p-By4lLDL5.js} +3 -3
- package/dist/components/{p-4olD14NA.js.map → p-By4lLDL5.js.map} +1 -1
- package/dist/components/{p-CMpYlbLu.js → p-C3q4mHaq.js} +4 -4
- package/dist/components/{p-CMpYlbLu.js.map → p-C3q4mHaq.js.map} +1 -1
- package/dist/components/{p-B-ZoFCli.js → p-COiuyfp1.js} +7 -6
- package/dist/components/p-COiuyfp1.js.map +1 -0
- package/dist/components/{p-BAwv4SNb.js → p-Cz6Y5nA8.js} +3 -3
- package/dist/components/{p-BAwv4SNb.js.map → p-Cz6Y5nA8.js.map} +1 -1
- package/dist/components/{p-CUrnqIyl.js → p-DnuBWvuE.js} +8 -4
- package/dist/components/p-DnuBWvuE.js.map +1 -0
- package/dist/components/{p-DfItspZ0.js → p-GnE8WZrr.js} +6 -6
- package/dist/components/{p-DfItspZ0.js.map → p-GnE8WZrr.js.map} +1 -1
- package/dist/components/verdocs-build.js +7 -7
- package/dist/components/verdocs-envelope-sidebar.js +1 -1
- package/dist/components/verdocs-field-attachment.js +1 -1
- package/dist/components/verdocs-ok-dialog.js +1 -1
- package/dist/components/verdocs-preview.js +1 -1
- package/dist/components/verdocs-sign.js +46 -28
- package/dist/components/verdocs-sign.js.map +1 -1
- package/dist/components/verdocs-signing-progress.js +1 -1
- package/dist/components/verdocs-template-attachments.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-upload-dialog.js +1 -1
- package/dist/components/verdocs-view.js +1 -1
- package/dist/esm/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -1
- package/dist/esm/verdocs-adopt-signature-dialog_8.entry.js +5 -4
- package/dist/esm/verdocs-ok-dialog.entry.js +6 -2
- package/dist/esm/verdocs-ok-dialog.entry.js.map +1 -1
- package/dist/esm/verdocs-sign.entry.js +43 -25
- package/dist/esm/verdocs-sign.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js +1 -1
- package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js.map +1 -1
- package/dist/types/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.d.ts +2 -2
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +2 -1
- package/dist/types/components.d.ts +2 -2
- package/dist/verdocs-web-sdk/p-615e3533.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-615e3533.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-1b63fe0b.entry.js → p-6719e636.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-6719e636.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-f24d6c61.system.entry.js → p-8a8460c0.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-8a8460c0.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-9e9fdb1a.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-9e9fdb1a.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
- package/dist/verdocs-web-sdk/{p-DixucIng.system.js.map → p-BjIdBebp.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-CJ9IvZJ5.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-CnRDNxzf.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-a29fa382.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-a29fa382.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/p-cf08e7c2.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-cf08e7c2.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/verdocs-adopt-signature-dialog.verdocs-delegate-dialog.verdocs-disclosure-dialog.verdocs-kba-dialog.verdocs-otp-dialog.verdocs-passcode-dialog.verdocs-signing-progress.verdocs-view.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-ok-dialog.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-sign.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/components/p-B-ZoFCli.js.map +0 -1
- package/dist/components/p-CUrnqIyl.js.map +0 -1
- package/dist/verdocs-web-sdk/p-1b63fe0b.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-36950fda.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-36950fda.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-7eb7094c.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-7eb7094c.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-BAurS3-Q.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-CrAB6I_0.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-a727571f.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-a727571f.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f24d6c61.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-f551f8e0.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-f551f8e0.system.entry.js.map +0 -1
|
@@ -34,13 +34,17 @@ export class VerdocsOkDialog {
|
|
|
34
34
|
// We need a separate event handler for clicking the background because it can receive events "through" other child components
|
|
35
35
|
handleDismiss(e) {
|
|
36
36
|
this.closed = true;
|
|
37
|
-
if (e.target.className === 'background-overlay') {
|
|
37
|
+
if (e && e.target && e.target.className === 'background-overlay') {
|
|
38
38
|
e.preventDefault();
|
|
39
39
|
this.exit.emit();
|
|
40
40
|
}
|
|
41
|
+
else {
|
|
42
|
+
// For X button click, treat it the same as OK button
|
|
43
|
+
this.handleOk();
|
|
44
|
+
}
|
|
41
45
|
}
|
|
42
46
|
render() {
|
|
43
|
-
return (h("verdocs-dialog", { key: '
|
|
47
|
+
return (h("verdocs-dialog", { key: 'ff7b556af3b2606225660a1889aae6e5b33813a5', onExit: e => this.handleDismiss(e) }, h("div", { key: '6bfc4858cadf223f7ae4279363d19ab480d53289', slot: "heading", class: "heading" }, h("div", { key: '1300fb84b5c72b49bc52fa026d5b5f8c9f683733', class: "icon" }, h("svg", { key: '52da497c35a04565ce08b7b27a0103adee373074', width: "22", height: "19", viewBox: "0 0 22 19", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("g", { key: '23e3e4608d6950b6e40a0ced6f60876d14469f8e', "clip-path": "url(#clip0_34208_4881)" }, h("path", { key: '7eda7671b1c96eb6a7b731c9bb90cae5ce23edf3', d: "M3.125 0.75C1.88398 0.75 0.875 1.75898 0.875 3V16.5C0.875 17.741 1.88398 18.75 3.125 18.75H12.125C13.366 18.75 14.375 17.741 14.375 16.5V15.8215C14.2801 15.8602 14.1852 15.8918 14.0867 15.9164L11.9738 16.4437C11.8684 16.4684 11.7629 16.4859 11.6574 16.493C11.6258 16.4965 11.5941 16.5 11.5625 16.5H9.3125C9.09805 16.5 8.90469 16.3805 8.80977 16.1906L8.50039 15.5684C8.44062 15.4488 8.32109 15.375 8.19102 15.375C8.06094 15.375 7.93789 15.4488 7.88164 15.5684L7.57227 16.1906C7.47031 16.398 7.24883 16.5211 7.02031 16.5C6.7918 16.4789 6.59492 16.3207 6.53164 16.1027L5.9375 14.1445L5.59297 15.2977C5.37852 16.0113 4.72109 16.5 3.97578 16.5H3.6875C3.37812 16.5 3.125 16.2469 3.125 15.9375C3.125 15.6281 3.37812 15.375 3.6875 15.375H3.97578C4.22539 15.375 4.44336 15.2133 4.51367 14.9742L5.0375 13.234C5.15703 12.8367 5.52266 12.5625 5.9375 12.5625C6.35234 12.5625 6.71797 12.8367 6.8375 13.234L7.24531 14.591C7.50547 14.373 7.83594 14.25 8.1875 14.25C8.74648 14.25 9.25625 14.5664 9.50586 15.0656L9.66055 15.375H9.97344C9.86445 15.0656 9.84336 14.7281 9.92422 14.3977L10.4516 12.2848C10.55 11.8875 10.7539 11.5289 11.0422 11.2406L14.375 7.90781V6.375H9.875C9.25273 6.375 8.75 5.87227 8.75 5.25V0.75H3.125ZM9.875 0.75V5.25H14.375L9.875 0.75ZM20.2039 5.66133C19.6555 5.11289 18.766 5.11289 18.2141 5.66133L17.1805 6.69492L19.6766 9.19102L20.7102 8.15742C21.2586 7.60898 21.2586 6.71953 20.7102 6.16758L20.2039 5.66133ZM11.8402 12.0352C11.6961 12.1793 11.5941 12.3586 11.5449 12.559L11.0176 14.6719C10.9684 14.8652 11.0246 15.0656 11.1652 15.2063C11.3059 15.3469 11.5062 15.4031 11.6996 15.3539L13.8125 14.8266C14.0094 14.7773 14.1922 14.6754 14.3363 14.5312L18.8785 9.98555L16.3824 7.48945L11.8402 12.0352Z", fill: "white" })), h("defs", { key: '38d1c5c31a6c9118290b83212379703ef69ce774' }, h("clipPath", { key: '265e55b6ccd6c7f4ab531dad0fccc531e55c3db0', id: "clip0_34208_4881" }, h("path", { key: 'd5bc6581f3b9032b1e3c244940ba77195bccef21', d: "M0.875 0.75H21.125V18.75H0.875V0.75Z", fill: "white" }))))), h("div", { key: 'fc38f8f671154450bb4939991af22aba25b62cc5', class: "title" }, " ", this.heading)), h("div", { key: '49793f431faf0a0c90b98f64a0e6ca517c66d1b6', slot: "content", class: "content", innerHTML: this.message }), h("div", { key: '313e428b62bd8ae4413bf7b231e943018c5e8a71', class: "footer", slot: "footer" }, h("div", { key: '6d44f94ce1ce3d0934909e91599e19974f70438c', class: "buttons" }, this.showCancel && (h("button", { key: '7ac7d0ea22202dec3f2c6f5df61cbd52069e5d0b', class: "cancel", onClick: () => this.handleCancel() }, "Cancel")), h("button", { key: '691f98cf0bb08d71616b80ef833e5ff551a9a870', class: !this.showCancel ? 'ok single' : 'ok', onClick: () => this.handleOk() }, "OK")))));
|
|
44
48
|
}
|
|
45
49
|
static get is() { return "verdocs-ok-dialog"; }
|
|
46
50
|
static get originalStyleUrls() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdocs-ok-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"verdocs-ok-dialog.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-ok-dialog/verdocs-ok-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,KAAK,EAAE,MAAM,eAAe,CAAC;AAE/E;;;;GAIG;AAKH,MAAM,OAAO,eAAe;IAJ5B;QAKE;;WAEG;QACK,YAAO,GAAW,EAAE,CAAC;QAE7B;;WAEG;QACK,YAAO,GAAW,EAAE,CAAC;QAE7B;;WAEG;QACK,gBAAW,GAAW,IAAI,CAAC;QAEnC;;;WAGG;QACK,eAAU,GAAY,KAAK,CAAC;QAY3B,WAAM,GAAG,KAAK,CAAC;KA8DzB;IA5DC,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,8HAA8H;IAC9H,aAAa,CAAC,CAAM;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,oBAAoB,EAAE,CAAC;YACjE,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,uEAAgB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAChD,4DAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS;gBACjC,4DAAK,KAAK,EAAC,MAAM;oBACf,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;wBAC5F,uEAAa,wBAAwB;4BACnC,6DACE,CAAC,EAAC,wqDAAwqD,EAC1qD,IAAI,EAAC,OAAO,GACZ,CACA;wBACJ;4BACE,iEAAU,EAAE,EAAC,kBAAkB;gCAC7B,6DAAM,CAAC,EAAC,sCAAsC,EAAC,IAAI,EAAC,OAAO,GAAG,CACrD,CACN,CACH,CACF;gBAEN,4DAAK,KAAK,EAAC,OAAO;;oBAAG,IAAI,CAAC,OAAO,CAAO,CACpC;YAEN,4DAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAE,IAAI,CAAC,OAAO,GAAI;YAE/D,4DAAK,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ;gBAC/B,4DAAK,KAAK,EAAC,SAAS;oBACjB,IAAI,CAAC,UAAU,IAAI,CAClB,+DAAQ,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,aAEhD,CACV;oBACD,+DAAQ,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAE3E,CACL,CACF,CACS,CAClB,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\n/**\n * Display a simple text dialog box with an Ok button. This adds a partially-transparent overlay and screen-centered dialog\n * box with a message and optional header/title. An OK button is shown that will dismiss the message.\n * It can also be dismissed by clicking the background overlay.\n */\n@Component({\n tag: 'verdocs-ok-dialog',\n styleUrl: 'verdocs-ok-dialog.scss',\n})\nexport class VerdocsOkDialog {\n /**\n * The title of the dialog. \"title\" is a reserved word, so we use heading.\n */\n @Prop() heading: string = '';\n\n /**\n * The message content to display.\n */\n @Prop() message: string = '';\n\n /**\n * Override the \"OK\" button's label\n */\n @Prop() buttonLabel: string = 'OK';\n\n /**\n * If set, a cancel button will also be displayed. Note that the dialog is always cancelable by clicking the background\n * overlay to dismiss it.\n */\n @Prop() showCancel: boolean = false;\n\n /**\n * Event fired when the user clicks the OK button.\n */\n @Event({ composed: true }) next: EventEmitter;\n\n /**\n * Event fired when Cancel is pressed. This is called exit to avoid conflicts with the JS-reserved \"cancel\" event name.\n */\n @Event({ composed: true }) exit: EventEmitter;\n\n @State() closed = false;\n\n handleOk() {\n this.next.emit();\n }\n\n handleCancel() {\n this.exit.emit();\n }\n\n // We need a separate event handler for clicking the background because it can receive events \"through\" other child components\n handleDismiss(e: any) {\n this.closed = true;\n if (e && e.target && e.target.className === 'background-overlay') {\n e.preventDefault();\n this.exit.emit();\n } else {\n // For X button click, treat it the same as OK button\n this.handleOk();\n }\n }\n\n render() {\n return (\n <verdocs-dialog onExit={e => this.handleDismiss(e)}>\n <div slot=\"heading\" class=\"heading\">\n <div class=\"icon\">\n <svg width=\"22\" height=\"19\" viewBox=\"0 0 22 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_34208_4881)\">\n <path\n d=\"M3.125 0.75C1.88398 0.75 0.875 1.75898 0.875 3V16.5C0.875 17.741 1.88398 18.75 3.125 18.75H12.125C13.366 18.75 14.375 17.741 14.375 16.5V15.8215C14.2801 15.8602 14.1852 15.8918 14.0867 15.9164L11.9738 16.4437C11.8684 16.4684 11.7629 16.4859 11.6574 16.493C11.6258 16.4965 11.5941 16.5 11.5625 16.5H9.3125C9.09805 16.5 8.90469 16.3805 8.80977 16.1906L8.50039 15.5684C8.44062 15.4488 8.32109 15.375 8.19102 15.375C8.06094 15.375 7.93789 15.4488 7.88164 15.5684L7.57227 16.1906C7.47031 16.398 7.24883 16.5211 7.02031 16.5C6.7918 16.4789 6.59492 16.3207 6.53164 16.1027L5.9375 14.1445L5.59297 15.2977C5.37852 16.0113 4.72109 16.5 3.97578 16.5H3.6875C3.37812 16.5 3.125 16.2469 3.125 15.9375C3.125 15.6281 3.37812 15.375 3.6875 15.375H3.97578C4.22539 15.375 4.44336 15.2133 4.51367 14.9742L5.0375 13.234C5.15703 12.8367 5.52266 12.5625 5.9375 12.5625C6.35234 12.5625 6.71797 12.8367 6.8375 13.234L7.24531 14.591C7.50547 14.373 7.83594 14.25 8.1875 14.25C8.74648 14.25 9.25625 14.5664 9.50586 15.0656L9.66055 15.375H9.97344C9.86445 15.0656 9.84336 14.7281 9.92422 14.3977L10.4516 12.2848C10.55 11.8875 10.7539 11.5289 11.0422 11.2406L14.375 7.90781V6.375H9.875C9.25273 6.375 8.75 5.87227 8.75 5.25V0.75H3.125ZM9.875 0.75V5.25H14.375L9.875 0.75ZM20.2039 5.66133C19.6555 5.11289 18.766 5.11289 18.2141 5.66133L17.1805 6.69492L19.6766 9.19102L20.7102 8.15742C21.2586 7.60898 21.2586 6.71953 20.7102 6.16758L20.2039 5.66133ZM11.8402 12.0352C11.6961 12.1793 11.5941 12.3586 11.5449 12.559L11.0176 14.6719C10.9684 14.8652 11.0246 15.0656 11.1652 15.2063C11.3059 15.3469 11.5062 15.4031 11.6996 15.3539L13.8125 14.8266C14.0094 14.7773 14.1922 14.6754 14.3363 14.5312L18.8785 9.98555L16.3824 7.48945L11.8402 12.0352Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_34208_4881\">\n <path d=\"M0.875 0.75H21.125V18.75H0.875V0.75Z\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n\n <div class=\"title\"> {this.heading}</div>\n </div>\n\n <div slot=\"content\" class=\"content\" innerHTML={this.message} />\n\n <div class=\"footer\" slot=\"footer\">\n <div class=\"buttons\">\n {this.showCancel && (\n <button class=\"cancel\" onClick={() => this.handleCancel()}>\n Cancel\n </button>\n )}\n <button class={!this.showCancel ? 'ok single' : 'ok'} onClick={() => this.handleOk()}>\n OK\n </button>\n </div>\n </div>\n </verdocs-dialog>\n );\n }\n}\n"]}
|
package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js
CHANGED
|
@@ -37,7 +37,8 @@ export class VerdocsSigningProgress {
|
|
|
37
37
|
if (this.mode === 'start') {
|
|
38
38
|
return h("div", { class: "field-label" }, this.fieldLabel);
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
const allRequiredFieldsCompleted = this.progress && this.progress.required.filled >= this.progress.required.total;
|
|
41
|
+
if (this.fieldCompleted && allRequiredFieldsCompleted) {
|
|
41
42
|
return (h("div", { class: "field-completed" }, h("div", { class: "icon" }, this.renderSuccessIcon()), h("span", { class: "text" }, "Ready to submit.")));
|
|
42
43
|
}
|
|
43
44
|
return h("div", { class: "field-label" }, this.fieldLabel);
|
|
@@ -46,7 +47,7 @@ export class VerdocsSigningProgress {
|
|
|
46
47
|
if (this.mode === 'start') {
|
|
47
48
|
return (h("button", { class: "btn start", onClick: () => this.started.emit() }, "Start Signing"));
|
|
48
49
|
}
|
|
49
|
-
return (h("div", { class: "nav-buttons" }, this.progress && this.progress.required.
|
|
50
|
+
return (h("div", { class: "nav-buttons" }, this.progress && this.progress.required.filled >= this.progress.required.total ? (h("button", { class: "btn submit", onClick: () => this.exit.emit() }, "Submit")) : ([
|
|
50
51
|
h("button", { class: "btn previous", disabled: this.current <= 1, onClick: () => this.previous.emit() }, "Previous"),
|
|
51
52
|
h("button", { class: "btn next", disabled: this.current >= this.total, onClick: () => this.next.emit() }, "Next"),
|
|
52
53
|
])));
|
|
@@ -60,8 +61,8 @@ export class VerdocsSigningProgress {
|
|
|
60
61
|
}
|
|
61
62
|
return (h("div", { class: "card" }, h("div", { class: "header" }, this.progress
|
|
62
63
|
? [
|
|
63
|
-
h("div", { class: "progress-line" }, this.progress.required.
|
|
64
|
-
this.progress.optional.total > 0 ? (h("div", { class: "progress-line optional" }, this.progress.optional.
|
|
64
|
+
h("div", { class: "progress-line" }, this.progress.required.filled, " of ", this.progress.required.total, " required fields completed"),
|
|
65
|
+
this.progress.optional.total > 0 ? (h("div", { class: "progress-line optional" }, this.progress.optional.filled, " of ", this.progress.optional.total, " optional fields completed")) : null,
|
|
65
66
|
]
|
|
66
67
|
: this.remainingFields && this.remainingFields.length > 0
|
|
67
68
|
? `${this.remainingFields.length} fields remaining`
|
|
@@ -202,8 +203,8 @@ export class VerdocsSigningProgress {
|
|
|
202
203
|
"type": "unknown",
|
|
203
204
|
"mutable": false,
|
|
204
205
|
"complexType": {
|
|
205
|
-
"original": "{required: {
|
|
206
|
-
"resolved": "{ required: {
|
|
206
|
+
"original": "{ required: { filled: number; total: number }; optional: { filled: number; total: number } } | null",
|
|
207
|
+
"resolved": "{ required: { filled: number; total: number; }; optional: { filled: number; total: number; }; }",
|
|
207
208
|
"references": {}
|
|
208
209
|
},
|
|
209
210
|
"required": false,
|
package/dist/collection/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdocs-signing-progress.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"verdocs-signing-progress.js","sourceRoot":"","sources":["../../../../src/components/dialogs/verdocs-signing-progress/verdocs-signing-progress.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'verdocs-signing-progress',\n styleUrl: 'verdocs-signing-progress.scss',\n})\nexport class VerdocsSigningProgress {\n /**\n * Current field index (1-based)\n */\n @Prop() current: number = 0;\n\n /**\n * Total number of fields\n */\n @Prop() total: number = 0;\n\n /**\n * Display mode\n */\n @Prop() mode: 'start' | 'signing' | 'completed' = 'start';\n\n /**\n * Label to display for the current field\n */\n @Prop() fieldLabel: string = '';\n\n /**\n * Whether the current field has been completed (shows success message)\n */\n @Prop() fieldCompleted: boolean = false;\n\n /**\n * Emitted when user clicks Start\n */\n @Event({ composed: true }) started: EventEmitter;\n\n /**\n * Emitted when user clicks Next\n */\n @Event({ composed: true }) next: EventEmitter;\n\n /**\n * Emitted when user clicks Previous\n */\n @Event({ composed: true }) previous: EventEmitter;\n\n /**\n * Emitted when user clicks Submit\n */\n @Event({ composed: true }) exit: EventEmitter;\n\n /**\n * List of remaining fields to complete\n */\n @Prop() remainingFields: any[] = [];\n\n /**\n * Detailed progress counts for required and optional fields\n */\n @Prop() progress: { required: { filled: number; total: number }; optional: { filled: number; total: number } } | null = null;\n\n renderSuccessIcon() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM13.3584 7.64645C13.532 7.82001 13.5513 8.08944 13.4163 8.28431L13.3584 8.35355L9.35355 12.3584C9.17999 12.532 8.91056 12.5513 8.71569 12.4163L8.64645 12.3584L6.64645 10.3584C6.45118 10.1632 6.45118 9.84658 6.64645 9.65131C6.82001 9.47775 7.08944 9.45846 7.28431 9.59346L7.35355 9.65131L9 11.298L12.6513 7.64645C12.8466 7.45118 13.1632 7.45118 13.3584 7.64645Z\"\n fill=\"#107C10\"\n />\n </svg>\n );\n }\n\n renderContent() {\n if (this.mode === 'start') {\n return <div class=\"field-label\">{this.fieldLabel}</div>;\n }\n\n const allRequiredFieldsCompleted = this.progress && this.progress.required.filled >= this.progress.required.total;\n\n if (this.fieldCompleted && allRequiredFieldsCompleted) {\n return (\n <div class=\"field-completed\">\n <div class=\"icon\">{this.renderSuccessIcon()}</div>\n <span class=\"text\">Ready to submit.</span>\n </div>\n );\n }\n\n return <div class=\"field-label\">{this.fieldLabel}</div>;\n }\n\n renderFooter() {\n if (this.mode === 'start') {\n return (\n <button class=\"btn start\" onClick={() => this.started.emit()}>\n Start Signing\n </button>\n );\n }\n\n return (\n <div class=\"nav-buttons\">\n {this.progress && this.progress.required.filled >= this.progress.required.total ? (\n <button class=\"btn submit\" onClick={() => this.exit.emit()}>\n Submit\n </button>\n ) : (\n [\n <button class=\"btn previous\" disabled={this.current <= 1} onClick={() => this.previous.emit()}>\n Previous\n </button>,\n <button class=\"btn next\" disabled={this.current >= this.total} onClick={() => this.next.emit()}>\n Next\n </button>,\n ]\n )}\n </div>\n );\n }\n\n renderCompleted() {\n return (\n <div class=\"card completed\">\n <div class=\"header-completed\">\n <div class=\"icon\">{this.renderSuccessIcon()}</div>\n Ready to Submit\n </div>\n <div class=\"description\">You have entered all requested signatures. Select Submit to complete the signing process.</div>\n <div class=\"separator\" />\n <button class=\"btn submit\" onClick={() => this.exit.emit()}>\n Submit\n </button>\n </div>\n );\n }\n\n render() {\n if (this.mode === 'completed') {\n return this.renderCompleted();\n }\n\n return (\n <div class=\"card\">\n <div class=\"header\">\n {this.progress\n ? [\n <div class=\"progress-line\">\n {this.progress.required.filled} of {this.progress.required.total} required fields completed\n </div>,\n this.progress.optional.total > 0 ? (\n <div class=\"progress-line optional\">\n {this.progress.optional.filled} of {this.progress.optional.total} optional fields completed\n </div>\n ) : null,\n ]\n : this.remainingFields && this.remainingFields.length > 0\n ? `${this.remainingFields.length} fields remaining`\n : `${this.current} of ${this.total} fields`}\n </div>\n\n <div class=\"body\">{this.renderContent()}</div>\n\n <div class=\"separator\" />\n\n {this.renderFooter()}\n </div>\n );\n }\n}\n"]}
|
|
@@ -411,6 +411,8 @@ export class VerdocsSign {
|
|
|
411
411
|
if (e.detail === null) {
|
|
412
412
|
console.log('[SIGN] Clearing initial');
|
|
413
413
|
const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, null, false);
|
|
414
|
+
updateResult.value = null;
|
|
415
|
+
this.initialId = null;
|
|
414
416
|
return this.updateRecipientFieldValue(field.name, updateResult);
|
|
415
417
|
}
|
|
416
418
|
// If we already have an initials block, apply it
|
|
@@ -451,6 +453,8 @@ export class VerdocsSign {
|
|
|
451
453
|
if (e.detail === null) {
|
|
452
454
|
console.log('[SIGN] Clearing signature');
|
|
453
455
|
const updateResult = await updateEnvelopeField(this.endpoint, this.envelopeId, this.roleId, field.name, null, false);
|
|
456
|
+
updateResult.value = null;
|
|
457
|
+
this.signatureId = null;
|
|
454
458
|
return this.updateRecipientFieldValue(field.name, updateResult);
|
|
455
459
|
}
|
|
456
460
|
// If we already have a signature block, apply it
|
|
@@ -520,13 +524,13 @@ export class VerdocsSign {
|
|
|
520
524
|
}
|
|
521
525
|
return;
|
|
522
526
|
}
|
|
523
|
-
const
|
|
524
|
-
if (
|
|
525
|
-
const id = getFieldId(
|
|
527
|
+
const nextField = this.getNextFieldInOrder();
|
|
528
|
+
if (nextField) {
|
|
529
|
+
const id = getFieldId(nextField);
|
|
526
530
|
const el = document.getElementById(id);
|
|
527
531
|
el === null || el === void 0 ? void 0 : el.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });
|
|
528
532
|
el === null || el === void 0 ? void 0 : el.focusField();
|
|
529
|
-
this.focusedField =
|
|
533
|
+
this.focusedField = nextField.name;
|
|
530
534
|
}
|
|
531
535
|
}
|
|
532
536
|
getRecipientFields() {
|
|
@@ -548,24 +552,36 @@ export class VerdocsSign {
|
|
|
548
552
|
}
|
|
549
553
|
this.updateAllFlags();
|
|
550
554
|
}
|
|
551
|
-
|
|
552
|
-
// Find
|
|
553
|
-
const
|
|
554
|
-
|
|
555
|
-
// console.log(
|
|
556
|
-
// '[SIGN] Pending fields',
|
|
557
|
-
// emptyFields.map(f => `${f.name} (${f.type}) req=${f.required}`),
|
|
558
|
-
// );
|
|
559
|
-
if (emptyFields.length === 0) {
|
|
560
|
-
const allUnfilled = this.getSortedFillableFields().filter(field => !isFieldFilled(field, this.getRecipientFields()));
|
|
561
|
-
sortFields(allUnfilled);
|
|
562
|
-
if (allUnfilled.length > 0) {
|
|
563
|
-
// If we are here, there are no required fields left, but there are optional ones.
|
|
564
|
-
return this.getNextFieldFromList(allUnfilled);
|
|
565
|
-
}
|
|
555
|
+
getNextFieldInOrder() {
|
|
556
|
+
// Find the next incomplete field in overall order (required + optional).
|
|
557
|
+
const fields = this.getSortedFillableFields();
|
|
558
|
+
if (fields.length === 0)
|
|
566
559
|
return null;
|
|
560
|
+
const recipientFields = this.getRecipientFields();
|
|
561
|
+
const focusedIndex = fields.findIndex(field => field.name === this.focusedField);
|
|
562
|
+
const startIndex = focusedIndex >= 0 ? focusedIndex + 1 : 0;
|
|
563
|
+
for (let i = 0; i < fields.length; i++) {
|
|
564
|
+
const idx = (startIndex + i) % fields.length;
|
|
565
|
+
const field = fields[idx];
|
|
566
|
+
if (!this.isFieldFilledForNav(field, recipientFields)) {
|
|
567
|
+
return field;
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
return null;
|
|
571
|
+
}
|
|
572
|
+
isFieldFilledForNav(field, recipientFields) {
|
|
573
|
+
if (field.type === 'signature' || field.type === 'initial') {
|
|
574
|
+
const value = typeof field.value === 'string' ? field.value.trim() : field.value;
|
|
575
|
+
if (!value)
|
|
576
|
+
return false;
|
|
577
|
+
if (value === 'signed' || value === 'initialed')
|
|
578
|
+
return false;
|
|
579
|
+
return true;
|
|
580
|
+
}
|
|
581
|
+
if (field.type === 'dropdown') {
|
|
582
|
+
return isFieldFilled(field, recipientFields) && !!field.value;
|
|
567
583
|
}
|
|
568
|
-
return
|
|
584
|
+
return isFieldFilled(field, recipientFields);
|
|
569
585
|
}
|
|
570
586
|
getNextFieldFromList(fields) {
|
|
571
587
|
const focusedIndex = fields.findIndex(field => field.name === this.focusedField);
|
|
@@ -603,12 +619,12 @@ export class VerdocsSign {
|
|
|
603
619
|
// Remove existing flags
|
|
604
620
|
const existingFlags = controlsDiv.querySelectorAll('.verdocs-flag-instance');
|
|
605
621
|
existingFlags.forEach(el => el.remove());
|
|
606
|
-
let nextField = this.
|
|
622
|
+
let nextField = this.getNextFieldInOrder();
|
|
607
623
|
const focusedFieldObj = this.getRecipientFields().find(f => f.name === this.focusedField);
|
|
608
624
|
// If the currently focused field is unfilled, we should point the flag to IT, not the next one.
|
|
609
|
-
//
|
|
625
|
+
// getNextFieldInOrder() is designed for the "Next" button (skipping current), but the visual flag
|
|
610
626
|
// should guide the user to the current task if it's incomplete.
|
|
611
|
-
if (focusedFieldObj && !
|
|
627
|
+
if (focusedFieldObj && !this.isFieldFilledForNav(focusedFieldObj, this.getRecipientFields())) {
|
|
612
628
|
nextField = focusedFieldObj;
|
|
613
629
|
}
|
|
614
630
|
if (nextField && nextField.page === pageInfo.pageNumber && nextField.document_id === pageInfo.documentId) {
|
|
@@ -904,15 +920,17 @@ export class VerdocsSign {
|
|
|
904
920
|
const isFilled = (f) => isFieldFilled(f, recipientFields) && (f.type !== 'dropdown' || !!f.value);
|
|
905
921
|
const requiredFields = allFields.filter(f => f.required);
|
|
906
922
|
const requiredRemaining = requiredFields.filter(f => !isFilled(f)).length;
|
|
923
|
+
const requiredFilled = requiredFields.length - requiredRemaining;
|
|
907
924
|
const optionalFields = allFields.filter(f => !f.required);
|
|
908
925
|
const optionalRemaining = optionalFields.filter(f => !isFilled(f)).length;
|
|
926
|
+
const optionalFilled = optionalFields.length - optionalRemaining;
|
|
909
927
|
const progress = {
|
|
910
928
|
required: {
|
|
911
|
-
|
|
929
|
+
filled: requiredFilled,
|
|
912
930
|
total: requiredFields.length,
|
|
913
931
|
},
|
|
914
932
|
optional: {
|
|
915
|
-
|
|
933
|
+
filled: optionalFilled,
|
|
916
934
|
total: optionalFields.length,
|
|
917
935
|
},
|
|
918
936
|
};
|