legalesign-document-viewer 1.0.0 → 1.0.2
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/{editorUtils-ClBh8Wv8.js → editorUtils-CRCLbYrX.js} +3 -3
- package/dist/cjs/{editorUtils-ClBh8Wv8.js.map → editorUtils-CRCLbYrX.js.map} +1 -1
- package/dist/cjs/{i18n-Cm3SP-DJ.js → i18n-e8JieHV6.js} +4 -2
- package/dist/cjs/{i18n-Cm3SP-DJ.js.map → i18n-e8JieHV6.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/ls-add-new-button_20.cjs.entry.js +47 -38
- package/dist/cjs/ls-assignee-select_21.cjs.entry.js +65 -27
- package/dist/cjs/ls-compose-loader_7.cjs.entry.js +12 -12
- package/dist/cjs/ls-compose-manager.cjs.entry.js +1 -1
- package/dist/cjs/ls-document-viewer.cjs.entry.js +26 -7
- package/dist/cjs/ls-document-viewer.cjs.js +1 -1
- package/dist/cjs/ls-field-alignment_3.cjs.entry.js +3 -3
- package/dist/cjs/ls-field-format_2.cjs.entry.js +1 -1
- package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js +3 -2
- package/dist/cjs/ls-field-type-display.cjs.entry.js +1 -1
- package/dist/cjs/ls-helper-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/{mouseHandlers-CsLRpRbC.js → mouseHandlers-BvqJ2tsu.js} +4 -4
- package/dist/cjs/{mouseHandlers-CsLRpRbC.js.map → mouseHandlers-BvqJ2tsu.js.map} +1 -1
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.css +0 -7
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +22 -3
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
- package/dist/collection/components/ls-editor-field/ls-editor-field.css +5 -2
- package/dist/collection/components/ls-editor-field/ls-editor-field.js +44 -15
- package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +1 -1
- package/dist/collection/components/ls-field-content/ls-field-content.js +30 -3
- package/dist/collection/components/ls-field-content/ls-field-content.js.map +1 -1
- package/dist/collection/components/ls-field-properties/ls-field-properties.css +1 -0
- package/dist/collection/components/ls-field-properties/ls-field-properties.js +33 -12
- package/dist/collection/components/ls-field-properties/ls-field-properties.js.map +1 -1
- package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js +1 -1
- package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js.map +1 -1
- package/dist/collection/components/ls-field-properties-checkbox/ls-field-properties-checkbox.css +1 -0
- package/dist/collection/components/ls-field-properties-checkbox/ls-field-properties-checkbox.js +22 -1
- package/dist/collection/components/ls-field-properties-checkbox/ls-field-properties-checkbox.js.map +1 -1
- package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js +22 -1
- package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js.map +1 -1
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.css +1 -0
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js +22 -1
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js.map +1 -1
- package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js +22 -1
- package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js.map +1 -1
- package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js +22 -1
- package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js.map +1 -1
- package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js +22 -1
- package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js.map +1 -1
- package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js +25 -4
- package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js.map +1 -1
- package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js +22 -1
- package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js.map +1 -1
- package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js +22 -1
- package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js.map +1 -1
- package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js +22 -1
- package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js.map +1 -1
- package/dist/collection/components/ls-field-type-select/ls-field-type-select.js +27 -5
- package/dist/collection/components/ls-field-type-select/ls-field-type-select.js.map +1 -1
- package/dist/collection/components/ls-left-bar/ls-left-bar.js +1 -1
- package/dist/collection/components/ls-left-bar/ls-left-bar.js.map +1 -1
- package/dist/collection/components/ls-recipient-card/ls-recipient-card.js +5 -6
- package/dist/collection/components/ls-recipient-card/ls-recipient-card.js.map +1 -1
- package/dist/collection/components/ls-statusbar/ls-statusbar.js +9 -9
- package/dist/collection/components/ls-statusbar/ls-statusbar.js.map +1 -1
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.css +7 -1
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.js +3 -3
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.js.map +1 -1
- package/dist/components/ls-assignee-select.js +1 -1
- package/dist/components/ls-compose-manager.js +1 -1
- package/dist/components/ls-document-options.js +1 -1
- package/dist/components/ls-document-viewer.js +63 -44
- package/dist/components/ls-document-viewer.js.map +1 -1
- package/dist/components/ls-editor-field.js +1 -1
- package/dist/components/ls-feature-column.js +1 -1
- package/dist/components/ls-field-alignment.js +1 -1
- package/dist/components/ls-field-content.js +1 -1
- package/dist/components/ls-field-dimensions.js +1 -1
- package/dist/components/ls-field-distribute.js +1 -1
- package/dist/components/ls-field-footer.js +1 -1
- package/dist/components/ls-field-format.js +1 -1
- package/dist/components/ls-field-placement.js +1 -1
- package/dist/components/ls-field-properties-advanced.js +1 -1
- package/dist/components/ls-field-properties-autosign.js +1 -1
- package/dist/components/ls-field-properties-checkbox.js +1 -1
- package/dist/components/ls-field-properties-container.js +1 -1
- package/dist/components/ls-field-properties-date.js +1 -1
- package/dist/components/ls-field-properties-dropdown.js +14 -12
- package/dist/components/ls-field-properties-dropdown.js.map +1 -1
- package/dist/components/ls-field-properties-email.js +1 -1
- package/dist/components/ls-field-properties-file.js +1 -1
- package/dist/components/ls-field-properties-general.js +1 -1
- package/dist/components/ls-field-properties-multiple.js +1 -1
- package/dist/components/ls-field-properties-number.js +1 -1
- package/dist/components/ls-field-properties-signature.js +1 -1
- package/dist/components/ls-field-properties-text.js +1 -1
- package/dist/components/ls-field-properties.js +1 -1
- package/dist/components/ls-field-size.js +1 -1
- package/dist/components/ls-field-type-display.js +1 -1
- package/dist/components/ls-field-type-select.js +1 -1
- package/dist/components/ls-helper-bar.js +1 -1
- package/dist/components/ls-keyboard-shortcuts.js +1 -1
- package/dist/components/ls-left-bar.js +1 -1
- package/dist/components/ls-participant-card.js +1 -1
- package/dist/components/ls-participant-manager.js +1 -1
- package/dist/components/ls-participant-select.js +1 -1
- package/dist/components/ls-recipient-card.js +1 -1
- package/dist/components/ls-recipient-manager.js +1 -1
- package/dist/components/ls-select-menu.js +1 -1
- package/dist/components/ls-statusbar.js +1 -1
- package/dist/components/ls-toolbar.js +1 -1
- package/dist/components/ls-validation-manager.js +1 -1
- package/dist/components/ls-validation-tag.js +1 -1
- package/dist/components/{p-D1fggKxb.js → p-1ayYzye1.js} +19 -17
- package/dist/components/p-1ayYzye1.js.map +1 -0
- package/dist/components/{p-D4VxGydf.js → p-8hWonZD4.js} +15 -13
- package/dist/components/p-8hWonZD4.js.map +1 -0
- package/dist/components/{p-BZ9KFHC1.js → p-BEhTmCBW.js} +15 -13
- package/dist/components/p-BEhTmCBW.js.map +1 -0
- package/dist/components/{p-CAm8iIfB.js → p-BJ7fvXXf.js} +15 -15
- package/dist/components/{p-CAm8iIfB.js.map → p-BJ7fvXXf.js.map} +1 -1
- package/dist/components/{p-CCSMbgUt.js → p-BUAS2e6p.js} +3 -3
- package/dist/components/{p-CCSMbgUt.js.map → p-BUAS2e6p.js.map} +1 -1
- package/dist/components/{p-CtT9DLf0.js → p-BbLFuN1Q.js} +4 -4
- package/dist/components/{p-CtT9DLf0.js.map → p-BbLFuN1Q.js.map} +1 -1
- package/dist/components/{p-CJIhr6ns.js → p-BgIA-QAy.js} +4 -4
- package/dist/components/{p-CJIhr6ns.js.map → p-BgIA-QAy.js.map} +1 -1
- package/dist/components/{p-Bi_4Swkx.js → p-Biay9ys2.js} +3 -3
- package/dist/components/{p-Bi_4Swkx.js.map → p-Biay9ys2.js.map} +1 -1
- package/dist/components/{p-C7WYjjf5.js → p-C1SFI6sR.js} +3 -3
- package/dist/components/{p-C7WYjjf5.js.map → p-C1SFI6sR.js.map} +1 -1
- package/dist/components/{p-4KjU_xHn.js → p-C3xBvNXU.js} +35 -35
- package/dist/components/p-C3xBvNXU.js.map +1 -0
- package/dist/components/{p-BUobLFxb.js → p-CRZNeYR8.js} +3 -3
- package/dist/components/{p-BUobLFxb.js.map → p-CRZNeYR8.js.map} +1 -1
- package/dist/components/{p-MKp33FTH.js → p-CSxx3aLG.js} +3 -3
- package/dist/components/{p-MKp33FTH.js.map → p-CSxx3aLG.js.map} +1 -1
- package/dist/components/{p-BJkRQ2hZ.js → p-CbORhuHl.js} +40 -38
- package/dist/components/p-CbORhuHl.js.map +1 -0
- package/dist/components/{p-Bg8qV5nN.js → p-Ce-55WxN.js} +5 -5
- package/dist/components/{p-Bg8qV5nN.js.map → p-Ce-55WxN.js.map} +1 -1
- package/dist/components/{p-CLScwmO_.js → p-CeO915wm.js} +16 -14
- package/dist/components/p-CeO915wm.js.map +1 -0
- package/dist/components/{p-CMiu82Dz.js → p-CgFpE1fV.js} +3 -3
- package/dist/components/{p-CMiu82Dz.js.map → p-CgFpE1fV.js.map} +1 -1
- package/dist/components/{p-C-5L6LAY.js → p-CgoyKNia.js} +3 -3
- package/dist/components/{p-C-5L6LAY.js.map → p-CgoyKNia.js.map} +1 -1
- package/dist/components/{p-M4AweDeo.js → p-CgqKV0xf.js} +15 -13
- package/dist/components/p-CgqKV0xf.js.map +1 -0
- package/dist/components/{p-CNxS5_JA.js → p-CmsA9-sZ.js} +15 -13
- package/dist/components/p-CmsA9-sZ.js.map +1 -0
- package/dist/components/{p-BmDtavNK.js → p-Cts0eCoL.js} +5 -5
- package/dist/components/{p-BmDtavNK.js.map → p-Cts0eCoL.js.map} +1 -1
- package/dist/components/{p-Bxlq9ywP.js → p-CvMzUIlC.js} +48 -19
- package/dist/components/p-CvMzUIlC.js.map +1 -0
- package/dist/components/{p-D844Ghcf.js → p-CxWGojFs.js} +3 -3
- package/dist/components/{p-D844Ghcf.js.map → p-CxWGojFs.js.map} +1 -1
- package/dist/components/{p-sivKnxmI.js → p-D02hM4Sf.js} +4 -4
- package/dist/components/{p-sivKnxmI.js.map → p-D02hM4Sf.js.map} +1 -1
- package/dist/components/{p-CBN6EOa6.js → p-D1yC5psL.js} +15 -13
- package/dist/components/p-D1yC5psL.js.map +1 -0
- package/dist/components/{p-Cznb3nhw.js → p-D4qAbKWM.js} +7 -7
- package/dist/components/p-D4qAbKWM.js.map +1 -0
- package/dist/components/{p-BiQfNAXm.js → p-DNx0Ngpa.js} +17 -9
- package/dist/components/p-DNx0Ngpa.js.map +1 -0
- package/dist/components/{p-CfOp4S4g.js → p-DRDChAg6.js} +3 -3
- package/dist/components/{p-CfOp4S4g.js.map → p-DRDChAg6.js.map} +1 -1
- package/dist/components/{p-DRIWa5EM.js → p-DWGdXqO4.js} +3 -3
- package/dist/components/{p-DRIWa5EM.js.map → p-DWGdXqO4.js.map} +1 -1
- package/dist/components/{p-883oa-R7.js → p-DX7Kb9cb.js} +11 -8
- package/dist/components/p-DX7Kb9cb.js.map +1 -0
- package/dist/components/{p-DUhCihul.js → p-Dab8K5mi.js} +3 -3
- package/dist/components/{p-DUhCihul.js.map → p-Dab8K5mi.js.map} +1 -1
- package/dist/components/{p-C0fuTQ5C.js → p-DkV1l_zw.js} +3 -3
- package/dist/components/{p-C0fuTQ5C.js.map → p-DkV1l_zw.js.map} +1 -1
- package/dist/components/{p-Rqv3ICkT.js → p-Dl8z1tmj.js} +3 -3
- package/dist/components/{p-Rqv3ICkT.js.map → p-Dl8z1tmj.js.map} +1 -1
- package/dist/components/{p-D9mePwWa.js → p-Dy-dPxzq.js} +15 -13
- package/dist/components/p-Dy-dPxzq.js.map +1 -0
- package/dist/components/{p-D7rSbima.js → p-DzUG2q_b.js} +3 -3
- package/dist/components/{p-D7rSbima.js.map → p-DzUG2q_b.js.map} +1 -1
- package/dist/components/{p-CKq4FH9m.js → p-Qxe4qT6a.js} +8 -9
- package/dist/components/p-Qxe4qT6a.js.map +1 -0
- package/dist/components/{p-Dbp-hj8N.js → p-WVWIAGo_.js} +4 -2
- package/dist/components/{p-Dbp-hj8N.js.map → p-WVWIAGo_.js.map} +1 -1
- package/dist/components/{p-CzT8SbWq.js → p-cjANxX0x.js} +3 -3
- package/dist/components/{p-CzT8SbWq.js.map → p-cjANxX0x.js.map} +1 -1
- package/dist/components/{p-ClKw7Zzi.js → p-fd9JyL4S.js} +15 -13
- package/dist/components/p-fd9JyL4S.js.map +1 -0
- package/dist/components/{p-DiPnUqQx.js → p-pEYsk7D-.js} +3 -3
- package/dist/components/{p-DiPnUqQx.js.map → p-pEYsk7D-.js.map} +1 -1
- package/dist/components/{p-DL5BPoYv.js → p-t7z4Xhda.js} +4 -4
- package/dist/components/{p-DL5BPoYv.js.map → p-t7z4Xhda.js.map} +1 -1
- package/dist/esm/{editorUtils-BZZzuy9j.js → editorUtils-DcBt3fOj.js} +3 -3
- package/dist/esm/{editorUtils-BZZzuy9j.js.map → editorUtils-DcBt3fOj.js.map} +1 -1
- package/dist/esm/{i18n-Dbp-hj8N.js → i18n-WVWIAGo_.js} +4 -2
- package/dist/esm/{i18n-Dbp-hj8N.js.map → i18n-WVWIAGo_.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/ls-add-new-button_20.entry.js +47 -38
- package/dist/esm/ls-assignee-select_21.entry.js +65 -27
- package/dist/esm/ls-compose-loader_7.entry.js +12 -12
- package/dist/esm/ls-compose-manager.entry.js +1 -1
- package/dist/esm/ls-document-viewer.entry.js +26 -7
- package/dist/esm/ls-document-viewer.entry.js.map +1 -1
- package/dist/esm/ls-document-viewer.js +1 -1
- package/dist/esm/ls-field-alignment_3.entry.js +3 -3
- package/dist/esm/ls-field-format_2.entry.js +1 -1
- package/dist/esm/ls-field-properties-dropdown.entry.js +3 -2
- package/dist/esm/ls-field-properties-dropdown.entry.js.map +1 -1
- package/dist/esm/ls-field-type-display.entry.js +1 -1
- package/dist/esm/ls-helper-bar_2.entry.js +1 -1
- package/dist/esm/{mouseHandlers-B8kiiTmD.js → mouseHandlers-CUHWhJed.js} +4 -4
- package/dist/esm/{mouseHandlers-B8kiiTmD.js.map → mouseHandlers-CUHWhJed.js.map} +1 -1
- package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
- package/dist/ls-document-viewer/p-3918ae76.entry.js +2 -0
- package/dist/ls-document-viewer/p-3918ae76.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-0643c987.entry.js → p-762b88d0.entry.js} +3 -3
- package/dist/ls-document-viewer/p-762b88d0.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-7e6cb6c0.entry.js +2 -0
- package/dist/ls-document-viewer/p-7e6cb6c0.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-46e88f8f.entry.js → p-7f610d52.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-BzuPIF0d.js → p-CEM1EUk-.js} +2 -2
- package/dist/ls-document-viewer/{p-BzuPIF0d.js.map → p-CEM1EUk-.js.map} +1 -1
- package/dist/ls-document-viewer/{p-CIrk12cz.js → p-ChvyHQhX.js} +2 -2
- package/dist/ls-document-viewer/{p-CIrk12cz.js.map → p-ChvyHQhX.js.map} +1 -1
- package/dist/ls-document-viewer/p-WVWIAGo_.js +2 -0
- package/dist/ls-document-viewer/{p-Dbp-hj8N.js.map → p-WVWIAGo_.js.map} +1 -1
- package/dist/ls-document-viewer/p-a27532c9.entry.js +2 -0
- package/dist/ls-document-viewer/p-a27532c9.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-78d72a41.entry.js → p-c47ad3e6.entry.js} +2 -2
- package/dist/ls-document-viewer/p-c56fd5ed.entry.js +2 -0
- package/dist/ls-document-viewer/p-c56fd5ed.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-e20e0bb4.entry.js → p-da9a034d.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-04e5ab9a.entry.js → p-e3cf0df0.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-b97e3ce3.entry.js → p-e4115319.entry.js} +2 -2
- package/dist/types/components/ls-editor-field/ls-editor-field.d.ts +1 -0
- package/dist/types/components/ls-field-content/ls-field-content.d.ts +2 -0
- package/dist/types/components/ls-field-properties/ls-field-properties.d.ts +1 -0
- package/dist/types/components/ls-field-properties-checkbox/ls-field-properties-checkbox.d.ts +1 -0
- package/dist/types/components/ls-field-properties-date/ls-field-properties-date.d.ts +1 -0
- package/dist/types/components/ls-field-properties-dropdown/ls-field-properties-dropdown.d.ts +1 -0
- package/dist/types/components/ls-field-properties-email/ls-field-properties-email.d.ts +1 -0
- package/dist/types/components/ls-field-properties-file/ls-field-properties-file.d.ts +1 -0
- package/dist/types/components/ls-field-properties-general/ls-field-properties-general.d.ts +1 -0
- package/dist/types/components/ls-field-properties-multiple/ls-field-properties-multiple.d.ts +1 -0
- package/dist/types/components/ls-field-properties-number/ls-field-properties-number.d.ts +1 -0
- package/dist/types/components/ls-field-properties-signature/ls-field-properties-signature.d.ts +1 -0
- package/dist/types/components/ls-field-properties-text/ls-field-properties-text.d.ts +1 -0
- package/dist/types/components/ls-field-type-select/ls-field-type-select.d.ts +2 -0
- package/dist/types/components/ls-statusbar/ls-statusbar.d.ts +1 -1
- package/dist/types/components.d.ts +106 -0
- package/package.json +1 -1
- package/dist/components/p-4KjU_xHn.js.map +0 -1
- package/dist/components/p-883oa-R7.js.map +0 -1
- package/dist/components/p-BJkRQ2hZ.js.map +0 -1
- package/dist/components/p-BZ9KFHC1.js.map +0 -1
- package/dist/components/p-BiQfNAXm.js.map +0 -1
- package/dist/components/p-Bxlq9ywP.js.map +0 -1
- package/dist/components/p-CBN6EOa6.js.map +0 -1
- package/dist/components/p-CKq4FH9m.js.map +0 -1
- package/dist/components/p-CLScwmO_.js.map +0 -1
- package/dist/components/p-CNxS5_JA.js.map +0 -1
- package/dist/components/p-ClKw7Zzi.js.map +0 -1
- package/dist/components/p-Cznb3nhw.js.map +0 -1
- package/dist/components/p-D1fggKxb.js.map +0 -1
- package/dist/components/p-D4VxGydf.js.map +0 -1
- package/dist/components/p-D9mePwWa.js.map +0 -1
- package/dist/components/p-M4AweDeo.js.map +0 -1
- package/dist/ls-document-viewer/p-0643c987.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-281fcd37.entry.js +0 -2
- package/dist/ls-document-viewer/p-281fcd37.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-6e6f2681.entry.js +0 -2
- package/dist/ls-document-viewer/p-6e6f2681.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-7be7fad4.entry.js +0 -2
- package/dist/ls-document-viewer/p-7be7fad4.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-8d6d8ce9.entry.js +0 -2
- package/dist/ls-document-viewer/p-8d6d8ce9.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-Dbp-hj8N.js +0 -2
- /package/dist/ls-document-viewer/{p-46e88f8f.entry.js.map → p-7f610d52.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-78d72a41.entry.js.map → p-c47ad3e6.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-e20e0bb4.entry.js.map → p-da9a034d.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-04e5ab9a.entry.js.map → p-e3cf0df0.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-b97e3ce3.entry.js.map → p-e4115319.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-4KjU_xHn.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,YAAY,GAAG,MAAM,CAAC,67GAA67G,CAAC;;MCa78G,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;;;;;IAGZ,IAAI,GAAqC,QAAQ;IACjD,QAAQ,GAA+B,EAAE;AACzC,IAAA,OAAO;AACP,IAAA,MAAM;IACN,aAAa,GAAW,IAAI;AAC5B,IAAA,QAAQ;AACR,IAAA,UAAU;IACV,gBAAgB,GAAsB,EAAE;AACxC,IAAA,iBAAiB;IACjB,YAAY,GAAY,KAAK;IAC7B,IAAI,GAAY,KAAK;IACrB,iBAAiB,GAAU,EAAE;AAE5B,IAAA,aAAa;AACb,IAAA,aAAa;AAGtB,IAAA,mBAAmB,CAAC,UAA+E,EAAA;AACjG,QAAA,IAAI,UAAU,KAAK,UAAU,EAAE;AAC7B,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAiC;AACnG,YAAA,IAAI,EAAE;AAAE,gBAAA,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;;AAC9B,aAAA,IAAI,UAAU,KAAK,aAAa,EAAE;AACvC,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,wBAAwB,CAAoC;AACzG,YAAA,IAAI,EAAE;AAAE,gBAAA,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;;AAC9B,aAAA,IAAI,UAAU,KAAK,YAAY,EAAE;AACtC,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,uBAAuB,CAAmC;AACvG,YAAA,IAAI,EAAE;AAAE,gBAAA,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;;;IAIvD,gBAAgB,GAAA;AACd,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC;QAChE,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AAC/D,YAAA,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AAC7D,YAAA,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;;;IAKnE,aAAa,GAAA;AACX,QAAA,IAAI;AACF,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,sBAAsB,CAAC;YAClF,IAAI,gBAAgB,EAAE;gBACpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,uBAAuB,CAAC;gBAC7E,IAAI,aAAa,EAAE;AACjB,oBAAA,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;;;;QAG1D,OAAO,CAAC,EAAE;;;;AAKN,IAAA,QAAQ,CAAC,aAAqB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;;AAGrF,IAAA,SAAS,CAAC,IAAmB,EAAA;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS;;AAC/F,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACxB,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS;;AAE1G,QAAA,OAAO,KAAK;;IAGN,qBAAqB,GAAA;QAC3B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI;AAChE,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EAClC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvC,CAAA,CAAA,SAAA,EAAA,EAAS,IAAI,EAAC,yBAAyB,EAAA,CAAG,CACtC,EACN,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,+BAA+B,EAAE,EAAA,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAM,EACnF,CACE,CAAA,QAAA,EAAA,EAAA,KAAK,EAAC,qBAAqB,EAC3B,OAAO,EAAE,CAAC,IAAG;AACX,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;gBACzB,CAAC,CAAC,cAAc,EAAE;AACpB,aAAC,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAClB,iBAAA,EAAA,eAAe,0BAAuB,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAAA,EAE7F,CAAS,CAAA,SAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,EAAE,EAAI,CAAA,CAC5B,CACL,EACN,CAAA,CAAA,qBAAA,EAAA,EAAqB,EAAE,EAAC,gBAAgB,EAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,EAAA,CAAwB,CAChK;;IAIF,aAAa,GAAA;AACnB,QAAA,QACE,WAAK,EAAE,EAAC,YAAY,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,eAAe,GAAG,cAAc,EAAA,EACvF,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAC/B,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,6BAA6B,EAAE,EAAA,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAM,EACxE,CAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,mCAAmC,EAAE,EAAA,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAK,CAC9E,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAC3E,wBACE,WAAW,EAAC,WAAW,EACvB,eAAe,EAAC,WAAW,EAC3B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,EACpC,aAAa,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,aAAa,EACxD,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,YAAY,EACtD,UAAU,EAAE,CAAC,EACb,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAC7C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,WAAW,GACnE,CACH,EACA,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAC9C,wBACE,WAAW,EAAC,OAAO,EACnB,eAAe,EAAC,WAAW,EAC3B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,EACnC,aAAa,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,aAAa,EACxD,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,YAAY,EACtD,UAAU,EAAE,IAAI,EAChB,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,WAAW,GACnE,CACH,EACA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KACpB,CAAA,CAAA,kBAAA,EAAA,EACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,MAAM,EACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EAC/B,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,aAAa,EACnD,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,EACjD,UAAU,EAAE,CAAC,EACb,IAAI,EAAC,WAAW,EAChB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,EACxC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,MAAM,GAC9D,CACH,EACA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAC/C,wBACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,cAAc,EAC9B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,EACtC,aAAa,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,aAAa,EAC3D,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,YAAY,EACzD,UAAU,EAAE,EAAE,EACd,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,EAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,cAAc,GACtE,CACH,EACA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KACpB,CAAA,CAAA,kBAAA,EAAA,EACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,MAAM,EACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EAC/B,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,aAAa,EACnD,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,EACjD,UAAU,EAAE,CAAC,EACb,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,EACxC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,MAAM,GAC9D,CACH,EACA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KACrB,CAAA,CAAA,kBAAA,EAAA,EACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,OAAO,EACvB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,EAChC,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EACpD,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAClD,UAAU,EAAE,CAAC,EACb,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,EACzC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,OAAO,GAC/D,CACH,EACA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KACxB,CAAA,CAAA,kBAAA,EAAA,EACE,WAAW,EAAC,UAAU,EACtB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,EACnC,aAAa,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,aAAa,EACvD,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,EACrD,UAAU,EAAE,IAAI,EAChB,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,UAAU,GAClE,CACH,EACA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KACtB,CAAA,CAAA,kBAAA,EAAA,EACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,QAAQ,EACxB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EACjC,aAAa,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,EACrD,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,YAAY,EACnD,UAAU,EAAE,EAAE,EACd,IAAI,EAAC,cAAc,EACnB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,QAAQ,GAChE,CACH,EACA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KACxB,CAAA,CAAA,kBAAA,EAAA,EACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,EACnC,aAAa,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,aAAa,EACvD,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,EACrD,UAAU,EAAE,EAAE,EACd,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,UAAU,GAClE,CACH,EACA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KACxB,CAAA,CAAA,kBAAA,EAAA,EACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,EACnC,aAAa,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,aAAa,EACvD,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,EACrD,UAAU,EAAE,EAAE,EACd,IAAI,EAAC,YAAY,EACjB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,UAAU,GAClE,CACH,EACA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KACxC,wBACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,oBAAoB,EACpC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,EAChC,aAAa,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC,aAAa,EACjE,YAAY,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC,YAAY,EAC/D,UAAU,EAAE,EAAE,EACd,IAAI,EAAC,WAAW,EAChB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,EACzC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,oBAAoB,GAC5E,CACH,EAEA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KACvC,wBACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,MAAM,EACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EAC/B,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,aAAa,EACnD,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,EACjD,UAAU,EAAE,EAAE,EACd,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,EACxC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,MAAM,GAC9D,CACH,EACA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KACxC,CAAA,CAAA,kBAAA,EAAA,EACE,WAAW,EAAC,MAAM,EAClB,eAAe,EAAC,aAAa,EAC7B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,EAChC,aAAa,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,aAAa,EAC1D,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,YAAY,EACxD,UAAU,EAAE,EAAE,EACd,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,EACzC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,KAAK,aAAa,EAAA,CACrE,CACH,CACG,CACF;;IAIF,YAAY,GAAA;QAClB,QACE,WAAK,EAAE,EAAC,aAAa,EAAC,KAAK,EAAC,gBAAgB,EAAA,EAC1C,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,sBAAsB,GAAG,cAAc,EAAA,EAChG,CAAA,CAAA,mBAAA,EAAA,EAAmB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAI,CAAA,EAC1H,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,sBAAsB,EAAO,CAAA,EACjE,IAAI,CAAC,aAAa,EAAE,EACrB,CAAA,CAAA,wBAAA,EAAA,EAAwB,EAAE,EAAC,wBAAwB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,aAAa,GAAG,eAAe,GAAG,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAI,CAAA,EACrM,CAAqB,CAAA,qBAAA,EAAA,EAAA,EAAE,EAAC,qBAAqB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,UAAU,GAAG,eAAe,GAAG,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAI,CAAA,EAChJ,CAAuB,CAAA,uBAAA,EAAA,EAAA,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,YAAY,GAAG,eAAe,GAAG,cAAc,GAAI,CACzH,EACL,IAAI,CAAC,qBAAqB,EAAE,CACzB;;IAIF,aAAa,GAAA;AACnB,QAAA,QACE,WAAK,EAAE,EAAC,aAAa,EAAC,KAAK,EAAC,gBAAgB,EAAA,EAC1C,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,sBAAsB,GAAG,cAAc,EAAA,EAC/F,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,sBAAsB,EAAO,CAAA,EAClE,CAAA,CAAA,sBAAA,EAAA,EAAsB,EAAE,EAAC,sBAAsB,EAAC,KAAK,EAAC,uBAAuB,EAAA,EAC3E,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,2BAA2B,EAAG,CAAA,EACzC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,8BAA8B,EAAG,CAAA,EAC5C,CAAmB,CAAA,mBAAA,EAAA,EAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAC,SAAS,EAAG,CAAA,EAC9I,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sBAAsB,EAC9B,EAAA,IAAI,CAAC,UAAU;AACd,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,KAC3B,CAAA,CAAA,mBAAA,EAAA,EACE,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,IAAI,CAAC,MAAM,EAC5B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACtB,mBAAA,EAAA,SAAS,CAAC,WAAW,EAAA,CACxC,CACH,CAAC,CACA,EACN,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,iBAAiB,EAAA,CAAQ,CACf,CACnB,EACL,IAAI,CAAC,qBAAqB,EAAE,CACzB;;IAIV,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-left-bar/ls-left-bar.scss?tag=ls-left-bar&encapsulation=shadow","src/components/ls-left-bar/ls-left-bar.tsx"],"sourcesContent":["/* 1. Use a more-intuitive box-sizing model */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n/* 2. Remove default margin */\n* {\n margin: 0;\n}\n\n/* 8. Avoid text overflows */\np,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n overflow-wrap: break-word;\n}\n\n/* 9. Improve line wrapping */\np {\n text-wrap: pretty;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n text-wrap: balance;\n}\n\n:host {\n display: flex;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n\n * {\n @include hide-scrollbars;\n }\n}\n\n.ls-dv-hidden {\n visibility: hidden;\n display: none;\n width: 0px;\n}\n\n#my-field-panel {\n position: relative;\n height: calc(100% - 4.313rem);\n}\n\n.ls-dv-left-box {\n position: relative;\n border-radius: 1.75rem;\n border: 1px solid $gray-30;\n background: $white;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n width: 21.25rem;\n margin: 1rem;\n min-width: 21.25rem;\n height: calc(100% - 2rem);\n max-height: calc(100% - 2rem);\n overflow: hidden;\n z-index: 1000;\n left: 0;\n top: 0;\n}\n\n.ls-dv-left-box-inner {\n position: relative;\n display: flex;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n padding: 0.75rem;\n gap: 0.75rem;\n}\n\n.ls-dv-toolbox {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n border-radius: 1.25rem;\n border: 1px solid $gray-30;\n background: $gray-10;\n padding: 0.75rem;\n gap: 1rem;\n overflow-y: auto;\n}\n\n.ls-dv-compose-toolbox {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: none;\n border-radius: 0;\n border: none;\n background: white;\n padding: 0.25rem;\n}\n\n.ls-dv-recipients-box {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n overflow-y: auto;\n /* width: calc(100% + 0.25rem); */\n padding: 0.75rem 0.25rem 0.25rem 0.25rem;\n height: 100%;\n}\n\n.ls-dv-scroll-gradient-top {\n position: absolute;\n top: 5.9375rem;\n left: 0;\n width: 100%;\n height: 1rem;\n background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0));\n pointer-events: none;\n z-index: 100;\n}\n\n.ls-dv-scroll-gradient-bottom {\n position: absolute;\n bottom: 1rem;\n left: 0.75rem;\n width: calc(100% - 1.5rem);\n height: 1rem;\n background: linear-gradient(to top, white, rgba(255, 255, 255, 0));\n pointer-events: none;\n z-index: 100;\n}\n\n.ls-dv-editor-infobox {\n padding: 0.125rem 0.5rem 0.125rem 0.5rem;\n}\n\n.ls-dv-toolbox-section-title {\n color: $gray-100;\n font-size: 1.125rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.75rem;\n /* 155.556% */\n}\n\n.ls-dv-toolbox-section-description {\n color: $gray-80;\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.ls-dv-fields-box {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.ls-dv-field-properties-outer {\n position: relative;\n height: 100%;\n}\n\n.ls-dv-properties-header {\n display: flex;\n padding: 1rem;\n gap: 0.75rem;\n align-items: center;\n border-bottom: 1px solid $gray-20;\n}\n\n.ls-dv-properties-header-title {\n color: $gray-100;\n width: 100%;\n font-size: 1.5rem;\n font-style: normal;\n font-weight: 500;\n line-height: 2rem;\n /* 133.333% */\n}\n\n.ls-dv-properties-header-icon {\n display: flex;\n padding: 0.5rem;\n border-radius: 0.625rem;\n background: $primary-10;\n color: $primary-60;\n}\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\nbutton {\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-lg);\n background-color: $primary-60;\n color: white;\n text-transform: capitalize;\n min-height: 2.25rem;\n min-width: 2.25rem;\n}\n\nbutton.ls-dv-tertiary-grey {\n border: 1px solid $gray-40;\n background-color: white;\n color: $gray-80;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\n.ls-dv-locked-overlay {\n position: absolute;\n top: 0;\n right: 0;\n width: calc(100% - 5rem);\n height: 100%;\n background: rgba(255, 255, 255, 0.6);\n border-radius: 1.25rem;\n z-index: 1001;\n pointer-events: all;\n}\n","import { Component, Prop, Event, EventEmitter, Element, Watch, h } from '@stencil/core';\nimport { LSApiTemplate } from '../../types/LSApiTemplate';\nimport { LSApiRoleType } from '../../types/LSApiRole';\nimport { ValidationError } from '../../types/ValidationError';\nimport { IToolboxField } from '../interfaces/IToolboxField';\nimport { dvI18n } from '../../i18n/i18n';\nimport { FIELD_DEFAULTS } from '../../constants/fieldDefaults';\n\n@Component({\n tag: 'ls-left-bar',\n styleUrl: 'ls-left-bar.scss',\n shadow: true,\n})\nexport class LsLeftBar {\n @Element() el: HTMLElement;\n\n @Prop() mode: 'editor' | 'compose' | 'preview' = 'editor';\n @Prop() selected: HTMLLsEditorFieldElement[] = [];\n @Prop() manager: 'document' | 'toolbox' | 'participant' | 'recipient' | 'validation';\n @Prop() signer: number;\n @Prop() filtertoolbox: string = null;\n @Prop() template: LSApiTemplate;\n @Prop() recipients: any[];\n @Prop() validationErrors: ValidationError[] = [];\n @Prop() fieldTypeSelected: IToolboxField;\n @Prop() displayTable: boolean = false;\n @Prop() busy: boolean = false;\n @Prop() selectedDataItems: any[] = [];\n\n @Event() managerChange: EventEmitter<'document' | 'toolbox' | 'participant' | 'recipient' | 'validation'>;\n @Event() clearSelected: EventEmitter<void>;\n\n @Watch('manager')\n managerWatchHandler(newManager: 'document' | 'toolbox' | 'participant' | 'recipient' | 'validation') {\n if (newManager === 'document') {\n const dm = this.el.shadowRoot.getElementById('ls-document-options') as HTMLLsDocumentOptionsElement;\n if (dm) dm.template = this.template;\n } else if (newManager === 'participant') {\n const pm = this.el.shadowRoot.getElementById('ls-participant-manager') as HTMLLsParticipantManagerElement;\n if (pm) pm.template = this.template;\n } else if (newManager === 'validation') {\n const vm = this.el.shadowRoot.getElementById('ls-validation-manager') as HTMLLsValidationManagerElement;\n if (vm) vm.validationErrors = this.validationErrors;\n }\n }\n\n componentDidLoad() {\n const leftBox = this.el.shadowRoot.getElementById('ls-left-box');\n if (leftBox) {\n leftBox.addEventListener('mousedown', e => e.stopPropagation());\n leftBox.addEventListener('mouseup', e => e.stopPropagation());\n leftBox.addEventListener('mousemove', e => e.stopPropagation());\n }\n }\n\n @Watch('signer')\n signerChanged() {\n try {\n const recipientManager = this.el.shadowRoot.getElementById('ls-recipient-manager');\n if (recipientManager) {\n const recipientsBox = recipientManager.querySelector('.ls-dv-recipients-box');\n if (recipientsBox) {\n recipientsBox.scrollTo({ top: 0, behavior: 'smooth' });\n }\n }\n } catch (e) {\n // fail silently\n }\n }\n\n private showTool(fieldFormType: string): boolean {\n return this.filtertoolbox === null || this.filtertoolbox.split('|').includes(fieldFormType);\n }\n\n private checkType(type: LSApiRoleType): boolean {\n if (this.mode === 'compose' && this.recipients) {\n return this.recipients.find(r => r.roleType === type && r.signerIndex === this.signer) !== undefined;\n } else if (this.template) {\n return this.template.roles.find(r => r.roleType === type && r.signerIndex === this.signer) !== undefined;\n }\n return false;\n }\n\n private renderFieldProperties() {\n if (this.displayTable || this.selected.length === 0) return null;\n return (\n <div class=\"ls-dv-field-properties-outer\">\n <div class=\"ls-dv-properties-header\">\n <div class=\"ls-dv-properties-header-icon\">\n <ls-icon name=\"pre-filled-content-icon\" />\n </div>\n <h1 class=\"ls-dv-properties-header-title\">{dvI18n.t('viewer.fieldproperties')}</h1>\n <button\n class=\"ls-dv-tertiary-grey\"\n onClick={e => {\n this.clearSelected.emit();\n e.preventDefault();\n }}\n style={{ borderRadius: '0.75rem' }}\n data-tooltip-id=\"ls-dv-tooltip\" data-tooltip-content={dvI18n.t('viewer.closepropertiespanel')}\n >\n <ls-icon name=\"x-icon\" size={20} />\n </button>\n </div>\n <ls-field-properties id=\"my-field-panel\" dataItem={this.selectedDataItems} template={this.template} readonly={this.template?.locked || false}></ls-field-properties>\n </div>\n );\n }\n\n private renderToolbox() {\n return (\n <div id=\"ls-toolbox\" class={this.manager === 'toolbox' ? 'ls-dv-toolbox' : 'ls-dv-hidden'}>\n <div class=\"ls-dv-editor-infobox\">\n <h2 class=\"ls-dv-toolbox-section-title\">{dvI18n.t('toolbox.title')}</h2>\n <p class=\"ls-dv-toolbox-section-description\">{dvI18n.t('toolbox.description')}</p>\n </div>\n <div class=\"ls-dv-fields-box\">\n {this.signer > 0 && this.showTool('signature') && !this.checkType('APPROVER') && (\n <ls-toolbox-field\n elementType=\"signature\"\n formElementType=\"signature\"\n label={dvI18n.t('toolbox.signature')}\n defaultHeight={FIELD_DEFAULTS['signature'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['signature'].defaultWidth}\n validation={0}\n icon=\"signature-icon\"\n tooltip={dvI18n.t('toolbox.signaturetooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'signature'}\n />\n )}\n {this.signer === 0 && this.showTool('auto sign') && (\n <ls-toolbox-field\n elementType=\"admin\"\n formElementType=\"auto sign\"\n label={dvI18n.t('toolbox.autosign')}\n defaultHeight={FIELD_DEFAULTS['auto sign'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['auto sign'].defaultWidth}\n validation={3000}\n icon=\"auto-sign-icon\"\n tooltip={dvI18n.t('toolbox.autosigntooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'auto sign'}\n />\n )}\n {this.showTool('text') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"text\"\n label={dvI18n.t('toolbox.text')}\n defaultHeight={FIELD_DEFAULTS['text'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['text'].defaultWidth}\n validation={0}\n icon=\"text-icon\"\n tooltip={dvI18n.t('toolbox.texttooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'text'}\n />\n )}\n {this.signer > 0 && this.showTool('signing date') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"signing date\"\n label={dvI18n.t('toolbox.signingdate')}\n defaultHeight={FIELD_DEFAULTS['signing date'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['signing date'].defaultWidth}\n validation={32}\n icon=\"auto-date-icon\"\n tooltip={dvI18n.t('toolbox.signingdatetooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'signing date'}\n />\n )}\n {this.showTool('date') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"date\"\n label={dvI18n.t('toolbox.date')}\n defaultHeight={FIELD_DEFAULTS['date'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['date'].defaultWidth}\n validation={4}\n icon=\"calender-icon\"\n tooltip={dvI18n.t('toolbox.datetooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'date'}\n />\n )}\n {this.showTool('email') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"email\"\n label={dvI18n.t('toolbox.email')}\n defaultHeight={FIELD_DEFAULTS['email'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['email'].defaultWidth}\n validation={1}\n icon=\"at-symbol-icon\"\n tooltip={dvI18n.t('toolbox.emailtooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'email'}\n />\n )}\n {this.showTool('initials') && (\n <ls-toolbox-field\n elementType=\"initials\"\n formElementType=\"initials\"\n label={dvI18n.t('toolbox.initials')}\n defaultHeight={FIELD_DEFAULTS['initials'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['initials'].defaultWidth}\n validation={2000}\n icon=\"initials-icon\"\n tooltip={dvI18n.t('toolbox.initialstooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'initials'}\n />\n )}\n {this.showTool('number') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"number\"\n label={dvI18n.t('toolbox.number')}\n defaultHeight={FIELD_DEFAULTS['number'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['number'].defaultWidth}\n validation={50}\n icon=\"hashtag-icon\"\n tooltip={dvI18n.t('toolbox.numbertooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'number'}\n />\n )}\n {this.showTool('dropdown') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"dropdown\"\n label={dvI18n.t('toolbox.dropdown')}\n defaultHeight={FIELD_DEFAULTS['dropdown'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['dropdown'].defaultWidth}\n validation={20}\n icon=\"dropdown-icon\"\n tooltip={dvI18n.t('toolbox.dropdowntooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'dropdown'}\n />\n )}\n {this.showTool('checkbox') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"checkbox\"\n label={dvI18n.t('toolbox.checkbox')}\n defaultHeight={FIELD_DEFAULTS['checkbox'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['checkbox'].defaultWidth}\n validation={25}\n icon=\"check-icon\"\n tooltip={dvI18n.t('toolbox.checkboxtooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'checkbox'}\n />\n )}\n {this.signer > 0 && this.showTool('regex') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"regular expression\"\n label={dvI18n.t('toolbox.regex')}\n defaultHeight={FIELD_DEFAULTS['regular expression'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['regular expression'].defaultWidth}\n validation={93}\n icon=\"code-icon\"\n tooltip={dvI18n.t('toolbox.regextooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'regular expression'}\n />\n )}\n\n {this.signer > 0 && this.showTool('file') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"file\"\n label={dvI18n.t('toolbox.file')}\n defaultHeight={FIELD_DEFAULTS['file'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['file'].defaultWidth}\n validation={74}\n icon=\"upload-icon\"\n tooltip={dvI18n.t('toolbox.filetooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'file'}\n />\n )}\n {this.signer > 0 && this.showTool('drawn') && (\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"drawn field\"\n label={dvI18n.t('toolbox.drawn')}\n defaultHeight={FIELD_DEFAULTS['drawn field'].defaultHeight}\n defaultWidth={FIELD_DEFAULTS['drawn field'].defaultWidth}\n validation={90}\n icon=\"pencil-icon\"\n tooltip={dvI18n.t('toolbox.drawntooltip')}\n signer={this.signer}\n isSelected={this.fieldTypeSelected?.formElementType === 'drawn field'}\n />\n )}\n </div>\n </div>\n );\n }\n\n private renderEditor() {\n return (\n <div id=\"ls-left-box\" class=\"ls-dv-left-box\">\n <div class={!this.selected || this.selected.length === 0 ? 'ls-dv-left-box-inner' : 'ls-dv-hidden'}>\n <ls-feature-column mode={this.mode} manager={this.manager} onManage={manager => this.managerChange.emit(manager.detail)} />\n {this.template?.locked && <div class=\"ls-dv-locked-overlay\"></div>}\n {this.renderToolbox()}\n <ls-participant-manager id=\"ls-participant-manager\" class={this.manager === 'participant' ? 'ls-dv-toolbox' : 'ls-dv-hidden'} activeSigner={this.signer} template={this.template} busy={this.busy} />\n <ls-document-options id=\"ls-document-options\" class={this.manager === 'document' ? 'ls-dv-toolbox' : 'ls-dv-hidden'} template={this.template} />\n <ls-validation-manager id=\"ls-validation-manager\" class={this.manager === 'validation' ? 'ls-dv-toolbox' : 'ls-dv-hidden'} />\n </div>\n {this.renderFieldProperties()}\n </div>\n );\n }\n\n private renderCompose() {\n return (\n <div id=\"ls-left-box\" class=\"ls-dv-left-box\">\n <div class={!this.selected || this.selected.length === 0 ? 'ls-dv-left-box-inner' : 'ls-dv-hidden'}>\n {this.template?.locked && <div class=\"ls-dv-locked-overlay\"></div>}\n <ls-recipient-manager id=\"ls-recipient-manager\" class=\"ls-dv-compose-toolbox\">\n <div class=\"ls-dv-scroll-gradient-top\" />\n <div class=\"ls-dv-scroll-gradient-bottom\" />\n <ls-validation-tag validationErrors={this.validationErrors} style={{ position: 'absolute', top: '1.125rem', right: '1rem' }} type=\"compose\" />\n <div class=\"ls-dv-recipients-box\">\n {this.recipients &&\n this.recipients.map(recipient => (\n <ls-recipient-card\n recipient={recipient}\n activeRecipient={this.signer}\n filtertoolbox={this.filtertoolbox}\n template={this.template}\n validationErrors={this.validationErrors}\n fieldTypeSelected={this.fieldTypeSelected}\n data-signer-index={recipient.signerIndex}\n />\n ))}\n </div>\n <slot name=\"recipient-panel\"></slot>\n </ls-recipient-manager>\n </div>\n {this.renderFieldProperties()}\n </div>\n );\n }\n\n render() {\n return this.mode === 'editor' ? this.renderEditor() : this.mode === 'compose' ? this.renderCompose() : null;\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-883oa-R7.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-field-type-select/ls-field-type-select.scss?tag=ls-field-type-select&encapsulation=shadow","src/components/ls-field-type-select/ls-field-type-select.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n* {\n margin: 0;\n}\n\n.ls-dv-fieldtype-dropdown {\n position: relative;\n width: 100%;\n}\n\n.ls-dv-fieldtype-header {\n border-radius: 1rem;\n padding: 0.25rem;\n}\n\n.ls-dv-fieldtype-inner {\n border-radius: 0.75rem;\n background: $white;\n display: flex;\n padding: 0.25rem 0.25rem 0.25rem 0.25rem;\n align-items: center;\n gap: 0.875rem;\n align-self: stretch;\n}\n\n.ls-dv-fieldtype-icon {\n display: flex;\n padding: 0.25rem;\n align-items: center;\n border-radius: 0.625rem;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.1);\n}\n\n.ls-dv-fieldtype-name {\n flex: 1;\n font-size: var(--text-sm);\n font-weight: 400;\n color: $gray-100;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: var(--font-family);\n text-transform: capitalize;\n}\n\n.ls-dv-fieldtype-btn {\n all: unset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n border-radius: 0.625rem;\n border: 1px solid $gray-40;\n background: $white;\n color: $gray-80;\n cursor: pointer;\n flex-shrink: 0;\n}\n\n.ls-dv-fieldtype-btn:hover {\n border-color: $gray-50;\n background: $gray-10;\n}\n\n.ls-dv-fieldtype-list {\n position: absolute;\n top: calc(100% + 0.25rem);\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n padding: 0.25rem;\n border-radius: 1rem;\n border: 1px solid $gray-30;\n background: $white;\n box-shadow:\n 0 10px 15px -3px rgba(0, 0, 0, 0.1),\n 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n z-index: 100;\n max-height: 15rem;\n overflow-y: auto;\n}\n\n.ls-dv-fieldtype-item {\n display: flex;\n padding: 0.5rem 0.75rem 0.5rem 0.5rem;\n align-items: center;\n gap: 0.75rem;\n border-radius: 0.75rem;\n cursor: pointer;\n}\n\n.ls-dv-fieldtype-item:hover {\n background: $gray-10;\n}\n\n.ls-dv-fieldtype-item.ls-dv-selected,\n.ls-dv-fieldtype-item.ls-dv-selected:hover {\n background: var(--background-selected, $gray-10);\n}\n\n.ls-dv-fieldtype-item-icon {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.ls-dv-fieldtype-item-name {\n flex: 1;\n color: $gray-100;\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-transform: capitalize;\n}\n\n.ls-dv-check-icon {\n color: $gray-40;\n flex-shrink: 0;\n}\n\n.ls-dv-fieldtype-item.ls-dv-selected .ls-dv-check-icon {\n color: var(--check-icon-selected);\n}\n","import { Component, Element, Host, Listen, h, Prop, Event, EventEmitter, State } from '@stencil/core';\nimport { LSApiRole } from '../../types/LSApiRole';\nimport { defaultRolePalette } from '../ls-document-viewer/defaultPalette';\nimport { getFieldIcon } from '../ls-document-viewer/defaultFieldIcons';\nimport { dvI18n } from '../../i18n/i18n';\n\nconst fieldTypeKeyMap: { [key: string]: string } = {\n 'signature': 'toolbox.signature',\n 'auto sign': 'toolbox.autosign',\n 'text': 'toolbox.text',\n 'signing date': 'toolbox.signingdate',\n 'date': 'toolbox.date',\n 'initials': 'toolbox.initials',\n 'checkbox': 'toolbox.checkbox',\n 'email': 'toolbox.email',\n 'number': 'toolbox.number',\n 'dropdown': 'toolbox.dropdown',\n 'file': 'toolbox.file',\n 'drawn field': 'toolbox.drawn',\n 'regular expression': 'toolbox.regex',\n};\n\n/** All field types in display order */\nconst ALL_FIELD_TYPES = [\n 'signature',\n 'text',\n 'signing date',\n 'date',\n 'email',\n 'initials',\n 'number',\n 'dropdown',\n 'checkbox',\n 'file',\n 'drawn field',\n 'regular expression',\n];\n\n/**\n * Returns the list of valid field types given role types of the selected fields.\n * - Sender: no signature, no initials, no file\n * - Approver: no signature, no auto sign, no initials, no file\n * - Signer/Witness: all except auto sign\n */\nconst getValidFieldTypes = (roleTypes: string[]): string[] => {\n let excluded: Set<string> = new Set();\n\n for (const roleType of roleTypes) {\n switch (roleType) {\n case 'SENDER':\n excluded.add('signature');\n excluded.add('initials');\n excluded.add('file');\n excluded.add('signing date');\n excluded.add('drawn field');\n excluded.add('regular expression');\n break;\n case 'APPROVER':\n excluded.add('signature');\n excluded.add('initials');\n excluded.add('file');\n break;\n default: // SIGNER, WITNESS\n break;\n }\n }\n\n return ALL_FIELD_TYPES.filter(ft => !excluded.has(ft));\n};\n\n@Component({\n tag: 'ls-field-type-select',\n styleUrl: 'ls-field-type-select.scss',\n shadow: true,\n})\nexport class LsFieldTypeSelect {\n @Element() el: HTMLElement;\n\n /** Current field type (e.g. 'text', 'signature') */\n @Prop() fieldType: string = 'text';\n /** Signer index for colour */\n @Prop() assignee: number = 1;\n /** Roles from the template for determining valid types */\n @Prop() roles: LSApiRole[] = [];\n /** Role types of the selected field(s) — used to filter valid types */\n @Prop() roleTypes: string[] = ['SIGNER'];\n /** Whether the select is disabled */\n @Prop() disabled: boolean = false;\n /** Show mixed state when multi-select has different field types */\n @Prop() mixed: boolean = false;\n\n @State() isOpen: boolean = false;\n\n @Event() fieldTypeChange: EventEmitter<string>;\n\n @Listen('click', { target: 'window' })\n handleWindowClick(event: MouseEvent) {\n if (this.isOpen && !this.el.shadowRoot.contains(event.composedPath()[0] as Node)) {\n this.isOpen = false;\n }\n }\n\n private toggleDropdown = () => {\n if (this.disabled) return;\n this.isOpen = !this.isOpen;\n };\n\n private selectFieldType(type: string) {\n this.isOpen = false;\n this.fieldTypeChange.emit(type);\n }\n\n render() {\n const color = defaultRolePalette[this.assignee % 100];\n const validTypes = getValidFieldTypes(this.roleTypes);\n const displayLabel = this.mixed\n ? dvI18n.t('fieldproperties.mixed')\n : dvI18n.t(fieldTypeKeyMap[this.fieldType] || 'toolbox.text');\n\n return (\n <Host>\n <div class=\"ls-dv-fieldtype-dropdown\">\n <div\n class=\"ls-dv-fieldtype-header\"\n style={{\n border: `1px dashed ${color.s30}`,\n background: color.s10,\n }}\n >\n <div class=\"ls-dv-fieldtype-inner\">\n <div\n class=\"ls-dv-fieldtype-icon\"\n style={{\n border: `1px solid ${color.s60}`,\n color: color.s60,\n background: color.s10,\n }}\n >\n <ls-icon name={this.mixed ? 'view-grid-icon' as any : getFieldIcon(this.fieldType) as any} size={20} />\n </div>\n <span class=\"ls-dv-fieldtype-name\">{displayLabel}</span>\n {!this.disabled && (\n <button\n class=\"ls-dv-fieldtype-btn\"\n onClick={e => {\n e.stopPropagation();\n this.toggleDropdown();\n }}\n data-tooltip-id=\"ls-dv-tooltip\"\n data-tooltip-content={dvI18n.t('fieldproperties.changefieldtype')}\n >\n <ls-icon name=\"switch-horizontal-icon\" size={16} />\n </button>\n )}\n </div>\n </div>\n {this.isOpen && (\n <div class=\"ls-dv-fieldtype-list\">\n {validTypes.map(type => (\n <div\n class={`ls-dv-fieldtype-item ${type === this.fieldType && !this.mixed ? 'ls-dv-selected' : ''}`}\n style={{\n '--background-selected': color.s10,\n '--check-icon-selected': color.s50,\n }}\n onClick={() => this.selectFieldType(type)}\n >\n <div\n class=\"ls-dv-fieldtype-item-icon\"\n style={{\n color: color.s60,\n }}\n >\n <ls-icon name={getFieldIcon(type) as any} size={16} />\n </div>\n <span class=\"ls-dv-fieldtype-item-name\">\n {dvI18n.t(fieldTypeKeyMap[type] || 'toolbox.text')}\n </span>\n <ls-icon\n class=\"ls-dv-check-icon\"\n name={type === this.fieldType && !this.mixed ? 'check-circle-icon' : 'base-circle-icon'}\n solid={type === this.fieldType && !this.mixed}\n />\n </div>\n ))}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BJkRQ2hZ.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-field-properties/ls-field-properties.scss?tag=ls-field-properties&encapsulation=shadow","src/components/ls-field-properties/ls-field-properties.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n padding: 1rem;\n}\n\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: $primary-60;\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: $primary-70;\n}\n\n.ls-dv-button-link,\n.ls-dv-button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 2.25rem;\n}\n\n.ls-dv-input-wrapper {\n position: relative;\n width: fit-content;\n}\n\n#selectorIcon {\n position: absolute;\n top: 50%;\n right: 0.675rem;\n transform: translateY(-50%);\n pointer-events: none;\n color: $gray-80;\n}\n\n#selectLeadingIcon {\n position: absolute;\n top: 50%;\n left: 0.675rem;\n transform: translateY(-50%);\n pointer-events: none;\n color: $gray-80;\n}\n\n.ls-dv-has-leading-icon {\n padding-left: 2.5rem;\n}\n\ninput,\nselect,\ntextarea {\n border: 1px solid $gray-40;\n box-shadow: 0 1px 0.125rem rgba(0, 0, 0, 0.05);\n padding: 0.5rem 0.75rem;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n border-radius: 0.625rem;\n color: $gray-100;\n font-weight: 400;\n}\n\ninput::placeholder,\nselect::placeholder,\ntextarea::placeholder {\n color: $gray-60;\n}\n\ninput:hover,\nselect:hover,\ntextarea:hover {\n border-color: $gray-50;\n background-color: $white;\n}\n\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-40;\n border-color: $primary-60;\n background-color: $white;\n}\n\ninput:active,\nselect:active,\ntextarea:active {\n border-color: $primary-50;\n}\n\ninput:disabled,\nselect:disabled,\ntextarea:disabled {\n cursor: not-allowed;\n background-color: $gray-10;\n}\n\ninput[type='checkbox'] {\n appearance: none;\n position: relative;\n height: 1rem;\n width: 1rem;\n padding: 0.25rem;\n border-radius: var(--radius-sm);\n border: 1px solid #d1d5db;\n background-color: #ffffff;\n cursor: pointer;\n}\n\ninput[type='checkbox']:checked,\ninput[type='checkbox'].ls-dv-indeterminate {\n background-color: $primary-60;\n border: none;\n}\n\ninput[type='checkbox']:checked::after {\n content: '';\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(-45deg) scale(-1, 1);\n width: 0.5rem;\n height: 0.25rem;\n border-bottom: 0.125rem solid white;\n border-right: 0.125rem solid white;\n}\n\ninput[type='checkbox'].ls-dv-indeterminate::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 0.5rem;\n height: 0.125rem;\n background-color: white;\n}\n\ninput[type='checkbox']:checked:hover,\ninput[type='checkbox'].ls-dv-indeterminate:hover {\n background-color: $primary-70;\n border: none;\n}\n\ninput[type='checkbox']:hover {\n border: 1px solid #9ca3af;\n}\n\ninput[type='checkbox']:focus,\ninput[type='checkbox']:active {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-20;\n background-color: #f0f4f8;\n}\n\ninput[type='checkbox']:disabled {\n background-color: #f3f4f6;\n outline: none;\n cursor: not-allowed;\n}\n\ninput[type='checkbox']:disabled:checked {\n background-color: #e5e7eb;\n border: none;\n outline: none;\n cursor: not-allowed;\n}\n\n.ls-dv-checkbox-container {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.ls-dv-checkbox-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.ls-dv-form-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem;\n}\n\n.ls-dv-form-field {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n width: 100%;\n}\n\n.ls-dv-loading-box {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n color: $primary-60;\n}\n\nbutton {\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-lg);\n background-color: $primary-60;\n color: white;\n text-transform: capitalize;\n min-height: 2.25rem;\n min-width: 2.25rem;\n}\n\nbutton.ls-dv-tertiary-grey {\n border: 1px solid $gray-40;\n background-color: white;\n color: $gray-80;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\n.ls-dv-button-group {\n display: flex;\n border-radius: 0.625rem;\n border: 1px solid $gray-30;\n background: $white;\n overflow: clip;\n}\n\n.ls-dv-button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: $gray-80;\n}\n\n.ls-dv-button-group button:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group > :first-child {\n border-radius: 0.625rem 0 0 0.625rem;\n}\n\n.ls-dv-button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.ls-dv-button-group > :not(:first-child) {\n border-left: 1px solid $gray-30;\n}\n\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { LSApiElement } from '../../types/LSApiElement';\n\n@Component({\n tag: 'ls-field-properties',\n styleUrl: 'ls-field-properties.scss',\n shadow: true,\n})\nexport class LsFieldProperties {\n @Prop() dataItem: LSApiElement[];\n @Prop() template: any; // LSApiTemplate\n @Prop() readonly: boolean = false;\n\n renderFields() {\n if (this.dataItem && this.dataItem?.length === 1) {\n const roles = this.template?.roles || [];\n switch (this.dataItem[0].formElementType) {\n case 'signature':\n return <ls-field-properties-signature dataItem={this.dataItem[0]} template={this.template} readonly={this.readonly} roles={roles} />\n case 'date':\n return <ls-field-properties-date dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n case 'signing date':\n return <ls-field-properties-date dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n case 'text':\n return <ls-field-properties-text dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n case 'number':\n return <ls-field-properties-number dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n case 'autosign':\n return <ls-field-properties-autosign dataItem={this.dataItem[0]} readonly={this.readonly} />\n case 'email':\n return <ls-field-properties-email dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n case 'file':\n return <ls-field-properties-file dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n case 'dropdown':\n return <ls-field-properties-file dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n case 'checkbox':\n return <ls-field-properties-checkbox dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n default:\n return <ls-field-properties-general dataItem={this.dataItem[0]} readonly={this.readonly} roles={roles} />\n\n }\n } else if (this.dataItem && this.dataItem?.length > 1)\n return <ls-field-properties-multiple dataItem={this.dataItem} readonly={this.readonly} roles={this.template?.roles || []} />\n\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n event.stopPropagation();\n }\n\n private handleKeyUp = (event: KeyboardEvent) => {\n event.stopPropagation();\n }\n\n render() {\n return (\n <Host onKeyDown={this.handleKeyDown} onKeyUp={this.handleKeyUp}>\n {this.dataItem && this.renderFields()}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BZ9KFHC1.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,0BAA0B,GAAG,MAAM,CAAC,u2JAAu2J,CAAC;;MCSr4J,uBAAuB,iBAAAA,kBAAA,CAAA,MAAA,uBAAA,SAAAC,CAAA,CAAA;;;;;;;;AAC1B,IAAA,QAAQ;IACR,KAAK,GAAgB,EAAE;IACvB,QAAQ,GAAY,KAAK;IAE7B,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAA+B,CAAA,+BAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,EAAA,EACzE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,SAAS,EAAA,EAC3C,CAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAkB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAI,CAAA,EACzF,CAAA,CAAA,8BAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAA8B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAI,CAC9E,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,YAAY,EAAA,EAC9C,CAAA,CAAA,qBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAqB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAI,CACrE,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,WAAW,EAAA,EAC7C,CAAA,CAAA,oBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAoB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAI,CACpE,CACwB,EAChC,CAAA,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAiB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAI,CAAA,CAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-field-properties-number/ls-field-properties-number.scss?tag=ls-field-properties-number&encapsulation=shadow","src/components/ls-field-properties-number/ls-field-properties-number.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n* {\n margin: 0;\n}\n\n.ls-dv-field-set {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n}\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: $primary-60;\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: $primary-70;\n}\n\n.ls-dv-button-link,\n.ls-dv-button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 2.25rem;\n width: 100%;\n}\n.ls-dv-has-leading-icon {\n padding-left: 2.5rem;\n}\n\n\ninput,\nselect,\ntextarea {\n border: 1px solid $gray-40;\n box-shadow: 0 1px 0.125rem rgba(0, 0, 0, 0.05);\n padding: 0.5rem 0.75rem;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n border-radius: 0.625rem;\n color: $gray-100;\n font-weight: 400;\n}\n\ninput::placeholder,\nselect::placeholder,\ntextarea::placeholder {\n color: $gray-60;\n}\n\ninput:hover,\nselect:hover,\ntextarea:hover {\n border-color: $gray-50;\n background-color: $white;\n}\n\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-40;\n border-color: $primary-60;\n background-color: $white;\n}\n\ninput:active,\nselect:active,\ntextarea:active {\n border-color: $primary-50;\n}\n\ninput:disabled,\nselect:disabled,\ntextarea:disabled {\n cursor: not-allowed;\n background-color: $gray-10;\n}\n\ninput[type='checkbox'] {\n appearance: none;\n position: relative;\n height: 1rem;\n width: 1rem;\n padding: 0.25rem;\n border-radius: var(--radius-sm);\n border: 1px solid #d1d5db;\n background-color: #ffffff;\n cursor: pointer;\n}\n\ninput[type='checkbox']:checked,\ninput[type='checkbox'].ls-dv-indeterminate {\n background-color: $primary-60;\n border: none;\n}\n\ninput[type='checkbox']:checked::after {\n content: '';\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(-45deg) scale(-1, 1);\n width: 0.5rem;\n height: 0.25rem;\n border-bottom: 0.125rem solid white;\n border-right: 0.125rem solid white;\n}\n\ninput[type='checkbox'].ls-dv-indeterminate::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 0.5rem;\n height: 0.125rem;\n background-color: white;\n}\n\ninput[type='checkbox']:checked:hover,\ninput[type='checkbox'].ls-dv-indeterminate:hover {\n background-color: $primary-70;\n border: none;\n}\n\ninput[type='checkbox']:hover {\n border: 1px solid #9ca3af;\n}\n\ninput[type='checkbox']:focus,\ninput[type='checkbox']:active {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-20;\n background-color: #f0f4f8;\n}\n\ninput[type='checkbox']:disabled {\n background-color: #f3f4f6;\n outline: none;\n cursor: not-allowed;\n}\n\ninput[type='checkbox']:disabled:checked {\n background-color: #e5e7eb;\n border: none;\n outline: none;\n cursor: not-allowed;\n}\n\n.ls-dv-checkbox-container {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.ls-dv-checkbox-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.ls-dv-form-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem;\n}\n\n.ls-dv-form-field {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n width: 100%;\n}\n\n.ls-dv-loading-box {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n color: $primary-60;\n}\n\nbutton {\n display: flex;\n gap: 0.5rem;\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-lg);\n background-color: $primary-60;\n color: white;\n font-weight: 500;\n text-transform: capitalize;\n min-height: 2.25rem;\n min-width: 2.25rem;\n}\n\nbutton.ls-dv-tertiary-grey {\n border: 1px solid $gray-40;\n background-color: white;\n color: $gray-80;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-secondary {\n border: 1px solid $gray-50;\n background: $white;\n color: $gray-90;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.1);\n}\n\nbutton.ls-dv-secondary:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-destructive {\n border: 1px solid $red-60;\n background-color: white;\n color: $red-60;\n}\n\nbutton.ls-dv-destructive:hover {\n border: 1px solid $red-70;\n background: $red-10;\n}\n\n\n\n.ls-dv-button-group {\n display: flex;\n border-radius: 0.625rem;\n border: 1px solid $gray-30;\n background: $white;\n overflow: clip;\n}\n\n.ls-dv-button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: $gray-80;\n}\n\n.ls-dv-button-group button:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group > :first-child {\n border-radius: 0.625rem 0 0 0.625rem;\n}\n\n.ls-dv-button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.ls-dv-button-group > :not(:first-child) {\n border-left: 1px solid $gray-30;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { LSApiElement } from '../../components';\nimport { LSApiRole } from '../../types/LSApiRole';\n\n@Component({\n tag: 'ls-field-properties-number',\n styleUrl: 'ls-field-properties-number.scss',\n shadow: true,\n})\nexport class LsFieldPropertiesNumber {\n @Prop() dataItem: LSApiElement;\n @Prop() roles: LSApiRole[] = [];\n @Prop() readonly: boolean = false;\n \n render() {\n return (\n <Host>\n <ls-field-properties-container tabs={['content', 'placement', 'dimensions']}>\n <div class={'ls-dv-field-set'} slot=\"content\">\n <ls-field-content dataItem={this.dataItem} roles={this.roles} readonly={this.readonly} />\n <ls-field-properties-advanced dataItem={this.dataItem} readonly={this.readonly} />\n </div>\n <div class={'ls-dv-field-set'} slot=\"dimensions\">\n <ls-field-dimensions dataItem={this.dataItem} readonly={this.readonly} />\n </div>\n <div class={'ls-dv-field-set'} slot=\"placement\">\n <ls-field-placement dataItem={this.dataItem} readonly={this.readonly} />\n </div>\n </ls-field-properties-container>\n <ls-field-footer dataItem={this.dataItem} readonly={this.readonly} />\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BiQfNAXm.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-field-content/ls-field-content.scss?tag=ls-field-content&encapsulation=shadow","src/components/ls-field-content/ls-field-content.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n}\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: $primary-60;\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: $primary-70;\n}\n\n.ls-dv-button-link,\n.ls-dv-button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 2.2rem;\n width: 100%;\n}\n.ls-dv-has-leading-icon {\n padding-left: 2.5rem;\n}\n\ninput,\nselect,\ntextarea {\n border: 1px solid $gray-40;\n box-shadow: 0 1px 0.125rem rgba(0, 0, 0, 0.05);\n padding: 0.5rem 0.75rem;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n border-radius: 0.625rem;\n color: $gray-100;\n font-weight: 400;\n}\n\ninput::placeholder,\nselect::placeholder,\ntextarea::placeholder {\n color: $gray-60;\n}\n\ninput:hover,\nselect:hover,\ntextarea:hover {\n border-color: $gray-50;\n background-color: $white;\n}\n\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-40;\n border-color: $primary-60;\n background-color: $white;\n}\n\ninput:active,\nselect:active,\ntextarea:active {\n border-color: $primary-50;\n}\n\ninput:disabled,\nselect:disabled,\ntextarea:disabled {\n cursor: not-allowed;\n background-color: $gray-10;\n}\n\ninput[type='checkbox'] {\n appearance: none;\n position: relative;\n height: 1rem;\n width: 1rem;\n padding: 0.25rem;\n border-radius: var(--radius-sm);\n border: 1px solid #d1d5db;\n background-color: #ffffff;\n cursor: pointer;\n}\n\ninput[type='checkbox']:checked,\ninput[type='checkbox'].ls-dv-indeterminate {\n background-color: $primary-60;\n border: none;\n}\n\ninput[type='checkbox']:checked::after {\n content: '';\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(-45deg) scale(-1, 1);\n width: 0.5rem;\n height: 0.25rem;\n border-bottom: 0.125rem solid white;\n border-right: 0.125rem solid white;\n}\n\ninput[type='checkbox'].ls-dv-indeterminate::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 0.5rem;\n height: 0.125rem;\n background-color: white;\n}\n\ninput[type='checkbox']:checked:hover,\ninput[type='checkbox'].ls-dv-indeterminate:hover {\n background-color: $primary-70;\n border: none;\n}\n\ninput[type='checkbox']:hover {\n border: 1px solid #9ca3af;\n}\n\ninput[type='checkbox']:focus,\ninput[type='checkbox']:active {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-20;\n background-color: #f0f4f8;\n}\n\ninput[type='checkbox']:disabled {\n background-color: #f3f4f6;\n outline: none;\n cursor: not-allowed;\n}\n\ninput[type='checkbox']:disabled:checked {\n background-color: #e5e7eb;\n border: none;\n outline: none;\n cursor: not-allowed;\n}\n\n.ls-dv-checkbox-container {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.ls-dv-checkbox-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.ls-dv-form-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem;\n}\n\n.ls-dv-form-field {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n width: 100%;\n}\n\n.ls-dv-loading-box {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n color: $primary-60;\n}\n\nbutton {\n display: flex;\n gap: 0.5rem;\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-lg);\n background-color: $primary-60;\n color: white;\n font-weight: 500;\n text-transform: capitalize;\n min-height: 2.25rem;\n min-width: 2.25rem;\n}\n\nbutton.ls-dv-tertiary-grey {\n border: 1px solid $gray-40;\n background-color: white;\n color: $gray-80;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-secondary {\n border: 1px solid $gray-50;\n background: $white;\n color: $gray-90;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.1);\n}\n\nbutton.ls-dv-secondary:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-destructive {\n border: 1px solid $red-60;\n background-color: white;\n color: $red-60;\n}\n\nbutton.ls-dv-destructive:hover {\n border: 1px solid $red-70;\n background: $red-10;\n}\n\n.ls-dv-button-group {\n display: flex;\n border-radius: 0.625rem;\n border: 1px solid $gray-30;\n background: $white;\n overflow: clip;\n}\n\n.ls-dv-button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: $gray-80;\n}\n\n.ls-dv-button-group button:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group > :first-child {\n border-radius: 0.625rem 0 0 0.625rem;\n}\n\n.ls-dv-button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.ls-dv-button-group > :not(:first-child) {\n border-left: 1px solid $gray-30;\n}\n\n.ls-dv-date-input-wrapper {\n position: relative;\n width: 100%;\n}\n\n.ls-dv-date-display {\n cursor: pointer;\n width: 100%;\n box-sizing: border-box;\n}\n\n.ls-dv-date-clear {\n position: absolute;\n right: 0.5rem;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n cursor: pointer;\n color: $gray-80;\n}\n\n.ls-dv-date-picker-hidden {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ls-dv-checkbox-toggle {\n display: flex;\n gap: 0.5rem;\n background: $gray-10;\n padding: 0.25rem;\n border-radius: 0.75rem;\n}\n\n.ls-dv-checkbox-toggle-btn {\n flex: 1;\n padding: 0.25rem;\n border-radius: 0.5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 0.875rem;\n color: $gray-80;\n text-transform: capitalize;\n cursor: pointer;\n border: none;\n background: transparent;\n transition: background 0.15s, box-shadow 0.15s;\n\n &:focus-visible {\n outline: 2px solid $gray-40;\n outline-offset: 2px;\n }\n\n &.ls-dv-active {\n background: white;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n }\n\n &:disabled {\n cursor: default;\n opacity: 0.5;\n }\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, Element, State, Watch, Listen } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { LSApiRole } from '../../types/LSApiRole';\nimport { validationTypes, getInputType } from '../ls-document-viewer/editorUtils';\nimport { getFieldPlaceholder, getFieldTitleSuggestion } from '../ls-document-viewer/defaultFieldLabels';\nimport { dvI18n } from '../../i18n/i18n';\nimport { validateFieldValue } from '../../utils/fieldValueValidator';\nimport { getDefaultValidationForType } from '../ls-field-type-select/fieldTypeUtils';\nimport { forceCloseDatePicker } from '../../utils/utils';\n\n@Component({\n tag: 'ls-field-content',\n styleUrl: 'ls-field-content.scss',\n shadow: true,\n})\nexport class LsFieldContent {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) dataItem: LSApiElement;\n @Prop() roles: LSApiRole[] = [];\n @Prop() showValidationTypes: boolean = true;\n @Prop() readonly: boolean = false;\n\n @State() valueError: string | null = null;\n @State() isDirty: boolean = false;\n\n @Watch('dataItem')\n watchDataItemHandler() {\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n this.isDirty = !!this.dataItem?.value && this.dataItem.value.length > 0;\n }\n\n componentWillLoad() {\n if (this.dataItem?.value) {\n this.isDirty = true;\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n }\n }\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n // Debounced alter for text inputs (value, label, options)\n alter(diff: object) {\n this.dataItem = { ...this.dataItem, ...diff };\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n this.debounce(this.dataItem, 1500);\n }\n\n // Immediate alter for instant actions (toggles, selects, dropdowns)\n alterImmediate(diff: object) {\n this.dataItem = { ...this.dataItem, ...diff };\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n }\n this.mutate.emit([{ action: 'update', data: this.dataItem }]);\n }\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n const isMod = e.ctrlKey || e.metaKey;\n if (isMod && (e.key === 'z' || e.key === 'Z' || e.key === 'y' || e.key === 'Y')) {\n e.preventDefault();\n e.stopPropagation();\n // Cancel any pending debounce (discard uncommitted changes)\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n }\n // Dispatch to document so our undo/redo handler picks it up\n document.dispatchEvent(new KeyboardEvent('keydown', {\n key: e.key,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n shiftKey: e.shiftKey,\n }));\n }\n }\n\n handleValueChange(value: string) {\n this.isDirty = value.length > 0;\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n value,\n this.dataItem?.options,\n );\n this.alter({ value });\n }\n\n private labeltimer;\n\n debounce(data, delay) {\n if (this.labeltimer) clearTimeout(this.labeltimer);\n\n this.labeltimer = setTimeout(() => {\n const diffs: LSMutateEvent[] = [{ action: 'update', data }];\n this.mutate.emit(diffs);\n }, delay);\n }\n\n supportsValue() {\n const typesWithValue = ['signature', 'initials', 'file', 'signing', 'autosign', 'signing date', 'auto sign', 'dropdown', 'checkbox', 'drawn field'];\n\n return !typesWithValue.includes(this.dataItem?.formElementType);\n }\n\n private getCheckboxStates(): string[] {\n const vType = validationTypes.find(v => v.id === this.dataItem?.validation);\n if (!vType) return [];\n return vType.description.split('/').reverse();\n }\n\n isDateField(): boolean {\n return getInputType(this.dataItem?.validation)?.inputType === 'date';\n }\n\n /**\n * Convert a formatted date value back to ISO (yyyy-mm-dd) for the native date input.\n */\n toISODate(value: string): string {\n if (!value) return '';\n const format = this.getDateFormat();\n if (!format) return value;\n\n const sep = format.match(/[/.-]/)?.[0] || '/';\n const parts = format.split(/[/.-]/);\n const valueParts = value.split(sep);\n if (valueParts.length < 2) return value;\n\n let y = '',\n m = '',\n d = '';\n parts.forEach((p, i) => {\n const v = valueParts[i] || '';\n if (p.startsWith('y')) y = v;\n else if (p.startsWith('m')) m = v;\n else if (p.startsWith('d')) d = v;\n });\n\n if (y.length === 2) y = '20' + y;\n if (!d) d = '01';\n\n return `${y.padStart(4, '0')}-${m.padStart(2, '0')}-${d.padStart(2, '0')}`;\n }\n\n /**\n * Convert an ISO date (yyyy-mm-dd) to the configured format.\n */\n formatDateFromISO(isoValue: string): string {\n if (!isoValue) return '';\n const [y, m, d] = isoValue.split('-');\n const format = this.getDateFormat();\n if (!format) return isoValue;\n\n return format\n .replace('yyyy', y)\n .replace('yy', y.slice(-2))\n .replace('mm', m)\n .replace('dd', d)\n .replace('d', String(parseInt(d)));\n }\n\n private getDateFormat(): string | null {\n const vType = validationTypes.find(v => v.id === this.dataItem?.validation);\n if (!vType || vType.inputType !== 'date') return null;\n return vType.description;\n }\n\n private getDateFormatById(validation: number): string | null {\n const vType = validationTypes.find(v => v.id === validation);\n if (!vType || vType.inputType !== 'date') return null;\n return vType.description;\n }\n\n private isSignatureType(): boolean {\n const fieldType = this.dataItem?.formElementType as string;\n return fieldType === 'signature' || fieldType === 'auto sign';\n }\n\n private getRoleType(): string {\n if (this.dataItem?.signer === 0) return 'SENDER';\n const role = this.roles?.find(r => r.signerIndex === this.dataItem?.signer);\n return role?.roleType || 'SIGNER';\n }\n\n private handleFieldTypeChange(newType: string) {\n const defaultValidation = getDefaultValidationForType(newType);\n const isSender = this.dataItem?.signer === 0;\n\n // Determine elementType based on formElementType\n let elementType: string;\n if (isSender) {\n elementType = 'admin';\n } else if (newType === 'signature') {\n elementType = 'signature';\n } else if (newType === 'initials') {\n elementType = 'initials';\n } else {\n elementType = 'text';\n }\n\n // Field types that don't support a user-editable value\n const noValueTypes = ['signature', 'initials', 'file', 'signing date', 'auto sign', 'date', 'dropdown', 'checkbox', 'drawn field'];\n // Also clear value when leaving a date field (formatted date values aren't valid for other types)\n const currentType = this.dataItem?.formElementType as string;\n const dateTypes = ['date', 'signing date'];\n const shouldClearValue = noValueTypes.includes(newType) || dateTypes.includes(currentType);\n\n const diff: any = {\n formElementType: newType as LSApiElement['formElementType'],\n elementType,\n validation: defaultValidation,\n };\n if (shouldClearValue) {\n diff.value = '';\n }\n\n this.dataItem = { ...this.dataItem, ...diff };\n this.mutate.emit([{ action: 'update', data: this.dataItem }]);\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n }\n\n private getSenderDisabledReason(): string {\n const signerOnlyTypes = ['signing date', 'regular expression', 'image', 'file', 'drawn', 'drawn field'];\n const fieldType = this.dataItem?.formElementType as string;\n if (signerOnlyTypes.includes(fieldType)) {\n const nameMap = {\n 'signing date': dvI18n.t('toolbox.signingdate'),\n 'regular expression': dvI18n.t('toolbox.regex'),\n 'image': dvI18n.t('toolbox.image'),\n 'file': dvI18n.t('toolbox.file'),\n 'drawn': dvI18n.t('toolbox.drawn'),\n 'drawn field': dvI18n.t('toolbox.drawn'),\n };\n return dvI18n.t('fieldproperties.cannotreassignsendersingle', { fieldTypes: nameMap[fieldType] || fieldType });\n }\n return '';\n }\n\n private handleReassign(newSigner: number) {\n const fieldType = this.dataItem?.formElementType as string;\n\n // Auto Sign reassigned away from Sender → becomes Signature\n if (fieldType === 'auto sign' && newSigner !== 0) {\n this.alterImmediate({ signer: newSigner, formElementType: 'signature', elementType: 'signature', validation: 0 });\n return;\n }\n\n // Signature reassigned to Sender → becomes Auto Sign\n if (fieldType === 'signature' && newSigner === 0) {\n this.alterImmediate({ signer: newSigner, formElementType: 'auto sign' as any, elementType: 'admin', validation: 3000 });\n return;\n }\n\n // Any field reassigned to Sender → elementType becomes 'admin'\n // Any field reassigned away from Sender → elementType reverts to its formElementType category\n if (newSigner === 0) {\n this.alterImmediate({ signer: newSigner, elementType: 'admin' });\n } else if (this.dataItem?.signer === 0) {\n const elType = (fieldType === 'initials') ? 'initials' : 'text';\n this.alterImmediate({ signer: newSigner, elementType: elType });\n } else {\n this.alterImmediate({ signer: newSigner });\n }\n }\n\n private handleFormatChange(newValidation: number) {\n const currentValue = this.dataItem?.value;\n if (!currentValue || !this.isDateField()) {\n this.alterImmediate({ validation: newValidation });\n return;\n }\n\n // Parse current value to ISO using the old format\n const oldFormat = this.getDateFormat();\n const newFormat = this.getDateFormatById(newValidation);\n if (!oldFormat || !newFormat) {\n this.alterImmediate({ validation: newValidation });\n return;\n }\n\n const parts = oldFormat.split(/[/.-]/);\n const sep = oldFormat.match(/[/.-]/)?.[0] || '/';\n const valueParts = currentValue.split(sep);\n if (valueParts.length < 2) {\n this.alterImmediate({ validation: newValidation });\n return;\n }\n\n let y = '',\n m = '',\n d = '';\n parts.forEach((p, i) => {\n const v = valueParts[i] || '';\n if (p.startsWith('y')) y = v;\n else if (p.startsWith('m')) m = v;\n else if (p.startsWith('d')) d = v;\n });\n\n if (y.length === 2) y = '20' + y;\n if (!d) d = '01';\n\n const newValue = newFormat\n .replace('yyyy', y.padStart(4, '0'))\n .replace('yy', y.slice(-2))\n .replace('mm', m.padStart(2, '0'))\n .replace('dd', d.padStart(2, '0'))\n .replace('d', String(parseInt(d)));\n\n this.alterImmediate({ validation: newValidation, value: newValue });\n }\n\n render() {\n return (\n <Host>\n {this.roles?.length > 0 && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.assignee')} sectionDescription={dvI18n.t('fieldproperties.assigneedescription')}>\n <ls-assignee-select\n signer={this.dataItem?.signer}\n roles={this.roles}\n disabled={this.readonly}\n disabledSenderReason={this.getSenderDisabledReason()}\n disabledApproverReason={this.isSignatureType() ? dvI18n.t('fieldproperties.signaturecannotapproversingle') : ''}\n onAssigneeChange={ev => this.handleReassign(ev.detail)}\n />\n </ls-props-section>\n )}\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.fieldtype')} sectionDescription={dvI18n.t('fieldproperties.fieldtypedescription')}>\n <ls-field-type-select\n fieldType={this.dataItem?.formElementType}\n assignee={this.dataItem?.signer}\n roles={this.roles}\n roleTypes={[this.getRoleType()]}\n disabled={this.readonly}\n onFieldTypeChange={ev => this.handleFieldTypeChange(ev.detail)}\n />\n </ls-props-section>\n {this.dataItem?.formElementType !== 'signature' && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.requiredfield')} row={true} sectionDescription={dvI18n.t('fieldproperties.requiredfielddescription')}>\n <ls-toggle id=\"toggle-required\" checked={!this.dataItem?.optional} onValueChange={ev => !this.readonly && this.alterImmediate({ optional: !ev.detail })} />\n </ls-props-section>\n )}\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.fieldlabel')} sectionDescription={dvI18n.t('fieldproperties.fieldlabeldescription')}>\n <ls-formfield\n as=\"text\"\n name=\"field-label\"\n value={this.dataItem?.label}\n placeholder={getFieldTitleSuggestion(this.dataItem?.formElementType)}\n disabled={this.readonly}\n onTextChange={e => this.alter({ label: e.detail.value })}\n />\n </ls-props-section>\n {this.supportsValue() && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.value')} sectionDescription={dvI18n.t('fieldproperties.valuedescription')}>\n {this.isDateField() ? (\n <div class=\"ls-dv-date-input-wrapper\">\n <input\n class=\"ls-dv-date-display\"\n type=\"text\"\n value={this.dataItem?.value}\n placeholder={this.getDateFormat()}\n readOnly\n onClick={() => {\n if (this.readonly) return;\n const picker = this.component.shadowRoot.getElementById('ls-date-picker') as HTMLInputElement;\n if (picker) picker.showPicker();\n }}\n />\n {this.dataItem?.value && !this.readonly && (\n <div class=\"ls-dv-date-clear\" onClick={() => this.alterImmediate({ value: '' })}>\n <ls-icon name=\"x-icon\" size={20} />\n </div>\n )}\n <input\n id=\"ls-date-picker\"\n class=\"ls-dv-date-picker-hidden\"\n type=\"date\"\n value={this.toISODate(this.dataItem?.value)}\n onInput={e => {\n const input = e.target as HTMLInputElement;\n this.alter({ value: this.formatDateFromISO(input.value) });\n forceCloseDatePicker(input);\n }}\n disabled={this.readonly}\n />\n </div>\n ) : (\n <ls-formfield\n as=\"text\"\n name=\"field-value\"\n value={this.dataItem?.value}\n placeholder={getFieldPlaceholder(this.dataItem?.formElementType)}\n valid={!this.valueError}\n dirty={this.isDirty}\n errorText={this.valueError}\n disabled={this.readonly}\n onTextChange={e => this.handleValueChange(e.detail.value)}\n />\n )}\n </ls-props-section>\n )}\n {this.dataItem.validation === 20 && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.options')} sectionDescription={dvI18n.t('fieldproperties.optionsdescription')}>\n <textarea\n value={this.dataItem?.options}\n placeholder=\"Option 1 Option 2 Option 3\"\n onInput={e => this.alter({ options: (e.target as HTMLTextAreaElement).value })}\n disabled={this.readonly}\n />\n </ls-props-section>\n )}\n\n {this.showValidationTypes && this.dataItem?.formElementType !== 'drawn field' && this.dataItem?.formElementType !== 'regular expression' && this.dataItem?.formElementType !== 'initials' && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.contentformat')} sectionDescription={dvI18n.t('fieldproperties.contentformatdescription')}>\n <ls-input-wrapper select>\n <select onChange={ev => !this.readonly && this.handleFormatChange(parseInt((ev.target as HTMLSelectElement).value))}>\n {validationTypes\n .filter(type => type.formType === this.dataItem?.formElementType)\n .map(type => (\n <option selected={this.dataItem?.validation === type.id} value={type.id}>\n {type.description}\n </option>\n ))}\n </select>\n </ls-input-wrapper>\n </ls-props-section>\n )}\n {this.dataItem?.formElementType === 'checkbox' && this.getCheckboxStates().length === 2 && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.displaystate')} sectionDescription={dvI18n.t('fieldproperties.displaystatedescription')}>\n <div class=\"ls-dv-checkbox-toggle\">\n {this.getCheckboxStates().map((state, idx) => (\n <button\n key={idx}\n class={{ 'ls-dv-checkbox-toggle-btn': true, 'ls-dv-active': idx === 0 ? this.dataItem?.value?.toString() !== 'true' : this.dataItem?.value?.toString() === 'true' }}\n onClick={() => !this.readonly && this.alterImmediate({ value: idx === 0 ? 'false' : 'true' })}\n disabled={this.readonly}\n >\n {state}\n </button>\n ))}\n </div>\n </ls-props-section>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-Bxlq9ywP.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-document-viewer/editorCalculator.ts","src/components/ls-document-viewer/adapter/templateActions.ts","src/utils/fieldValueValidator.ts","src/components/ls-document-viewer/validator.ts","src/components/ls-document-viewer/editorUtils.ts","src/components/ls-editor-field/ls-editor-field.scss?tag=ls-editor-field&encapsulation=shadow","src/components/ls-editor-field/ls-editor-field.tsx"],"sourcesContent":["import { LSApiElement } from '../../types/LSApiElement';\n\nexport const findIn = (fields: NodeListOf<HTMLLsEditorFieldElement>, selector: HTMLElement, restyle: boolean = false, additive: boolean = false): HTMLLsEditorFieldElement[] => {\n const selected: HTMLLsEditorFieldElement[] = new Array();\n const { top, left, bottom, right } = selector.getBoundingClientRect();\n\n fields.forEach(f => {\n if (f.getBoundingClientRect().bottom <= bottom && f.getBoundingClientRect().top >= top && f.getBoundingClientRect().left >= left && f.getBoundingClientRect().right <= right) {\n if (restyle) f.selected = true;\n selected.push(f);\n } else {\n if (restyle && !additive) f.selected = false;\n }\n });\n return selected;\n};\n\n// Used to append new fields (dropped or loaded from template data)\nexport function addField(frame: HTMLElement, data): HTMLLsEditorFieldElement {\n const fields = this._template.elementConnection.templateElements;\n this._template = { ...this._template, elementConnection: { ...this._template.elementConnection, templateElements: [...fields, data] } };\n const assignee = this.mode === 'compose' ? this._recipients?.find(r => r.signerIndex === data.signer) : this._template.roles.find(r => r.signerIndex === data.signer);\n const node = document.createElement('ls-editor-field');\n node.setAttribute('type', data.formElementType);\n node.setAttribute('id', 'ls-field-' + data.id);\n node.setAttribute(\n 'assignee',\n this.mode === 'compose' && assignee?.previousRecipientDecides\n ? 'To Be Decided'\n : this.mode === 'compose'\n ? `${assignee?.firstName} ${assignee?.lastName}`\n : assignee?.name || (data.signer === 0 ? 'Sender' : `Participant ${data.signer}`),\n );\n node.setAttribute('zoom', String(this.zoom));\n node.setAttribute('readonly', String(this.mode === 'preview' || this._template?.locked));\n // node.setAttribute('selected', 'selected');\n node.style.zIndex = '100';\n node.style.position = 'absolute';\n\n node.style.top = Math.floor(data.top * this.zoom) + 'px';\n node.style.left = Math.floor(data.left * this.zoom) + 'px';\n node.style.height = Math.floor(data.height * this.zoom) + 'px';\n node.style.width = Math.floor(data.width * this.zoom) + 'px';\n node.style.fontSize = Math.round(data.fontSize * this.zoom) + 'px';\n node.style.alignContent = data.align;\n node.style.fontFamily = data.fontName;\n node.dataItem = data;\n\n frame.appendChild(node);\n\n return node as any as HTMLLsEditorFieldElement;\n}\n\nexport function moveField(item: HTMLLsEditorFieldElement, data) {\n item.style.top = Math.floor(data.top * this.zoom) + 'px';\n item.style.left = Math.floor(data.left * this.zoom) + 'px';\n item.style.height = Math.floor(data.height * this.zoom) + 'px';\n item.style.width = Math.floor(data.width * this.zoom) + 'px';\n item.style.fontSize = Math.round(data.fontSize * this.zoom) + 'px';\n item.style.fontFamily = data.fontName;\n item.style.textAlign = data.align;\n item.dataItem = recalculateCoordinates(data);\n}\n\n// calculates html compatible coords at current zoom level\nexport const transformCoordinates = (\n sourceField: LSApiElement,\n inputFieldWidth: number,\n inputFieldHeight: number,\n viewerWidth: number,\n viewerHeight: number,\n left: number,\n top: number,\n fontName: string,\n fontSize: number,\n zoom: number,\n): LSApiElement => {\n // Returns X, Y coordinates\n const ax = left > 0 ? left / viewerWidth : 0;\n const ay = top > 0 ? top / viewerHeight : 0;\n const bx = (left + inputFieldWidth) / viewerWidth;\n const by = (top + inputFieldHeight) / viewerHeight;\n\n // Return with calculated styles that try to place it as it would appear on legacy signing page\n return {\n ...sourceField,\n ax,\n ay,\n bx,\n by,\n cstyle: {\n margin: 0,\n verticalAlign: 'top',\n boxSizing: 'content-box',\n fontSize: viewerWidth < 640 ? `${(fontSize / 24) * zoom}rem` : `${fontSize * zoom}px`,\n fontFamily: fontName || 'arial',\n width: `${(inputFieldWidth * bx - inputFieldWidth * ax) * zoom}px`, // app1 input has padding-x 3px\n height: `${inputFieldHeight * (by - ay) * zoom}px`, // app1 input has padding-y 2px\n // minHeight: `${inputFieldHeight * (BY - AY) * zoom - 2}px`,\n lineHeight: 'inherit',\n },\n divStyle: {\n position: 'absolute',\n top: `${inputFieldHeight * ay * zoom}px`,\n left: `${inputFieldWidth * ax * zoom}px`,\n width: `${(inputFieldWidth * bx - inputFieldWidth * ax) * zoom}px`,\n height: `${inputFieldHeight * (by - ay) * zoom}px`,\n zIndex: 1000,\n fontSize: viewerWidth < 640 ? `${(fontSize / 24) * zoom}rem` : `${fontSize * zoom}px`,\n },\n objectHeight: `${inputFieldHeight * (by - ay) * zoom}px`,\n };\n};\n\n// from a field element get all dimension data including LEGACY dimensions\nexport const findDimensions = (\n frameContainer: HTMLDivElement,\n sourceField: HTMLLsEditorFieldElement,\n pageHeight: number,\n pageWidth: number,\n zoom: number,\n): { top: number; left: number; height: number; width: number; ax: number; ay: number; bx: number; by: number } => {\n // Position of widget frame\n const frmDims = frameContainer.getBoundingClientRect();\n // dimensions relative to viewport\n const { height, width } = sourceField.getBoundingClientRect();\n const top = Math.round((sourceField.getBoundingClientRect().top - frmDims.top) / zoom);\n const left = Math.round((sourceField.getBoundingClientRect().left - frmDims.left) / zoom);\n\n // Returns X, Y coordinates\n const ax = left > 0 ? left / pageWidth : 0;\n const ay = top > 0 ? top / pageHeight : 0;\n const bx = (left + width / zoom) / pageWidth;\n const by = (top + height / zoom) / pageHeight;\n\n // Return with calculated styles that try to place it as it would appear on legacy signing page\n return {\n top,\n left,\n height: Math.round(height / zoom),\n width: Math.round(width / zoom),\n ax,\n ay,\n bx,\n by,\n };\n};\n\n// from a field element get all dimension data including LEGACY dimensions\nexport const recalculateCoordinates = (d: LSApiElement): LSApiElement => {\n // Returns X, Y coordinates\n const ax = d.left / d.pageDimensions.width;\n const ay = d.top / d.pageDimensions.height;\n const bx = (d.left + d.width) / d.pageDimensions.width;\n const by = (d.top + d.height) / d.pageDimensions.height;\n\n // Return with calculated styles that try to place it as it would appear on legacy signing page\n return {\n ...d,\n ax,\n ay,\n bx,\n by,\n };\n};\n\n// from a field determinse if out of bounds\nexport const oob = (d: LSApiElement): boolean => {\n return d.left < 0 || d.top < 0 || d.left + d.width > d.pageDimensions.width || d.top + d.height > d.pageDimensions.height;\n};\n","// Add a role\nconst updateTemplate = template => {\n return `\n mutation LDVupdateTemplate {\n updateTemplate(input: {\n templateId: \"${template.id}\", \n title: \"${template.title}\",\n locked: ${template.locked},\n documentRetentionDays: ${template.documentRetentionDays},\n autoArchive: ${template.autoArchive},\n fixSignatureScale: ${template.fixSignatureScale ? template.fixSignatureScale : false}\n })\n }\n `;\n};\n\nconst getTemplate = (id: string) => {\n return `\n query LDVGetTemplate {\n template(id: \"${id}\") {\n id\n title\n fileName\n pageDimensions\n pageCount\n modified\n link\n valid\n locked\n autoArchive\n archived\n tags\n created\n createdBy\n lastSent\n fixSignatureScale\n groupId\n documentRetentionDays\n roles{\n id\n name\n roleType\n signerIndex\n ordinal\n signerParent\n experience\n }\n elementConnection {\n templateElements {\n align\n ax\n ay\n bx\n by\n elementType\n formElementType\n fieldOrder\n fontName\n fontSize\n helpText\n hideBorder\n id\n label\n labelExtra\n logicAction\n logicGroup\n mapTo\n options\n optional\n page\n role\n signer\n substantive\n validation\n value\n }\n totalCount\n }\n userSignatureConnection {\n userSignatureElements {\n id\n userId\n ax\n ay\n bx\n by\n page\n link\n }\n }\n }\n }\n `;\n};\n\nexport { updateTemplate, getTemplate };\n","/**\n * Validates a field value based on its formElementType and validation ID.\n * Returns null if valid, or a translation key string if invalid.\n * Empty values always return null (required/optional is handled separately).\n */\nimport { dvI18n } from '../i18n/i18n';\n\nexport const validateFieldValue = (\n formElementType: string,\n validation: number,\n value: string,\n options?: string,\n): string | null => {\n if (!value || value === '') return null;\n\n if (formElementType === 'text') {\n return validateText(validation, value);\n }\n\n if (formElementType === 'number') {\n return validateNumber(validation, value);\n }\n\n if (formElementType === 'email') {\n return validateEmail(value);\n }\n\n if (formElementType === 'dropdown' && validation === 20) {\n return validateDropdownValue(value, options);\n }\n\n return null;\n};\n\nconst validateText = (validation: number, value: string): string | null => {\n // Character length validations (65–72 → 1–8 characters)\n if (validation >= 65 && validation <= 72) {\n const requiredLength = validation - 64;\n if (value.length !== requiredLength) {\n return dvI18n.t('fieldvalidation.exactcharacters', { count: requiredLength });\n }\n return null;\n }\n\n // Title case (77)\n if (validation === 77) {\n const titleCased = value.replace(/\\w\\S*/g, txt => txt.charAt(0).toUpperCase() + txt.slice(1).toLowerCase());\n if (value !== titleCased) {\n return dvI18n.t('fieldvalidation.titlecase');\n }\n return null;\n }\n\n // Uppercase (78)\n if (validation === 78) {\n if (value !== value.toUpperCase()) {\n return dvI18n.t('fieldvalidation.uppercase');\n }\n return null;\n }\n\n // Lowercase (79)\n if (validation === 79) {\n if (value !== value.toLowerCase()) {\n return dvI18n.t('fieldvalidation.lowercase');\n }\n return null;\n }\n\n return null;\n};\n\nconst validateNumber = (validation: number, value: string): string | null => {\n // Whole number (50)\n if (validation === 50) {\n if (!/^\\d+$/.test(value)) return dvI18n.t('fieldvalidation.wholenumber');\n return null;\n }\n\n // Number with optional decimal (51)\n if (validation === 51) {\n if (!/^\\d+(\\.\\d+)?$/.test(value)) return dvI18n.t('fieldvalidation.number');\n return null;\n }\n\n // Currency (52)\n if (validation === 52) {\n if (!/^\\d+\\.\\d{2}$/.test(value)) return dvI18n.t('fieldvalidation.currency');\n return null;\n }\n\n // Exact digit count (53–64 → 1–12 digits)\n if (validation >= 53 && validation <= 64) {\n const requiredDigits = validation - 52;\n const pattern = new RegExp(`^\\\\d{${requiredDigits}}$`);\n if (!pattern.test(value)) {\n return dvI18n.t('fieldvalidation.exactdigits', { count: requiredDigits });\n }\n return null;\n }\n\n return null;\n};\n\nconst validateEmail = (value: string): string | null => {\n const emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailPattern.test(value)) {\n return dvI18n.t('fieldvalidation.email');\n }\n return null;\n};\n\nconst validateDropdownValue = (value: string, options?: string): string | null => {\n if (!options || options.trim() === '') return null;\n const optionList = options.split('\\n').map(o => o.trim()).filter(o => o.length > 0);\n if (optionList.length === 0) return null;\n if (!optionList.includes(value)) {\n return dvI18n.t('fieldvalidation.dropdownoption');\n }\n return null;\n};\n","/**\n * This module contains all the rules required to mark a template\n * as valid.\n *\n */\n\nimport { LSApiTemplate } from '../../types/LSApiTemplate';\nimport { ValidationError } from '../../types/ValidationError';\nimport { validateFieldValue } from '../../utils/fieldValueValidator';\nimport { dvI18n } from '../../i18n/i18n';\n\nexport function validate(t: LSApiTemplate): ValidationError[] {\n var errors = [];\n\n if (this._recipients) {\n this._recipients.forEach(tr => {\n if (t.elementConnection.templateElements.filter(e => e.formElementType === 'signature' && e.signer === tr.signerIndex).length === 0) {\n if (tr?.roleType !== 'APPROVER') {\n errors.push({\n id: tr.id,\n signerIndex: tr.signerIndex,\n title: dvI18n.t('validation.missingsignature'),\n description: dvI18n.t('validation.recipientmissingsignature', { name: tr.name }),\n role: tr,\n type: 'signature',\n });\n }\n }\n });\n } else {\n // Check for missing signatures\n t.roles.forEach(tr => {\n if (t.elementConnection.templateElements.filter(e => e.formElementType === 'signature' && e.signer === tr.signerIndex).length === 0) {\n if (tr?.roleType !== 'APPROVER') {\n errors.push({\n id: tr.id,\n signerIndex: tr.signerIndex,\n title: dvI18n.t('validation.missingsignature'),\n description: dvI18n.t('validation.recipientmissingsignature', { name: tr.name }),\n role: tr,\n type: 'signature',\n });\n }\n }\n });\n }\n\n // Check for missing multi-select options\n t.elementConnection.templateElements.forEach(element => {\n if (element.validation === 20 && (!element.options || element.options.length === 0)) {\n const roles = this._recipients || t.roles;\n const role = roles?.find(r => r.signerIndex === element.signer);\n errors.push({\n id: element.id,\n signerIndex: element.signer,\n title: element.label || dvI18n.t('toolbox.dropdown'),\n description: role?.firstName ? `${role.firstName} ${role.lastName}` : role?.name || dvI18n.t('participants.participant', { index: (element.signer || 0) + 1 }),\n element: element,\n role: role,\n type: 'options',\n });\n }\n });\n\n // Check for invalid pre-filled values\n t.elementConnection.templateElements.forEach(element => {\n if (element.value) {\n const error = validateFieldValue(element.formElementType, element.validation, element.value, element.options);\n if (error) {\n const roles = this._recipients || t.roles;\n const role = roles?.find(r => r.signerIndex === element.signer);\n errors.push({\n id: element.id,\n signerIndex: element.signer,\n title: element.label || element.formElementType,\n description: error,\n element: element,\n role: role,\n type: 'value',\n });\n }\n }\n });\n\n return errors;\n}\n","/**\n * These utils are used to make document-viewer more readable\n * but they must be called using the bind() function so that\n * all code is executed within the correct 'this' scope.\n *\n * Avoid using arrow functions here as they reassign \"thiss\"\n */\n\nimport { LSApiElement } from '../../types/LSApiElement';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { ValidationType } from '../../types/ValidationType';\nimport { getTemplate } from './adapter/templateActions';\nimport { addField } from './editorCalculator';\nimport { validate } from './validator';\nimport { updateCreatedId } from './history';\n\n/**\n * Determines if an element will be plotted out of bounds, i.e. off\n * the page.\n */\nexport function oob(obj: LSApiElement): boolean {\n if (obj.left + obj.width > obj.pageDimensions.width || obj.top < 0 || obj.left < 0 || obj.top + obj.height > obj.pageDimensions.height) return true;\n else return false;\n}\n\nexport function alter(diffFn) {\n const diffs: LSMutateEvent[] = this.selected.map(c => {\n return { action: 'update', data: diffFn(c.dataItem) as LSApiElement };\n });\n this.mutate.emit(diffs);\n}\n\nexport function resetDataItems() {\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n this.selected = Array.from(fields).filter(fx => fx.selected);\n this.selectFields.emit(this.selected.map(fx => fx.dataItem));\n}\n\nexport function debounce(func, timeout = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n}\n\n// After a mutation ensure that the new data is stored in fields and template\nexport function matchData(data: { result: any; obj: any; event: LSMutateEvent }) {\n const newObj = data.result;\n const prefix = atob(data.obj.id).substring(0, 3);\n // because mutations return the ID back with the mutation name we just assume its the first (and only) JSON prop\n const id = newObj[Object.keys(newObj)[0]];\n\n if (data.event.action === 'create') {\n if (prefix === 'ele') {\n addField.bind(this)(this.component.shadowRoot.getElementById('ls-document-frame'), { ...data.obj, id });\n updateCreatedId(data.obj.id, id);\n\n this.update.emit({ event: { ...data.event, result: data.result }, template: this._template });\n this.validationErrors = validate.bind(this)(this._template);\n }\n }\n\n if (prefix === 'rol') { \n return syncRoles.bind(this)().then(() => {\n this.update.emit({ event: { ...data.event, result: data.result }, template: this._template });\n });\n \n }\n\n if (prefix === 'tpl') {\n this._template = { ...this._template, ...data.obj };\n this.validationErrors = validate.bind(this)(this._template);\n this.update.emit({ event: { ...data.event, result: data.result }, template: this._template });\n }\n}\n\nexport async function syncRoles() {\n const leftBar = this.component.shadowRoot.querySelector('ls-left-bar') as HTMLLsLeftBarElement;\n const participantManager = leftBar?.shadowRoot?.getElementById('ls-participant-manager') as HTMLLsParticipantManagerElement;\n const tresult = (await this.adapter.execute(this.token, getTemplate(this.templateid))) as any;\n console.log(tresult);\n this.parseTemplate(JSON.stringify(tresult.template));\n if (participantManager) participantManager.template = this._template;\n this.generateFields();\n this.showPageFields(this.pageNum);\n this.validationErrors = validate.bind(this)(this._template);\n}\n\n// Utility function which extracts the type from any API id\nexport function getApiType(obj: any) {\n if (!obj?.id) return 'invalid';\n\n const apiId = atob(obj.id);\n if (apiId.length < 3) return 'invalid';\n\n const prefix = atob(obj.id).substring(0, 3);\n\n switch (prefix) {\n case 'ele':\n return 'element';\n case 'rol':\n return 'role';\n case 'tpl':\n return 'template';\n case 'doc':\n return 'document';\n default:\n return 'unknown';\n }\n}\n\nexport const validationTypes: any = [\n { id: 0, description: 'general purpose', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 30, description: 'yyyy/mm/dd (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 31, description: 'yy/mm/dd (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 32, description: 'dd/mm/yyyy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'text' },\n { id: 33, description: 'dd/mm/yy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 34, description: 'mm/dd/yyyy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 35, description: 'mm/dd/yy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 36, description: 'yyyy.mm.dd (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 37, description: 'yy.mm.dd (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 38, description: 'dd.mm.yyyy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 39, description: 'dd.mm.yy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 40, description: 'mm.dd.yyyy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 41, description: 'mm.dd.yy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 42, description: 'yyyy-mm-dd (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 43, description: 'yy-mm-dd (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 44, description: 'dd-mm-yyyy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 45, description: 'dd-mm-yy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 46, description: 'mm-dd-yyyy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 47, description: 'mm-dd-yy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 48, description: 'd mmmm yyyy (auto sign day)', formType: 'signing date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 73, description: 'Secret Code', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 77, description: 'Title caps (force text to title caps)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 78, description: 'Uppercase (force text to uppercase)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 79, description: 'Lowercase (force text to lowercase)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 65, description: '1 character (any text)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 66, description: '2 character (any text)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 67, description: '3 character (any text)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 68, description: '4 character (any text)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 69, description: '5 character (any text)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 70, description: '6 character (any text)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 71, description: '7 character (any text)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 72, description: '8 character (any text)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 1000, description: 'First name field (special use)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'text' },\n { id: 1001, description: 'Last name field (special use)', formType: 'text', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'text' },\n { id: 1, description: 'Email', formType: 'email', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'text' },\n { id: 1002, description: 'Email field (special use)', formType: 'email', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 50, description: 'Whole number', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'number' },\n { id: 51, description: 'Number', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 52, description: 'Currency', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 53, description: '1 number', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 54, description: '2 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 55, description: '3 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 56, description: '4 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 57, description: '5 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 58, description: '6 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 59, description: '7 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 60, description: '8 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 61, description: '9 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 62, description: '10 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 63, description: '11 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 64, description: '12 numbers', formType: 'number', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'number' },\n { id: 2, description: 'yyyy/mm/dd', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'date' },\n { id: 3, description: 'yy/mm/dd', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 4, description: 'dd/mm/yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'date' },\n { id: 5, description: 'dd/mm/yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 6, description: 'mm/dd/yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 7, description: 'mm/dd/yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 80, description: 'mm/yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 81, description: 'mm/yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 8, description: 'yyyy.mm.dd', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 9, description: 'yy.mm.dd', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 10, description: 'dd.mm.yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 11, description: 'dd.mm.yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 12, description: 'mm.dd.yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 13, description: 'mm.dd.yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 82, description: 'mm.yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 83, description: 'mm.yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 14, description: 'yyyy-mm-dd', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 15, description: 'yy-mm-dd', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 16, description: 'dd-mm-yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 17, description: 'dd-mm-yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 18, description: 'mm-dd-yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 19, description: 'mm-dd-yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 84, description: 'mm-yy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 85, description: 'mm-yyyy', formType: 'date', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'date' },\n { id: 20, description: 'Dropdown List', formType: 'dropdown', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'text' },\n { id: 91, description: 'Countries', formType: 'dropdown', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 92, description: 'Name prefix titles', formType: 'dropdown', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 24, description: '✔/✗', formType: 'checkbox', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'checkbox' },\n { id: 25, description: '✔/empty', formType: 'checkbox', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'checkbox' },\n { id: 26, description: '✗/empty', formType: 'checkbox', defaultHeight: 16, defaultWidth: 16, typeDefault: false, inputType: 'checkbox' },\n { id: 74, description: 'File: attach to confirmatory email to sender', formType: 'file', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'file' },\n { id: 75, description: 'File: append to PDF, PDF files only', formType: 'file', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'file' },\n {\n id: 76,\n description: 'File: zip with PDF (for internal view, signed PDF for signer)',\n formType: 'file',\n defaultHeight: 16,\n defaultWidth: 200,\n typeDefault: false,\n inputType: 'file',\n },\n { id: 90, description: 'Drawn field.', formType: 'drawn field', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 2000, description: 'Initials', formType: 'initials', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'text' },\n { id: 93, description: 'Regular Expression field', formType: 'regular expression', defaultHeight: 16, defaultWidth: 200, typeDefault: false, inputType: 'text' },\n { id: 3000, description: 'Auto Sign', formType: 'auto sign', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'text' },\n { id: 4000, description: 'Text Area', formType: 'textarea', defaultHeight: 16, defaultWidth: 200, typeDefault: true, inputType: 'textarea' },\n];\n\n// See validation table in database for latest values - these have to be hard coded for our HTML control - ASW\nexport function getInputType(validation: number): ValidationType {\n if (validation === null) return validationTypes[0];\n\n const inputType: ValidationType = validationTypes.find(v => v.id === validation);\n\n return inputType === null ? validationTypes[0] : inputType;\n}\n",":host {\n display: block;\n position: absolute;\n margin: 0px;\n padding: 0px 0px 0px 0px;\n box-sizing: content-box;\n isolation: isolate;\n min-height: 16px;\n\n .ls-editor-field {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n position: relative;\n }\n}\n\n.ls-dv-editor-field-editable {\n font-family: inherit;\n font-size: inherit;\n color: inherit;\n overflow: hidden;\n word-break: break-all;\n white-space: pre-wrap;\n\n /* no extra spaces */\n margin: 0;\n margin-top: auto;\n padding: 0px 0px 0px 0px;\n /* default widths */\n min-width: 2em;\n width: calc(100% - 13px);\n max-height: 100%;\n}\n\n.ls-dv-editor-field-editable:focus {\n outline: none;\n}\n\n.ls-dv-editor-field-draggable {\n display: flex;\n align-items: flex-end;\n font-family: inherit;\n font-size: inherit;\n overflow: hidden;\n word-break: break-all;\n white-space: pre-wrap;\n\n /* default widths */\n min-width: 2px;\n height: 100%;\n width: calc(100% - 13px);\n margin-top: auto;\n}\n\n/* .ls-dv-is-selected {\n border: 1px dotted rgb(193, 26, 26);\n} */\n\n.ls-dv-hidden-field {\n display: none;\n}\n\n.ls-dv-date-field-input {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n\ninput, textarea {\n all: unset;\n color: inherit;\n}\n\ntextarea {\n resize: none;\n overflow: hidden;\n word-break: break-all;\n white-space: pre-wrap;\n}\n\ntextarea::placeholder {\n color: inherit;\n opacity: 0.5;\n}\n\n.ls-dv-draggable-input {\n font-family: inherit;\n font-size: inherit;\n position: relative;\n height: 95%;\n width: 95%;\n}\n\n.ls-dv-editing-input {\n caret-color: rgb(15 23 42);\n caret-shape: auto;\n height: 100%;\n width: 100%;\n}\n\n.ls-dv-required-icon {\n color: $red-60;\n}\n\n.ls-dv-x-button {\n all: unset;\n cursor: pointer;\n transform: translate(55%, -55%);\n position: absolute;\n color: white;\n background: $gray-80;\n border-radius: 50%;\n top: 0;\n right: 0;\n}\n\n.ls-dv-x-button:hover {\n background: $gray-90;\n}\n\n.resize-handles {\n pointer-events: none;\n}\n\n.resize-handle {\n position: absolute;\n background: var(--field-border-color);\n border-radius: 1px;\n}\n\n.handle-e {\n width: 4px;\n height: 16px;\n right: 0px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.handle-s {\n width: 16px;\n height: 4px;\n bottom: 0px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.handle-se {\n width: 6px;\n height: 6px;\n right: 0px;\n bottom: 0px;\n}\n","import { Component, Host, h, Element, State, Prop, Watch, Listen, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement } from '../../components';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { validationTypes, getInputType } from '../ls-document-viewer/editorUtils';\nimport { defaultRolePalette } from '../ls-document-viewer/defaultPalette';\nimport { dvI18n } from '../../i18n/i18n';\nimport { validateFieldValue } from '../../utils/fieldValueValidator';\nimport { forceCloseDatePicker } from '../../utils/utils';\n\nconst fieldTypeKeyMap: { [key: string]: string } = {\n 'signature': 'toolbox.signature',\n 'auto sign': 'toolbox.autosign',\n 'text': 'toolbox.text',\n 'signing date': 'toolbox.signingdate',\n 'date': 'toolbox.date',\n 'initials': 'toolbox.initials',\n 'checkbox': 'toolbox.checkbox',\n 'email': 'toolbox.email',\n 'number': 'toolbox.number',\n 'dropdown': 'toolbox.dropdown',\n 'file': 'toolbox.file',\n 'drawn field': 'toolbox.drawn',\n 'regular expression': 'toolbox.regex',\n 'regex': 'toolbox.regex',\n};\n\nconst checkboxSymbols: { [key: number]: [string, string] } = {\n 24: ['✔', '✗'],\n 25: ['✔', ''],\n 26: ['✗', ''],\n};\n\n@Component({\n tag: 'ls-editor-field',\n styleUrl: 'ls-editor-field.scss',\n shadow: true,\n})\nexport class LsEditorField {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) assignee: string;\n @Prop({ mutable: true }) dataItem: LSApiElement;\n @Prop() selected: boolean = false;\n @Prop() multiSelected: boolean = false;\n @Prop() readonly: boolean;\n @Prop() type: 'text' | 'signature' | 'date' | 'regular expression' | 'file' | 'number' | 'signing date';\n @Prop() page: { height: number; width: number };\n\n private getFieldTypeKey(): string {\n return fieldTypeKeyMap[this.dataItem?.formElementType] || 'toolbox.text';\n }\n\n private getCheckboxSymbol(): string {\n const symbols = checkboxSymbols[this.dataItem?.validation];\n if (!symbols) return '';\n return this.dataItem?.value === 'true' ? symbols[0] : symbols[1];\n }\n @Prop() fixedAspect: number | null = null;\n @State() isEditing: boolean = false;\n\n private static readonly NO_EDIT_TYPES = ['signature', 'initials', 'signing date', 'checkbox', 'dropdown', 'drawn field', 'file'];\n\n @Watch('dataItem')\n dataItemChanged() {\n if (this.isEditing && LsEditorField.NO_EDIT_TYPES.includes(this.dataItem?.formElementType as string)) {\n this.isEditing = false;\n }\n }\n @State() heldEdge: string = null;\n @State() isEdgeDragging: boolean = false;\n @State() innerValue: string;\n @State() valueError: string | null = null;\n @Prop() zoom: string;\n\n private sizeObserver: ResizeObserver;\n\n @Event({\n bubbles: true,\n cancelable: false,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: false,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n /**\n * Controls whether floating elements are visible. Set by mouse enter/leave events.\n */\n @Prop({ mutable: true, reflect: true }) floatingActive: boolean = false;\n\n // Set floatingActive true on mouse enter, false on mouse leave\n private handleMouseEnter = () => {\n this.floatingActive = true;\n };\n\n private handleMouseLeave = () => {\n this.floatingActive = false;\n };\n\n @Listen('keydown')\n handleInput(e: KeyboardEvent) {\n if (e.code === 'Enter' && !e.ctrlKey && !e.metaKey) {\n this.isEditing = false;\n this.sizeObserver.observe(this.component.shadowRoot.getElementById('field-info'));\n e.preventDefault();\n }\n\n // Let undo/redo pass through to document handler\n const isMod = e.ctrlKey || e.metaKey;\n if (isMod && (e.key === 'z' || e.key === 'Z' || e.key === 'y' || e.key === 'Y')) {\n e.preventDefault();\n // If there's a pending debounce, just cancel it and revert locally\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n // Revert to the last committed value by re-reading from the DOM\n // The textarea will update on next render via dataItem binding\n return;\n }\n // No pending debounce — dispatch to document for history undo/redo\n document.dispatchEvent(new KeyboardEvent('keydown', {\n key: e.key,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n shiftKey: e.shiftKey,\n }));\n return;\n }\n\n e.stopPropagation();\n }\n\n @Listen('mousemove', { capture: true })\n handleMouseMove(e) {\n if (this.readonly) {\n this.component.style.cursor = 'not-allowed';\n return;\n }\n if (!e.clientX) return;\n\n // While dragging (button held), keep current cursor\n if (e.buttons === 1) return;\n\n // Use getBoundingClientRect + clientX/clientY so cursor detection matches\n // the mouseDown hit-test in mouseHandlers.ts exactly\n const { left, top, right, bottom, width, height } = this.component.getBoundingClientRect();\n const edgeX = Math.min(8, width * 0.25);\n const edgeY = Math.min(8, height * 0.25);\n const cornerX = Math.min(16, width * 0.35);\n const cornerY = Math.min(16, height * 0.35);\n\n const nearLeft = Math.abs(e.clientX - left) < edgeX;\n const nearRight = Math.abs(e.clientX - right) < edgeX;\n const nearTop = Math.abs(e.clientY - top) < edgeY;\n const nearBottom = Math.abs(e.clientY - bottom) < edgeY;\n\n const cornerLeft = Math.abs(e.clientX - left) < cornerX;\n const cornerRight = Math.abs(e.clientX - right) < cornerX;\n const cornerTop = Math.abs(e.clientY - top) < cornerY;\n const cornerBottom = Math.abs(e.clientY - bottom) < cornerY;\n\n // Corners first (larger zone)\n if ((cornerRight && cornerBottom) || (cornerLeft && cornerTop)) {\n this.component.style.cursor = 'nwse-resize';\n } else if ((cornerLeft && cornerBottom) || (cornerRight && cornerTop)) {\n this.component.style.cursor = 'nesw-resize';\n } else if (nearLeft || nearRight) {\n this.component.style.cursor = 'ew-resize';\n } else if (nearTop || nearBottom) {\n this.component.style.cursor = 'ns-resize';\n } else {\n this.component.style.cursor = 'move';\n }\n }\n\n @Listen('dblclick', { capture: true })\n handleDoubleClick(e: MouseEvent) {\n if (this.readonly || LsEditorField.NO_EDIT_TYPES.includes(this.dataItem.formElementType as string)) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n // Date fields use selection to open picker, skip dblclick\n if (this.isDateField()) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n this.isEditing = true;\n this.heldEdge = null;\n this.isEdgeDragging = false;\n this.sizeObserver.disconnect();\n this.innerValue = this.innerValue ? this.innerValue : this.dataItem?.value;\n\n const editbox = this.component.shadowRoot.getElementById('editing-input') as HTMLInputElement;\n console.log(this.dataItem);\n\n if (editbox) {\n editbox.className = 'ls-dv-editor-field-editable';\n editbox.focus();\n }\n e.preventDefault();\n e.stopPropagation();\n }\n\n @Listen('mousedown', { capture: true })\n handleMouseDown(e) {\n if (this.readonly) return;\n const edgeX = Math.min(8, this.component.clientWidth * 0.25);\n const edgeY = Math.min(8, this.component.clientHeight * 0.25);\n\n const nearLeft = e.offsetX < edgeX;\n const nearRight = (this.component.clientWidth - e.offsetX) < edgeX;\n const nearTop = e.offsetY < edgeY;\n const nearBottom = (this.component.clientHeight - e.offsetY) < edgeY;\n\n if (nearLeft || nearRight || nearTop || nearBottom) {\n // Prevent native drag so mousemove keeps firing during resize\n e.preventDefault();\n }\n }\n\n @Listen('dragstart', { capture: false, passive: false })\n handleDragStart(event) {\n // Add the target element's id to the data transfer object\n event.dataTransfer.setData(\n 'application/json',\n JSON.stringify({\n type: this.type,\n }),\n );\n event.dataTransfer.dropEffect = 'move';\n }\n\n @Watch('dataItem')\n watchDataItemHandler() {\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n if (this.selected) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n }\n }\n\n @Watch('selected')\n watchSelectedHandler(_newValue: boolean, _oldValue: boolean) {\n if (_newValue) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n this.component.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';\n } else {\n this.component.style.background = 'rgba(255,255,255,0.5)';\n this.component.style.boxShadow = 'none';\n this.isEditing = false;\n // Force close date picker (Safari ignores blur)\n const input = this.component.shadowRoot?.getElementById('editing-input') as HTMLInputElement;\n if (input && input.type === 'date') {\n setTimeout(() => {\n if (!this.selected) forceCloseDatePicker(input);\n }, 50);\n }\n }\n }\n\n deleteField = () => {\n this.mutate.emit([{ action: 'delete', data: this.dataItem }]);\n this.update.emit([{ action: 'delete', data: this.dataItem }]);\n };\n\n componentDidLoad() {\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n\n this.sizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n if (entry.contentRect) {\n const movebox = this.component.shadowRoot.getElementById('field-info') as HTMLElement;\n\n movebox.style.height = '100%';\n }\n }\n });\n\n this.sizeObserver.observe(this.component);\n\n // New dropped components automatically need selecting.\n if (this.selected) {\n this.component.style.background = this.hexToRgba(defaultRolePalette[this.dataItem?.signer % 100].s20, 0.5);\n this.component.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';\n } else {\n this.component.style.background = this.hexToRgba('ffffff', 0.7);\n this.component.style.boxShadow = 'none';\n }\n }\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n // NOTE this alter is debounced to account for typing\n alter(diff: object) {\n this.dataItem = { ...this.dataItem, ...diff };\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n this.debounce(this.dataItem, 1500);\n }\n\n private labeltimer;\n\n debounce(data, delay) {\n if (this.labeltimer) clearTimeout(this.labeltimer);\n\n this.labeltimer = setTimeout(() => {\n const diffs: LSMutateEvent[] = [{ action: 'update', data }];\n this.mutate.emit(diffs);\n }, delay);\n }\n\n hexToRgba(hex: string, alpha: number): string {\n hex = hex.replace('#', '');\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n return `rgba(${r},${g},${b},${alpha})`;\n }\n\n private isDateField(): boolean {\n return getInputType(this.dataItem?.validation)?.inputType === 'date';\n }\n\n private getDateFormat(): string | null {\n const vType = validationTypes.find(v => v.id === this.dataItem?.validation);\n if (!vType || vType.inputType !== 'date') return null;\n return vType.description;\n }\n\n private toISODate(value: string): string {\n if (!value) return '';\n const format = this.getDateFormat();\n if (!format) return value;\n\n const sep = format.match(/[/.-]/)?.[0] || '/';\n const parts = format.split(/[/.-]/);\n const valueParts = value.split(sep);\n if (valueParts.length < 2) return value;\n\n let y = '', m = '', d = '';\n parts.forEach((p, i) => {\n const v = valueParts[i] || '';\n if (p.startsWith('y')) y = v;\n else if (p.startsWith('m')) m = v;\n else if (p.startsWith('d')) d = v;\n });\n\n if (y.length === 2) y = '20' + y;\n if (!d) d = '01';\n\n return `${y.padStart(4, '0')}-${m.padStart(2, '0')}-${d.padStart(2, '0')}`;\n }\n\n private formatDateFromISO(isoValue: string): string {\n if (!isoValue) return '';\n const [y, m, d] = isoValue.split('-');\n const format = this.getDateFormat();\n if (!format) return isoValue;\n\n return format\n .replace('yyyy', y)\n .replace('yy', y.slice(-2))\n .replace('mm', m)\n .replace('dd', d)\n .replace('d', String(parseInt(d)));\n }\n\n render() {\n const borderColor = this.valueError\n ? 'var(--red-50, #FF5C56)'\n : defaultRolePalette[this.dataItem?.signer % 100].s60;\n\n const hostStyle = this.floatingActive && !this.readonly\n ? { border: `2px ${borderColor} ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'}`, boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)', '--field-border-color': borderColor }\n : { border: `2px ${borderColor} ${this.dataItem?.signer > 99 ? 'dashed' : 'solid'}`, '--field-border-color': borderColor };\n\n const zoomValue = parseFloat(this.zoom) || 1;\n // const topOffset = (this.dataItem.height ?? 1) + 4;\n const topOffset = 24;\n \n\n return (\n <Host id={this.dataItem ? 'ls-field-' + this.dataItem.id : undefined} style={hostStyle} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>\n <div\n class={{\n 'ls-editor-field': true,\n 'is-selected': this.selected,\n }}\n >\n {!this.dataItem?.optional && this.dataItem?.formElementType !== 'checkbox' && (\n <ls-icon\n name=\"required-icon\"\n size={Math.round(12 * zoomValue)}\n class=\"ls-dv-required-icon\"\n customStyle={{\n position: 'absolute',\n top: '50%',\n right: `${0.25 * zoomValue}rem`,\n transform: 'translateY(-50%)',\n lineHeight: '1',\n fontSize: `${0.75 * zoomValue}rem`,\n }}\n />\n )}\n {!this.dataItem?.optional && this.dataItem?.formElementType === 'checkbox' && (\n <ls-icon\n name=\"required-icon\"\n size={Math.round(8 * zoomValue)}\n class=\"ls-dv-required-icon\"\n customStyle={{\n position: 'absolute',\n top: `-${3 * zoomValue}px`,\n right: `-${3 * zoomValue}px`,\n lineHeight: '1',\n fontSize: `${0.5 * zoomValue}rem`,\n }}\n />\n )}\n {this.isDateField() ? (\n <input\n id=\"editing-input\"\n class=\"ls-dv-date-field-input\"\n type=\"date\"\n style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }}\n value={this.toISODate(this.dataItem?.value)}\n checked={this.dataItem?.value ? true : false}\n onInput={e => {\n const val = (e.target as HTMLInputElement).value;\n this.alter({ value: this.formatDateFromISO(val) });\n }}\n onChange={e => {\n const input = e.target as HTMLInputElement;\n this.alter({ value: this.formatDateFromISO(input.value) });\n forceCloseDatePicker(input);\n }}\n />\n ) : (\n <textarea\n id=\"editing-input\"\n class={this.isEditing ? 'ls-dv-editor-field-editable' : 'ls-dv-hidden-field'}\n style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, textAlign: 'inherit' }}\n value={this.dataItem?.value}\n placeholder={dvI18n.t(this.getFieldTypeKey())}\n rows={1}\n onInput={e => {\n const el = e.target as HTMLTextAreaElement;\n el.style.height = 'auto';\n el.style.height = el.scrollHeight + 'px';\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n el.value,\n this.dataItem?.options,\n );\n this.alter({ value: el.value });\n }}\n ref={el => {\n if (el && this.isEditing) {\n requestAnimationFrame(() => {\n el.style.height = 'auto';\n el.style.height = el.scrollHeight + 'px';\n });\n }\n }}\n />\n )}\n\n <div id=\"field-info\" class={this.isEditing ? 'ls-dv-hidden-field' : 'ls-dv-editor-field-draggable'} style={{ color: `${defaultRolePalette[this.dataItem?.signer % 100].s100}`, ...(this.dataItem?.formElementType === 'checkbox' ? { width: '100%', overflow: 'visible', justifyContent: 'center', alignItems: 'center' } : {}) }}>\n <span style={{ width: '100%', display: 'block', textAlign: this.dataItem?.formElementType === 'checkbox' ? 'center' : 'inherit' }}>\n {this.dataItem?.formElementType === 'checkbox'\n ? this.getCheckboxSymbol()\n : this.dataItem?.value || dvI18n.t(this.getFieldTypeKey())}\n </span>\n </div>\n {(this.floatingActive || this.selected) && !this.multiSelected && this.dataItem?.label && (\n <div\n style={{\n position: 'absolute',\n background: `${defaultRolePalette[this.dataItem?.signer % 100].s20}`,\n color: `${defaultRolePalette[this.dataItem?.signer % 100].s80}`,\n borderRadius: `${0.25 * zoomValue}rem`,\n padding: `${0.125 * zoomValue}rem ${0.25 * zoomValue}rem`,\n top: `-${topOffset * zoomValue}px`,\n fontWeight: '500',\n fontSize: `${0.75 * zoomValue}rem`, \n left: `-${2 * zoomValue}px`,\n whiteSpace: 'nowrap',\n width: 'fit-content',\n }}\n >\n {this.dataItem?.label}\n </div>\n )}\n {(this.floatingActive || this.selected) && !this.multiSelected && (\n <p\n style={{\n position: 'absolute',\n color: 'var(--gray-80, #3a3a3a)',\n bottom: `-${1.75 * zoomValue}rem`,\n fontSize: `${0.625 * zoomValue}rem`,\n left: '0',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: `${10 * zoomValue}rem`,\n fontFamily: 'sans-serif',\n }}\n >\n {dvI18n.t('fieldproperties.assignedto')} {this.assignee}\n </p>\n )}\n {this.selected && !this.multiSelected && (\n <div class=\"resize-handles\">\n <div class=\"resize-handle handle-e\" />\n <div class=\"resize-handle handle-s\" />\n <div class=\"resize-handle handle-se\" />\n </div>\n )}\n {this.floatingActive && !this.readonly && (\n <button\n class={'ls-dv-x-button'}\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: `${0.875 * zoomValue}rem`,\n height: `${0.875 * zoomValue}rem`,\n lineHeight: `${0.75 * zoomValue}rem`,\n fontSize: `${0.75 * zoomValue}rem`,\n ...(this.dataItem?.formElementType === 'checkbox' ? { transform: `translate(75%, -75%)` } : {}),\n }}\n onClick={() => this.deleteField()}\n >\n <ls-icon name=\"x-icon\" size={Math.round(12 * zoomValue)} />\n </button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-CBN6EOa6.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,wBAAwB,GAAG,MAAM,CAAC,u2JAAu2J,CAAC;;MCSn4J,qBAAqB,iBAAAA,kBAAA,CAAA,MAAA,qBAAA,SAAAC,CAAA,CAAA;;;;;;;;AACxB,IAAA,QAAQ;IACR,KAAK,GAAgB,EAAE;IACvB,QAAQ,GAAY,KAAK;IAEjC,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAA+B,CAAA,+BAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,EAAA,EACzE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,SAAS,EAAA,EAC3C,CAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAkB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAI,CAAA,EACzF,CAAA,CAAA,8BAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAA8B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAI,CAC9E,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,YAAY,EAAA,EAC9C,CAAA,CAAA,qBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAqB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAI,CACrE,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,WAAW,EAAA,EAC7C,CAAA,CAAA,oBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAoB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAI,CACpE,CACwB,EAChC,CAAA,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAiB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAI,CAAA,CAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-field-properties-file/ls-field-properties-file.scss?tag=ls-field-properties-file&encapsulation=shadow","src/components/ls-field-properties-file/ls-field-properties-file.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n* {\n margin: 0;\n}\n\n.ls-dv-field-set {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n}\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: $primary-60;\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: $primary-70;\n}\n\n.ls-dv-button-link,\n.ls-dv-button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 2.25rem;\n width: 100%;\n}\n.ls-dv-has-leading-icon {\n padding-left: 2.5rem;\n}\n\n\ninput,\nselect,\ntextarea {\n border: 1px solid $gray-40;\n box-shadow: 0 1px 0.125rem rgba(0, 0, 0, 0.05);\n padding: 0.5rem 0.75rem;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n border-radius: 0.625rem;\n color: $gray-100;\n font-weight: 400;\n}\n\ninput::placeholder,\nselect::placeholder,\ntextarea::placeholder {\n color: $gray-60;\n}\n\ninput:hover,\nselect:hover,\ntextarea:hover {\n border-color: $gray-50;\n background-color: $white;\n}\n\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-40;\n border-color: $primary-60;\n background-color: $white;\n}\n\ninput:active,\nselect:active,\ntextarea:active {\n border-color: $primary-50;\n}\n\ninput:disabled,\nselect:disabled,\ntextarea:disabled {\n cursor: not-allowed;\n background-color: $gray-10;\n}\n\ninput[type='checkbox'] {\n appearance: none;\n position: relative;\n height: 1rem;\n width: 1rem;\n padding: 0.25rem;\n border-radius: var(--radius-sm);\n border: 1px solid #d1d5db;\n background-color: #ffffff;\n cursor: pointer;\n}\n\ninput[type='checkbox']:checked,\ninput[type='checkbox'].ls-dv-indeterminate {\n background-color: $primary-60;\n border: none;\n}\n\ninput[type='checkbox']:checked::after {\n content: '';\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(-45deg) scale(-1, 1);\n width: 0.5rem;\n height: 0.25rem;\n border-bottom: 0.125rem solid white;\n border-right: 0.125rem solid white;\n}\n\ninput[type='checkbox'].ls-dv-indeterminate::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 0.5rem;\n height: 0.125rem;\n background-color: white;\n}\n\ninput[type='checkbox']:checked:hover,\ninput[type='checkbox'].ls-dv-indeterminate:hover {\n background-color: $primary-70;\n border: none;\n}\n\ninput[type='checkbox']:hover {\n border: 1px solid #9ca3af;\n}\n\ninput[type='checkbox']:focus,\ninput[type='checkbox']:active {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-20;\n background-color: #f0f4f8;\n}\n\ninput[type='checkbox']:disabled {\n background-color: #f3f4f6;\n outline: none;\n cursor: not-allowed;\n}\n\ninput[type='checkbox']:disabled:checked {\n background-color: #e5e7eb;\n border: none;\n outline: none;\n cursor: not-allowed;\n}\n\n.ls-dv-checkbox-container {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.ls-dv-checkbox-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.ls-dv-form-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem;\n}\n\n.ls-dv-form-field {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n width: 100%;\n}\n\n.ls-dv-loading-box {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n color: $primary-60;\n}\n\nbutton {\n display: flex;\n gap: 0.5rem;\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-lg);\n background-color: $primary-60;\n color: white;\n font-weight: 500;\n text-transform: capitalize;\n min-height: 2.25rem;\n min-width: 2.25rem;\n}\n\nbutton.ls-dv-tertiary-grey {\n border: 1px solid $gray-40;\n background-color: white;\n color: $gray-80;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-secondary {\n border: 1px solid $gray-50;\n background: $white;\n color: $gray-90;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.1);\n}\n\nbutton.ls-dv-secondary:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-destructive {\n border: 1px solid $red-60;\n background-color: white;\n color: $red-60;\n}\n\nbutton.ls-dv-destructive:hover {\n border: 1px solid $red-70;\n background: $red-10;\n}\n\n\n\n.ls-dv-button-group {\n display: flex;\n border-radius: 0.625rem;\n border: 1px solid $gray-30;\n background: $white;\n overflow: clip;\n}\n\n.ls-dv-button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: $gray-80;\n}\n\n.ls-dv-button-group button:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group > :first-child {\n border-radius: 0.625rem 0 0 0.625rem;\n}\n\n.ls-dv-button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.ls-dv-button-group > :not(:first-child) {\n border-left: 1px solid $gray-30;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { LSApiElement } from '../../components';\nimport { LSApiRole } from '../../types/LSApiRole';\n\n@Component({\n tag: 'ls-field-properties-file',\n styleUrl: 'ls-field-properties-file.scss',\n shadow: true,\n})\nexport class LsFieldPropertiesFile {\n @Prop() dataItem: LSApiElement;\n @Prop() roles: LSApiRole[] = [];\n @Prop() readonly: boolean = false;\n\n render() {\n return (\n <Host>\n <ls-field-properties-container tabs={['content', 'placement', 'dimensions']}>\n <div class={'ls-dv-field-set'} slot=\"content\">\n <ls-field-content dataItem={this.dataItem} roles={this.roles} readonly={this.readonly} />\n <ls-field-properties-advanced dataItem={this.dataItem} readonly={this.readonly} />\n </div>\n <div class={'ls-dv-field-set'} slot=\"dimensions\">\n <ls-field-dimensions dataItem={this.dataItem} readonly={this.readonly} />\n </div>\n <div class={'ls-dv-field-set'} slot=\"placement\">\n <ls-field-placement dataItem={this.dataItem} readonly={this.readonly} />\n </div>\n </ls-field-properties-container>\n <ls-field-footer dataItem={this.dataItem} readonly={this.readonly} />\n </Host>\n );\n }\n}\n"],"version":3}
|