@verdocs/web-sdk 6.5.0-beta.32 → 6.5.0-beta.34
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/{Types-RUyU-svM.js → Types-YJQtg77a.js} +4 -3
- package/dist/{esm/Types-dqxNbm_b.js.map → cjs/Types-YJQtg77a.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-otZIKCGM.js → utils-DjHWIYcY.js} +3 -3
- package/dist/cjs/{utils-otZIKCGM.js.map → utils-DjHWIYcY.js.map} +1 -1
- package/dist/cjs/verdocs-adopt-signature-dialog_8.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-download-dialog_4.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-attachment_11.cjs.entry.js +86 -12
- package/dist/cjs/verdocs-pagination_2.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-preview_7.cjs.entry.js +36 -25
- package/dist/cjs/verdocs-sign.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-document-page.verdocs-toolbar-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.css +8 -0
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +3 -1
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.css +34 -0
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +77 -2
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js.map +1 -1
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +3 -0
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +6 -5
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js.map +1 -1
- package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js +3 -3
- package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js.map +1 -1
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.css +21 -0
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +31 -21
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js.map +1 -1
- package/dist/collection/utils/Types.js +2 -1
- package/dist/collection/utils/Types.js.map +1 -1
- package/dist/components/{p-DLKz8oGD.js → p-1PWpeHpK.js} +3 -3
- package/dist/components/{p-DLKz8oGD.js.map → p-1PWpeHpK.js.map} +1 -1
- package/dist/components/{p-BSXsWUmY.js → p-BWvUv89M.js} +39 -29
- package/dist/components/p-BWvUv89M.js.map +1 -0
- package/dist/components/{p-CrKrBZZL.js → p-BcGvNPBh.js} +7 -7
- package/dist/components/{p-CrKrBZZL.js.map → p-BcGvNPBh.js.map} +1 -1
- package/dist/components/{p-YzC4BSrh.js → p-BttIJYW3.js} +7 -5
- package/dist/components/p-BttIJYW3.js.map +1 -0
- package/dist/components/{p-88SuPfj4.js → p-C35_YsQk.js} +3 -3
- package/dist/components/{p-88SuPfj4.js.map → p-C35_YsQk.js.map} +1 -1
- package/dist/components/{p-COtqu2dZ.js → p-CMNmfu0F.js} +3 -3
- package/dist/components/{p-COtqu2dZ.js.map → p-CMNmfu0F.js.map} +1 -1
- package/dist/components/{p-B7nY_WEM.js → p-CY-c2d8q.js} +9 -9
- package/dist/components/p-CY-c2d8q.js.map +1 -0
- package/dist/components/{p-DWZamcQd.js → p-CeHrzafI.js} +9 -8
- package/dist/components/p-CeHrzafI.js.map +1 -0
- package/dist/components/{p-BaFfUg65.js → p-DKO4_Yp9.js} +3 -3
- package/dist/components/{p-BaFfUg65.js.map → p-DKO4_Yp9.js.map} +1 -1
- package/dist/components/{p-Dl7Xw8F0.js → p-DMMF9yT2.js} +3 -3
- package/dist/components/{p-Dl7Xw8F0.js.map → p-DMMF9yT2.js.map} +1 -1
- package/dist/components/p-Dh9AjNdu.js +292 -0
- package/dist/components/p-Dh9AjNdu.js.map +1 -0
- package/dist/components/{p-IUjGbyAi.js → p-Dk8BEvRP.js} +3 -3
- package/dist/components/{p-IUjGbyAi.js.map → p-Dk8BEvRP.js.map} +1 -1
- package/dist/components/{p-ChDalz5Z.js → p-DyeSZpGe.js} +3 -3
- package/dist/components/{p-ChDalz5Z.js.map → p-DyeSZpGe.js.map} +1 -1
- package/dist/components/{p-Bu_0SDFO.js → p-Iv65sQlJ.js} +3 -3
- package/dist/components/{p-Bu_0SDFO.js.map → p-Iv65sQlJ.js.map} +1 -1
- package/dist/components/verdocs-build.js +8 -8
- package/dist/components/verdocs-contact-picker.js +1 -1
- package/dist/components/verdocs-envelope-document-page.js +1 -1
- package/dist/components/verdocs-envelope-sidebar.js +1 -1
- package/dist/components/verdocs-envelopes-list.js +2 -2
- package/dist/components/verdocs-field-date.js +1 -1
- package/dist/components/verdocs-field-textbox.js +1 -1
- package/dist/components/verdocs-field-timestamp.js +1 -1
- 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 +4 -4
- 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/Types-BqoC0yeA.js +9 -0
- package/dist/{cjs/Types-RUyU-svM.js.map → esm/Types-BqoC0yeA.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-ivPfUH2E.js → utils-Deu82Q9L.js} +3 -3
- package/dist/esm/{utils-ivPfUH2E.js.map → utils-Deu82Q9L.js.map} +1 -1
- package/dist/esm/verdocs-adopt-signature-dialog_8.entry.js +2 -2
- package/dist/esm/verdocs-contact-picker.entry.js +2 -2
- package/dist/esm/verdocs-download-dialog_4.entry.js +2 -2
- package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm/verdocs-envelopes-list.entry.js +2 -2
- package/dist/esm/verdocs-field-attachment_11.entry.js +86 -12
- package/dist/esm/verdocs-pagination_2.entry.js +2 -2
- package/dist/esm/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.js.map +1 -1
- package/dist/esm/verdocs-preview_7.entry.js +37 -26
- package/dist/esm/verdocs-sign.entry.js +2 -2
- package/dist/esm/verdocs-template-document-page.verdocs-toolbar-icon.entry.js.map +1 -1
- package/dist/esm/verdocs-template-document-page_2.entry.js +2 -2
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/Types-BqoC0yeA.js +2 -0
- package/dist/esm-es5/{Types-dqxNbm_b.js.map → Types-BqoC0yeA.js.map} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{utils-ivPfUH2E.js → utils-Deu82Q9L.js} +2 -2
- package/dist/esm-es5/{utils-ivPfUH2E.js.map → utils-Deu82Q9L.js.map} +1 -1
- package/dist/esm-es5/verdocs-adopt-signature-dialog_8.entry.js +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js +2 -2
- package/dist/esm-es5/verdocs-download-dialog_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment_11.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment_11.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-preview_7.entry.js +2 -2
- package/dist/esm-es5/verdocs-preview_7.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page.verdocs-toolbar-icon.entry.js.map +1 -1
- package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +6 -1
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +3 -3
- package/dist/types/utils/Types.d.ts +1 -1
- package/dist/verdocs-web-sdk/{p-751501f3.entry.js → p-07a00b97.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-96c50a15.system.entry.js → p-16e4f438.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-b7a88f34.system.entry.js → p-178d03a6.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-1bde2f57.system.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-1bde2f57.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-3c1ca466.entry.js → p-3aebfd86.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-12a23bdb.entry.js → p-4671fd0b.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-f615bed5.entry.js → p-5cf0d300.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-7165eccc.system.entry.js → p-8cb631da.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-932934f5.system.entry.js +8 -0
- package/dist/verdocs-web-sdk/p-932934f5.system.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-cff62722.system.entry.js → p-9ec65cad.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-B8zpaHu-.system.js +1 -1
- package/dist/verdocs-web-sdk/p-B_NM_Ddi.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-dY2Fe8ON.system.js.map → p-BaVMqmM6.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-D0t6QCh_.system.js → p-BgKRsvh1.system.js} +2 -2
- package/dist/verdocs-web-sdk/{p-D0t6QCh_.system.js.map → p-BgKRsvh1.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-BqoC0yeA.js +2 -0
- package/dist/verdocs-web-sdk/{p-dqxNbm_b.js.map → p-BqoC0yeA.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-BxZoitZ8.system.js.map +1 -0
- package/dist/verdocs-web-sdk/p-C2OP3llY.system.js +2 -0
- package/dist/verdocs-web-sdk/{p-CgZsFvRv.system.js.map → p-C2OP3llY.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-Baa2Y5Zk.system.js.map → p-C5FCNerT.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-DKu4yKnD.system.js.map → p-CwV2z4y9.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-BM3jxk1D.system.js.map → p-DAagWDJf.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/p-DDdzKvq8.system.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-BUDKtx9r.system.js.map → p-DZCgLJyz.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-Cz_PSCK3.system.js.map → p-Dxsz-5-P.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-BpvxoJa6.system.js.map → p-H1Tf5vYL.system.js.map} +1 -1
- package/dist/verdocs-web-sdk/{p-f5d355d5.system.entry.js → p-c0fbae7e.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-6598380f.entry.js → p-c1b0b0a8.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-3899da33.entry.js → p-c288939e.entry.js} +3 -3
- package/dist/verdocs-web-sdk/{p-4cbec34e.system.entry.js → p-c4ca9e20.system.entry.js} +3 -3
- package/dist/verdocs-web-sdk/p-d09f0a2c.entry.js +8 -0
- package/dist/verdocs-web-sdk/p-d09f0a2c.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-363f13cb.system.entry.js → p-dbaaa79f.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-42ad9ea7.entry.js → p-e74f4251.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-fe97fd80.entry.js → p-ea23d10b.entry.js} +2 -2
- package/dist/verdocs-web-sdk/{p-721b3041.system.entry.js → p-ee6623f7.system.entry.js} +2 -2
- package/dist/verdocs-web-sdk/p-f986d5dd.entry.js +2 -0
- package/dist/verdocs-web-sdk/p-f986d5dd.entry.js.map +1 -0
- package/dist/verdocs-web-sdk/{p-CHm_85GB.js → p-oC6bZSel.js} +2 -2
- package/dist/verdocs-web-sdk/{p-CHm_85GB.js.map → p-oC6bZSel.js.map} +1 -1
- package/dist/verdocs-web-sdk/verdocs-preview.verdocs-send.verdocs-template-attachments.verdocs-template-build-tabs.verdocs-template-fields.verdocs-template-roles.verdocs-template-settings.entry.esm.js.map +1 -1
- package/dist/verdocs-web-sdk/verdocs-template-document-page.verdocs-toolbar-icon.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-B7nY_WEM.js.map +0 -1
- package/dist/components/p-BSXsWUmY.js.map +0 -1
- package/dist/components/p-DR_BGSby.js +0 -217
- package/dist/components/p-DR_BGSby.js.map +0 -1
- package/dist/components/p-DWZamcQd.js.map +0 -1
- package/dist/components/p-YzC4BSrh.js.map +0 -1
- package/dist/esm/Types-dqxNbm_b.js +0 -8
- package/dist/esm-es5/Types-dqxNbm_b.js +0 -2
- package/dist/verdocs-web-sdk/p-344a99c7.system.entry.js +0 -8
- package/dist/verdocs-web-sdk/p-344a99c7.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-8c86b7fd.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-8c86b7fd.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-CgZsFvRv.system.js +0 -2
- package/dist/verdocs-web-sdk/p-DNUz9v6d.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-DsA3pbFK.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-DyCZUrdb.system.js.map +0 -1
- package/dist/verdocs-web-sdk/p-c3e7b3ce.system.entry.js +0 -2
- package/dist/verdocs-web-sdk/p-c3e7b3ce.system.entry.js.map +0 -1
- package/dist/verdocs-web-sdk/p-dqxNbm_b.js +0 -2
- package/dist/verdocs-web-sdk/p-e23c5042.entry.js +0 -8
- package/dist/verdocs-web-sdk/p-e23c5042.entry.js.map +0 -1
- /package/dist/verdocs-web-sdk/{p-751501f3.entry.js.map → p-07a00b97.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-96c50a15.system.entry.js.map → p-16e4f438.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-b7a88f34.system.entry.js.map → p-178d03a6.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-3c1ca466.entry.js.map → p-3aebfd86.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-12a23bdb.entry.js.map → p-4671fd0b.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-f615bed5.entry.js.map → p-5cf0d300.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-7165eccc.system.entry.js.map → p-8cb631da.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-cff62722.system.entry.js.map → p-9ec65cad.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-f5d355d5.system.entry.js.map → p-c0fbae7e.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-6598380f.entry.js.map → p-c1b0b0a8.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-3899da33.entry.js.map → p-c288939e.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-4cbec34e.system.entry.js.map → p-c4ca9e20.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-363f13cb.system.entry.js.map → p-dbaaa79f.system.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-42ad9ea7.entry.js.map → p-e74f4251.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-fe97fd80.entry.js.map → p-ea23d10b.entry.js.map} +0 -0
- /package/dist/verdocs-web-sdk/{p-721b3041.system.entry.js.map → p-ee6623f7.system.entry.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,r,n){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function c(e){try{u(n["throw"](e))}catch(e){i(e)}}function u(e){e.done?r(e.value):a(e.value).then(o,c)}u((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,a,i,o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return u([e,t])}}function u(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(r=0)),r)try{if(n=1,a&&(i=c[0]&2?a["return"]:c[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,c[1])).done)return i;if(a=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:r.label++;return{value:c[1],done:false};case 5:r.label++;a=c[1];c=[0];continue;case 7:c=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){r.label=c[1];break}if(c[0]===6&&r.label<i[1]){r.label=i[1];i=c;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(c);break}if(i[2])r.ops.pop();r.trys.pop();continue}c=t.call(e,r)}catch(e){c=[6,e];a=0}finally{n=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-DmF0GSqu.system.js","@verdocs/js-sdk","./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,r,n){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function c(e){try{u(n["throw"](e))}catch(e){i(e)}}function u(e){e.done?r(e.value):a(e.value).then(o,c)}u((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,a,i,o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return u([e,t])}}function u(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(r=0)),r)try{if(n=1,a&&(i=c[0]&2?a["return"]:c[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,c[1])).done)return i;if(a=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:r.label++;return{value:c[1],done:false};case 5:r.label++;a=c[1];c=[0];continue;case 7:c=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){r.label=c[1];break}if(c[0]===6&&r.label<i[1]){r.label=i[1];i=c;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(c);break}if(i[2])r.ops.pop();r.trys.pop();continue}c=t.call(e,r)}catch(e){c=[6,e];a=0}finally{n=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-DmF0GSqu.system.js","@verdocs/js-sdk","./p-C2OP3llY.system.js"],(function(e){"use strict";var t,r,n,a,i;return{setters:[function(e){t=e.d},function(e){r=e.getEnvelopesZip;n=e.downloadBlob;a=e.rescale},function(e){i=e.F}],execute:function(){var o=this;var c=e("j",(function(e){switch(e){case"textarea":return 150;case"textbox":return 150;case"timestamp":return 105;case"date":return 75;case"dropdown":return 85;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 71}return 150}));var u=e("d",(function(e){switch(e){case"textarea":return 41;case"textbox":return 15;case"timestamp":return 15;case"date":return 15;case"dropdown":return 20;case"attachment":case"payment":return 24;case"radio":case"checkbox":return 14;case"signature":case"initial":return 36}return 50}));var s=e("i",(function(e,t,r,n){var i=t.x,o=i===void 0?0:i,s=t.y,d=s===void 0?0:s,f=t.width,v=f===void 0?c(t.type):f,l=t.height,p=l===void 0?u(t.type):l;e.style.width="".concat(v,"px");e.style.height="".concat(p,"px");e.style.position="absolute";e.style.left="".concat(a(r,o),"px");e.style.bottom="".concat(a(n,d),"px");e.style.transform="scale(".concat(r,", ").concat(n,")")}));var d=e("c",(function(e,t,r){var n=e.x,i=n===void 0?0:n,o=e.y,s=o===void 0?0:o,d=e.width,f=d===void 0?c(e.type):d,v=e.height,l=v===void 0?u(e.type):v;return{zIndex:"100",width:"".concat(f,"px"),height:"".concat(l,"px"),position:"absolute",left:"".concat(a(t,i),"px"),bottom:"".concat(a(r,s),"px"),transform:"scale(".concat(t,", ").concat(r,")")}}));var f=e("g",(function(e){return"verdocs-doc-fld-".concat(e.name)}));var v=e("u",(function(e){var t=f(e);var r=document.getElementById(t);if(r){r.field=e;r.roleindex=e;r.setAttribute("id",t);r.setAttribute("disabled",true);r.setAttribute("disabled",false)}}));var l=e("a",(function(e,t,r,n,a){if(a===void 0){a=1}var i,o;var c=n.disabled,u=c===void 0?false:c,d=n.editable,v=d===void 0?false:d,l=n.draggable,p=l===void 0?false:l,m=n.done,x=m===void 0?false:m;var h=document.getElementById(r.containerId+"-controls");if(!h){console.log("[renderDocumentField] No controls DIV found",r.containerId+"-controls",r);return}switch(t.type){case"radio":case"checkbox":case"attachment":case"date":case"dropdown":case"initial":case"payment":case"signature":case"timestamp":case"textarea":case"textbox":{var b=f(t);var w=document.getElementById(b);if(w){w.field=t;w.done=x;s(w,t,r.xScale,r.yScale);return w}var g=t.type;if(g==="textbox"){if(((i=t["setting"])===null||i===void 0?void 0:i.leading)>0||((o=t["settings"])===null||o===void 0?void 0:o.leading)>0){g="textarea"}}var y=document.createElement("verdocs-field-".concat(g));y.field=t;y.setAttribute("id",b);y.setAttribute("fieldname",t.name);y.setAttribute("source",e);y.setAttribute("sourceid","template_id"in t?t.template_id:t.envelope_id);if(u){y.setAttribute("tabindex",-1);y.setAttribute("disabled",true)}else{y.setAttribute("tabindex",a)}y.setAttribute("editable",v);y.setAttribute("draggable",p);y.setAttribute("done",x);s(y,t,r.xScale,r.yScale);h.appendChild(y);return y}default:console.log("[PREVIEW] Skipping unsupported field type",t);return null}}));var p=e("f",(function(e,t,r){var n=e.style.transform||"";var a="".concat(t,"(").concat(r,")");if(n.includes(t)){e.style.transform=n.replace(new RegExp("".concat(t,"\\(.+?\\)")),a)}else{e.style.transform=n+" "+a}}));var m=e("h",(function(e){e.style.transform=e.style.transform.split(")")[0]+")"}));var x=e("s",(function(e,a){return __awaiter(o,void 0,void 0,(function(){var o,c,u;return __generator(this,(function(s){switch(s.label){case 0:o=t.format(a.length===1?new Date(a[0].updated_at):new Date,i);c=a.length===1?"".concat(a[0].name," - ").concat(o,".zip"):"Verdocs-Envelopes-".concat(o);console.log("Downloading envelopes as ZIP",a,c);return[4,r(e,a.map((function(e){return e.id})))];case 1:u=s.sent();n(u.data,c);return[2]}}))}))}));var h=e("t",(function(e,t){var r=0;return function(){var n=this;var a=[];for(var i=0;i<arguments.length;i++){a[i]=arguments[i]}clearTimeout(r);r=setTimeout((function(){return e.apply(n,a)}),t)}}));var b=e("b",(function(e,t){if(t===void 0){t="16px Arial"}var r=document.createElement("canvas");var n=r.getContext("2d");n.font=t;return n.measureText(e).width}));var w=e("e",(function(e){var t=(e||"").trim();if(!t||t.startsWith("+")){return t}t=t.replace(/[^0-9]/g,"");t=t.replace(/^0/g,"");return"+1".concat(t)}));var g=e("r",(function(e,t,r,n){var i=document.getElementById(e.containerId+"-controls");if(!i){return}var o=document.createElement("verdocs-flag");o.variant=n.variant;o.label=n.label;o.showSkip=n.showSkip;if(n.id){o.setAttribute("id",n.id)}o.classList.add("verdocs-flag-instance");if(n.onSkip){o.addEventListener("skip",n.onSkip)}if(n.onClick){o.addEventListener("flagClick",n.onClick)}o.style.position="absolute";o.style.left="calc(100% - 14px)";var c=a(e.yScale,t);var u=a(e.yScale,r);var s=c+u;o.style.bottom="".concat(s,"px");i.appendChild(o);return o}));var y=e("k",(function(e){if(!e)return"";var t={signature:"Signature",initial:"Initials",date:"Date",textbox:"Text Field",checkbox:"Checkbox",radio:"Radio Button",dropdown:"Dropdown",attachment:"Attachment",payment:"Payment"};var r=t[e.type]||"Field";if(e.required){return"Required ".concat(r,"*")}return"Optional ".concat(r)}))}}}));
|
|
2
|
+
//# sourceMappingURL=p-BgKRsvh1.system.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-D0t6QCh_.system.js","sources":["src/utils/utils.ts"],"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)} = field;\n\n el.style.width = `${width}px`;\n el.style.height = `${height}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 console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n // console.log('[renderDocumentField] Rendering field', field);\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"],"names":["format"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-BgKRsvh1.system.js","sources":["src/utils/utils.ts"],"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)} = field;\n\n el.style.width = `${width}px`;\n el.style.height = `${height}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 console.log('[renderDocumentField] No controls DIV found', docPage.containerId + '-controls', docPage);\n return;\n }\n\n // console.log('[renderDocumentField] Rendering field', field);\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"],"names":["format"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-BqoC0yeA.js","sources":["src/utils/Types.ts"],"sourcesContent":["export interface IDocumentPageInfo {\n containerId: string;\n documentId: string;\n pageNumber: number;\n virtualWidth: number;\n virtualHeight: number;\n renderedWidth: number;\n renderedHeight: number;\n naturalWidth: number;\n naturalHeight: number;\n aspectRatio: number;\n xScale: number;\n yScale: number;\n}\n\nexport interface IPageLayer {\n name: string;\n type: 'div' | 'canvas';\n}\n\nexport const FORMAT_TIMESTAMP = 'P pp';\n// export const FORMAT_TIMESTAMP = 'Y-MM-dd hh:mm:ss a';\nexport const FORMAT_DATE = 'P'\n// export const FORMAT_DATE = 'y-MM-dd'\n"],"names":[],"mappings":"AAoBO,MAAM,gBAAgB,GAAG;AAChC;AACO,MAAM,WAAW,GAAG;AAC3B;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p-BxZoitZ8.system.js","sources":["src/components/templates/verdocs-template-document-page/verdocs-template-document-page.scss?tag=verdocs-template-document-page","src/components/templates/verdocs-template-document-page/verdocs-template-document-page.tsx","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.scss?tag=verdocs-toolbar-icon","src/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-template-document-page {\n width: 100%;\n position: relative;\n\n .verdocs-template-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 .placeholder {\n opacity: 0.1;\n width: 612px;\n height: 792px;\n box-shadow: 0 0 10px 5px #0000000f;\n }\n}\n","// NOTE: This component does not have a story because it's not intended for external use.\n\nimport {getTemplate, getTemplateDocumentPageDisplayUri, type ITemplate, VerdocsEndpoint} from '@verdocs/js-sdk';\nimport {Component, h, Host, Prop, Event, EventEmitter, State, Element, Fragment} from '@stencil/core';\nimport {IDocumentPageInfo, IPageLayer} from '../../../utils/Types';\nimport {getControlStyles, getFieldId} from '../../../utils/utils';\nimport {throttle} from '../../../utils/utils';\nimport {Store} from '../../../utils/Datastore';\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-template-document-page',\n styleUrl: 'verdocs-template-document-page.scss',\n shadow: false,\n})\nexport class VerdocsTemplateDocumentPage {\n private templateListenerId = null;\n private resizeObserver: ResizeObserver;\n\n @Element() container: HTMLElement;\n\n /**\n * The endpoint to load from.\n */\n @Prop() endpoint: VerdocsEndpoint = VerdocsEndpoint.getDefault();\n\n /**\n * Whether the fields should be editable (Builder)\n */\n @Prop() editable = false;\n\n /**\n * Whether the fields should be disabled (Builder)\n */\n @Prop() disabled = false;\n\n /**\n * Whether the field are interactable (done/submitted disables this)\n */\n @Prop() done = false;\n\n /**\n * The ID of the template the document is for.\n */\n @Prop({reflect: true}) templateId: string = '';\n\n /**\n * The ID of the document to display.\n */\n @Prop({reflect: true}) documentId: string = '';\n\n /**\n * The page number being rendered. (Reminder: page numbers are 1-based.)\n */\n @Prop({reflect: true}) 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-document-page-ker2fr1p9\">\n * <div id=\"verdocs-document-page-ker2fr1p9-page\"></div>\n * <div id=\"verdocs-document-page-ker2fr1p9-fields\"></div>\n * </div>\n * ```\n */\n @Prop() layers: IPageLayer[] = [{name: 'page', type: 'canvas'}];\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-document-page-${Math.random().toString(36).substring(2, 11)}`;\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 @State() skipFirstNotification = true;\n @State() pageDisplayUri = '';\n @State() xScale = 1;\n @State() yScale = 1;\n\n @State() loading = true;\n @State() template: ITemplate | null = null;\n\n async componentWillLoad() {\n this.pageDisplayUri = await getTemplateDocumentPageDisplayUri(this.endpoint, this.documentId, this.pageNumber);\n this.listenToTemplate();\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 componentDidUpdate() {\n // This is fired when fields are updated and triggers the parent to re-attach behaviors like drag-and-drop\n this.notifyRenderedSize();\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\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 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 const xScale = this.renderedWidth / this.virtualWidth;\n if (this.xScale !== xScale) {\n this.xScale = xScale;\n }\n\n const yScale = this.renderedHeight / this.virtualHeight;\n if (this.yScale !== yScale) {\n this.yScale = yScale;\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,\n yScale,\n });\n }\n\n render() {\n if (this.loading) {\n return (\n <Host>\n <img src=\"https://public-assets.verdocs.com/loading-placeholder.png\" class=\"placeholder\" alt=\"Placeholder page\" />\n </Host>\n );\n }\n\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-template-document-page-layer\" id={`${this.containerId}-${layer.name}`} style={{height}}>\n {layer.name === 'controls' &&\n (this.template?.fields || [])\n .filter(field => field && field.document_id === this.documentId && field.page === this.pageNumber)\n .map(field => {\n const id = getFieldId(field);\n let {name, type, multiline} = field;\n const {xScale, yScale, templateId, editable, disabled, done, pageNumber} = this;\n if (field['setting']?.leading > 0 || field['settings']?.leading > 0) {\n type = 'textarea';\n multiline = true;\n }\n switch (type as any) {\n case 'textbox':\n return (\n <verdocs-field-textbox\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n multiline={multiline}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'textarea':\n return (\n <verdocs-field-textarea\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'date':\n return (\n <verdocs-field-date\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'attachment':\n return (\n <verdocs-field-attachment\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'dropdown':\n return (\n <verdocs-field-dropdown\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'initial':\n return (\n <verdocs-field-initial\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'signature':\n return (\n <verdocs-field-signature\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, this.xScale, this.yScale)}\n />\n );\n case 'timestamp':\n return (\n <verdocs-field-timestamp\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'checkbox':\n return (\n <verdocs-field-checkbox\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n case 'radio':\n return (\n <verdocs-field-radio\n id={id}\n fieldname={name}\n source=\"template\"\n sourceid={templateId}\n editable={editable}\n disabled={disabled}\n done={done}\n xscale={xScale}\n yscale={yScale}\n pagenumber={pageNumber}\n style={getControlStyles(field, xScale, yScale)}\n />\n );\n default:\n return <Fragment>{name}</Fragment>;\n }\n })}\n </div>\n ) : this.pageDisplayUri ? (\n <img\n class=\"verdocs-template-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","@import '../../../theme.scss';\n\nverdocs-toolbar-icon {\n font-family: $verdocs-primary-font;\n //display: inline-block;\n display: flex;\n position: relative;\n align-items: center;\n justify-content: center;\n\n .icon {\n display: inline-block;\n cursor: pointer;\n\n svg {\n fill: $choice-available-color;\n }\n }\n\n .tooltip {\n display: none;\n box-shadow: 0 0 10px 1px #999999;\n background: #ffffff;\n color: $label-color;\n max-width: 240px;\n font-weight: bold;\n padding: 5px 10px;\n font-size: 13px;\n position: relative;\n border-radius: 4px;\n z-index: 20000;\n white-space: nowrap;\n\n .arrow,\n .arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n top: -4px;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n }\n\n &[data-show] {\n display: block;\n }\n\n &[data-popper-placement^='top'] > .arrow {\n bottom: -4px;\n }\n\n &[data-popper-placement^='bottom'] > .arrow {\n top: -4px;\n }\n\n &[data-popper-placement^='left'] > .arrow {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] > .arrow {\n left: -4px;\n }\n\n // For the floating menu\n &[data-popper-placement^='left'] {\n //margin-right: 22px !important;\n padding: 3px 10px;\n\n & > .arrow {\n right: -1px;\n }\n }\n }\n}\n","import {createPopper, Instance} from '@popperjs/core';\nimport {Component, h, Host, Prop, State} from '@stencil/core';\nimport {Placement} from '@popperjs/core/lib/enums';\n// import {Component, Event, EventEmitter, h, Host, Prop, State} from '@stencil/core';\n\n/**\n * Displays a simple help icon. Upon hover or focus, a tooltip will be displayed with help text.\n *\n * ```ts\n * <verdocs-toolbar-icon text=\"Sample tooltip text\" icon={CalendarIcon} />\n * ```\n */\n@Component({\n tag: 'verdocs-toolbar-icon',\n styleUrl: 'verdocs-toolbar-icon.scss',\n shadow: false,\n})\nexport class VerdocsToolbarIcon {\n iconEl: HTMLDivElement;\n tooltip: HTMLDivElement;\n popperInstance: Instance;\n\n /**\n * Help text to display on hover/focus\n */\n @Prop() text: string = '';\n\n /**\n * SVG icon to display\n */\n @Prop() icon: string = '';\n\n /**\n * Override the Popper \"placement\" setting\n */\n @Prop() placement: Placement = 'bottom';\n\n /**\n * Triggered when the icon is pressed\n */\n // @Event({composed: true}) press: EventEmitter;\n\n @State() containerId = `verdocs-toolbar-icon-${Math.random().toString(36).substring(2, 11)}`;\n\n componentDidLoad() {\n this.popperInstance = createPopper(this.iconEl, this.tooltip, {\n placement: this.placement,\n modifiers: this.placement === 'left' ? [{name: 'offset', options: {offset: [0, 20]}}] : [],\n });\n // placement: 'top-end',\n // modifiers: [{name: 'offset', options: {offset: [0, 10]}}],\n // });\n }\n\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n show() {\n this.tooltip?.setAttribute('data-show', '');\n this.popperInstance?.update().catch(() => {});\n }\n\n hide() {\n this.tooltip?.removeAttribute('data-show');\n }\n\n // handlePress() {\n // this.press?.emit();\n // }\n\n render() {\n return (\n <Host class={{}}>\n <div\n aria-describedby={this.containerId}\n class=\"icon\"\n innerHTML={this.icon}\n onMouseEnter={() => this.show()}\n onFocus={() => this.show()}\n onMouseLeave={() => this.hide()}\n onBlur={() => this.hide()}\n ref={el => (this.iconEl = el as HTMLDivElement)}\n />\n <div id={this.containerId} role=\"tooltip\" class=\"tooltip\" data-popper-placement={this.placement} ref={el => (this.tooltip = el as HTMLDivElement)}>\n {this.text}\n <div data-popper-arrow=\"true\" class=\"arrow\" />\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-
|
|
1
|
+
{"version":3,"file":"p-C2OP3llY.system.js","sources":["src/utils/Types.ts"],"sourcesContent":["export interface IDocumentPageInfo {\n containerId: string;\n documentId: string;\n pageNumber: number;\n virtualWidth: number;\n virtualHeight: number;\n renderedWidth: number;\n renderedHeight: number;\n naturalWidth: number;\n naturalHeight: number;\n aspectRatio: number;\n xScale: number;\n yScale: number;\n}\n\nexport interface IPageLayer {\n name: string;\n type: 'div' | 'canvas';\n}\n\nexport const FORMAT_TIMESTAMP = 'P pp';\n// export const FORMAT_TIMESTAMP = 'Y-MM-dd hh:mm:ss a';\nexport const FORMAT_DATE = 'P'\n// export const FORMAT_DATE = 'y-MM-dd'\n"],"names":[],"mappings":";;;;;AAoBO,SAAM,gBAAgB,gBAAG;GAChC;AACO,SAAM,WAAW,gBAAG;GAC3B;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-Baa2Y5Zk.system.js","sources":["src/components/controls/verdocs-pagination/verdocs-pagination.scss?tag=verdocs-pagination","src/components/controls/verdocs-pagination/verdocs-pagination.tsx","src/components/controls/verdocs-quick-filter/verdocs-quick-filter.scss?tag=verdocs-quick-filter","src/components/controls/verdocs-quick-filter/verdocs-quick-filter.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-pagination {\n gap: 8px;\n display: flex;\n flex-direction: row;\n font-family: $primary-font;\n\n .page-button {\n height: 38px;\n display: flex;\n flex: 0 0 38px;\n cursor: pointer;\n font-size: 16px;\n font-weight: 600;\n border-radius: 4px;\n align-items: center;\n justify-content: center;\n color: $verdocs-dark-blue;\n border: 1px solid $verdocs-purple;\n\n svg {\n width: 18px;\n height: 18px;\n }\n\n &.selected {\n cursor: default;\n color: $verdocs-grey-4;\n background: $verdocs-purple;\n }\n }\n\n .ellipsis {\n width: 38px;\n height: 38px;\n display: flex;\n flex: 0 0 38px;\n line-height: 32px;\n justify-content: center;\n color: $verdocs-dark-blue;\n }\n}\n","import {integerSequence} from '@verdocs/js-sdk';\nimport {Host, FunctionalComponent} from '@stencil/core';\nimport {Component, Prop, Element, h, Event, EventEmitter} from '@stencil/core';\n\nconst ChevronDoubleLeft = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M18.75 19.5l-7.5-7.5 7.5-7.5m-6 15L5.25 12l7.5-7.5\" /></svg>`;\n\nconst ChevronDoubleRight = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M11.25 4.5l7.5 7.5-7.5 7.5m-6-15l7.5 7.5-7.5 7.5\" /></svg>`;\n\ntype TPageNumber = number | 'first' | 'last';\n\nconst VISIBLE_PAGES = 5;\n\nconst PageButton: FunctionalComponent<{page: TPageNumber; selected: number; onClick: (page: TPageNumber) => void}> = ({page, selected, onClick}) => {\n let label;\n if (page === 'first') {\n label = ChevronDoubleLeft;\n } else if (page === 'last') {\n label = ChevronDoubleRight;\n } else {\n label = String(page + 1);\n }\n\n return <div class={`page-button ${page === selected ? 'selected' : ''}`} onClick={() => onClick(page)} innerHTML={label} />;\n};\n\n/**\n * Display a simple pagination control with individual buttons to move through the data set.\n *\n * ```ts\n * <verdocs-pagination\n * selectedPage={1}\n * itemCount={50}\n * perPage={10}\n * onSelectPage={(e) => {setSelectedpage(e.detail.selectedPage)}}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-pagination',\n styleUrl: 'verdocs-pagination.scss',\n})\nexport class VerdocsQuickFilter {\n @Element()\n el: HTMLElement;\n\n /**\n * The currently selected page.\n */\n @Prop({mutable: true, reflect: true}) selectedPage: number = 0;\n\n /**\n * The total number of items.\n */\n @Prop() itemCount: number = 1;\n\n /**\n * The number of displayed per page.\n */\n @Prop() perPage: number = 10;\n\n /**\n * Event fired when the selected page changes. The new page number is included in the event.\n */\n @Event({composed: true}) selectPage: EventEmitter<{selectedPage: number}>;\n\n handleSelectPage(page: number) {\n this.selectedPage = page;\n this.selectPage?.emit({selectedPage: page});\n }\n\n render() {\n const firstPage = Math.max(0, this.selectedPage - 2);\n const numPages = this.itemCount > 0 ? Math.ceil(this.itemCount / this.perPage) : 0;\n const pagesToDisplay = integerSequence(0, Math.ceil(this.itemCount / this.perPage)).slice(firstPage, firstPage + VISIBLE_PAGES);\n\n return (\n <Host>\n {this.selectedPage > 0 && <PageButton page={'first'} selected={this.selectedPage} onClick={() => this.handleSelectPage(0)} />}\n\n {firstPage > 0 && <div class=\"ellipsis\">...</div>}\n\n {pagesToDisplay.map(pageNumber => (\n <PageButton page={pageNumber} selected={this.selectedPage} onClick={page => this.handleSelectPage(+page)} />\n ))}\n\n {this.selectedPage < numPages - 1 && <div class=\"ellipsis\">...</div>}\n\n {this.selectedPage < numPages - 1 && <PageButton page={'last'} selected={this.selectedPage} onClick={() => this.handleSelectPage(numPages - 1)} />}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-quick-filter {\n position: relative;\n font-family: $primary-font;\n\n .control {\n outline: 0;\n height: 34px;\n display: flex;\n cursor: pointer;\n border-radius: 4px;\n align-items: center;\n flex-direction: row;\n box-sizing: border-box;\n background: $verdocs-grey-4;\n transition: all 100ms ease 0s;\n border: 1px solid $verdocs-bg-1;\n }\n\n .title {\n padding: 0 8px;\n font-size: 14px;\n max-width: 100%;\n overflow: hidden;\n color: $label-color;\n white-space: nowrap;\n box-sizing: border-box;\n text-overflow: ellipsis;\n\n .prefix {\n display: inline;\n font-weight: 700;\n margin: 0 7px 0 0;\n color: $secondary-color;\n }\n }\n\n .arrow {\n width: 32px;\n height: 32px;\n border: none;\n outline: none;\n cursor: pointer;\n align-items: center;\n display: inline-flex;\n justify-content: center;\n background: $verdocs-grey-4;\n transition: color 150ms ease 0s;\n\n svg {\n transition: 0.3s;\n fill: $verdocs-bg-1;\n }\n }\n\n .separator {\n width: 1px;\n display: block;\n margin-top: 8px;\n margin-bottom: 8px;\n align-self: stretch;\n box-sizing: border-box;\n background-color: $verdocs-bg-1;\n }\n\n .items {\n display: none;\n z-index: 10000;\n position: absolute;\n border-radius: 4px;\n background: $verdocs-grey-4;\n box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(0, 0, 0, 0.1) 0 4px 11px;\n }\n\n .items[data-show] {\n display: block;\n }\n\n .option {\n width: 100%;\n border: none;\n display: block;\n font-size: 14px;\n text-align: left;\n background: none;\n padding: 10px 20px;\n color: $verdocs-bg-5;\n }\n\n .option:hover {\n cursor: pointer;\n background: #4c56cb3f;\n }\n\n .option[disabled] {\n color: $light-disabled-color;\n }\n\n .option[disabled]:hover {\n cursor: inherit;\n background: transparent;\n color: $light-disabled-color;\n }\n\n &.open {\n .items {\n display: block;\n }\n\n .arrow svg {\n transform: scaleY(-1);\n }\n }\n}\n","import {Host} from '@stencil/core';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, Element, State, h, Event, EventEmitter} from '@stencil/core';\nimport {renderedTextWidth} from '../../../utils/utils';\n\nconst DropdownArrow = `<svg height=\"20\" width=\"20\" viewBox=\"0 0 20 20\" aria-hidden=\"true\" focusable=\"false\" class=\"css-8mmkcg\"><path d=\"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"></path></svg>`;\n\nexport interface IFilterOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\n/**\n * Display a drop-down menu of quick filter options.\n *\n * ```ts\n * <verdocs-quick-filter options={[...options]} value={1} label=\"Filter\" placeholder=\"All\" />\n * ```\n */\n@Component({\n tag: 'verdocs-quick-filter',\n styleUrl: 'verdocs-quick-filter.scss',\n})\nexport class VerdocsQuickFilter {\n @Element()\n el: HTMLElement;\n\n private dropdownButton?: HTMLElement;\n private dropdownMenu?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The menu options to display.\n */\n @Prop() options: IFilterOption[] = [];\n\n @Prop()\n label: string = 'Filter';\n\n @Prop({reflect: true, mutable: true})\n value: string = '';\n\n @Prop()\n placeholder: string = 'Select...';\n\n /**\n * Event fired when a menu option is clicked.\n * Web Component events need to be \"composed\" to cross the Shadow DOM and be received by parent frameworks.\n */\n @Event({composed: true}) optionSelected: EventEmitter<IFilterOption>;\n\n @State() open: boolean;\n\n // We need to do this to reliably disconnect the click-away listener\n clickListenerSymbol = new AbortController();\n componentDidLoad() {\n this.popper = createPopper(this.dropdownButton, this.dropdownMenu, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [-1, 14]}}]});\n\n window.addEventListener('click', this.clickListener.bind(this), {signal: this.clickListenerSymbol.signal});\n }\n\n disconnectedCallback() {\n this.clickListenerSymbol.abort();\n }\n\n clickListener(e: any) {\n const outside = !(e.target == this.el || this.el.contains(e.target));\n if (outside) {\n this.hide();\n }\n }\n\n handleSelectOption(e: any, option: IFilterOption) {\n e.stopPropagation();\n this.optionSelected.emit(option);\n this.value = option.value;\n this.hide();\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n this.open = true;\n this.dropdownMenu.setAttribute('data-show', '');\n this.dropdownMenu.removeAttribute('aria-hidden');\n\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }))\n .catch(() => {});\n\n this.popper?.update().catch(() => {});\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown(e: any) {\n e.stopPropagation();\n\n if (this.open) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.open = false;\n this.dropdownMenu.removeAttribute('data-show');\n this.dropdownMenu.setAttribute('aria-hidden', 'true');\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }))\n .catch(() => {});\n }\n\n render() {\n const selectedOption = this.options?.find(option => option.value === this.value);\n const longestOption = this.options?.reduce((prev, curr) => (prev.label.length > curr.label.length ? prev : curr));\n const longestLabelWidth = renderedTextWidth(longestOption?.label || 'FILLER', '14px Inter, Barlow, sans-serif');\n const prefixWidth = renderedTextWidth(this.label, '14px Inter, Barlow, sans-serif');\n const minWidth = `${longestLabelWidth + prefixWidth + 40}px`;\n\n return (\n <Host class={{open: !!this.open}} style={{minWidth, display: 'inline-block'}}>\n <div class=\"control\" onClick={e => this.toggleDropdown(e)} onBlur={e => this.handleHideDropdown(e)}>\n <div class=\"title\" ref={el => (this.dropdownButton = el as HTMLElement)}>\n <span class=\"prefix\">{this.label}:</span>\n {selectedOption ? selectedOption.label : this.placeholder}\n </div>\n\n <div style={{flex: '1'}} />\n\n <div class=\"separator\" />\n\n <div class=\"arrow\" innerHTML={DropdownArrow} aria-label=\"Open Menu\" />\n </div>\n\n <div class=\"items\" aria-hidden={!this.open} ref={el => (this.dropdownMenu = el as HTMLDivElement)} style={{minWidth}}>\n {this.options?.map(option =>\n option.label ? (\n <button onClick={e => this.handleSelectOption(e, option)} class={`option ${option.value === this.value ? 'selected' : ''}`} disabled={option.disabled}>\n {option.label}\n </button>\n ) : (\n <div class=\"separator\" />\n ),\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":["VerdocsQuickFilter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-C5FCNerT.system.js","sources":["src/components/controls/verdocs-pagination/verdocs-pagination.scss?tag=verdocs-pagination","src/components/controls/verdocs-pagination/verdocs-pagination.tsx","src/components/controls/verdocs-quick-filter/verdocs-quick-filter.scss?tag=verdocs-quick-filter","src/components/controls/verdocs-quick-filter/verdocs-quick-filter.tsx"],"sourcesContent":["@import '../../../theme.scss';\n\nverdocs-pagination {\n gap: 8px;\n display: flex;\n flex-direction: row;\n font-family: $primary-font;\n\n .page-button {\n height: 38px;\n display: flex;\n flex: 0 0 38px;\n cursor: pointer;\n font-size: 16px;\n font-weight: 600;\n border-radius: 4px;\n align-items: center;\n justify-content: center;\n color: $verdocs-dark-blue;\n border: 1px solid $verdocs-purple;\n\n svg {\n width: 18px;\n height: 18px;\n }\n\n &.selected {\n cursor: default;\n color: $verdocs-grey-4;\n background: $verdocs-purple;\n }\n }\n\n .ellipsis {\n width: 38px;\n height: 38px;\n display: flex;\n flex: 0 0 38px;\n line-height: 32px;\n justify-content: center;\n color: $verdocs-dark-blue;\n }\n}\n","import {integerSequence} from '@verdocs/js-sdk';\nimport {Host, FunctionalComponent} from '@stencil/core';\nimport {Component, Prop, Element, h, Event, EventEmitter} from '@stencil/core';\n\nconst ChevronDoubleLeft = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M18.75 19.5l-7.5-7.5 7.5-7.5m-6 15L5.25 12l7.5-7.5\" /></svg>`;\n\nconst ChevronDoubleRight = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M11.25 4.5l7.5 7.5-7.5 7.5m-6-15l7.5 7.5-7.5 7.5\" /></svg>`;\n\ntype TPageNumber = number | 'first' | 'last';\n\nconst VISIBLE_PAGES = 5;\n\nconst PageButton: FunctionalComponent<{page: TPageNumber; selected: number; onClick: (page: TPageNumber) => void}> = ({page, selected, onClick}) => {\n let label;\n if (page === 'first') {\n label = ChevronDoubleLeft;\n } else if (page === 'last') {\n label = ChevronDoubleRight;\n } else {\n label = String(page + 1);\n }\n\n return <div class={`page-button ${page === selected ? 'selected' : ''}`} onClick={() => onClick(page)} innerHTML={label} />;\n};\n\n/**\n * Display a simple pagination control with individual buttons to move through the data set.\n *\n * ```ts\n * <verdocs-pagination\n * selectedPage={1}\n * itemCount={50}\n * perPage={10}\n * onSelectPage={(e) => {setSelectedpage(e.detail.selectedPage)}}\n * />\n * ```\n */\n@Component({\n tag: 'verdocs-pagination',\n styleUrl: 'verdocs-pagination.scss',\n})\nexport class VerdocsQuickFilter {\n @Element()\n el: HTMLElement;\n\n /**\n * The currently selected page.\n */\n @Prop({mutable: true, reflect: true}) selectedPage: number = 0;\n\n /**\n * The total number of items.\n */\n @Prop() itemCount: number = 1;\n\n /**\n * The number of displayed per page.\n */\n @Prop() perPage: number = 10;\n\n /**\n * Event fired when the selected page changes. The new page number is included in the event.\n */\n @Event({composed: true}) selectPage: EventEmitter<{selectedPage: number}>;\n\n handleSelectPage(page: number) {\n this.selectedPage = page;\n this.selectPage?.emit({selectedPage: page});\n }\n\n render() {\n const firstPage = Math.max(0, this.selectedPage - 2);\n const numPages = this.itemCount > 0 ? Math.ceil(this.itemCount / this.perPage) : 0;\n const pagesToDisplay = integerSequence(0, Math.ceil(this.itemCount / this.perPage)).slice(firstPage, firstPage + VISIBLE_PAGES);\n\n return (\n <Host>\n {this.selectedPage > 0 && <PageButton page={'first'} selected={this.selectedPage} onClick={() => this.handleSelectPage(0)} />}\n\n {firstPage > 0 && <div class=\"ellipsis\">...</div>}\n\n {pagesToDisplay.map(pageNumber => (\n <PageButton page={pageNumber} selected={this.selectedPage} onClick={page => this.handleSelectPage(+page)} />\n ))}\n\n {this.selectedPage < numPages - 1 && <div class=\"ellipsis\">...</div>}\n\n {this.selectedPage < numPages - 1 && <PageButton page={'last'} selected={this.selectedPage} onClick={() => this.handleSelectPage(numPages - 1)} />}\n </Host>\n );\n }\n}\n","@import '../../../theme.scss';\n\nverdocs-quick-filter {\n position: relative;\n font-family: $primary-font;\n\n .control {\n outline: 0;\n height: 34px;\n display: flex;\n cursor: pointer;\n border-radius: 4px;\n align-items: center;\n flex-direction: row;\n box-sizing: border-box;\n background: $verdocs-grey-4;\n transition: all 100ms ease 0s;\n border: 1px solid $verdocs-bg-1;\n }\n\n .title {\n padding: 0 8px;\n font-size: 14px;\n max-width: 100%;\n overflow: hidden;\n color: $label-color;\n white-space: nowrap;\n box-sizing: border-box;\n text-overflow: ellipsis;\n\n .prefix {\n display: inline;\n font-weight: 700;\n margin: 0 7px 0 0;\n color: $secondary-color;\n }\n }\n\n .arrow {\n width: 32px;\n height: 32px;\n border: none;\n outline: none;\n cursor: pointer;\n align-items: center;\n display: inline-flex;\n justify-content: center;\n background: $verdocs-grey-4;\n transition: color 150ms ease 0s;\n\n svg {\n transition: 0.3s;\n fill: $verdocs-bg-1;\n }\n }\n\n .separator {\n width: 1px;\n display: block;\n margin-top: 8px;\n margin-bottom: 8px;\n align-self: stretch;\n box-sizing: border-box;\n background-color: $verdocs-bg-1;\n }\n\n .items {\n display: none;\n z-index: 10000;\n position: absolute;\n border-radius: 4px;\n background: $verdocs-grey-4;\n box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(0, 0, 0, 0.1) 0 4px 11px;\n }\n\n .items[data-show] {\n display: block;\n }\n\n .option {\n width: 100%;\n border: none;\n display: block;\n font-size: 14px;\n text-align: left;\n background: none;\n padding: 10px 20px;\n color: $verdocs-bg-5;\n }\n\n .option:hover {\n cursor: pointer;\n background: #4c56cb3f;\n }\n\n .option[disabled] {\n color: $light-disabled-color;\n }\n\n .option[disabled]:hover {\n cursor: inherit;\n background: transparent;\n color: $light-disabled-color;\n }\n\n &.open {\n .items {\n display: block;\n }\n\n .arrow svg {\n transform: scaleY(-1);\n }\n }\n}\n","import {Host} from '@stencil/core';\nimport {createPopper, Instance} from '@popperjs/core';\nimport {Component, Prop, Element, State, h, Event, EventEmitter} from '@stencil/core';\nimport {renderedTextWidth} from '../../../utils/utils';\n\nconst DropdownArrow = `<svg height=\"20\" width=\"20\" viewBox=\"0 0 20 20\" aria-hidden=\"true\" focusable=\"false\" class=\"css-8mmkcg\"><path d=\"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"></path></svg>`;\n\nexport interface IFilterOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\n/**\n * Display a drop-down menu of quick filter options.\n *\n * ```ts\n * <verdocs-quick-filter options={[...options]} value={1} label=\"Filter\" placeholder=\"All\" />\n * ```\n */\n@Component({\n tag: 'verdocs-quick-filter',\n styleUrl: 'verdocs-quick-filter.scss',\n})\nexport class VerdocsQuickFilter {\n @Element()\n el: HTMLElement;\n\n private dropdownButton?: HTMLElement;\n private dropdownMenu?: HTMLDivElement;\n private popper?: Instance;\n\n /**\n * The menu options to display.\n */\n @Prop() options: IFilterOption[] = [];\n\n @Prop()\n label: string = 'Filter';\n\n @Prop({reflect: true, mutable: true})\n value: string = '';\n\n @Prop()\n placeholder: string = 'Select...';\n\n /**\n * Event fired when a menu option is clicked.\n * Web Component events need to be \"composed\" to cross the Shadow DOM and be received by parent frameworks.\n */\n @Event({composed: true}) optionSelected: EventEmitter<IFilterOption>;\n\n @State() open: boolean;\n\n // We need to do this to reliably disconnect the click-away listener\n clickListenerSymbol = new AbortController();\n componentDidLoad() {\n this.popper = createPopper(this.dropdownButton, this.dropdownMenu, {placement: 'bottom-start', modifiers: [{name: 'offset', options: {offset: [-1, 14]}}]});\n\n window.addEventListener('click', this.clickListener.bind(this), {signal: this.clickListenerSymbol.signal});\n }\n\n disconnectedCallback() {\n this.clickListenerSymbol.abort();\n }\n\n clickListener(e: any) {\n const outside = !(e.target == this.el || this.el.contains(e.target));\n if (outside) {\n this.hide();\n }\n }\n\n handleSelectOption(e: any, option: IFilterOption) {\n e.stopPropagation();\n this.optionSelected.emit(option);\n this.value = option.value;\n this.hide();\n }\n\n // See https://popper.js.org/docs/v2/tutorial/\n // What we're doing here is clearing event listeners when they aren't needed, to increase performance in lists\n showDropdown() {\n this.open = true;\n this.dropdownMenu.setAttribute('data-show', '');\n this.dropdownMenu.removeAttribute('aria-hidden');\n\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: true}],\n }))\n .catch(() => {});\n\n this.popper?.update().catch(() => {});\n }\n\n handleHideDropdown(e: any) {\n if (e?.target?.localName === 'button' && e?.target?.className === 'arrow') {\n // This event is fired when a menu element is clicked because the button \"loses focus\" then too\n return;\n }\n\n this.hide();\n }\n\n toggleDropdown(e: any) {\n e.stopPropagation();\n\n if (this.open) {\n this.hide();\n } else {\n this.showDropdown();\n }\n }\n\n hide() {\n this.open = false;\n this.dropdownMenu.removeAttribute('data-show');\n this.dropdownMenu.setAttribute('aria-hidden', 'true');\n this.popper\n ?.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, {name: 'eventListeners', enabled: false}],\n }))\n .catch(() => {});\n }\n\n render() {\n const selectedOption = this.options?.find(option => option.value === this.value);\n const longestOption = this.options?.reduce((prev, curr) => (prev.label.length > curr.label.length ? prev : curr));\n const longestLabelWidth = renderedTextWidth(longestOption?.label || 'FILLER', '14px Inter, Barlow, sans-serif');\n const prefixWidth = renderedTextWidth(this.label, '14px Inter, Barlow, sans-serif');\n const minWidth = `${longestLabelWidth + prefixWidth + 40}px`;\n\n return (\n <Host class={{open: !!this.open}} style={{minWidth, display: 'inline-block'}}>\n <div class=\"control\" onClick={e => this.toggleDropdown(e)} onBlur={e => this.handleHideDropdown(e)}>\n <div class=\"title\" ref={el => (this.dropdownButton = el as HTMLElement)}>\n <span class=\"prefix\">{this.label}:</span>\n {selectedOption ? selectedOption.label : this.placeholder}\n </div>\n\n <div style={{flex: '1'}} />\n\n <div class=\"separator\" />\n\n <div class=\"arrow\" innerHTML={DropdownArrow} aria-label=\"Open Menu\" />\n </div>\n\n <div class=\"items\" aria-hidden={!this.open} ref={el => (this.dropdownMenu = el as HTMLDivElement)} style={{minWidth}}>\n {this.options?.map(option =>\n option.label ? (\n <button onClick={e => this.handleSelectOption(e, option)} class={`option ${option.value === this.value ? 'selected' : ''}`} disabled={option.disabled}>\n {option.label}\n </button>\n ) : (\n <div class=\"separator\" />\n ),\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":["VerdocsQuickFilter"],"mappings":"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"}
|