legalesign-document-viewer 0.10.2 → 0.10.4
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/defaultFieldIcons-ByvDN5ag.js +26 -0
- package/dist/cjs/defaultFieldIcons-ByvDN5ag.js.map +1 -0
- package/dist/cjs/defaultPalette-Dt4FmPno.js +222 -0
- package/dist/cjs/defaultPalette-Dt4FmPno.js.map +1 -0
- package/dist/cjs/editorUtils-f8cxkqvC.js +447 -0
- package/dist/cjs/editorUtils-f8cxkqvC.js.map +1 -0
- package/dist/cjs/fieldDefaults-BbJ3qf1E.js +27 -0
- package/dist/cjs/fieldDefaults-BbJ3qf1E.js.map +1 -0
- package/dist/cjs/{i18n-BElI-ESH.js → i18n-B8sub13B.js} +7 -5
- package/dist/cjs/{i18n-BElI-ESH.js.map → i18n-B8sub13B.js.map} +1 -1
- package/dist/cjs/{index-CmGbWor3.js → index-DFeU0FNc.js} +2 -5
- package/dist/cjs/index-DFeU0FNc.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/ls-add-new-button_20.cjs.entry.js +1035 -0
- package/dist/cjs/ls-badge.cjs.entry.js +1 -1
- package/dist/cjs/ls-banner.cjs.entry.js +1 -1
- package/dist/cjs/ls-button.cjs.entry.js +49 -0
- package/dist/cjs/ls-card.cjs.entry.js +1 -1
- package/dist/cjs/ls-checkbox-input_5.cjs.entry.js +1 -1
- package/dist/cjs/ls-compose-loader_6.cjs.entry.js +381 -0
- package/dist/cjs/ls-compose-manager.cjs.entry.js +4 -4
- package/dist/cjs/ls-details-section.cjs.entry.js +1 -1
- package/dist/cjs/ls-document-viewer.cjs.entry.js +31138 -0
- package/dist/cjs/ls-document-viewer.cjs.js +2 -2
- package/dist/cjs/ls-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/ls-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ls-editor-field_11.cjs.entry.js +909 -0
- package/dist/cjs/ls-field-alignment_3.cjs.entry.js +315 -0
- package/dist/cjs/ls-field-format_2.cjs.entry.js +218 -0
- package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/ls-formfield.cjs.entry.js +1 -1
- package/dist/cjs/ls-header-bar.cjs.entry.js +1 -1
- package/dist/cjs/ls-helper-bar_2.cjs.entry.js +37 -0
- package/dist/cjs/ls-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/ls-icon-check-button.cjs.entry.js +1 -1
- package/dist/cjs/ls-icon.cjs.entry.js +11211 -0
- package/dist/cjs/ls-label.cjs.entry.js +1 -1
- package/dist/cjs/ls-list-card-button.cjs.entry.js +1 -1
- package/dist/cjs/ls-loading_2.cjs.entry.js +37 -0
- package/dist/cjs/ls-navbar.cjs.entry.js +1 -1
- package/dist/cjs/ls-notification.cjs.entry.js +1 -1
- package/dist/cjs/ls-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ls-radio-input.cjs.entry.js +1 -1
- package/dist/cjs/ls-tabs.cjs.entry.js +1 -1
- package/dist/cjs/ls-tag.cjs.entry.js +1 -1
- package/dist/cjs/ls-text.cjs.entry.js +1 -1
- package/dist/cjs/ls-timeline-step.cjs.entry.js +1 -1
- package/dist/cjs/ls-timeline.cjs.entry.js +1 -1
- package/dist/cjs/ls-title-input.cjs.entry.js +2 -2
- package/dist/cjs/ls-toolbox-field.cjs.entry.js +96 -0
- package/dist/cjs/ls-tooltip.cjs.entry.js +247 -0
- package/dist/cjs/mouseHandlers-D3r6xq7p.js +975 -0
- package/dist/cjs/mouseHandlers-D3r6xq7p.js.map +1 -0
- package/dist/cjs/test-item.cjs.entry.js +1 -1
- package/dist/collection/components/ls-compose-loader/ls-compose-loader.js +1 -1
- package/dist/collection/components/ls-compose-manager/ls-compose-manager.js +2 -2
- package/dist/collection/components/ls-document-viewer/adapter/elementActions.js +1 -1
- package/dist/collection/components/ls-document-viewer/adapter/elementActions.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/editorCalculator.js +1 -1
- package/dist/collection/components/ls-document-viewer/editorCalculator.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.css +6 -0
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +53 -23
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/mouseHandlers.js +218 -78
- package/dist/collection/components/ls-document-viewer/mouseHandlers.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/snapHelper.js +57 -16
- package/dist/collection/components/ls-document-viewer/snapHelper.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/validator.js +6 -2
- package/dist/collection/components/ls-document-viewer/validator.js.map +1 -1
- package/dist/collection/components/ls-editor-field/ls-editor-field.js +6 -6
- package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +1 -1
- package/dist/collection/components/ls-editor-table/ls-editor-table.js +1 -1
- package/dist/collection/components/ls-feature-column/ls-feature-column.js +6 -6
- package/dist/collection/components/ls-field-alignment/ls-field-alignment.js +2 -2
- package/dist/collection/components/ls-field-content/ls-field-content.js +3 -3
- package/dist/collection/components/ls-field-content/ls-field-content.js.map +1 -1
- package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js +3 -3
- package/dist/collection/components/ls-field-distribute/ls-field-distribute.js +24 -28
- package/dist/collection/components/ls-field-distribute/ls-field-distribute.js.map +1 -1
- package/dist/collection/components/ls-field-footer/ls-field-footer.js +1 -1
- package/dist/collection/components/ls-field-format/ls-field-format.css +7 -0
- package/dist/collection/components/ls-field-format/ls-field-format.js +11 -11
- package/dist/collection/components/ls-field-format/ls-field-format.js.map +1 -1
- package/dist/collection/components/ls-field-placement/ls-field-placement.js +1 -1
- package/dist/collection/components/ls-field-properties/ls-field-properties.js +1 -1
- package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js +2 -2
- package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js +1 -1
- package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.js +1 -1
- package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js +1 -1
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js +1 -1
- package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js +1 -1
- package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js +1 -1
- package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js +1 -1
- package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js +1 -1
- package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js +3 -3
- package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js +1 -1
- package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js +1 -1
- package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js +1 -1
- package/dist/collection/components/ls-field-size/ls-field-size.js +1 -1
- package/dist/collection/components/ls-field-type-display/ls-field-type-display.js +3 -3
- package/dist/collection/components/ls-helper-bar/ls-helper-bar.js +1 -1
- package/dist/collection/components/ls-input-wrapper/ls-input-wrapper.js +1 -1
- package/dist/collection/components/ls-keyboard-shortcuts/ls-keyboard-shortcuts.js +1 -1
- package/dist/collection/components/ls-left-bar/ls-left-bar.css +6 -0
- package/dist/collection/components/ls-participant-manager/ls-participant-manager.js +3 -3
- package/dist/collection/components/ls-participant-select/ls-participant-select.css +8 -0
- package/dist/collection/components/ls-participant-select/ls-participant-select.js +35 -47
- package/dist/collection/components/ls-participant-select/ls-participant-select.js.map +1 -1
- package/dist/collection/components/ls-props-section/ls-props-section.js +1 -1
- package/dist/collection/components/ls-recipient-card/ls-recipient-card.js +6 -5
- package/dist/collection/components/ls-recipient-card/ls-recipient-card.js.map +1 -1
- package/dist/collection/components/ls-recipient-manager/ls-recipient-manager.js +1 -1
- package/dist/collection/components/ls-statusbar/ls-statusbar.js +18 -8
- package/dist/collection/components/ls-statusbar/ls-statusbar.js.map +1 -1
- package/dist/collection/components/ls-title-input/ls-title-input.js +1 -1
- package/dist/collection/components/ls-toggle/ls-toggle.js +2 -2
- package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js +3 -3
- package/dist/collection/components/ls-validation-manager/ls-validation-manager.js +32 -2
- package/dist/collection/components/ls-validation-manager/ls-validation-manager.js.map +1 -1
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.css +7 -0
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.js +90 -34
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/ls-add-new-button.js +1 -1
- package/dist/components/ls-badge.js +1 -1
- package/dist/components/ls-banner.js +6 -6
- package/dist/components/ls-button.js +1 -1
- package/dist/components/ls-card.js +1 -1
- package/dist/components/ls-checkbox-input.js +1 -1
- package/dist/components/ls-compose-loader.js +1 -1
- package/dist/components/ls-compose-manager.js +4 -4
- package/dist/components/ls-details-section.js +3 -3
- package/dist/components/ls-document-options.js +1 -1
- package/dist/components/ls-document-viewer.js +146 -110
- package/dist/components/ls-document-viewer.js.map +1 -1
- package/dist/components/ls-dropdown-item.js +1 -1
- package/dist/components/ls-dropdown.js +3 -3
- package/dist/components/ls-editor-field.js +1 -1
- package/dist/components/ls-editor-table.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-container.js +1 -1
- package/dist/components/ls-field-properties-date.js +1 -1
- package/dist/components/ls-field-properties-dropdown.js +15 -15
- 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-image.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-formfield.js +11 -11
- package/dist/components/ls-header-bar.js +4 -4
- package/dist/components/ls-helper-bar.js +1 -1
- package/dist/components/ls-icon-button.js +1 -1
- package/dist/components/ls-icon-check-button.js +2 -2
- package/dist/components/ls-icon.js +1 -1
- package/dist/components/ls-input-wrapper.js +1 -1
- package/dist/components/ls-keyboard-shortcuts.js +1 -1
- package/dist/components/ls-label.js +1 -1
- package/dist/components/ls-left-bar.js +1 -1
- package/dist/components/ls-list-card-button.js +4 -4
- package/dist/components/ls-loading-icon.js +1 -1
- package/dist/components/ls-loading-logo.js +1 -1
- package/dist/components/ls-loading.js +1 -1
- package/dist/components/ls-navbar.js +3 -3
- package/dist/components/ls-notification.js +2 -2
- package/dist/components/ls-number-input.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-props-section.js +1 -1
- package/dist/components/ls-radio-group.js +3 -3
- package/dist/components/ls-radio-input.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-input.js +1 -1
- package/dist/components/ls-statusbar.js +1 -1
- package/dist/components/ls-tabs.js +2 -2
- package/dist/components/ls-tag.js +2 -2
- package/dist/components/ls-text-input.js +1 -1
- package/dist/components/ls-text.js +1 -1
- package/dist/components/ls-textarea-input.js +1 -1
- package/dist/components/ls-timeline-step.js +2 -2
- package/dist/components/ls-timeline.js +2 -2
- package/dist/components/ls-title-input.js +3 -3
- package/dist/components/ls-toggle.js +1 -1
- package/dist/components/ls-toolbar.js +1 -1
- package/dist/components/ls-toolbox-field.js +1 -1
- package/dist/components/ls-tooltip.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-C9O4GcTq.js → p-0KcafqsD.js} +4 -4
- package/dist/components/{p-C9O4GcTq.js.map → p-0KcafqsD.js.map} +1 -1
- package/dist/components/{p-C5Jz_eCB.js → p-4SVN50rZ.js} +17 -17
- package/dist/components/{p-C5Jz_eCB.js.map → p-4SVN50rZ.js.map} +1 -1
- package/dist/components/{p-CItLrDhm.js → p-7tNxs8No.js} +17 -17
- package/dist/components/{p-CItLrDhm.js.map → p-7tNxs8No.js.map} +1 -1
- package/dist/components/{p-DQ2OogsY.js → p-84KTjgkl.js} +4 -4
- package/dist/components/{p-DQ2OogsY.js.map → p-84KTjgkl.js.map} +1 -1
- package/dist/components/{p-Ci6AP0jT.js → p-B4nern9h.js} +8 -8
- package/dist/components/{p-Ci6AP0jT.js.map → p-B4nern9h.js.map} +1 -1
- package/dist/components/{p-DYJoT5OC.js → p-B6iYKtGO.js} +13 -12
- package/dist/components/p-B6iYKtGO.js.map +1 -0
- package/dist/components/{p-DlEh2FKG.js → p-B7x-6bu5.js} +4 -4
- package/dist/components/{p-DlEh2FKG.js.map → p-B7x-6bu5.js.map} +1 -1
- package/dist/components/{p-QXLGttP4.js → p-B9ooYFOA.js} +5 -5
- package/dist/components/{p-QXLGttP4.js.map → p-B9ooYFOA.js.map} +1 -1
- package/dist/components/{p-s20HlPHN.js → p-BBevdiks.js} +17 -17
- package/dist/components/{p-s20HlPHN.js.map → p-BBevdiks.js.map} +1 -1
- package/dist/components/{p-Ciap_aJy.js → p-BCNmvVjK.js} +17 -17
- package/dist/components/{p-Ciap_aJy.js.map → p-BCNmvVjK.js.map} +1 -1
- package/dist/components/{p-Bk-DeJ8r.js → p-BCzMSIcI.js} +4 -4
- package/dist/components/{p-Bk-DeJ8r.js.map → p-BCzMSIcI.js.map} +1 -1
- package/dist/components/{p-DbDvUcr5.js → p-BMhCD-zg.js} +4 -4
- package/dist/components/{p-DbDvUcr5.js.map → p-BMhCD-zg.js.map} +1 -1
- package/dist/components/{p-DvzrSyuS.js → p-BNihuKsl.js} +8 -8
- package/dist/components/{p-DvzrSyuS.js.map → p-BNihuKsl.js.map} +1 -1
- package/dist/components/{p-D_u1HxMf.js → p-BNtgCuBd.js} +8 -8
- package/dist/components/{p-D_u1HxMf.js.map → p-BNtgCuBd.js.map} +1 -1
- package/dist/components/{p-j1rAIT-X.js → p-BQ7lEZmO.js} +305 -129
- package/dist/components/p-BQ7lEZmO.js.map +1 -0
- package/dist/components/{p-CB9tEjJy.js → p-BT5rCW3w.js} +3 -3
- package/dist/components/{p-CB9tEjJy.js.map → p-BT5rCW3w.js.map} +1 -1
- package/dist/components/{p-C5iOpglg.js → p-BieB5Yv4.js} +12 -12
- package/dist/components/{p-C5iOpglg.js.map → p-BieB5Yv4.js.map} +1 -1
- package/dist/components/{p-DKhDOvYu.js → p-BnDS-Vxn.js} +10 -10
- package/dist/components/{p-DKhDOvYu.js.map → p-BnDS-Vxn.js.map} +1 -1
- package/dist/{esm/i18n-B8VmBxFg.js → components/p-Bp8hmhrC.js} +7 -5
- package/dist/components/{p-B8VmBxFg.js.map → p-Bp8hmhrC.js.map} +1 -1
- package/dist/components/{p-DVKeLLVk.js → p-BwJElhYd.js} +13 -13
- package/dist/components/p-BwJElhYd.js.map +1 -0
- package/dist/components/{p-MG59mYF3.js → p-C6Wto5hV.js} +18 -14
- package/dist/components/p-C6Wto5hV.js.map +1 -0
- package/dist/components/{p-1dutDvgl.js → p-C7ZEYzas.js} +5 -5
- package/dist/components/{p-1dutDvgl.js.map → p-C7ZEYzas.js.map} +1 -1
- package/dist/components/{p-CyKYlaAh.js → p-CKZG8VvW.js} +5 -5
- package/dist/components/{p-CyKYlaAh.js.map → p-CKZG8VvW.js.map} +1 -1
- package/dist/components/p-CMop5vLm.js +150 -0
- package/dist/components/p-CMop5vLm.js.map +1 -0
- package/dist/components/{p-Cm69fGZy.js → p-COX6-Qb4.js} +10 -10
- package/dist/components/{p-Cm69fGZy.js.map → p-COX6-Qb4.js.map} +1 -1
- package/dist/components/{p-lImp2h8Q.js → p-COkDTfhY.js} +17 -17
- package/dist/components/{p-lImp2h8Q.js.map → p-COkDTfhY.js.map} +1 -1
- package/dist/components/{p-CyQvboOz.js → p-CQx0j-F_.js} +6 -6
- package/dist/components/{p-CyQvboOz.js.map → p-CQx0j-F_.js.map} +1 -1
- package/dist/components/{p-CYBhiXXl.js → p-CXxS70Mm.js} +7 -7
- package/dist/components/{p-CYBhiXXl.js.map → p-CXxS70Mm.js.map} +1 -1
- package/dist/components/{p-CoUvqjky.js → p-CZF2_NGo.js} +4 -4
- package/dist/components/{p-CoUvqjky.js.map → p-CZF2_NGo.js.map} +1 -1
- package/dist/components/{p-Iy7DUSnq.js → p-C_A1TQER.js} +17 -17
- package/dist/components/{p-Iy7DUSnq.js.map → p-C_A1TQER.js.map} +1 -1
- package/dist/components/{p-B9uklVCX.js → p-CbaxmrLQ.js} +4 -4
- package/dist/components/{p-B9uklVCX.js.map → p-CbaxmrLQ.js.map} +1 -1
- package/dist/components/{p-DVM-djDm.js → p-Ck-idhcY.js} +7 -7
- package/dist/components/{p-DVM-djDm.js.map → p-Ck-idhcY.js.map} +1 -1
- package/dist/components/{p-CczRGS7Y.js → p-CuKQ9tEk.js} +3 -3
- package/dist/components/{p-CczRGS7Y.js.map → p-CuKQ9tEk.js.map} +1 -1
- package/dist/components/{p-DbBws6X7.js → p-CzuXVZQ1.js} +4 -4
- package/dist/components/{p-DbBws6X7.js.map → p-CzuXVZQ1.js.map} +1 -1
- package/dist/components/{p-DPZ4R8tR.js → p-D0k1Pz_A.js} +17 -17
- package/dist/components/{p-DPZ4R8tR.js.map → p-D0k1Pz_A.js.map} +1 -1
- package/dist/components/{p-C09xOzQ6.js → p-D1L3-Uvq.js} +7 -7
- package/dist/components/{p-C09xOzQ6.js.map → p-D1L3-Uvq.js.map} +1 -1
- package/dist/components/{p-DKbMooLM.js → p-DCexcYIP.js} +79 -73
- package/dist/components/p-DCexcYIP.js.map +1 -0
- package/dist/components/{p-CF3y5NYY.js → p-DG4uEGCg.js} +5 -5
- package/dist/components/{p-CF3y5NYY.js.map → p-DG4uEGCg.js.map} +1 -1
- package/dist/components/{p-i4y_Venf.js → p-DKo99Z43.js} +3 -3
- package/dist/components/{p-i4y_Venf.js.map → p-DKo99Z43.js.map} +1 -1
- package/dist/components/{p-1ddWJmvW.js → p-DVBhtEXS.js} +8 -8
- package/dist/components/{p-1ddWJmvW.js.map → p-DVBhtEXS.js.map} +1 -1
- package/dist/components/{p-B_88roRV.js → p-DYzmbr8y.js} +17 -17
- package/dist/components/{p-B_88roRV.js.map → p-DYzmbr8y.js.map} +1 -1
- package/dist/components/{p-BsreOXdY.js → p-DZP-fvPJ.js} +3 -3
- package/dist/components/{p-BsreOXdY.js.map → p-DZP-fvPJ.js.map} +1 -1
- package/dist/components/{p-CsfhfNKJ.js → p-DcR04vBT.js} +4 -4
- package/dist/components/{p-CsfhfNKJ.js.map → p-DcR04vBT.js.map} +1 -1
- package/dist/components/p-DdsRqtRd.js +176 -0
- package/dist/components/p-DdsRqtRd.js.map +1 -0
- package/dist/components/{p-CLbfAJ0X.js → p-DffaAVW4.js} +2 -5
- package/dist/components/p-DffaAVW4.js.map +1 -0
- package/dist/components/{p-Ak82LNyC.js → p-DqCMV_MY.js} +15 -15
- package/dist/components/{p-Ak82LNyC.js.map → p-DqCMV_MY.js.map} +1 -1
- package/dist/components/{p-DLpSXikD.js → p-DrEcfY_J.js} +4 -4
- package/dist/components/{p-DLpSXikD.js.map → p-DrEcfY_J.js.map} +1 -1
- package/dist/components/{p-DRcpbaNd.js → p-DwKK-L0J.js} +5 -5
- package/dist/components/{p-DRcpbaNd.js.map → p-DwKK-L0J.js.map} +1 -1
- package/dist/components/{p-BYHrh00m.js → p-Dw_QK-he.js} +6 -6
- package/dist/components/{p-BYHrh00m.js.map → p-Dw_QK-he.js.map} +1 -1
- package/dist/components/{p-CQVcPp7I.js → p-Ij6Uu9h8.js} +7 -7
- package/dist/components/{p-CQVcPp7I.js.map → p-Ij6Uu9h8.js.map} +1 -1
- package/dist/components/{p-DvVSXyfE.js → p-K7KaIE1v.js} +18 -18
- package/dist/components/p-K7KaIE1v.js.map +1 -0
- package/dist/components/{p-D-mPHPaO.js → p-OiC5NHtc.js} +4 -4
- package/dist/components/{p-D-mPHPaO.js.map → p-OiC5NHtc.js.map} +1 -1
- package/dist/components/{p-DzS_0OPs.js → p-QZa2_PWg.js} +4 -4
- package/dist/components/{p-DzS_0OPs.js.map → p-QZa2_PWg.js.map} +1 -1
- package/dist/components/{p-DdS3vht-.js → p-UwE-6cC0.js} +18 -18
- package/dist/components/{p-DdS3vht-.js.map → p-UwE-6cC0.js.map} +1 -1
- package/dist/components/{p-CDEEN7tu.js → p-ZtMRKgam.js} +16 -9
- package/dist/components/p-ZtMRKgam.js.map +1 -0
- package/dist/components/{p-5bn-NO5u.js → p-_YEZiLlm.js} +8 -8
- package/dist/components/{p-5bn-NO5u.js.map → p-_YEZiLlm.js.map} +1 -1
- package/dist/components/{p-DdCwAPae.js → p-lphkmIXU.js} +4 -4
- package/dist/components/{p-DdCwAPae.js.map → p-lphkmIXU.js.map} +1 -1
- package/dist/components/{p-C0RAZYKW.js → p-rE7Q2Ue3.js} +9 -9
- package/dist/components/{p-C0RAZYKW.js.map → p-rE7Q2Ue3.js.map} +1 -1
- package/dist/components/{p-BnrAwLD3.js → p-uXv5wPjh.js} +30 -30
- package/dist/components/{p-BnrAwLD3.js.map → p-uXv5wPjh.js.map} +1 -1
- package/dist/components/{p-DLtUiUbu.js → p-wijn7N4I.js} +6 -6
- package/dist/components/{p-DLtUiUbu.js.map → p-wijn7N4I.js.map} +1 -1
- package/dist/components/{p-BKHg_nvO.js → p-x_ncrpeq.js} +27 -17
- package/dist/components/p-x_ncrpeq.js.map +1 -0
- package/dist/components/{p-B2dT8iAi.js → p-ygIo6UQn.js} +3 -3
- package/dist/components/{p-B2dT8iAi.js.map → p-ygIo6UQn.js.map} +1 -1
- package/dist/components/test-item.js +1 -1
- package/dist/esm/defaultFieldIcons-CxK9aHT8.js +24 -0
- package/dist/esm/defaultFieldIcons-CxK9aHT8.js.map +1 -0
- package/dist/esm/defaultPalette-CwCWCxsI.js +220 -0
- package/dist/esm/defaultPalette-CwCWCxsI.js.map +1 -0
- package/dist/esm/editorUtils-BwTFZZiO.js +432 -0
- package/dist/esm/editorUtils-BwTFZZiO.js.map +1 -0
- package/dist/esm/fieldDefaults-B3gB_457.js +23 -0
- package/dist/esm/fieldDefaults-B3gB_457.js.map +1 -0
- package/dist/{components/p-B8VmBxFg.js → esm/i18n-Bp8hmhrC.js} +7 -5
- package/dist/esm/{i18n-B8VmBxFg.js.map → i18n-Bp8hmhrC.js.map} +1 -1
- package/dist/esm/{index-MftqtSf2.js → index-CItPoq74.js} +2 -5
- package/dist/esm/index-CItPoq74.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/ls-add-new-button_20.entry.js +1014 -0
- package/dist/esm/ls-badge.entry.js +1 -1
- package/dist/esm/ls-banner.entry.js +1 -1
- package/dist/esm/ls-button.entry.js +47 -0
- package/dist/esm/ls-button.entry.js.map +1 -0
- package/dist/esm/ls-card.entry.js +1 -1
- package/dist/esm/ls-checkbox-input_5.entry.js +1 -1
- package/dist/esm/ls-compose-loader_6.entry.js +374 -0
- package/dist/esm/ls-compose-manager.entry.js +4 -4
- package/dist/esm/ls-details-section.entry.js +1 -1
- package/dist/esm/ls-document-viewer.entry.js +31135 -0
- package/dist/esm/ls-document-viewer.entry.js.map +1 -0
- package/dist/esm/ls-document-viewer.js +3 -3
- package/dist/esm/ls-dropdown-item.entry.js +1 -1
- package/dist/esm/ls-dropdown.entry.js +1 -1
- package/dist/esm/ls-editor-field_11.entry.js +897 -0
- package/dist/esm/ls-field-alignment_3.entry.js +311 -0
- package/dist/esm/ls-field-format_2.entry.js +215 -0
- package/dist/esm/ls-field-properties-dropdown.entry.js +2 -2
- package/dist/esm/ls-formfield.entry.js +1 -1
- package/dist/esm/ls-header-bar.entry.js +1 -1
- package/dist/esm/ls-helper-bar_2.entry.js +34 -0
- package/dist/esm/ls-icon-button.entry.js +1 -1
- package/dist/esm/ls-icon-check-button.entry.js +1 -1
- package/dist/esm/ls-icon.entry.js +11209 -0
- package/dist/esm/ls-icon.entry.js.map +1 -0
- package/dist/esm/ls-label.entry.js +1 -1
- package/dist/esm/ls-list-card-button.entry.js +1 -1
- package/dist/esm/ls-loading_2.entry.js +34 -0
- package/dist/esm/ls-navbar.entry.js +1 -1
- package/dist/esm/ls-notification.entry.js +1 -1
- package/dist/esm/ls-radio-group.entry.js +1 -1
- package/dist/esm/ls-radio-input.entry.js +1 -1
- package/dist/esm/ls-tabs.entry.js +1 -1
- package/dist/esm/ls-tag.entry.js +1 -1
- package/dist/esm/ls-text.entry.js +1 -1
- package/dist/esm/ls-timeline-step.entry.js +1 -1
- package/dist/esm/ls-timeline.entry.js +1 -1
- package/dist/esm/ls-title-input.entry.js +2 -2
- package/dist/esm/ls-toolbox-field.entry.js +94 -0
- package/dist/esm/ls-toolbox-field.entry.js.map +1 -0
- package/dist/esm/ls-tooltip.entry.js +245 -0
- package/dist/esm/ls-tooltip.entry.js.map +1 -0
- package/dist/esm/mouseHandlers-BV17gkLo.js +966 -0
- package/dist/esm/mouseHandlers-BV17gkLo.js.map +1 -0
- package/dist/esm/test-item.entry.js +1 -1
- package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
- package/dist/ls-document-viewer/p-048d62f5.entry.js +2 -0
- package/dist/ls-document-viewer/p-048d62f5.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-0cd12efb.entry.js +2 -0
- package/dist/ls-document-viewer/p-0cd12efb.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-98a57094.entry.js → p-17771224.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-6772200f.entry.js → p-34c89736.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-7cfcd1b7.entry.js → p-35181c98.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-f107d880.entry.js → p-355fa23b.entry.js} +2 -2
- package/dist/ls-document-viewer/p-36c7680a.entry.js +2 -0
- package/dist/ls-document-viewer/p-36c7680a.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-b884f55e.entry.js → p-3bce0fe7.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-77488866.entry.js → p-429be8d1.entry.js} +2 -2
- package/dist/ls-document-viewer/p-4f759b89.entry.js +2 -0
- package/dist/ls-document-viewer/p-4f759b89.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-4f8330da.entry.js +2 -0
- package/dist/ls-document-viewer/p-4f8330da.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-58506eb1.entry.js +2 -0
- package/dist/ls-document-viewer/p-58506eb1.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-a5615ff6.entry.js → p-5e4e4662.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-cf174e71.entry.js → p-61e1b37b.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-c0cd42f6.entry.js → p-6244f792.entry.js} +2 -2
- package/dist/ls-document-viewer/p-6d0a1ebd.entry.js +2 -0
- package/dist/ls-document-viewer/p-6d0a1ebd.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-7145596d.entry.js +2 -0
- package/dist/ls-document-viewer/p-7145596d.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-f3798c61.entry.js → p-7c5b3574.entry.js} +2 -2
- package/dist/ls-document-viewer/p-7f51073d.entry.js +2 -0
- package/dist/ls-document-viewer/{p-e4b0754b.entry.js → p-85c87644.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-7c5c0140.entry.js → p-8e0ad6ec.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-6f20b92f.entry.js → p-94bbac6a.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-7d43969d.entry.js → p-9ebec463.entry.js} +2 -2
- package/dist/ls-document-viewer/p-B3gB_457.js +2 -0
- package/dist/ls-document-viewer/p-B3gB_457.js.map +1 -0
- package/dist/ls-document-viewer/p-Bp8hmhrC.js +2 -0
- package/dist/ls-document-viewer/{p-B8VmBxFg.js.map → p-Bp8hmhrC.js.map} +1 -1
- package/dist/ls-document-viewer/p-BwTFZZiO.js +2 -0
- package/dist/ls-document-viewer/p-BwTFZZiO.js.map +1 -0
- package/dist/ls-document-viewer/{p-MftqtSf2.js → p-CItPoq74.js} +2 -2
- package/dist/ls-document-viewer/p-CItPoq74.js.map +1 -0
- package/dist/ls-document-viewer/p-CwCWCxsI.js +2 -0
- package/dist/ls-document-viewer/p-CwCWCxsI.js.map +1 -0
- package/dist/ls-document-viewer/p-CxK9aHT8.js +2 -0
- package/dist/ls-document-viewer/p-CxK9aHT8.js.map +1 -0
- package/dist/ls-document-viewer/p-DhBCuHVJ.js +2 -0
- package/dist/ls-document-viewer/p-DhBCuHVJ.js.map +1 -0
- package/dist/ls-document-viewer/{p-9eac3794.entry.js → p-a4121600.entry.js} +2 -2
- package/dist/ls-document-viewer/p-a7dd3ba3.entry.js +2 -0
- package/dist/ls-document-viewer/p-a961097c.entry.js +2 -0
- package/dist/ls-document-viewer/p-a961097c.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-6be63692.entry.js → p-abb5c859.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-a0ed1643.entry.js → p-bbc53e46.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-fcf271bf.entry.js → p-c521696b.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-8239246f.entry.js → p-c78bd190.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-47e3e300.entry.js → p-ca1a0e03.entry.js} +2 -2
- package/dist/ls-document-viewer/p-cee82e97.entry.js +9009 -0
- package/dist/ls-document-viewer/p-cee82e97.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-0fba6f09.entry.js → p-d297ea14.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-a91b7258.entry.js → p-d2caf154.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-05267892.entry.js → p-d76f5c10.entry.js} +2 -2
- package/dist/ls-document-viewer/p-edfdaad7.entry.js +2 -0
- package/dist/ls-document-viewer/p-edfdaad7.entry.js.map +1 -0
- package/dist/ls-document-viewer/{p-a74d04e0.entry.js → p-f318c711.entry.js} +2 -2
- package/dist/ls-document-viewer/p-f3585382.entry.js +24 -0
- package/dist/ls-document-viewer/p-f3585382.entry.js.map +1 -0
- package/dist/types/components/ls-document-viewer/snapHelper.d.ts +1 -2
- package/dist/types/components/ls-participant-select/ls-participant-select.d.ts +4 -2
- package/dist/types/components/ls-validation-manager/ls-validation-manager.d.ts +3 -0
- package/dist/types/components/ls-validation-tag/ls-validation-tag.d.ts +2 -0
- package/dist/types/components.d.ts +18 -0
- package/package.json +1 -1
- package/dist/cjs/index-CmGbWor3.js.map +0 -1
- package/dist/cjs/ls-add-new-button_51.cjs.entry.js +0 -46975
- package/dist/components/p-1e4klocT.js +0 -182
- package/dist/components/p-1e4klocT.js.map +0 -1
- package/dist/components/p-BKHg_nvO.js.map +0 -1
- package/dist/components/p-BsVEdJSl.js +0 -108
- package/dist/components/p-BsVEdJSl.js.map +0 -1
- package/dist/components/p-CDEEN7tu.js.map +0 -1
- package/dist/components/p-CLbfAJ0X.js.map +0 -1
- package/dist/components/p-DKbMooLM.js.map +0 -1
- package/dist/components/p-DVKeLLVk.js.map +0 -1
- package/dist/components/p-DYJoT5OC.js.map +0 -1
- package/dist/components/p-DvVSXyfE.js.map +0 -1
- package/dist/components/p-MG59mYF3.js.map +0 -1
- package/dist/components/p-j1rAIT-X.js.map +0 -1
- package/dist/esm/index-MftqtSf2.js.map +0 -1
- package/dist/esm/ls-add-new-button_51.entry.js +0 -46922
- package/dist/ls-document-viewer/p-B8VmBxFg.js +0 -2
- package/dist/ls-document-viewer/p-MftqtSf2.js.map +0 -1
- package/dist/ls-document-viewer/p-d865f5a4.entry.js +0 -9031
- package/dist/ls-document-viewer/p-d865f5a4.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-db2560fe.entry.js +0 -2
- package/dist/ls-document-viewer/p-e3a04b71.entry.js +0 -2
- /package/dist/ls-document-viewer/{p-98a57094.entry.js.map → p-17771224.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-6772200f.entry.js.map → p-34c89736.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-7cfcd1b7.entry.js.map → p-35181c98.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-f107d880.entry.js.map → p-355fa23b.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-b884f55e.entry.js.map → p-3bce0fe7.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-77488866.entry.js.map → p-429be8d1.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-a5615ff6.entry.js.map → p-5e4e4662.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-cf174e71.entry.js.map → p-61e1b37b.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-c0cd42f6.entry.js.map → p-6244f792.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-f3798c61.entry.js.map → p-7c5b3574.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-db2560fe.entry.js.map → p-7f51073d.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-e4b0754b.entry.js.map → p-85c87644.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-7c5c0140.entry.js.map → p-8e0ad6ec.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-6f20b92f.entry.js.map → p-94bbac6a.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-7d43969d.entry.js.map → p-9ebec463.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-9eac3794.entry.js.map → p-a4121600.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-e3a04b71.entry.js.map → p-a7dd3ba3.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-6be63692.entry.js.map → p-abb5c859.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-a0ed1643.entry.js.map → p-bbc53e46.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-fcf271bf.entry.js.map → p-c521696b.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-8239246f.entry.js.map → p-c78bd190.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-47e3e300.entry.js.map → p-ca1a0e03.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-0fba6f09.entry.js.map → p-d297ea14.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-a91b7258.entry.js.map → p-d2caf154.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-05267892.entry.js.map → p-d76f5c10.entry.js.map} +0 -0
- /package/dist/ls-document-viewer/{p-a74d04e0.entry.js.map → p-f318c711.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mouseHandlers-D3r6xq7p.js","sources":["src/components/ls-document-viewer/snapHelper.ts","src/components/ls-document-viewer/mouseHandlers.ts"],"sourcesContent":["const SNAP_THRESHOLD = 8; // pixels proximity to trigger snap\n\nexport interface SnapResult {\n x: number | null; // snapped left position (null = no snap on x)\n y: number | null; // snapped top position (null = no snap on y)\n guides: { orientation: 'h' | 'v'; position: number }[];\n}\n\n/**\n * Calculate snap positions for a dragging field against existing fields.\n * Snaps edges and centers. Shows guides for ALL aligned edges at the snapped position.\n * All values are in zoomed pixel coordinates relative to the document frame.\n */\nexport function calculateSnap(\n dragLeft: number,\n dragTop: number,\n dragWidth: number,\n dragHeight: number,\n fields: { offsetLeft: number; offsetTop: number; offsetWidth: number; offsetHeight: number; dataItem?: any }[],\n currentPage: number,\n excludeIds?: string[],\n): SnapResult {\n const result: SnapResult = { x: null, y: null, guides: [] };\n\n const dragRight = dragLeft + dragWidth;\n const dragBottom = dragTop + dragHeight;\n const dragCenterX = dragLeft + dragWidth / 2;\n const dragCenterY = dragTop + dragHeight / 2;\n\n let closestDx = SNAP_THRESHOLD + 1;\n let closestDy = SNAP_THRESHOLD + 1;\n let snappedX = dragLeft;\n let snappedY = dragTop;\n\n // First pass: find the closest snap distance per axis\n for (const field of fields) {\n if (field.dataItem?.page !== currentPage) continue;\n if (excludeIds && excludeIds.includes(field.dataItem?.id)) continue;\n\n const fLeft = field.offsetLeft;\n const fTop = field.offsetTop;\n const fRight = fLeft + field.offsetWidth;\n const fBottom = fTop + field.offsetHeight;\n const fCenterX = fLeft + field.offsetWidth / 2;\n const fCenterY = fTop + field.offsetHeight / 2;\n\n const xPairs = [\n { dragEdge: dragLeft, targetEdge: fLeft },\n { dragEdge: dragLeft, targetEdge: fRight },\n { dragEdge: dragRight, targetEdge: fLeft },\n { dragEdge: dragRight, targetEdge: fRight },\n { dragEdge: dragCenterX, targetEdge: fCenterX },\n ];\n\n for (const { dragEdge, targetEdge } of xPairs) {\n const dist = Math.abs(dragEdge - targetEdge);\n if (dist < closestDx) {\n closestDx = dist;\n snappedX = dragLeft + (targetEdge - dragEdge);\n }\n }\n\n const yPairs = [\n { dragEdge: dragTop, targetEdge: fTop },\n { dragEdge: dragTop, targetEdge: fBottom },\n { dragEdge: dragBottom, targetEdge: fTop },\n { dragEdge: dragBottom, targetEdge: fBottom },\n { dragEdge: dragCenterY, targetEdge: fCenterY },\n ];\n\n for (const { dragEdge, targetEdge } of yPairs) {\n const dist = Math.abs(dragEdge - targetEdge);\n if (dist < closestDy) {\n closestDy = dist;\n snappedY = dragTop + (targetEdge - dragEdge);\n }\n }\n }\n\n if (closestDx > SNAP_THRESHOLD) snappedX = dragLeft;\n if (closestDy > SNAP_THRESHOLD) snappedY = dragTop;\n\n // Second pass: collect ALL guides that align at the snapped position\n if (closestDx <= SNAP_THRESHOLD) {\n result.x = snappedX;\n const snappedRight = snappedX + dragWidth;\n const snappedCenterX = snappedX + dragWidth / 2;\n\n const guideSet = new Set<number>();\n for (const field of fields) {\n if (field.dataItem?.page !== currentPage) continue;\n if (excludeIds && excludeIds.includes(field.dataItem?.id)) continue;\n\n const fLeft = field.offsetLeft;\n const fRight = fLeft + field.offsetWidth;\n const fCenterX = fLeft + field.offsetWidth / 2;\n\n for (const target of [fLeft, fRight, fCenterX]) {\n if (Math.abs(snappedX - target) < 1 || Math.abs(snappedRight - target) < 1 || Math.abs(snappedCenterX - target) < 1) {\n guideSet.add(target);\n }\n }\n }\n guideSet.forEach(pos => result.guides.push({ orientation: 'v', position: pos }));\n }\n\n if (closestDy <= SNAP_THRESHOLD) {\n result.y = snappedY;\n const snappedBottom = snappedY + dragHeight;\n const snappedCenterY = snappedY + dragHeight / 2;\n\n const guideSet = new Set<number>();\n for (const field of fields) {\n if (field.dataItem?.page !== currentPage) continue;\n if (excludeIds && excludeIds.includes(field.dataItem?.id)) continue;\n\n const fTop = field.offsetTop;\n const fBottom = fTop + field.offsetHeight;\n const fCenterY = fTop + field.offsetHeight / 2;\n\n for (const target of [fTop, fBottom, fCenterY]) {\n if (Math.abs(snappedY - target) < 1 || Math.abs(snappedBottom - target) < 1 || Math.abs(snappedCenterY - target) < 1) {\n guideSet.add(target);\n }\n }\n }\n guideSet.forEach(pos => result.guides.push({ orientation: 'h', position: pos }));\n }\n\n return result;\n}\n","import { LSApiElement } from '../../types/LSApiElement';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { findDimensions, findIn, recalculateCoordinates } from './editorCalculator';\nimport { IToolboxField } from '../interfaces/IToolboxField';\nimport { FIELD_DEFAULTS, DEFAULT_FONT_SIZE, DEFAULT_FONT_NAME } from '../../constants/fieldDefaults';\nimport { calculateSnap } from './snapHelper';\nimport { defaultRolePalette } from './defaultPalette';\nimport { dvI18n } from '../../i18n/i18n';\n\nconst preventSelect = (e: Event) => e.preventDefault();\n\nfunction disableSelection() {\n document.body.style.userSelect = 'none';\n document.body.style.webkitUserSelect = 'none';\n document.addEventListener('selectstart', preventSelect);\n}\n\nfunction enableSelection() {\n document.body.style.userSelect = '';\n document.body.style.webkitUserSelect = '';\n document.removeEventListener('selectstart', preventSelect);\n}\n\nexport function updateSelectionBox() {\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n if (!this.selected || this.selected.length < 2) {\n box.style.visibility = 'hidden';\n return;\n }\n\n let minLeft = Infinity, minTop = Infinity, maxRight = -Infinity, maxBottom = -Infinity;\n\n this.selected.forEach(f => {\n const left = f.offsetLeft;\n const top = f.offsetTop;\n const right = left + f.offsetWidth;\n const bottom = top + f.offsetHeight;\n if (left < minLeft) minLeft = left;\n if (top < minTop) minTop = top;\n if (right > maxRight) maxRight = right;\n if (bottom > maxBottom) maxBottom = bottom;\n });\n\n box.style.left = minLeft + 'px';\n box.style.top = minTop + 'px';\n box.style.width = (maxRight - minLeft) + 'px';\n box.style.height = (maxBottom - minTop) + 'px';\n box.style.visibility = 'visible';\n}\n\nlet mousetimer = null;\n\nexport function debounce(data, delay) {\n if (mousetimer) clearTimeout(mousetimer);\n\n mousetimer = setTimeout(() => {\n this.mutate.emit([data]);\n }, delay);\n}\n\nexport function mouseDown(e) {\n if (e.offsetX < 0 || e.offsetY < 0) return;\n if (this._isToolboxDragging) return;\n // Disable mouse interactions in preview mode or when template is locked\n if (this.mode === 'preview' || this._template?.locked) {\n return;\n }\n // Ignore events originating from outside the document frame\n const frame = this.component.shadowRoot.getElementById('ls-document-frame');\n if (!frame || !e.composedPath().includes(frame)) return;\n // console.log('mousedown', e);\n\n // Find if this was\n // - a hit on a field edge RESIZE\n // - a hit on the middle of a field MOVE\n // - a hit on the background document SELECTMULTIPLE with a box\n this.hitField = null;\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n\n fields.forEach(f => {\n const { left, top, height, width, bottom, right } = f.getBoundingClientRect();\n const fdims = { left: f.offsetLeft, top: f.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n // Scale edge threshold for small fields\n const edgeX = Math.min(8, width * 0.25);\n const edgeY = Math.min(8, height * 0.25);\n // corners (check before edges)\n if (Math.abs(e.clientX - right) < edgeX && Math.abs(e.clientY - bottom) < edgeY) {\n this.edgeSide = 'se';\n this.hitField = f;\n } else if (Math.abs(e.clientX - left) < edgeX && Math.abs(e.clientY - top) < edgeY) {\n this.edgeSide = 'nw';\n this.hitField = f;\n } else if (Math.abs(e.clientX - right) < edgeX && Math.abs(e.clientY - top) < edgeY) {\n this.edgeSide = 'ne';\n this.hitField = f;\n } else if (Math.abs(e.clientX - left) < edgeX && Math.abs(e.clientY - bottom) < edgeY) {\n this.edgeSide = 'sw';\n this.hitField = f;\n // west edge\n } else if (Math.abs(e.clientX - left) < edgeX && e.clientY >= top && e.clientY <= bottom) {\n this.edgeSide = 'w';\n this.hitField = f;\n // right / east edge\n } else if (Math.abs(e.clientX - right) < edgeX && e.clientY >= top && e.clientY <= bottom) {\n this.edgeSide = 'e';\n this.hitField = f;\n // north edge\n } else if (Math.abs(e.clientY - top) < edgeY && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = 'n';\n this.hitField = f;\n // south edge\n } else if (Math.abs(e.clientY - bottom) < edgeY && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = 's';\n this.hitField = f;\n } else if (e.clientY <= bottom && e.clientY >= top && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = null;\n this.hitField = f;\n }\n });\n\n if (this.hitField && e.shiftKey === false) {\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n box.style.visibility = 'hidden';\n\n // mouse down on a field, select it and note the start location\n if (this.hitField.selected === false) {\n // unselect all other fields\n fields.forEach(fu => {\n fu.selected = false;\n });\n this.selected = [this.hitField];\n this.selectFields.emit([this.hitField.dataItem]);\n }\n\n const { height, width } = this.hitField.getBoundingClientRect();\n const fdims = { left: this.hitField.offsetLeft, top: this.hitField.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n\n this.startLocations = this.selected.map(f => {\n const { height, width } = f.getBoundingClientRect();\n const beHtml = f as HTMLElement;\n return { top: beHtml.offsetTop, left: beHtml.offsetLeft, height, width };\n });\n this.selectionBox = null;\n } else if (this.hitField && e.shiftKey === true) {\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n box.style.visibility = 'hidden';\n\n // mouse down on a field, select it and note the start location\n if (this.hitField.selected === false) {\n // unselect all other fields\n fields.forEach(fu => {\n fu.selected = false;\n });\n this.selected = [...this.selected, this.hitField];\n this.selectFields.emit([...this.selected.map(si => si.dataItem), this.hitField.dataItem]);\n }\n\n const { height, width } = this.hitField.getBoundingClientRect();\n const fdims = { left: this.hitField.offsetLeft, top: this.hitField.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n\n this.startLocations = this.selected.map(f => {\n const { height, width } = f.getBoundingClientRect();\n const beHtml = f as HTMLElement;\n return { top: beHtml.offsetTop, left: beHtml.offsetLeft, height, width };\n });\n this.selectionBox = null;\n } else {\n // move down on empty space, start a selection box\n this.startLocations = null;\n this.startMouse = null;\n this.selectionBox = { x: e.clientX, y: e.clientY };\n // console.log('empty space reset selected', this.selectionBox);\n this.unselect();\n\n this.selectFields.emit([]);\n this.selected = [];\n this.component.style.cursor = 'crosshair';\n updateSelectionBox.bind(this)();\n }\n}\n\nexport function outOfBounds(futureField) {\n return (\n futureField.height <= 5 ||\n futureField.left < 0 ||\n futureField.top < 0 ||\n futureField.left + futureField.width >= futureField.pageDimensions.width ||\n futureField.top + futureField.height >= futureField.pageDimensions.height\n );\n}\nexport function mouseMove(event) {\n event.preventDefault();\n if (this._isToolboxDragging) return;\n // Disable mouse move interactions in preview mode or when template is locked\n if (this.mode === 'preview' || this._template?.locked) {\n return;\n }\n\n // We have the mouse held down on a field edge to resize it.\n if (this.hitField && this.edgeSide && this.startMouse && event.buttons === 1) {\n disableSelection();\n const movedX = event.screenX - this.startMouse.x;\n const movedY = event.screenY - this.startMouse.y;\n var scale = this.hitField.dataItem.formElementType === 'signature' && this._template.fixSignatureScale;\n\n switch (this.edgeSide) {\n case 'n':\n if (scale) {\n const newHeight = this.startMouse.height - movedY;\n const aspectRatio = this.startMouse.width / this.startMouse.height;\n const newWidth = newHeight * aspectRatio;\n if (outOfBounds({ ...this.hitField.dataItem, top: (this.startMouse.top + movedY) / this.zoom, height: newHeight / this.zoom, width: newWidth / this.zoom })) break;\n this.hitField.style.top = this.startMouse.top + movedY + 'px';\n this.hitField.style.height = newHeight + 'px';\n this.hitField.style.width = newWidth + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, top: (this.startMouse.top + movedY) / this.zoom, height: newHeight / this.zoom, width: newWidth / this.zoom };\n } else {\n if (outOfBounds({ ...this.hitField.dataItem, top: (this.startMouse.top + movedY) / this.zoom, height: (this.startMouse.height - movedY) / this.zoom })) break;\n this.hitField.style.top = this.startMouse.top + movedY + 'px';\n this.hitField.style.height = this.startMouse.height - movedY + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, top: (this.startMouse.top + movedY) / this.zoom, height: (this.startMouse.height - movedY) / this.zoom };\n }\n break;\n case 's':\n if (scale) {\n const newHeight = this.startMouse.height + movedY;\n const aspectRatio = this.startMouse.width / this.startMouse.height;\n const newWidth = newHeight * aspectRatio;\n if (outOfBounds({ ...this.hitField.dataItem, height: newHeight / this.zoom, width: newWidth / this.zoom })) break;\n this.hitField.style.height = newHeight + 'px';\n this.hitField.style.width = newWidth + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, height: newHeight / this.zoom, width: newWidth / this.zoom };\n } else {\n if (outOfBounds({ ...this.hitField.dataItem, height: (this.startMouse.height + movedY) / this.zoom })) break;\n this.hitField.style.height = this.startMouse.height + movedY + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, height: (this.startMouse.height + movedY) / this.zoom };\n }\n break;\n case 'e':\n if (scale) {\n const newWidth = this.startMouse.width + movedX;\n const aspectRatio = this.startMouse.height / this.startMouse.width;\n const newHeight = newWidth * aspectRatio;\n if (outOfBounds({ ...this.hitField.dataItem, width: newWidth / this.zoom, height: newHeight / this.zoom })) break;\n this.hitField.style.width = newWidth + 'px';\n this.hitField.style.height = newHeight + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, width: newWidth / this.zoom, height: newHeight / this.zoom };\n } else {\n if (outOfBounds({ ...this.hitField.dataItem, width: (this.startMouse.width + movedX) / this.zoom })) break;\n this.hitField.style.width = this.startMouse.width + movedX + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, width: (this.startMouse.width + movedX) / this.zoom };\n }\n break;\n case 'w':\n if (scale) {\n const newWidth = this.startMouse.width - movedX;\n const aspectRatio = this.startMouse.height / this.startMouse.width;\n const newHeight = newWidth * aspectRatio;\n if (outOfBounds({ ...this.hitField.dataItem, left: (this.startMouse.left + movedX) / this.zoom, width: newWidth / this.zoom, height: newHeight / this.zoom })) break;\n this.hitField.style.left = this.startMouse.left + movedX + 'px';\n this.hitField.style.width = newWidth + 'px';\n this.hitField.style.height = newHeight + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, left: (this.startMouse.left + movedX) / this.zoom, width: newWidth / this.zoom, height: newHeight / this.zoom };\n } else {\n if (outOfBounds({ ...this.hitField.dataItem, left: (this.startMouse.left + movedX) / this.zoom, width: (this.startMouse.width - movedX) / this.zoom })) break;\n this.hitField.style.left = this.startMouse.left + movedX + 'px';\n this.hitField.style.width = this.startMouse.width - movedX + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, left: (this.startMouse.left + movedX) / this.zoom, width: (this.startMouse.width - movedX) / this.zoom };\n }\n break;\n case 'se': {\n if (scale) {\n const aspectRatio = this.startMouse.width / this.startMouse.height;\n const newWidth = this.startMouse.width + movedX;\n const newHeight = newWidth / aspectRatio;\n if (outOfBounds({ ...this.hitField.dataItem, width: newWidth / this.zoom, height: newHeight / this.zoom })) break;\n this.hitField.style.width = newWidth + 'px';\n this.hitField.style.height = newHeight + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, width: newWidth / this.zoom, height: newHeight / this.zoom };\n } else {\n const newWidth = (this.startMouse.width + movedX) / this.zoom;\n const newHeight = (this.startMouse.height + movedY) / this.zoom;\n if (outOfBounds({ ...this.hitField.dataItem, width: newWidth, height: newHeight })) break;\n this.hitField.style.width = this.startMouse.width + movedX + 'px';\n this.hitField.style.height = this.startMouse.height + movedY + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, width: newWidth, height: newHeight };\n }\n break;\n }\n case 'nw': {\n if (scale) {\n const aspectRatio = this.startMouse.width / this.startMouse.height;\n const newWidth = this.startMouse.width - movedX;\n const newHeight = newWidth / aspectRatio;\n const newLeft = this.startMouse.left + movedX;\n const newTop = this.startMouse.top + (this.startMouse.height - newHeight);\n if (outOfBounds({ ...this.hitField.dataItem, left: newLeft / this.zoom, top: newTop / this.zoom, width: newWidth / this.zoom, height: newHeight / this.zoom })) break;\n this.hitField.style.left = newLeft + 'px';\n this.hitField.style.top = newTop + 'px';\n this.hitField.style.width = newWidth + 'px';\n this.hitField.style.height = newHeight + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, left: newLeft / this.zoom, top: newTop / this.zoom, width: newWidth / this.zoom, height: newHeight / this.zoom };\n } else {\n const newLeft = (this.startMouse.left + movedX) / this.zoom;\n const newTop = (this.startMouse.top + movedY) / this.zoom;\n const newWidth = (this.startMouse.width - movedX) / this.zoom;\n const newHeight = (this.startMouse.height - movedY) / this.zoom;\n if (outOfBounds({ ...this.hitField.dataItem, left: newLeft, top: newTop, width: newWidth, height: newHeight })) break;\n this.hitField.style.left = this.startMouse.left + movedX + 'px';\n this.hitField.style.top = this.startMouse.top + movedY + 'px';\n this.hitField.style.width = this.startMouse.width - movedX + 'px';\n this.hitField.style.height = this.startMouse.height - movedY + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, left: newLeft, top: newTop, width: newWidth, height: newHeight };\n }\n break;\n }\n case 'ne': {\n if (scale) {\n const aspectRatio = this.startMouse.width / this.startMouse.height;\n const newWidth = this.startMouse.width + movedX;\n const newHeight = newWidth / aspectRatio;\n const newTop = this.startMouse.top + (this.startMouse.height - newHeight);\n if (outOfBounds({ ...this.hitField.dataItem, top: newTop / this.zoom, width: newWidth / this.zoom, height: newHeight / this.zoom })) break;\n this.hitField.style.top = newTop + 'px';\n this.hitField.style.width = newWidth + 'px';\n this.hitField.style.height = newHeight + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, top: newTop / this.zoom, width: newWidth / this.zoom, height: newHeight / this.zoom };\n } else {\n const newWidth = (this.startMouse.width + movedX) / this.zoom;\n const newTop = (this.startMouse.top + movedY) / this.zoom;\n const newHeight = (this.startMouse.height - movedY) / this.zoom;\n if (outOfBounds({ ...this.hitField.dataItem, top: newTop, width: newWidth, height: newHeight })) break;\n this.hitField.style.width = this.startMouse.width + movedX + 'px';\n this.hitField.style.top = this.startMouse.top + movedY + 'px';\n this.hitField.style.height = this.startMouse.height - movedY + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, top: newTop, width: newWidth, height: newHeight };\n }\n break;\n }\n case 'sw': {\n if (scale) {\n const aspectRatio = this.startMouse.width / this.startMouse.height;\n const newWidth = this.startMouse.width - movedX;\n const newHeight = newWidth / aspectRatio;\n const newLeft = this.startMouse.left + movedX;\n if (outOfBounds({ ...this.hitField.dataItem, left: newLeft / this.zoom, width: newWidth / this.zoom, height: newHeight / this.zoom })) break;\n this.hitField.style.left = newLeft + 'px';\n this.hitField.style.width = newWidth + 'px';\n this.hitField.style.height = newHeight + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, left: newLeft / this.zoom, width: newWidth / this.zoom, height: newHeight / this.zoom };\n } else {\n const newLeft = (this.startMouse.left + movedX) / this.zoom;\n const newWidth = (this.startMouse.width - movedX) / this.zoom;\n const newHeight = (this.startMouse.height + movedY) / this.zoom;\n if (outOfBounds({ ...this.hitField.dataItem, left: newLeft, width: newWidth, height: newHeight })) break;\n this.hitField.style.left = this.startMouse.left + movedX + 'px';\n this.hitField.style.width = this.startMouse.width - movedX + 'px';\n this.hitField.style.height = this.startMouse.height + movedY + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, left: newLeft, width: newWidth, height: newHeight };\n }\n break;\n }\n }\n\n debounce.bind(this)({ action: 'update', data: recalculateCoordinates(this.hitField.dataItem) }, 700);\n } else if (this.selectionBox && event.buttons === 1) {\n this.isBoxing = true;\n // draw the multiple selection box\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n var leftOffset = frame.getBoundingClientRect().left;\n var topOffset = frame.getBoundingClientRect().top;\n\n const movedX = event.clientX - this.selectionBox.x;\n const movedY = event.clientY - this.selectionBox.y;\n\n // allow for the frame to be scrolled\n box.style.visibility = 'visible';\n box.style.left = (this.selectionBox.x > event.clientX ? event.clientX : this.selectionBox.x) - leftOffset + frame.scrollLeft + 'px';\n box.style.top = (this.selectionBox.y > event.clientY ? event.clientY : this.selectionBox.y) - topOffset + frame.scrollTop + 'px';\n box.style.width = Math.abs(movedX) + 'px';\n box.style.height = Math.abs(movedY) + 'px';\n\n // Move one or more selected items\n } else if (this.startLocations && !this.edgeSide && this.startMouse && event.buttons === 1) {\n this.isMoving = true;\n disableSelection();\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n box.style.visibility = 'hidden';\n\n // Dismiss any open date picker when moving fields\n if (this.selected?.length) {\n this.selected.forEach(f => {\n const input = f.shadowRoot?.getElementById('editing-input') as HTMLInputElement;\n if (input) input.blur();\n });\n }\n\n // Move one or more selected items\n const movedX = event.screenX - this.startMouse.x;\n const movedY = event.screenY - this.startMouse.y;\n if (this.selected?.length) {\n // Calculate snap based on the primary (first) selected field\n const primaryLeft = this.startLocations[0].left + movedX;\n const primaryTop = this.startLocations[0].top + movedY;\n const primaryWidth = this.startLocations[0].width;\n const primaryHeight = this.startLocations[0].height;\n\n const allFields = Array.from(this.component.shadowRoot.querySelectorAll('ls-editor-field')) as HTMLLsEditorFieldElement[];\n const excludeIds = this.selected.map(s => s.dataItem.id);\n const snap = calculateSnap(primaryLeft, primaryTop, primaryWidth, primaryHeight, allFields, this.pageNum, excludeIds);\n\n // Apply snap offset to all selected fields\n const snapOffsetX = snap.x !== null ? snap.x - primaryLeft : 0;\n const snapOffsetY = snap.y !== null ? snap.y - primaryTop : 0;\n\n for (let i = 0; i < this.selected.length; i++) {\n const newLeft = this.startLocations[i].left + movedX + snapOffsetX;\n const newTop = this.startLocations[i].top + movedY + snapOffsetY;\n if (\n newLeft >= 0 &&\n newTop >= 0 &&\n newLeft <= (this.pageDimensions[this.pageNum - 1].width - this.selected[i].dataItem.width) * this.zoom &&\n newTop <= (this.pageDimensions[this.pageNum - 1].height - this.selected[i].dataItem.height) * this.zoom\n ) {\n this.selected[i].style.left = Math.round(newLeft) + 'px';\n this.selected[i].style.top = Math.round(newTop) + 'px';\n }\n }\n\n showSnapGuides.bind(this)(snap.guides);\n updateSelectionBox.bind(this)();\n }\n }\n}\n\nexport function mouseUp(event) {\n this.edgeSide = null;\n this.startMouse = null;\n this.component.style.cursor = 'auto';\n enableSelection();\n clearSnapGuides.bind(this)();\n\n // find what was inside the selection box emit the select event and change their style\n if (this.selectionBox && this.isBoxing) {\n this.isBoxing = false;\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n var fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n box.style.visibility = 'hidden';\n this.selectionBox = null;\n const found = findIn(fields, box, true, event.shiftKey);\n this.selected = Array.from(found);\n this.selectFields.emit(found.map(fx => fx.dataItem));\n updateSelectionBox.bind(this)();\n }\n}\n\nexport function mouseClick(e) {\n // Disable click interactions in preview mode or when template is locked\n if (this.mode === 'preview' || this._template?.locked) {\n return;\n }\n \n // check we're not moving fields\n if (this.isMoving) {\n // End dragging fields\n this.isMoving = false;\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n const divFrame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLDivElement;\n const selected = Array.from(fields).filter(fx => fx.selected);\n\n this.mutate.emit(\n Array.from(fields)\n .filter(fx => fx.selected)\n .map(fx => {\n // Calculate new positions and update the dataItem on the control\n const delta = {\n ...fx.dataItem,\n ...findDimensions(divFrame, fx, fx.dataItem.pageDimensions.height, fx.dataItem.pageDimensions.width, this.zoom),\n };\n // TODO:: out of bounds handler (UNDO)\n // update the data in the html element\n fx.dataItem = delta;\n // send an update event to be processed\n return { action: 'update', data: delta };\n }),\n );\n this.selectFields.emit(selected.map(fx => fx.dataItem));\n updateSelectionBox.bind(this)();\n } else {\n // reset the selection box location\n this.selectionBox = { x: e.clientX, y: e.clientY };\n\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n fields.forEach(f => {\n const { left, top, bottom, right } = f.getBoundingClientRect();\n if (e.clientY <= bottom && e.clientY >= top && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = null;\n this.hitField = f;\n // check if this is a shift click to add to the current selection\n if (!e.shiftKey) fields.forEach(ft => (ft.selected = false));\n f.selected = true;\n }\n });\n\n this.selected = Array.from(fields).filter(fx => fx.selected);\n this.selectFields.emit(this.selected.map(fx => fx.dataItem));\n updateSelectionBox.bind(this)();\n }\n}\n\nexport function showSnapGuides(guides: { orientation: 'h' | 'v'; position: number }[]) {\n const frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n let container = this.component.shadowRoot.getElementById('ls-snap-guides');\n if (!container) {\n container = document.createElement('div');\n container.id = 'ls-snap-guides';\n container.style.position = 'absolute';\n container.style.top = '0';\n container.style.left = '0';\n container.style.width = '100%';\n container.style.height = '100%';\n container.style.pointerEvents = 'none';\n container.style.zIndex = '9999';\n frame.appendChild(container);\n }\n\n container.innerHTML = '';\n for (const guide of guides) {\n const line = document.createElement('div');\n line.style.position = 'absolute';\n line.style.backgroundColor = 'transparent';\n if (guide.orientation === 'v') {\n line.style.left = guide.position + 'px';\n line.style.top = '0';\n line.style.width = '0';\n line.style.height = '100%';\n line.style.borderLeft = '1px dashed var(--gray-50, #c8c9cc)';\n } else {\n line.style.top = guide.position + 'px';\n line.style.left = '0';\n line.style.width = '100%';\n line.style.height = '0';\n line.style.borderTop = '1px dashed var(--gray-50, #c8c9cc)';\n }\n container.appendChild(line);\n }\n}\n\nexport function clearSnapGuides() {\n const container = this.component.shadowRoot.getElementById('ls-snap-guides');\n if (container) container.innerHTML = '';\n}\n\nexport function toolboxDragStart(fieldData: IToolboxField) {\n // Disable toolbox dragging when template is locked\n if (this._template?.locked) {\n return;\n }\n // Cancel any existing toolbox drag\n if (this._cancelToolboxDrag) {\n this._cancelToolboxDrag();\n }\n\n const frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n const zoom = this.zoom;\n this._isToolboxDragging = true;\n let hasMoved = false;\n\n // Prevent text selection during drag\n disableSelection();\n\n // Add dragging class to toolbox fields (shadow DOM cursor override)\n this.component.shadowRoot.querySelectorAll('ls-left-bar, ls-compose-loader').forEach(bar => {\n bar.shadowRoot?.querySelectorAll('ls-toolbox-field').forEach(el => el.classList.add('ls-dv-dragging'));\n });\n\n // Create ghost preview element matching the original drag image style\n const ghost = document.createElement('div');\n ghost.id = 'ls-toolbox-ghost';\n ghost.style.position = 'fixed';\n ghost.style.width = fieldData.defaultWidth * zoom + 'px';\n ghost.style.height = fieldData.defaultHeight * zoom + 'px';\n ghost.style.border = `1px dashed ${defaultRolePalette[this.signer % 100].s60}`;\n const s20 = defaultRolePalette[this.signer % 100].s20.replace('#', '');\n const r = parseInt(s20.substring(0, 2), 16);\n const g = parseInt(s20.substring(2, 4), 16);\n const b = parseInt(s20.substring(4, 6), 16);\n ghost.style.background = `rgba(${r},${g},${b},0.5)`;\n ghost.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -1px rgba(0, 0, 0, 0.06)';\n ghost.style.pointerEvents = 'none';\n ghost.style.zIndex = '10000';\n ghost.style.visibility = 'hidden';\n ghost.style.boxSizing = 'content-box';\n ghost.style.fontFamily = 'var(--font-family, IBM Plex Sans, sans-serif)';\n ghost.style.fontSize = Math.round(DEFAULT_FONT_SIZE * zoom) + 'px';\n ghost.style.color = defaultRolePalette[this.signer % 100].s100;\n ghost.style.overflow = 'visible';\n ghost.style.whiteSpace = 'nowrap';\n ghost.style.display = 'flex';\n ghost.style.alignItems = 'center';\n ghost.style.textTransform = 'capitalize';\n ghost.innerHTML = fieldData.formElementType;\n\n // Assignee label below ghost\n const assignee = this.mode === 'compose'\n ? this._recipients?.find(r => r.signerIndex === this.signer)\n : this._template.roles.find(r => r.signerIndex === this.signer);\n const assigneeName = this.mode === 'compose' && assignee?.previousRecipientDecides\n ? 'To Be Decided'\n : this.mode === 'compose'\n ? `${assignee?.firstName} ${assignee?.lastName}`\n : assignee?.name || (this.signer === 0 ? 'Sender' : `Participant ${this.signer}`);\n const assigneeLabel = document.createElement('p');\n assigneeLabel.style.position = 'absolute';\n assigneeLabel.style.color = 'var(--gray-80, #3a3a3a)';\n assigneeLabel.style.bottom = `-${1 * zoom}rem`;\n assigneeLabel.style.left = '0';\n assigneeLabel.style.margin = '0';\n assigneeLabel.style.padding = '0';\n assigneeLabel.style.lineHeight = '1';\n assigneeLabel.style.fontSize = `${0.625 * zoom}rem`;\n assigneeLabel.style.whiteSpace = 'nowrap';\n assigneeLabel.style.fontFamily = 'sans-serif';\n assigneeLabel.style.textTransform = 'none';\n assigneeLabel.style.pointerEvents = 'none';\n assigneeLabel.textContent = `${dvI18n.t('fieldproperties.assignedto')} ${assigneeName}`;\n ghost.appendChild(assigneeLabel);\n\n this.component.shadowRoot.appendChild(ghost);\n\n // Info chip at bottom of screen\n const chip = document.createElement('div');\n chip.id = 'ls-esc-chip';\n chip.style.position = 'fixed';\n chip.style.bottom = '1.5rem';\n chip.style.left = '50%';\n chip.style.transform = 'translateX(-50%)';\n chip.style.padding = '0.375rem 0.75rem';\n chip.style.borderRadius = '0.625rem';\n chip.style.background = 'var(--gray-100, #1f2937)';\n chip.style.color = 'white';\n chip.style.fontSize = '0.75rem';\n chip.style.fontFamily = 'var(--font-family, IBM Plex Sans, sans-serif)';\n chip.style.pointerEvents = 'none';\n chip.style.zIndex = '10000';\n chip.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.1)';\n chip.textContent = 'Press Esc to cancel field placement';\n this.component.shadowRoot.appendChild(chip);\n\n const onMouseMove = (e: MouseEvent) => {\n e.preventDefault();\n hasMoved = true;\n const dragWidth = fieldData.defaultWidth * zoom;\n const dragHeight = fieldData.defaultHeight * zoom;\n\n const frameRect = frame.getBoundingClientRect();\n const isOverFrame = e.clientX >= frameRect.left && e.clientX <= frameRect.right &&\n e.clientY >= frameRect.top && e.clientY <= frameRect.bottom;\n const isDragging = e.buttons === 1;\n\n // Only show grabbing cursor when ghost is visible\n let cursorStyle = document.getElementById('ls-drag-cursor') as HTMLStyleElement;\n if ((isOverFrame || isDragging) && !cursorStyle) {\n cursorStyle = document.createElement('style');\n cursorStyle.id = 'ls-drag-cursor';\n cursorStyle.textContent = '* { cursor: grabbing !important; }';\n document.head.appendChild(cursorStyle);\n } else if (!isOverFrame && !isDragging && cursorStyle) {\n cursorStyle.remove();\n }\n\n // When dragging (mouse held): show ghost over wrapper area\n // When click-to-place (mouse not held): only show over document frame\n if (isOverFrame) {\n ghost.style.visibility = 'visible';\n ghost.style.opacity = '1';\n const x = e.clientX - frameRect.left + frame.scrollLeft;\n const y = e.clientY - frameRect.top + frame.scrollTop;\n let left = x - dragWidth / 2;\n let top = y - dragHeight / 2;\n\n const fields = Array.from(this.component.shadowRoot.querySelectorAll('ls-editor-field')) as HTMLLsEditorFieldElement[];\n const snap = calculateSnap(left, top, dragWidth, dragHeight, fields, this.pageNum);\n ghost.style.left = (snap.x !== null ? snap.x + frameRect.left - frame.scrollLeft : e.clientX - dragWidth / 2) + 'px';\n ghost.style.top = (snap.y !== null ? snap.y + frameRect.top - frame.scrollTop : e.clientY - dragHeight / 2) + 'px';\n\n showSnapGuides.bind(this)(snap.guides);\n } else if (isDragging) {\n ghost.style.visibility = 'visible';\n ghost.style.opacity = '0.5';\n ghost.style.left = (e.clientX - dragWidth / 2) + 'px';\n ghost.style.top = (e.clientY - dragHeight / 2) + 'px';\n clearSnapGuides.bind(this)();\n } else {\n ghost.style.visibility = 'hidden';\n clearSnapGuides.bind(this)();\n }\n };\n\n const cleanup = () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('keydown', onKeyDown);\n ghost.remove();\n chip.remove();\n clearSnapGuides.bind(this)();\n enableSelection();\n const cursorStyle = document.getElementById('ls-drag-cursor');\n if (cursorStyle) cursorStyle.remove();\n this.component.shadowRoot.querySelectorAll('ls-left-bar, ls-compose-loader').forEach(bar => {\n bar.shadowRoot?.querySelectorAll('ls-toolbox-field').forEach(el => el.classList.remove('ls-dv-dragging'));\n });\n this._isToolboxDragging = false;\n this._cancelToolboxDrag = null;\n };\n\n const onMouseUp = (e: MouseEvent) => {\n // Ignore mouseup if it's from the same click that started the drag (no movement yet)\n if (!hasMoved) return;\n\n const frameRect = frame.getBoundingClientRect();\n const shouldPlace = e.clientX >= frameRect.left && e.clientX <= frameRect.right &&\n e.clientY >= frameRect.top && e.clientY <= frameRect.bottom;\n\n cleanup();\n\n if (shouldPlace) {\n\n const dragWidth = fieldData.defaultWidth * zoom;\n const dragHeight = fieldData.defaultHeight * zoom;\n const x = e.clientX - frameRect.left + frame.scrollLeft;\n const y = e.clientY - frameRect.top + frame.scrollTop;\n let left = x - dragWidth / 2;\n let top = y - dragHeight / 2;\n\n const fields = Array.from(this.component.shadowRoot.querySelectorAll('ls-editor-field')) as HTMLLsEditorFieldElement[];\n const snap = calculateSnap(left, top, dragWidth, dragHeight, fields, this.pageNum);\n if (snap.x !== null) left = snap.x;\n if (snap.y !== null) top = snap.y;\n\n const finalTop = top / zoom;\n const finalLeft = left / zoom;\n\n // Check if field fits on page - constrain to page boundaries\n const pageWidth = this.pageDimensions[this.pageNum - 1].width;\n const pageHeight = this.pageDimensions[this.pageNum - 1].height;\n const constrainedLeft = Math.max(0, Math.min(finalLeft, pageWidth - fieldData.defaultWidth));\n const constrainedTop = Math.max(0, Math.min(finalTop, pageHeight - fieldData.defaultHeight));\n\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(f => (f.selected = false));\n\n const id = btoa('ele' + crypto.randomUUID());\n const newData: LSMutateEvent = {\n action: 'create',\n data: {\n id,\n value: '',\n formElementType: fieldData.formElementType,\n elementType: fieldData.elementType,\n validation: fieldData.validation,\n substantive: false,\n top: constrainedTop,\n left: constrainedLeft,\n hideBorder: false,\n height: fieldData.defaultHeight,\n width: fieldData.defaultWidth,\n pageDimensions: this.pageDimensions[this.pageNum - 1],\n fontName: this.fontFamily,\n fontSize: this.fontSize,\n align: 'left',\n signer: this.signer,\n page: this.pageNum,\n mapTo: null,\n label: '',\n helpText: null,\n logicGroup: null,\n optional: false,\n options: null,\n logicAction: null,\n labelExtra: null,\n fieldOrder: null,\n ax: constrainedLeft > 0 ? constrainedLeft / this.pageDimensions[this.pageNum - 1].width : 0,\n ay: constrainedTop > 0 ? constrainedTop / this.pageDimensions[this.pageNum - 1].height : 0,\n bx: (constrainedLeft + fieldData.defaultWidth) / this.pageDimensions[this.pageNum - 1].width,\n by: (constrainedTop + fieldData.defaultHeight) / this.pageDimensions[this.pageNum - 1].height,\n templateId: this._template.id,\n } as LSApiElement,\n };\n\n this.mutate.emit([newData]);\n }\n };\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n cleanup();\n }\n };\n\n this._cancelToolboxDrag = cleanup;\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n document.addEventListener('keydown', onKeyDown);\n}\n\nexport function mouseDoubleClick(event) {\n // Disable double-click field creation in preview mode or when template is locked\n if (this.mode === 'preview' || this._template?.locked) {\n return;\n }\n \n console.log('double click', this.fieldTypeSelected, this.signer);\n try {\n let data: IToolboxField = this.fieldTypeSelected as IToolboxField;\n\n if (this.checkType('APPROVER') && data.elementType === 'signature') {\n data = {\n label: 'Text',\n formElementType: 'text',\n elementType: 'text',\n validation: 0,\n defaultHeight: FIELD_DEFAULTS['text'].defaultHeight,\n defaultWidth: FIELD_DEFAULTS['text'].defaultWidth,\n };\n }\n // Unselect all current selected items\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(f => (f.selected = false));\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n // Make a new API compatible id for a template element (prefix 'ele')\n const id = btoa('ele' + crypto.randomUUID());\n const top = event.offsetY / this.zoom + frame.scrollTop;\n const left = event.offsetX / this.zoom + frame.scrollLeft;\n\n // TODO: Put these defaults somewhere sensible\n const newData: LSMutateEvent = {\n action: 'create',\n data: {\n id,\n value: '',\n formElementType: data.formElementType,\n elementType: data.elementType,\n validation: data.validation,\n substantive: false,\n top,\n left,\n hideBorder: false,\n height: data.defaultHeight,\n width: data.defaultWidth,\n pageDimensions: this.pageDimensions[this.pageNum - 1],\n fontName: DEFAULT_FONT_NAME,\n fontSize: DEFAULT_FONT_SIZE,\n align: 'left',\n signer: this.signer,\n page: this.pageNum,\n mapTo: null,\n label: '',\n helpText: null,\n logicGroup: null,\n optional: false,\n options: null,\n logicAction: null,\n labelExtra: null,\n fieldOrder: null,\n ax: left > 0 ? left / this.pageDimensions[this.pageNum - 1].width : 0,\n ay: top > 0 ? top / this.pageDimensions[this.pageNum - 1].height : 0,\n bx: (left + data.defaultWidth) / this.pageDimensions[this.pageNum - 1].width,\n by: (top + data.defaultHeight) / this.pageDimensions[this.pageNum - 1].height,\n templateId: this._template.id,\n } as LSApiElement,\n };\n this.mutate.emit([newData]);\n } catch (e) {\n console.error(e);\n }\n}\n"],"names":["recalculateCoordinates","findIn","findDimensions","defaultRolePalette","DEFAULT_FONT_SIZE","dvI18n","FIELD_DEFAULTS","DEFAULT_FONT_NAME"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DFeU0FNc.js');
|
|
4
4
|
|
|
5
5
|
const testItemCss = () => `.item{padding:0.75rem;background-color:var(--gray-10);border-radius:0.5rem;box-sizing:border-box;width:100%}.item-text{margin:0;font-family:Arial, Helvetica, sans-serif;font-size:small;font-weight:var(--font-bold);color:var(--gray-90)}`;
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
export class LsComposeLoader {
|
|
3
3
|
render() {
|
|
4
|
-
return (h(Host, { key: '
|
|
4
|
+
return (h(Host, { key: 'e1f99582d58d99abd5809ba05b5d9ed7309287c8' }, h("div", { key: '5077337c9190f19f5e82d416db40e2fcb71f1072', class: "ls-dv-compose-loader" }, h("div", { key: '838d9f1e0eba318cadccf510cd4444d309ba557c', class: "ls-dv-compose-loader__header" }, h("div", { key: '9e60e37ec52aa6c6a014589378f0b63cbf71c721', class: "ls-dv-compose-loader__header-skeleton" })), h("div", { key: 'ffbff3e9252c796df5d113a912e583b7516f4075', class: "ls-dv-compose-loader__main" }, h("div", { key: '000931802c93209a2a068ece5740fa2762f7a132', class: "ls-dv-compose-loader__sidebar" }, h("div", { key: '0091adf1e5409b114d855e03d84bc0334bc2a50c', class: "ls-dv-compose-loader__card" }, h("div", { key: '209841818cd824ba2a50dc60e112c091c2dd99d8', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-title" }), h("div", { key: '717dd261cee0e1b9b37988777d62d3ea7c36f665', class: "ls-dv-compose-loader__skeleton-group" }, h("div", { key: '5141c21a1890e1899755de5064c30aa29358f223', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-line" }), h("div", { key: '407c853907c1966b48312a68cc53f61a143d1104', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-short" })), h("div", { key: '9cbc0365214b110c19ff647660c5a621bd562290', class: "ls-dv-compose-loader__section ls-dv-compose-loader__section--gray" }, h("div", { key: '3564315d58632a63667d0cd1aab0947257aa0b8d', class: "ls-dv-compose-loader__skeleton-box--gray" }), h("div", { key: '80bc729e6bc82561a56c4e9c4db8d3584e9d6d4b', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-line--gray" }), h("div", { key: 'f2ac5094cc413afbeb3f5d33790b48f4471b7357', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-short--gray" })), h("div", { key: '6b68d31bb6e2d813d945673d19035021900aafe6', class: "ls-dv-compose-loader__section ls-dv-compose-loader__section--blue" }, h("div", { key: 'c0f07211738a0aaf8efbde0658acf0fef834ae5c', class: "ls-dv-compose-loader__skeleton-box--blue" }), h("div", { key: 'cbf5f89d6677c3cadbda46abcfdc9ac2da69bd67', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-line--blue" }), h("div", { key: '69f74c5b87d625a8d839b53a67d0c7c98cdaaaee', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-short--blue" }), h("div", { key: '8228e6f35fc27b311e690816b10e101b8f814316', class: "ls-dv-compose-loader__row" }, h("div", { key: 'c28d870411e9a4d5438496fccd1bf403641e22ce', class: "ls-dv-compose-loader__icon-skeleton--blue" }, h("div", { key: '58a9a6ebbc5da9287aaca305c0db2f8709c6ee42', class: "ls-dv-compose-loader__icon--blue" })), h("div", { key: 'cd55e4c219796abeb97f8abe11be47762db2aa30', class: "ls-dv-compose-loader__row-content" }, h("div", { key: 'dfb966b89d74369cd9c2409e2084bf34fbbd3ae5', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-medium" }), h("div", { key: '264506cd827e9370930682ec27e9a45ad6f493b4', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-icon" }))), h("div", { key: 'a9bdef4b1f2c7c169644c794140d09d43a3b8a9c', class: "ls-dv-compose-loader__row" }, h("div", { key: 'aa4234eb3263b5c87d46026d537c89f464bcc63f', class: "ls-dv-compose-loader__icon-skeleton--blue" }, h("div", { key: 'd801a8580ea210663725a956bb0ba9adba3c226d', class: "ls-dv-compose-loader__icon--blue" })), h("div", { key: 'e1a1292261f410358f0ebcebdce22da7931bd7ef', class: "ls-dv-compose-loader__row-content" }, h("div", { key: '9800d10a84e73f17770cb186ac5bad592d5ba549', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-medium" }), h("div", { key: '31a802e67f7b659b254205650766a3114fa9934d', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-icon" }))), h("div", { key: '8a4b7cfb2e311a5ad77402273aa1e047ec054db5', class: "ls-dv-compose-loader__row" }, h("div", { key: '340a2126847902df9fe35c06f19addd0f579c911', class: "ls-dv-compose-loader__icon-skeleton--blue" }, h("div", { key: 'be37b9eed83119110e1c5734ca161e8b2e1d077a', class: "ls-dv-compose-loader__icon--blue" })), h("div", { key: '63246c32466ed678757a1e0321b7f3e0e22e2d44', class: "ls-dv-compose-loader__row-content" }, h("div", { key: 'f73213a151c31592f8c8fc604bd184db0eac4644', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-medium" }), h("div", { key: '63cd439ed31fb8083895bc1712a87c8279af5245', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-icon" })))), h("div", { key: '94645fcc19aa0f9c318fde24edeeb1fc5b1d3551', class: "ls-dv-compose-loader__section ls-dv-compose-loader__section--green" }, h("div", { key: '0d4b691a22942ab01149fe1692856b1877addf0a', class: "ls-dv-compose-loader__skeleton-box--green" }), h("div", { key: '1ca7d6f49b5f76a6f3d6625a411ad5b185dbec39', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-line--green" }), h("div", { key: '57f4278240b711603f9ee27ddcb3cfd0fb099b02', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-short--green" }), h("div", { key: '32cc8caccae045615108ce298df29549eb3c91ab', class: "ls-dv-compose-loader__row" }, h("div", { key: 'e9fba84a085a280cbdabf3b0e8d5a19a6c114c55', class: "ls-dv-compose-loader__icon-skeleton--green" }, h("div", { key: 'ca6c29a8ba24fb4e11869bcacc34f296e4405f8a', class: "ls-dv-compose-loader__icon--green" })), h("div", { key: '1bd970ca47b350c7c56213aeba26695a5dd33373', class: "ls-dv-compose-loader__row-content" }, h("div", { key: '563a435de608bca43419fedb003d9ee36bead59d', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-medium" }), h("div", { key: '0db03863266d9cf880ff375d54015fceb668477b', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-icon" }))), h("div", { key: '287e68288171445ae0161c1f21b3c6bed847a2a8', class: "ls-dv-compose-loader__row" }, h("div", { key: 'adc382c2c0084d683551189a1c5ce5423dd85c7f', class: "ls-dv-compose-loader__icon-skeleton--green" }, h("div", { key: '130e387fb2e50c770ecec69d432f6cade1b6db14', class: "ls-dv-compose-loader__icon--green" })), h("div", { key: '83ecc674440bcd05d2bc34bdcc10105a72ecb4aa', class: "ls-dv-compose-loader__row-content" }, h("div", { key: '427902b4201c4f99adce38a1e3f1497fdd1c9522', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-medium" }), h("div", { key: '49b470a57864a5095b9f96de56ddafc931c6ae59', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-icon" }))), h("div", { key: 'a2e367cbfd60a81793504fd174bf130ecf45981b', class: "ls-dv-compose-loader__row" }, h("div", { key: '4d8723551ecce9779a81ebd1f9fee4bc046fe8b9', class: "ls-dv-compose-loader__icon-skeleton--green" }, h("div", { key: '1112d8fdcd72fc5d388f3867f2123073faedcd55', class: "ls-dv-compose-loader__icon--green" })), h("div", { key: '677bff37d1832517e9fc680982362993daed4e24', class: "ls-dv-compose-loader__row-content" }, h("div", { key: 'c7887edd9e3d29c3608ff8e54a2739cd2beb9c51', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-medium" }), h("div", { key: '956827f8e2d38347fa4dc038074ca2538f65cb47', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-icon" })))))), h("div", { key: '88aff9b29f6890ce91f5e2fc8665397a9371b6cf', class: "ls-dv-compose-loader__preview" }, h("div", { key: '84eb813a4d2aa99974dcaf84d24d4b89bc4af557', class: "ls-dv-compose-loader__preview-box" })), h("div", { key: '3282bb62faa374a02db961be5dbb76467e6336bd', class: "ls-dv-compose-loader__button" }, h("button", { key: '39d7c028d6a718fe2c1137662b68e3b70c4b2c19', class: "ls-dv-compose-loader__action-btn", "aria-hidden": "true", tabindex: -1 }, h("div", { key: '76ac55a38a3544d8684a4f5610488385d0aece1b', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-btn" }), h("div", { key: '300ed45995c635df8ee925b37da42e8f05290d86', class: "ls-dv-compose-loader__skeleton ls-dv-skeleton-btn-icon" })))))));
|
|
5
5
|
}
|
|
6
6
|
static get is() { return "ls-compose-loader"; }
|
|
7
7
|
static get encapsulation() { return "shadow"; }
|
|
@@ -7,10 +7,10 @@ export class LsComposeManager {
|
|
|
7
7
|
*/
|
|
8
8
|
template;
|
|
9
9
|
render() {
|
|
10
|
-
return (h(Host, { key: '
|
|
10
|
+
return (h(Host, { key: 'b5eac34c357dffeb6bcf55d900118345449702a6' }, h("div", { key: 'd52b046167046ab05d83cecf2f4dfaf6e9f641a3', class: "ls-dv-editor-infobox" }, h("h2", { key: 'f16a4ceb7feba75cc59ab5bbcbf64081d3512c61', class: "ls-dv-toolbox-section-title" }, dvI18n.t('recipients.recipientfields')), h("p", { key: '28392d6f0322c1554a54618c5a017e3ebbb6eb4e', class: "ls-dv-toolbox-section-description" }, dvI18n.t('recipients.recipientfieldsdescription'))), h("div", { key: '5baa88c3558ac24e96ef44eccc4e33b70df08dbb', class: "ls-dv-participant-list" }, this.template &&
|
|
11
11
|
this.template?.roles.map(() => {
|
|
12
12
|
return (h("div", null));
|
|
13
|
-
})), h("slot", { key: '
|
|
13
|
+
})), h("slot", { key: '6c679fe1e5473958d320817d3f123fd23b4b8a9c' })));
|
|
14
14
|
}
|
|
15
15
|
static get is() { return "ls-compose-manager"; }
|
|
16
16
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementActions.js","sourceRoot":"","sources":["../../../../../src/components/ls-document-viewer/adapter/elementActions.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"elementActions.js","sourceRoot":"","sources":["../../../../../src/components/ls-document-viewer/adapter/elementActions.ts"],"names":[],"mappings":"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","sourcesContent":["// Construct all mutations for a template element. ADMIN is for sender fields\nconst createElement = element => {\n return `\n mutation AddField {\n createTemplateElement(input: {\n templateId: \"${element.templateId}\", \n ax: ${element.ax}, \n ay: ${element.ay}, \n bx: ${element.bx}, \n by: ${element.by}, \n elementType: ${element?.signer !== 0 ? JSON.stringify(element.elementType) : JSON.stringify('admin')}, \n role: \"1\",\n label: ${JSON.stringify(element.label)}, \n page: ${element.page}, \n fieldOrder: ${element.fieldOrder}, \n fontName: ${JSON.stringify(element.fontName)}, \n fontSize: ${element.fontSize}, \n helpText: ${JSON.stringify(element.helpText)}, \n hideBorder: ${element.hideBorder}, \n logicGroup: ${JSON.stringify(element.logicGroup)}, \n mapTo: ${JSON.stringify(element.mapTo)}, \n optional: ${element.optional}, \n options: ${JSON.stringify(element.options)}, \n substantive: ${element.substantive}, \n validation: ${element.validation}, \n value: ${JSON.stringify(element.value)}, \n align: ${JSON.stringify(element.align)}, \n signer: ${element.signer}, \n logicAction: ${element.logicAction}, \n labelExtra: ${JSON.stringify(element.labelExtra)}})\n }`;\n};\n\n// Save any changes to an element\nconst updateElement = element => {\n return `mutation ChangeField {\n updateTemplateElement(input: {\n templateElementId: \"${element.id}\", \n ax: ${element.ax}, \n ay: ${element.ay}, \n bx: ${element.bx}, \n by: ${element.by}, \n elementType: ${element?.signer !== 0 ? JSON.stringify(element.elementType) : JSON.stringify('admin')}, \n label: ${JSON.stringify(element.label)}, \n page: ${element.page}, \n fieldOrder: ${element.fieldOrder ? element.fieldOrder : null}, \n fontName: ${JSON.stringify(element.fontName)}, \n fontSize: ${element.fontSize}, \n helpText: \"${element.helpText}\", \n hideBorder: ${element.hideBorder}, \n logicGroup: ${JSON.stringify(element.logicGroup)}, \n mapTo: \"${element.mapTo}\", \n optional: ${element.optional}, \n options: ${JSON.stringify(element.options)}, \n role: \"1\", \n substantive: ${element.substantive}, \n validation: ${element.validation === '0' ? 'null' : element.validation}, \n value: \"${element.value}\", \n align: \"${element.align}\", \n signer: ${element.signer}, \n logicAction: ${element.logicAction}, \n labelExtra: \"${element.labelExtra}\"})\n}`;\n};\n\n// Save any changes to an element\nconst deleteElement = obj => {\n return `mutation DeleteField {\n deleteTemplateElement(input: {\n templateElementId: \"${obj.id}\"})\n }`;\n};\n\nexport { createElement, updateElement, deleteElement };\n"]}
|
|
@@ -26,7 +26,7 @@ export function addField(frame, data) {
|
|
|
26
26
|
? 'To Be Decided'
|
|
27
27
|
: this.mode === 'compose'
|
|
28
28
|
? `${assignee?.firstName} ${assignee?.lastName}`
|
|
29
|
-
: assignee?.name || `Participant ${data.signer}`);
|
|
29
|
+
: assignee?.name || (data.signer === 0 ? 'Sender' : `Participant ${data.signer}`));
|
|
30
30
|
node.setAttribute('zoom', String(this.zoom));
|
|
31
31
|
node.setAttribute('readonly', String(this.mode === 'preview' || this._template?.locked));
|
|
32
32
|
// node.setAttribute('selected', 'selected');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorCalculator.js","sourceRoot":"","sources":["../../../../src/components/ls-document-viewer/editorCalculator.ts"],"names":[],"mappings":"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","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 || `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.floor((sourceField.getBoundingClientRect().top - frmDims.top) / zoom);\n const left = Math.floor((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"]}
|
|
1
|
+
{"version":3,"file":"editorCalculator.js","sourceRoot":"","sources":["../../../../src/components/ls-document-viewer/editorCalculator.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAA4C,EAAE,QAAqB,EAAE,UAAmB,KAAK,EAAE,WAAoB,KAAK,EAA8B,EAAE;IAC7K,MAAM,QAAQ,GAA+B,IAAI,KAAK,EAAE,CAAC;IACzD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IAEtE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACjB,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YAC7K,IAAI,OAAO;gBAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,IAAI,CAAC,QAAQ;gBAAE,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,mEAAmE;AACnE,MAAM,UAAU,QAAQ,CAAC,KAAkB,EAAE,IAAI;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACjE,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACxI,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IACtK,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,YAAY,CACf,UAAU,EACV,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,EAAE,wBAAwB;QAC3D,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,GAAG,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,QAAQ,EAAE;YAChD,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CACtF,CAAC;IACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACzF,6CAA6C;IAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAEjC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;IACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAErB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,IAAuC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAA8B,EAAE,IAAI;IAC5D,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAAyB,EACzB,eAAuB,EACvB,gBAAwB,EACxB,WAAmB,EACnB,YAAoB,EACpB,IAAY,EACZ,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,IAAY,EACE,EAAE;IAChB,2BAA2B;IAC3B,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,WAAW,CAAC;IAClD,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,YAAY,CAAC;IAEnD,+FAA+F;IAC/F,OAAO;QACL,GAAG,WAAW;QACd,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,MAAM,EAAE;YACN,MAAM,EAAE,CAAC;YACT,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,IAAI;YACrF,UAAU,EAAE,QAAQ,IAAI,OAAO;YAC/B,KAAK,EAAE,GAAG,CAAC,eAAe,GAAG,EAAE,GAAG,eAAe,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,+BAA+B;YACnG,MAAM,EAAE,GAAG,gBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,+BAA+B;YACnF,6DAA6D;YAC7D,UAAU,EAAE,SAAS;SACtB;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,GAAG,gBAAgB,GAAG,EAAE,GAAG,IAAI,IAAI;YACxC,IAAI,EAAE,GAAG,eAAe,GAAG,EAAE,GAAG,IAAI,IAAI;YACxC,KAAK,EAAE,GAAG,CAAC,eAAe,GAAG,EAAE,GAAG,eAAe,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI;YAClE,MAAM,EAAE,GAAG,gBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI;YAClD,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,IAAI;SACtF;QACD,YAAY,EAAE,GAAG,gBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,cAA8B,EAC9B,WAAqC,EACrC,UAAkB,EAClB,SAAiB,EACjB,IAAY,EACkG,EAAE;IAChH,2BAA2B;IAC3B,MAAM,OAAO,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;IACvD,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1F,2BAA2B;IAC3B,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IAE9C,+FAA+F;IAC/F,OAAO;QACL,GAAG;QACH,IAAI;QACJ,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAe,EAAgB,EAAE;IACtE,2BAA2B;IAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;IAC3C,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;IACvD,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;IAExD,+FAA+F;IAC/F,OAAO;QACL,GAAG,CAAC;QACJ,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAe,EAAW,EAAE;IAC9C,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;AAC5H,CAAC,CAAC","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.floor((sourceField.getBoundingClientRect().top - frmDims.top) / zoom);\n const left = Math.floor((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"]}
|