legalesign-document-viewer 0.4.9 → 0.5.0
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/{index-C4ibYtjE.js → index-Czv4Oowx.js} +83 -47
- package/dist/cjs/index-Czv4Oowx.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/ls-compose-manager.cjs.entry.js +3 -5
- package/dist/cjs/ls-document-options_46.cjs.entry.js +35222 -19916
- package/dist/cjs/ls-document-viewer.cjs.js +3 -3
- package/dist/cjs/ls-document-viewer.cjs.js.map +1 -1
- package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js +3 -5
- package/dist/cjs/ls-formfield.cjs.entry.js +101 -5
- package/dist/cjs/ls-number-input_5.cjs.entry.js +938 -13
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/ls-compose-manager/ls-compose-manager.js +0 -1
- package/dist/collection/components/ls-compose-manager/ls-compose-manager.js.map +1 -1
- package/dist/collection/components/ls-document-options/ls-document-options.js +0 -2
- package/dist/collection/components/ls-document-options/ls-document-options.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/editorCalculator.js +4 -6
- package/dist/collection/components/ls-document-viewer/editorCalculator.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/editorUtils.js +1 -2
- package/dist/collection/components/ls-document-viewer/editorUtils.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/keyHandlers.js +0 -5
- package/dist/collection/components/ls-document-viewer/keyHandlers.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +62 -77
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/mouseHandlers.js +27 -6
- package/dist/collection/components/ls-document-viewer/mouseHandlers.js.map +1 -1
- package/dist/collection/components/ls-editor-field/ls-editor-field.js +21 -22
- 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 +0 -1
- package/dist/collection/components/ls-editor-table/ls-editor-table.js.map +1 -1
- package/dist/collection/components/ls-feature-column/ls-feature-column.js +2 -2
- package/dist/collection/components/ls-field-alignment/ls-field-alignment.js +2 -8
- package/dist/collection/components/ls-field-alignment/ls-field-alignment.js.map +1 -1
- package/dist/collection/components/ls-field-content/ls-field-content.js +3 -5
- 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 +19 -4
- package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js.map +1 -1
- package/dist/collection/components/ls-field-distribute/ls-field-distribute.js +42 -68
- 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 +24 -14
- package/dist/collection/components/ls-field-footer/ls-field-footer.js.map +1 -1
- package/dist/collection/components/ls-field-format/ls-field-format.js +11 -35
- 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 -26
- package/dist/collection/components/ls-field-placement/ls-field-placement.js.map +1 -1
- package/dist/collection/components/ls-field-properties/ls-field-properties.js +0 -1
- package/dist/collection/components/ls-field-properties/ls-field-properties.js.map +1 -1
- package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js +3 -28
- package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js.map +1 -1
- package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js +0 -1
- package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js.map +1 -1
- package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.js +2 -4
- package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.js.map +1 -1
- package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js +0 -1
- package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js.map +1 -1
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js +0 -1
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js.map +1 -1
- package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js +0 -1
- package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js.map +1 -1
- package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js +0 -1
- package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js.map +1 -1
- package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js +0 -1
- package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js.map +1 -1
- package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js +0 -1
- package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js.map +1 -1
- package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js +1 -2
- package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js.map +1 -1
- package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js +0 -1
- package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js.map +1 -1
- package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js +0 -1
- package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js.map +1 -1
- package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js +0 -1
- package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js.map +1 -1
- package/dist/collection/components/ls-field-size/ls-field-size.js +1 -25
- package/dist/collection/components/ls-field-size/ls-field-size.js.map +1 -1
- package/dist/collection/components/ls-field-type-display/ls-field-type-display.js +3 -3
- package/dist/collection/components/ls-formfield/inputs/ls-number-input/ls-number-input.js +26 -26
- package/dist/collection/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.js +9 -10
- package/dist/collection/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.js.map +1 -1
- package/dist/collection/components/ls-formfield/inputs/ls-select-input/ls-select-input.js +24 -24
- package/dist/collection/components/ls-formfield/inputs/ls-text-input/ls-text-input.js +27 -27
- package/dist/collection/components/ls-formfield/inputs/ls-textarea-input/ls-textarea-input.js +28 -28
- package/dist/collection/components/ls-formfield/ls-formfield.js +42 -43
- package/dist/collection/components/ls-formfield/ls-formfield.js.map +1 -1
- package/dist/collection/components/ls-helper-bar/ls-helper-bar.js +1 -1
- package/dist/collection/components/ls-icon/ls-icon.js +5 -6
- package/dist/collection/components/ls-icon/ls-icon.js.map +1 -1
- package/dist/collection/components/ls-input-wrapper/ls-input-wrapper.js +3 -3
- package/dist/collection/components/ls-keyboard-shortcuts/ls-keyboard-shortcuts.js +0 -1
- package/dist/collection/components/ls-keyboard-shortcuts/ls-keyboard-shortcuts.js.map +1 -1
- package/dist/collection/components/ls-participant-card/ls-participant-card.js +11 -38
- package/dist/collection/components/ls-participant-card/ls-participant-card.js.map +1 -1
- package/dist/collection/components/ls-participant-manager/ls-participant-manager.js +0 -2
- package/dist/collection/components/ls-participant-manager/ls-participant-manager.js.map +1 -1
- package/dist/collection/components/ls-participant-select/ls-participant-select.js +2 -3
- 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 +5 -5
- package/dist/collection/components/ls-recipient-card/ls-recipient-card.js +3 -7
- package/dist/collection/components/ls-recipient-card/ls-recipient-card.js.map +1 -1
- package/dist/collection/components/ls-statusbar/ls-statusbar.js +11 -12
- package/dist/collection/components/ls-statusbar/ls-statusbar.js.map +1 -1
- package/dist/collection/components/ls-title-input/ls-title-input.js +1 -25
- package/dist/collection/components/ls-title-input/ls-title-input.js.map +1 -1
- package/dist/collection/components/ls-toggle/ls-toggle.js +4 -4
- package/dist/collection/components/ls-toolbar/ls-toolbar.js +1 -6
- package/dist/collection/components/ls-toolbar/ls-toolbar.js.map +1 -1
- package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js +19 -19
- package/dist/collection/components/ls-tooltip/ls-tooltip.js +6 -7
- package/dist/collection/components/ls-tooltip/ls-tooltip.js.map +1 -1
- package/dist/collection/components/ls-validation-manager/ls-validation-manager.js +0 -1
- package/dist/collection/components/ls-validation-manager/ls-validation-manager.js.map +1 -1
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.js +4 -5
- 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-compose-manager.js +10 -8
- package/dist/components/ls-compose-manager.js.map +1 -1
- package/dist/components/ls-document-options.js +1 -1
- package/dist/components/ls-document-viewer.js +34998 -20051
- package/dist/components/ls-document-viewer.js.map +1 -1
- 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 +37 -35
- package/dist/components/ls-field-properties-dropdown.js.map +1 -1
- package/dist/components/ls-field-properties-email.js +1 -1
- package/dist/components/ls-field-properties-file.js +1 -1
- package/dist/components/ls-field-properties-general.js +1 -1
- package/dist/components/ls-field-properties-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 +121 -21
- package/dist/components/ls-formfield.js.map +1 -1
- package/dist/components/ls-helper-bar.js +1 -1
- 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-number-input.js +1 -1
- package/dist/components/ls-page-loader.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-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-text-input.js +1 -1
- package/dist/components/ls-textarea-input.js +1 -1
- package/dist/components/ls-title-input.js +1 -1
- 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-CEARE5Dy.js → p-BCPpSevg.js} +16 -14
- package/dist/components/p-BCPpSevg.js.map +1 -0
- package/dist/components/{p-CwCWCxsI.js → p-BKrsDBDB.js} +2 -3
- package/dist/components/{p-CwCWCxsI.js.map → p-BKrsDBDB.js.map} +1 -1
- package/dist/components/p-BQZBAjo_.js +48 -0
- package/dist/components/p-BQZBAjo_.js.map +1 -0
- package/dist/components/p-BbRzNkJ-.js +363 -0
- package/dist/components/p-BbRzNkJ-.js.map +1 -0
- package/dist/components/{p-8ubyIwnl.js → p-BcSJFRsU.js} +15 -13
- package/dist/components/p-BcSJFRsU.js.map +1 -0
- package/dist/components/{p-BnGihP6t.js → p-BhZ5Udbm.js} +64 -43
- package/dist/components/p-BhZ5Udbm.js.map +1 -0
- package/dist/components/{p-DpEeDtkU.js → p-Bi1Fu2dm.js} +15 -13
- package/dist/components/p-Bi1Fu2dm.js.map +1 -0
- package/dist/components/{p-DYw5-WDF.js → p-BjENvp2j.js} +15 -13
- package/dist/components/p-BjENvp2j.js.map +1 -0
- package/dist/components/{p-CpKruuk0.js → p-BucYpLs3.js} +21 -19
- package/dist/components/p-BucYpLs3.js.map +1 -0
- package/dist/components/p-BxPfWmRj.js +572 -0
- package/dist/components/p-BxPfWmRj.js.map +1 -0
- package/dist/components/p-C6TaBByt.js +117 -0
- package/dist/components/p-C6TaBByt.js.map +1 -0
- package/dist/components/p-C9CUft6J.js +106 -0
- package/dist/components/p-C9CUft6J.js.map +1 -0
- package/dist/components/p-CDGosSW8.js +117 -0
- package/dist/components/{p-BdTy5xDV.js.map → p-CDGosSW8.js.map} +1 -1
- package/dist/components/p-CDgBo5Zz.js +117 -0
- package/dist/components/p-CDgBo5Zz.js.map +1 -0
- package/dist/components/{p-DNojPpNK.js → p-CEB07hOR.js} +11 -9
- package/dist/components/p-CEB07hOR.js.map +1 -0
- package/dist/components/p-CGQK3l8F.js +80 -0
- package/dist/components/p-CGQK3l8F.js.map +1 -0
- package/dist/components/{p-C3Qs4SL0.js → p-CJSY3-Q3.js} +12 -10
- package/dist/components/p-CJSY3-Q3.js.map +1 -0
- package/dist/components/p-CPZtW_1V.js +124 -0
- package/dist/components/p-CPZtW_1V.js.map +1 -0
- package/dist/components/p-C_uR3x8J.js +117 -0
- package/dist/components/p-C_uR3x8J.js.map +1 -0
- package/dist/components/{p-DuLbniAl.js → p-CazTGpgq.js} +11 -9
- package/dist/components/p-CazTGpgq.js.map +1 -0
- package/dist/components/p-CgKvhxXq.js +120 -0
- package/dist/components/p-CgKvhxXq.js.map +1 -0
- package/dist/components/p-Cie27m-1.js +73 -0
- package/dist/components/p-Cie27m-1.js.map +1 -0
- package/dist/components/p-Co-Giqfy.js +124 -0
- package/dist/components/p-Co-Giqfy.js.map +1 -0
- package/dist/components/{p-DMtkP3At.js → p-CvKjrahQ.js} +13 -11
- package/dist/components/p-CvKjrahQ.js.map +1 -0
- package/dist/components/p-Czz58vGf.js +117 -0
- package/dist/components/p-Czz58vGf.js.map +1 -0
- package/dist/components/{p-C0vy7fEN.js → p-D0cZaxkO.js} +16 -14
- package/dist/components/p-D0cZaxkO.js.map +1 -0
- package/dist/components/p-D836X_cy.js +317 -0
- package/dist/components/p-D836X_cy.js.map +1 -0
- package/dist/components/{p-95nSEls8.js → p-D95fiMAP.js} +11 -9
- package/dist/components/p-D95fiMAP.js.map +1 -0
- package/dist/components/{p-6l08SdGl.js → p-DFVuN2lH.js} +18 -16
- package/dist/components/p-DFVuN2lH.js.map +1 -0
- package/dist/components/p-DGiUKXDO.js +231 -0
- package/dist/components/p-DGiUKXDO.js.map +1 -0
- package/dist/components/p-DKaEsQyk.js +47 -0
- package/dist/components/p-DKaEsQyk.js.map +1 -0
- package/dist/components/p-DMZN9Rei.js +117 -0
- package/dist/components/p-DMZN9Rei.js.map +1 -0
- package/dist/components/p-DYQekJvr.js +101 -0
- package/dist/components/p-DYQekJvr.js.map +1 -0
- package/dist/components/p-D_mOmvQA.js +114 -0
- package/dist/components/p-D_mOmvQA.js.map +1 -0
- package/dist/components/p-DoAxt8ZN.js +67 -0
- package/dist/components/p-DoAxt8ZN.js.map +1 -0
- package/dist/components/{p-CwVY532N.js → p-DoQc-O0l.js} +13 -11
- package/dist/components/p-DoQc-O0l.js.map +1 -0
- package/dist/components/p-DpHCeHja.js +100 -0
- package/dist/components/p-DpHCeHja.js.map +1 -0
- package/dist/components/{p-CB6w78IO.js → p-DsR1ud4V.js} +33 -33
- package/dist/components/p-DsR1ud4V.js.map +1 -0
- package/dist/components/p-DskHTNiF.js +163 -0
- package/dist/components/p-DskHTNiF.js.map +1 -0
- package/dist/components/{p-Myru1I0U.js → p-Du60SSaA.js} +14 -12
- package/dist/components/p-Du60SSaA.js.map +1 -0
- package/dist/components/{p-CB2IouRT.js → p-Dz_jxFKX.js} +12 -10
- package/dist/components/p-Dz_jxFKX.js.map +1 -0
- package/dist/components/p-HpepQ3-E.js +117 -0
- package/dist/components/p-HpepQ3-E.js.map +1 -0
- package/dist/components/p-JIZHOmMy.js +76 -0
- package/dist/components/p-JIZHOmMy.js.map +1 -0
- package/dist/components/p-KMRQyALr.js +101 -0
- package/dist/components/p-KMRQyALr.js.map +1 -0
- package/dist/components/p-YcP4tU0u.js +168 -0
- package/dist/components/p-YcP4tU0u.js.map +1 -0
- package/dist/components/p-aA8RuwY_.js +104 -0
- package/dist/components/p-aA8RuwY_.js.map +1 -0
- package/dist/components/p-aDB_kHQ9.js +290 -0
- package/dist/components/p-aDB_kHQ9.js.map +1 -0
- package/dist/components/p-hah4tKwY.js +147 -0
- package/dist/components/p-hah4tKwY.js.map +1 -0
- package/dist/components/p-iIvOyhST.js +75 -0
- package/dist/components/p-iIvOyhST.js.map +1 -0
- package/dist/components/p-mRzg677Y.js +308 -0
- package/dist/components/p-mRzg677Y.js.map +1 -0
- package/dist/components/p-w39shV-b.js +117 -0
- package/dist/components/{p-B8NAATla.js.map → p-w39shV-b.js.map} +1 -1
- package/dist/components/p-w7mOEBr4.js +162 -0
- package/dist/components/p-w7mOEBr4.js.map +1 -0
- package/dist/esm/{index-o0lmYfXA.js → index-BwdJ-HOC.js} +83 -47
- package/dist/esm/index-BwdJ-HOC.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/ls-compose-manager.entry.js +3 -5
- package/dist/esm/ls-compose-manager.entry.js.map +1 -1
- package/dist/esm/ls-document-options_46.entry.js +35221 -19916
- package/dist/esm/ls-document-viewer.js +4 -4
- package/dist/esm/ls-document-viewer.js.map +1 -1
- package/dist/esm/ls-field-properties-dropdown.entry.js +3 -5
- package/dist/esm/ls-field-properties-dropdown.entry.js.map +1 -1
- package/dist/esm/ls-formfield.entry.js +101 -5
- package/dist/esm/ls-formfield.entry.js.map +1 -1
- package/dist/esm/ls-number-input_5.entry.js +938 -13
- package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
- package/dist/ls-document-viewer/ls-document-viewer.esm.js.map +1 -1
- package/dist/ls-document-viewer/p-1442f973.entry.js +2 -0
- package/dist/ls-document-viewer/p-1442f973.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-20b9c119.entry.js +4922 -0
- package/dist/ls-document-viewer/p-20b9c119.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-31f8c44a.entry.js +2 -0
- package/dist/ls-document-viewer/p-31f8c44a.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-BwdJ-HOC.js +3 -0
- package/dist/ls-document-viewer/p-BwdJ-HOC.js.map +1 -0
- package/dist/ls-document-viewer/p-caa89c6c.entry.js +2 -0
- package/dist/ls-document-viewer/p-caa89c6c.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-d223d66a.entry.js +2 -0
- package/dist/ls-document-viewer/p-d223d66a.entry.js.map +1 -0
- package/dist/types/components/ls-document-viewer/ls-document-viewer.d.ts +8 -3
- package/dist/types/components/ls-document-viewer/mouseHandlers.d.ts +1 -0
- package/dist/types/components/ls-editor-field/ls-editor-field.d.ts +1 -1
- package/dist/types/components/ls-field-dimensions/ls-field-dimensions.d.ts +1 -0
- package/dist/types/components/ls-field-distribute/ls-field-distribute.d.ts +0 -1
- package/dist/types/components/ls-field-footer/ls-field-footer.d.ts +4 -1
- package/dist/types/components/ls-field-format/ls-field-format.d.ts +0 -1
- package/dist/types/components/ls-field-placement/ls-field-placement.d.ts +0 -1
- package/dist/types/components/ls-field-properties-advanced/ls-field-properties-advanced.d.ts +0 -1
- package/dist/types/components/ls-field-size/ls-field-size.d.ts +0 -1
- package/dist/types/components/ls-participant-card/ls-participant-card.d.ts +0 -1
- package/dist/types/components/ls-title-input/ls-title-input.d.ts +0 -1
- package/dist/types/components.d.ts +2 -18
- package/dist/types/stencil-public-runtime.d.ts +92 -2
- package/package.json +1 -1
- package/readme.md +9 -9
- package/dist/cjs/index-C4ibYtjE.js.map +0 -1
- package/dist/cjs/ls-compose-manager.cjs.entry.js.map +0 -1
- package/dist/cjs/ls-compose-manager.entry.cjs.js.map +0 -1
- package/dist/cjs/ls-document-options_46.cjs.entry.js.map +0 -1
- package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js.map +0 -1
- package/dist/cjs/ls-field-properties-dropdown.entry.cjs.js.map +0 -1
- package/dist/cjs/ls-formfield.cjs.entry.js.map +0 -1
- package/dist/cjs/ls-formfield.entry.cjs.js.map +0 -1
- package/dist/cjs/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.cjs.js.map +0 -1
- package/dist/cjs/ls-number-input_5.cjs.entry.js.map +0 -1
- package/dist/components/p-2R-Lmtr0.js +0 -145
- package/dist/components/p-2R-Lmtr0.js.map +0 -1
- package/dist/components/p-4zazHXkZ.js +0 -108
- package/dist/components/p-4zazHXkZ.js.map +0 -1
- package/dist/components/p-6l08SdGl.js.map +0 -1
- package/dist/components/p-8ubyIwnl.js.map +0 -1
- package/dist/components/p-95nSEls8.js.map +0 -1
- package/dist/components/p-B28ZaK_Y.js +0 -112
- package/dist/components/p-B28ZaK_Y.js.map +0 -1
- package/dist/components/p-B8NAATla.js +0 -115
- package/dist/components/p-BArB45ep.js +0 -115
- package/dist/components/p-BArB45ep.js.map +0 -1
- package/dist/components/p-BHTy08Q0.js +0 -83
- package/dist/components/p-BHTy08Q0.js.map +0 -1
- package/dist/components/p-BSoZFh0I.js +0 -46
- package/dist/components/p-BSoZFh0I.js.map +0 -1
- package/dist/components/p-BXjDp97T.js +0 -229
- package/dist/components/p-BXjDp97T.js.map +0 -1
- package/dist/components/p-BdTy5xDV.js +0 -115
- package/dist/components/p-BnGihP6t.js.map +0 -1
- package/dist/components/p-BzEEnXM3.js +0 -99
- package/dist/components/p-BzEEnXM3.js.map +0 -1
- package/dist/components/p-C0vy7fEN.js.map +0 -1
- package/dist/components/p-C3Qs4SL0.js.map +0 -1
- package/dist/components/p-CB2IouRT.js.map +0 -1
- package/dist/components/p-CB6w78IO.js.map +0 -1
- package/dist/components/p-CEARE5Dy.js.map +0 -1
- package/dist/components/p-CMrBTV-g.js +0 -45
- package/dist/components/p-CMrBTV-g.js.map +0 -1
- package/dist/components/p-COuOscFT.js +0 -68
- package/dist/components/p-COuOscFT.js.map +0 -1
- package/dist/components/p-CRf3zadK.js +0 -71
- package/dist/components/p-CRf3zadK.js.map +0 -1
- package/dist/components/p-CYeSt5Fo.js +0 -67
- package/dist/components/p-CYeSt5Fo.js.map +0 -1
- package/dist/components/p-Ca9OGLvH.js +0 -115
- package/dist/components/p-Ca9OGLvH.js.map +0 -1
- package/dist/components/p-CcmgTlbG.js +0 -78
- package/dist/components/p-CcmgTlbG.js.map +0 -1
- package/dist/components/p-Ce_FwQKY.js +0 -125
- package/dist/components/p-Ce_FwQKY.js.map +0 -1
- package/dist/components/p-CnLhdSVD.js +0 -115
- package/dist/components/p-CnLhdSVD.js.map +0 -1
- package/dist/components/p-CpKruuk0.js.map +0 -1
- package/dist/components/p-CqvHgqQi.js +0 -201
- package/dist/components/p-CqvHgqQi.js.map +0 -1
- package/dist/components/p-CwVY532N.js.map +0 -1
- package/dist/components/p-D0oqtZ7v.js +0 -161
- package/dist/components/p-D0oqtZ7v.js.map +0 -1
- package/dist/components/p-D5Lt75HV.js +0 -103
- package/dist/components/p-D5Lt75HV.js.map +0 -1
- package/dist/components/p-DMtkP3At.js.map +0 -1
- package/dist/components/p-DNojPpNK.js.map +0 -1
- package/dist/components/p-DVcM3j89.js +0 -97
- package/dist/components/p-DVcM3j89.js.map +0 -1
- package/dist/components/p-DXAEPHmo.js +0 -115
- package/dist/components/p-DXAEPHmo.js.map +0 -1
- package/dist/components/p-DYw5-WDF.js.map +0 -1
- package/dist/components/p-DhQKM6mo.js +0 -115
- package/dist/components/p-DhQKM6mo.js.map +0 -1
- package/dist/components/p-DjunXuAM.js +0 -115
- package/dist/components/p-DjunXuAM.js.map +0 -1
- package/dist/components/p-DpEeDtkU.js.map +0 -1
- package/dist/components/p-Dp_6qCVD.js +0 -165
- package/dist/components/p-Dp_6qCVD.js.map +0 -1
- package/dist/components/p-Dt8uznTD.js +0 -118
- package/dist/components/p-Dt8uznTD.js.map +0 -1
- package/dist/components/p-DtfgidTY.js +0 -123
- package/dist/components/p-DtfgidTY.js.map +0 -1
- package/dist/components/p-DuLbniAl.js.map +0 -1
- package/dist/components/p-Myru1I0U.js.map +0 -1
- package/dist/components/p-SymuFFwR.js +0 -171
- package/dist/components/p-SymuFFwR.js.map +0 -1
- package/dist/components/p-bm-gsw1C.js +0 -77
- package/dist/components/p-bm-gsw1C.js.map +0 -1
- package/dist/components/p-hgs41zT_.js +0 -103
- package/dist/components/p-hgs41zT_.js.map +0 -1
- package/dist/components/p-lCZRXn_O.js +0 -88
- package/dist/components/p-lCZRXn_O.js.map +0 -1
- package/dist/components/p-mtgdqmoW.js +0 -73
- package/dist/components/p-mtgdqmoW.js.map +0 -1
- package/dist/components/p-zhtYmA1Q.js +0 -80
- package/dist/components/p-zhtYmA1Q.js.map +0 -1
- package/dist/esm/index-o0lmYfXA.js.map +0 -1
- package/dist/esm/ls-document-options_46.entry.js.map +0 -1
- package/dist/esm/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.js.map +0 -1
- package/dist/esm/ls-number-input_5.entry.js.map +0 -1
- package/dist/ls-document-viewer/ls-compose-manager.entry.esm.js.map +0 -1
- package/dist/ls-document-viewer/ls-field-properties-dropdown.entry.esm.js.map +0 -1
- package/dist/ls-document-viewer/ls-formfield.entry.esm.js.map +0 -1
- package/dist/ls-document-viewer/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.esm.js.map +0 -1
- package/dist/ls-document-viewer/p-0f4af1a9.entry.js +0 -2
- package/dist/ls-document-viewer/p-0f4af1a9.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-3ed8b266.entry.js +0 -2
- package/dist/ls-document-viewer/p-3ed8b266.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-b1237a47.entry.js +0 -2
- package/dist/ls-document-viewer/p-b1237a47.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-c59111e1.entry.js +0 -4922
- package/dist/ls-document-viewer/p-c59111e1.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-f8d4e7a2.entry.js +0 -2
- package/dist/ls-document-viewer/p-f8d4e7a2.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-o0lmYfXA.js +0 -3
- package/dist/ls-document-viewer/p-o0lmYfXA.js.map +0 -1
|
@@ -11,6 +11,12 @@ export class LsFieldDimensions {
|
|
|
11
11
|
isMultiple(dt) {
|
|
12
12
|
return typeof dt.length === 'number';
|
|
13
13
|
}
|
|
14
|
+
getDataItem() {
|
|
15
|
+
if (this.isSingle(this.dataItem)) {
|
|
16
|
+
return this.dataItem;
|
|
17
|
+
}
|
|
18
|
+
return this.dataItem[0];
|
|
19
|
+
}
|
|
14
20
|
// Send one or more mutations up the chain
|
|
15
21
|
// The source of the chain fires the mutation
|
|
16
22
|
alter(diff) {
|
|
@@ -21,20 +27,30 @@ export class LsFieldDimensions {
|
|
|
21
27
|
});
|
|
22
28
|
this.dataItem = diffs.map(d => d.data);
|
|
23
29
|
this.mutate.emit(diffs);
|
|
24
|
-
this.update.emit(diffs);
|
|
25
30
|
}
|
|
26
31
|
else {
|
|
27
32
|
const singleDiff = { action: 'update', data: { ...this.dataItem, ...diff } };
|
|
28
33
|
this.dataItem = singleDiff.data;
|
|
29
34
|
this.mutate.emit([singleDiff]);
|
|
30
|
-
this.update.emit([singleDiff]);
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
37
|
componentDidLoad() {
|
|
34
38
|
attachAllTooltips(this.component.shadowRoot);
|
|
35
39
|
}
|
|
36
40
|
render() {
|
|
37
|
-
return (h(Host, { key: '
|
|
41
|
+
return (h(Host, { key: 'd003ec4d22c43fdc9ff1b7d5c42847cb5d21fa58' }, this.isMultiple(this.dataItem) && (h("div", { key: 'c97175dfa0099066e8fd997fb7c732916a45dcad', class: 'ls-field-properties-section' }, h("div", { key: 'ff4bbd9b97f2035521472682e323bd6539453138', class: 'ls-field-properties-section-text' }, h("p", { key: 'a6ce84a435637f5844483a6199c3a7d1f0ffe5fa', class: 'ls-field-properties-section-title' }, "Height and Width"), h("p", { key: 'f7b6c29969724037862c0ce90bc4c19b5d8a0b8d', class: 'ls-field-properties-section-description' }, "Define the height and width of one or multiple fields")), h("div", { key: '81cbc0cbe5a8d35cb1313b39fde5c42d268fabdc', class: 'input-row' }, h("div", { key: 'eaa01d8a7992511edd9f4cf45048069e37ab1701', class: 'input-wrapper', "data-tooltip": "Set field width in pixels" }, h("ls-icon", { key: 'd8993e0e168487aa14bebb340961940249961367', id: "selectLeadingIcon", name: "field-match-width" }), h("input", { key: '7b769e44b527c088c4f62bae3259e755da0c7d88', class: 'has-leading-icon', aria: "field-width", id: "field-width", onChange: e => this.alter({ width: e.target.value }) })), h("div", { key: '17e100d57b703c0fbc401006e021df4049f55049', class: 'input-wrapper', "data-tooltip": "Set field height in pixels" }, h("ls-icon", { key: '0cfc394ae203d751300160247e31d6e27ea943f7', id: "selectLeadingIcon", name: "field-match-height" }), h("input", { key: '619218eb16ea31fa460c31cc717edc1d74b94c19', class: 'has-leading-icon', aria: "field-height", id: "field-height", onChange: e => this.alter({ height: e.target.value }) }))))), this.isSingle(this.dataItem) && (h("div", { key: '9b7fd1db9c1ee0cd5e501190dab54c076e4d7bf0', class: 'field-set' }, h("div", { key: 'bdfea8edc67c3ccd17d9a59d6f9a8cf0a06fccba', class: 'ls-field-properties-section' }, h("div", { key: '3aa013fdf3dbdbd3631042a9159ab337054e9062', class: 'ls-field-properties-section-text' }, h("p", { key: '83d1f77ddecc1b06aa1a3e6e320babde8d64fb0f', class: 'ls-field-properties-section-title' }, "Height and Width"), h("p", { key: '702d3ea7ab57828852e701d21fa45d07506a9ddb', class: 'ls-field-properties-section-description' }, "Define the height and width of one or multiple fields")), h("div", { key: '836c4e59244430a6e3f914a912b1fe699a79e1f1', class: 'input-row' }, h("div", { key: 'a893194799297e84bddd5726c5e86d61824532a5', class: 'input-wrapper', "data-tooltip": "Set field width in pixels" }, h("ls-icon", { key: '3dcbee06779a17a700d515973698b7041e7592f9', id: "selectLeadingIcon", name: "field-match-width" }), h("input", { key: 'd7f64794d2880e9f0f444d8a98d5d7bd21c122cb', type: "number", class: 'has-leading-icon', aria: "field-width", id: "field-width", min: 5, max: this.dataItem.pageDimensions.width - this.dataItem.width, value: this.dataItem?.width, onChange: e => {
|
|
42
|
+
const di = this.getDataItem();
|
|
43
|
+
if (parseInt(e.target.value) > di.pageDimensions.width - di.left) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.alter({ width: e.target.value });
|
|
47
|
+
} })), h("div", { key: '1956af6a1d388ca243b9f2b18d687d067a856513', class: 'input-wrapper', "data-tooltip": "Set field height in pixels" }, h("ls-icon", { key: '9971388d6ac1441ed86730a8448c5b1187a7cbcd', id: "selectLeadingIcon", name: "field-match-height" }), h("input", { key: '9162dadc492c6fc63e26ee85ab218bf7f6a4e0b2', type: "number", class: 'has-leading-icon', aria: "field-height", id: "field-height", value: this.dataItem?.height, onChange: e => {
|
|
48
|
+
const di = this.getDataItem();
|
|
49
|
+
if (parseInt(e.target.value) > di.pageDimensions.height - di.top) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.alter({ height: e.target.value });
|
|
53
|
+
} })))), h("div", { key: '9e75e3ef36f663c4a2fdddcb3e2c208ddf6e656f', class: 'ls-field-properties-section' }, h("div", { key: 'a8c072b8487a51da788c06357ba3dc9e1303166c', class: 'ls-field-properties-section-text' }, h("p", { key: 'c0dfd34d92f34c4477987a4d2e038dc8110cff31', class: 'ls-field-properties-section-title' }, "Scale and Resize"), h("p", { key: 'ff3b7ed6b10c183adb2a71a4d52c78054ed226f0', class: 'ls-field-properties-section-description' }, "Multi-select fields and match their dimensions")), h("div", { key: 'c165300dbd7e39554d7cbdf0df050b91dd0696c1', class: 'button-group' }, h("button", { key: '37c07a694dc7bf78a944746f6cdcae8a9f0ad310', disabled: true, "data-tooltip": "Select multiple Fields to to access scale controls" }, h("ls-icon", { key: '0c1732003117b1ba1baa92dc940e1975ad44a857', name: "field-scale" })), h("button", { key: 'de2248e7f9ed41276fe394bec2e55a114861ccd8', disabled: true, "data-tooltip": "Select multiple Fields to to access match width controls" }, h("ls-icon", { key: '08748b6107dbd25162dc15c45ff0686bf90e8d13', name: "field-match-width" })), h("button", { key: 'ffabf838749929cdc4795aed33618ecaf00f34f5', disabled: true, "data-tooltip": "Select multiple Fields to to access match height controls" }, h("ls-icon", { key: '595cafe4a70003633c037b8da411d151df287fd6', name: "field-match-height" })))))), h("ls-tooltip", { key: '1729af7c643432890b18d5f68fc7561494100c14', id: "ls-tooltip-master" })));
|
|
38
54
|
}
|
|
39
55
|
static get is() { return "ls-field-dimensions"; }
|
|
40
56
|
static get encapsulation() { return "shadow"; }
|
|
@@ -52,7 +68,6 @@ export class LsFieldDimensions {
|
|
|
52
68
|
return {
|
|
53
69
|
"dataItem": {
|
|
54
70
|
"type": "unknown",
|
|
55
|
-
"attribute": "data-item",
|
|
56
71
|
"mutable": true,
|
|
57
72
|
"complexType": {
|
|
58
73
|
"original": "LSApiElement | LSApiElement[]",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls-field-dimensions.js","sourceRoot":"","sources":["../../../src/components/ls-field-dimensions/ls-field-dimensions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,MAAM,OAAO,iBAAiB;IACjB,SAAS,CAAc;IACT,QAAQ,CAAgC;IAOjE,MAAM,CAAgC;IAOtC,MAAM,CAAgC;IAEtC,QAAQ,CAAC,EAAiC;QACxC,OAAQ,EAAqB,CAAC,MAAM,KAAK,SAAS,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,EAAiC;QAC1C,OAAO,OAAQ,EAAqB,CAAC,MAAM,KAAK,QAAQ,CAAC;IAC3D,CAAC;IAED,0CAA0C;IAC1C,6CAA6C;IAC7C,KAAK,CAAC,IAAY;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAoB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACnD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,EAAkB,EAAE,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAkB,EAAmB,CAAC;YAC9G,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAoB,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACjC,4DAAK,KAAK,EAAE,6BAA6B;gBACvC,4DAAK,KAAK,EAAE,kCAAkC;oBAC5C,0DAAG,KAAK,EAAE,mCAAmC,uBAAsB;oBACnE,0DAAG,KAAK,EAAE,yCAAyC,4DAA2D,CAC1G;gBACN,4DAAK,KAAK,EAAE,WAAW;oBACrB,4DAAK,KAAK,EAAE,eAAe,kBAAe,2BAA2B;wBACnE,gEAAS,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,mBAAmB,GAAW;wBACnE,8DAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAC,aAAa,EAAC,EAAE,EAAC,aAAa,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAG,CAAC,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC,GAAI,CAChJ;oBACN,4DAAK,KAAK,EAAE,eAAe,kBAAe,4BAA4B;wBACpE,gEAAS,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,oBAAoB,GAAW;wBACpE,8DAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAC,cAAc,EAAC,EAAE,EAAC,cAAc,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAG,CAAC,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC,GAAI,CACnJ,CACF,CAQF,CACP;YACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/B,4DAAK,KAAK,EAAE,WAAW;gBACrB,4DAAK,KAAK,EAAE,6BAA6B;oBACvC,4DAAK,KAAK,EAAE,kCAAkC;wBAC5C,0DAAG,KAAK,EAAE,mCAAmC,uBAAsB;wBACnE,0DAAG,KAAK,EAAE,yCAAyC,4DAA2D,CAC1G;oBACN,4DAAK,KAAK,EAAE,WAAW;wBACrB,4DAAK,KAAK,EAAE,eAAe,kBAAe,2BAA2B;4BACnE,gEAAS,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,mBAAmB,GAAW;4BACnE,8DACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAC,aAAa,EAClB,EAAE,EAAC,aAAa,EAChB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAC3B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAG,CAAC,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC,GAC1E,CACE;wBACN,4DAAK,KAAK,EAAE,eAAe,kBAAe,4BAA4B;4BACpE,gEAAS,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,oBAAoB,GAAW;4BACpE,8DACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAC,cAAc,EACnB,EAAE,EAAC,cAAc,EACjB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAG,CAAC,CAAC,MAA2B,CAAC,KAAK,EAAE,CAAC,GAC3E,CACE,CACF,CACF;gBAEN,4DAAK,KAAK,EAAE,6BAA6B;oBACvC,4DAAK,KAAK,EAAE,kCAAkC;wBAC5C,0DAAG,KAAK,EAAE,mCAAmC,uBAAsB;wBACnE,0DAAG,KAAK,EAAE,yCAAyC,qDAAoD,CACnG;oBACN,4DAAK,KAAK,EAAE,cAAc;wBACxB,+DAAQ,QAAQ,wBAAc,oDAAoD;4BAChF,gEAAS,IAAI,EAAC,aAAa,GAAW,CAC/B;wBACT,+DAAQ,QAAQ,wBAAc,0DAA0D;4BACtF,gEAAS,IAAI,EAAC,mBAAmB,GAAW,CACrC;wBACT,+DAAQ,QAAQ,wBAAc,2DAA2D;4BACvF,gEAAS,IAAI,EAAC,oBAAoB,GAAW,CACtC,CACL,CACF,CACF,CACP;YACD,mEAAY,EAAE,EAAC,mBAAmB,GAAG,CAChC,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { Element } from '@stencil/core';\nimport { attachAllTooltips } from '../../utils/tooltip';\n\n@Component({\n tag: 'ls-field-dimensions',\n styleUrl: 'ls-field-dimensions.css',\n shadow: true,\n})\nexport class LsFieldDimensions {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) dataItem: LSApiElement | LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n isSingle(dt: LSApiElement | LSApiElement[]): dt is LSApiElement {\n return (dt as LSApiElement[]).length === undefined;\n }\n\n isMultiple(dt: LSApiElement | LSApiElement[]): dt is LSApiElement[] {\n return typeof (dt as LSApiElement[]).length === 'number';\n }\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n console.log(diff);\n if (this.isMultiple(this.dataItem)) {\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: 'update', data: { ...c, ...diff } as LSApiElement };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n } else {\n const singleDiff = { action: 'update', data: { ...this.dataItem, ...diff } as LSApiElement } as LSMutateEvent;\n this.dataItem = singleDiff.data as LSApiElement;\n this.mutate.emit([singleDiff]);\n this.update.emit([singleDiff]);\n }\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n render() {\n return (\n <Host>\n {this.isMultiple(this.dataItem) && (\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Height and Width</p>\n <p class={'ls-field-properties-section-description'}>Define the height and width of one or multiple fields</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set field width in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-width\"></ls-icon>\n <input class={'has-leading-icon'} aria=\"field-width\" id=\"field-width\" onChange={e => this.alter({ width: (e.target as HTMLInputElement).value })} />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set field height in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-height\"></ls-icon>\n <input class={'has-leading-icon'} aria=\"field-height\" id=\"field-height\" onChange={e => this.alter({ height: (e.target as HTMLInputElement).value })} />\n </div>\n </div>\n\n {/* <div>\n Top: <input value={''} onChange={e => this.alter({ top: (e.target as HTMLInputElement).value })} width=\"30\" />\n </div>\n <div>\n Left: <input value={''} onChange={e => this.alter({ left: (e.target as HTMLInputElement).value })} width=\"30\" />\n </div> */}\n </div>\n )}\n {this.isSingle(this.dataItem) && (\n <div class={'field-set'}>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Height and Width</p>\n <p class={'ls-field-properties-section-description'}>Define the height and width of one or multiple fields</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set field width in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-width\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n aria=\"field-width\"\n id=\"field-width\"\n value={this.dataItem?.width}\n onChange={e => this.alter({ width: (e.target as HTMLInputElement).value })}\n />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set field height in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-height\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n aria=\"field-height\"\n id=\"field-height\"\n value={this.dataItem?.height}\n onChange={e => this.alter({ height: (e.target as HTMLInputElement).value })}\n />\n </div>\n </div>\n </div>\n\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Scale and Resize</p>\n <p class={'ls-field-properties-section-description'}>Multi-select fields and match their dimensions</p>\n </div>\n <div class={'button-group'}>\n <button disabled data-tooltip=\"Select multiple Fields to to access scale controls\">\n <ls-icon name=\"field-scale\"></ls-icon>\n </button>\n <button disabled data-tooltip=\"Select multiple Fields to to access match width controls\">\n <ls-icon name=\"field-match-width\"></ls-icon>\n </button>\n <button disabled data-tooltip=\"Select multiple Fields to to access match height controls\">\n <ls-icon name=\"field-match-height\"></ls-icon>\n </button>\n </div>\n </div>\n </div>\n )}\n <ls-tooltip id=\"ls-tooltip-master\" />\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ls-field-dimensions.js","sourceRoot":"","sources":["../../../src/components/ls-field-dimensions/ls-field-dimensions.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { Element } from '@stencil/core';\nimport { attachAllTooltips } from '../../utils/tooltip';\n\n@Component({\n tag: 'ls-field-dimensions',\n styleUrl: 'ls-field-dimensions.css',\n shadow: true,\n})\nexport class LsFieldDimensions {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) dataItem: LSApiElement | LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n isSingle(dt: LSApiElement | LSApiElement[]): dt is LSApiElement {\n return (dt as LSApiElement[]).length === undefined;\n }\n\n isMultiple(dt: LSApiElement | LSApiElement[]): dt is LSApiElement[] {\n return typeof (dt as LSApiElement[]).length === 'number';\n }\n\n getDataItem(): LSApiElement {\n if (this.isSingle(this.dataItem)) {\n return this.dataItem;\n }\n return this.dataItem[0];\n }\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n console.log(diff);\n if (this.isMultiple(this.dataItem)) {\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: 'update', data: { ...c, ...diff } as LSApiElement };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n } else {\n const singleDiff = { action: 'update', data: { ...this.dataItem, ...diff } as LSApiElement } as LSMutateEvent;\n this.dataItem = singleDiff.data as LSApiElement;\n this.mutate.emit([singleDiff]);\n }\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n render() {\n return (\n <Host>\n {this.isMultiple(this.dataItem) && (\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Height and Width</p>\n <p class={'ls-field-properties-section-description'}>Define the height and width of one or multiple fields</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set field width in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-width\"></ls-icon>\n <input class={'has-leading-icon'} aria=\"field-width\" id=\"field-width\" onChange={e => this.alter({ width: (e.target as HTMLInputElement).value })} />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set field height in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-height\"></ls-icon>\n <input class={'has-leading-icon'} aria=\"field-height\" id=\"field-height\" onChange={e => this.alter({ height: (e.target as HTMLInputElement).value })} />\n </div>\n </div>\n\n {/* <div>\n Top: <input value={''} onChange={e => this.alter({ top: (e.target as HTMLInputElement).value })} width=\"30\" />\n </div>\n <div>\n Left: <input value={''} onChange={e => this.alter({ left: (e.target as HTMLInputElement).value })} width=\"30\" />\n </div> */}\n </div>\n )}\n {this.isSingle(this.dataItem) && (\n <div class={'field-set'}>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Height and Width</p>\n <p class={'ls-field-properties-section-description'}>Define the height and width of one or multiple fields</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set field width in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-width\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n aria=\"field-width\"\n id=\"field-width\"\n min={5}\n max={this.dataItem.pageDimensions.width - this.dataItem.width}\n value={this.dataItem?.width}\n onChange={e => {\n const di = this.getDataItem();\n if (parseInt((e.target as HTMLInputElement).value) > di.pageDimensions.width - di.left) {\n return;\n }\n this.alter({ width: (e.target as HTMLInputElement).value })\n }}\n />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set field height in pixels\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-match-height\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n aria=\"field-height\"\n id=\"field-height\"\n value={this.dataItem?.height}\n onChange={e => {\n const di = this.getDataItem();\n if (parseInt((e.target as HTMLInputElement).value) > di.pageDimensions.height - di.top) {\n return;\n }\n\n this.alter({ height: (e.target as HTMLInputElement).value })\n }}\n />\n </div>\n </div>\n </div>\n\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Scale and Resize</p>\n <p class={'ls-field-properties-section-description'}>Multi-select fields and match their dimensions</p>\n </div>\n <div class={'button-group'}>\n <button disabled data-tooltip=\"Select multiple Fields to to access scale controls\">\n <ls-icon name=\"field-scale\"></ls-icon>\n </button>\n <button disabled data-tooltip=\"Select multiple Fields to to access match width controls\">\n <ls-icon name=\"field-match-width\"></ls-icon>\n </button>\n <button disabled data-tooltip=\"Select multiple Fields to to access match height controls\">\n <ls-icon name=\"field-match-height\"></ls-icon>\n </button>\n </div>\n </div>\n </div>\n )}\n <ls-tooltip id=\"ls-tooltip-master\" />\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
import { oob } from "../ls-document-viewer/editorUtils";
|
|
3
3
|
import { attachAllTooltips } from "../../utils/tooltip";
|
|
4
|
+
import { outOfBounds } from "../ls-document-viewer/mouseHandlers";
|
|
4
5
|
export class LsFieldDistribute {
|
|
5
6
|
dataItem;
|
|
6
7
|
mutate;
|
|
7
|
-
update;
|
|
8
8
|
component;
|
|
9
9
|
// Send one or more mutations up the chain
|
|
10
10
|
// The source of the chain fires the mutation
|
|
@@ -15,39 +15,41 @@ export class LsFieldDistribute {
|
|
|
15
15
|
});
|
|
16
16
|
this.dataItem = diffs.map(d => d.data);
|
|
17
17
|
this.mutate.emit(diffs);
|
|
18
|
-
this.update.emit(diffs);
|
|
19
18
|
}
|
|
20
19
|
distributeHorizontal() {
|
|
21
20
|
var spacing = this.component.shadowRoot.getElementById('ls-fix-horizontal-space');
|
|
22
|
-
var avgspace = 0;
|
|
23
21
|
const sorted = this.dataItem.sort((a, b) => a.left - b.left);
|
|
22
|
+
if (sorted.length < 3)
|
|
23
|
+
return;
|
|
24
|
+
var avgspace = 0;
|
|
25
|
+
const leftmost = sorted[0].left + sorted[0].width / 2;
|
|
26
|
+
const rightmost = sorted.reduce((acc, cur) => {
|
|
27
|
+
return cur.left + (cur.width / 2) > acc ? cur.left + (cur.width / 2) : acc;
|
|
28
|
+
}, leftmost);
|
|
29
|
+
// find total width between centre first and centre last
|
|
30
|
+
const totalWidth = rightmost - leftmost;
|
|
24
31
|
if (spacing.value !== '') {
|
|
25
32
|
avgspace = parseInt(spacing.value);
|
|
26
33
|
}
|
|
27
34
|
else {
|
|
28
|
-
|
|
29
|
-
for (var i = 1; i < sorted.length; i++) {
|
|
30
|
-
const c1 = sorted[i - 1];
|
|
31
|
-
const c2 = sorted[i];
|
|
32
|
-
space = space + (c2.left - c1.left - c1.width <= 0 ? 0 : c2.left - c1.left - c1.width);
|
|
33
|
-
}
|
|
34
|
-
avgspace = Math.floor(space / sorted.length);
|
|
35
|
+
avgspace = Math.floor(totalWidth / (sorted.length - 1));
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
const filtered = sorted.filter((c, index) => {
|
|
38
|
+
return outOfBounds({ ...c, left: (Math.floor(leftmost - (c.width / 2) + avgspace * index)) }) === false
|
|
39
|
+
&& index !== 0
|
|
40
|
+
&& index !== sorted.length - 1;
|
|
41
|
+
});
|
|
42
|
+
const diffs = filtered.map((c, index) => {
|
|
40
43
|
return {
|
|
41
44
|
action: 'update',
|
|
42
45
|
data: {
|
|
43
46
|
...c,
|
|
44
|
-
left:
|
|
47
|
+
left: Math.floor(leftmost - (c.width / 2) + (avgspace * (index + 1))),
|
|
45
48
|
},
|
|
46
49
|
};
|
|
47
50
|
});
|
|
48
51
|
this.dataItem = diffs.map(d => d.data);
|
|
49
52
|
this.mutate.emit(diffs);
|
|
50
|
-
this.update.emit(diffs);
|
|
51
53
|
}
|
|
52
54
|
gapVertical(spacing) {
|
|
53
55
|
const sorted = this.dataItem.sort((a, b) => a.top - b.top);
|
|
@@ -71,7 +73,6 @@ export class LsFieldDistribute {
|
|
|
71
73
|
});
|
|
72
74
|
this.dataItem = diffs.map(d => d.data);
|
|
73
75
|
this.mutate.emit(diffs);
|
|
74
|
-
this.update.emit(diffs);
|
|
75
76
|
}
|
|
76
77
|
gapHorizontal(spacing) {
|
|
77
78
|
const sorted = this.dataItem.sort((a, b) => a.top - b.top);
|
|
@@ -96,58 +97,53 @@ export class LsFieldDistribute {
|
|
|
96
97
|
});
|
|
97
98
|
this.dataItem = diffs.map(d => d.data);
|
|
98
99
|
this.mutate.emit(diffs);
|
|
99
|
-
this.update.emit(diffs);
|
|
100
100
|
}
|
|
101
101
|
distributeVertical() {
|
|
102
102
|
var spacing = this.component.shadowRoot.getElementById('ls-fix-vertical-space');
|
|
103
103
|
var avgspace = 0;
|
|
104
104
|
const sorted = this.dataItem.sort((a, b) => a.top - b.top);
|
|
105
|
-
|
|
105
|
+
const topmost = sorted[0].top + sorted[0].height / 2;
|
|
106
|
+
const bottommost = sorted.reduce((acc, cur) => {
|
|
107
|
+
return cur.top + (cur.height / 2) > acc ? cur.top + (cur.height / 2) : acc;
|
|
108
|
+
}, topmost);
|
|
109
|
+
// find total width between centre first and centre last
|
|
110
|
+
const totalHeight = bottommost - topmost;
|
|
111
|
+
if (spacing.value !== '') {
|
|
106
112
|
avgspace = parseInt(spacing.value);
|
|
113
|
+
}
|
|
107
114
|
else {
|
|
108
|
-
|
|
109
|
-
for (var i = 1; i < sorted.length; i++) {
|
|
110
|
-
const c1 = sorted[i - 1];
|
|
111
|
-
const c2 = sorted[i];
|
|
112
|
-
space = space + (c2.top - c1.top - c1.height <= 0 ? 0 : c2.top - c1.top - c1.height);
|
|
113
|
-
}
|
|
114
|
-
avgspace = Math.floor(space / sorted.length);
|
|
115
|
+
avgspace = Math.floor(totalHeight / (sorted.length - 1));
|
|
115
116
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
top: newTop,
|
|
123
|
-
};
|
|
117
|
+
const filtered = sorted.filter((c, index) => {
|
|
118
|
+
return outOfBounds({ ...c, left: Math.floor(topmost - (c.height / 2) + avgspace * index) }) === false
|
|
119
|
+
&& index !== 0
|
|
120
|
+
&& index !== sorted.length - 1;
|
|
121
|
+
});
|
|
122
|
+
const diffs = filtered.map((c, index) => {
|
|
124
123
|
return {
|
|
125
124
|
action: 'update',
|
|
126
|
-
data:
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
: target,
|
|
125
|
+
data: {
|
|
126
|
+
...c,
|
|
127
|
+
top: Math.floor(topmost - (c.height / 2) + (avgspace * (index + 1))),
|
|
128
|
+
},
|
|
132
129
|
};
|
|
133
130
|
});
|
|
134
131
|
this.dataItem = diffs.map(d => d.data);
|
|
135
132
|
this.mutate.emit(diffs);
|
|
136
|
-
this.update.emit(diffs);
|
|
137
133
|
}
|
|
138
134
|
componentDidLoad() {
|
|
139
135
|
attachAllTooltips(this.component.shadowRoot);
|
|
140
136
|
}
|
|
141
137
|
render() {
|
|
142
|
-
return (h(Host, { key: '
|
|
138
|
+
return (h(Host, { key: '9183c6d98eba74df69f024a583940a25c0f7547c' }, h("div", { key: 'efe9718b9b662956d0cf829d687df3d558cdad31', class: 'ls-field-properties-section' }, h("div", { key: '24e5a2d203432ee0b0894a517870a19e6081b9dc', class: 'ls-field-properties-section-text' }, h("p", { key: 'ced15352bbbdd00133d20de812fede32e1c281d6', class: 'ls-field-properties-section-title' }, "Distribution"), h("p", { key: 'a08ae1961bfbc738b1359b7c938ff80ece5ef4fe', class: 'ls-field-properties-section-description' }, "Multi-select fields and evenly space them out")), h("div", { key: 'a720baf91f2917458c47a0c8a2cc91bda6d9d92d', class: 'button-group' }, h("button", { key: 'e2303f2c8324e126ae5d8c5e3db65c6c04498ccc', onClick: () => {
|
|
143
139
|
this.distributeVertical();
|
|
144
|
-
}, "aria-label": "Distribute selected fields vertically.", "data-tooltip": "Distribute selected fields vertically" }, h("ls-icon", { key: '
|
|
140
|
+
}, "aria-label": "Distribute selected fields vertically.", "data-tooltip": "Distribute selected fields vertically" }, h("ls-icon", { key: 'b3def31389be531f8d93b7a4aba31da1972573e1', name: "field-distribute-vertically" })), h("button", { key: 'fcfd3704ac035ee406b1b5579e9b6dfbf8f7eec0', onClick: () => {
|
|
145
141
|
this.distributeHorizontal();
|
|
146
|
-
}, "aria-label": "Distribute selected fields horizontally.", "data-tooltip": "Distribute selected fields horizontally" }, h("ls-icon", { key: '
|
|
142
|
+
}, "aria-label": "Distribute selected fields horizontally.", "data-tooltip": "Distribute selected fields horizontally" }, h("ls-icon", { key: 'a8fe7f099ef6002e6459d6e0e85c3abb301f4d58', name: "field-distribute-horizontally" })))), h("div", { key: '2371a9653b583f97ad1df8a45a4145291b20ac21', class: 'ls-field-properties-section' }, h("div", { key: 'a6b4714f995ba5017e0cfb894a40c828676a764d', class: 'ls-field-properties-section-text' }, h("p", { key: 'efa830b42e36555694cd413c7faf85e9c81e4ff2', class: 'ls-field-properties-section-title' }, "Gap"), h("p", { key: 'dfd54671699a6b8840b867a9a9635639a9b801aa', class: 'ls-field-properties-section-description' }, "Define the exact gap between multi-select fields.")), h("div", { key: '7a970651367e27007aaa57af06a1918efbc06889', class: 'input-row' }, h("div", { key: '4494e7585a4f4a41cccd5db632f917946e53a5f7', class: 'input-wrapper', "data-tooltip": "Set vertical gap between selected fields" }, h("ls-icon", { key: 'c4cf75483efe34297a283693413ea91a70dc3965', id: "selectLeadingIcon", name: "field-distribute-vertically" }), h("input", { key: '0480f8f9b0227599fc31658e8799ee999712d37f', type: "number", class: 'has-leading-icon', id: "ls-fix-vertical-space", onChange: e => {
|
|
147
143
|
this.gapVertical(parseInt(e.target.value));
|
|
148
|
-
}, value: '', size: 4, min: 0, max: 9999 })), h("div", { key: '
|
|
144
|
+
}, value: '', size: 4, min: 0, max: 9999 })), h("div", { key: 'c793ffb33e2892914bb546b8643628dce38f209a', class: 'input-wrapper', "data-tooltip": "Set horizontal gap between selected fields" }, h("ls-icon", { key: '726eda22cf535a5d760df8d5c2443e2a8d20c7f7', id: "selectLeadingIcon", name: "field-distribute-horizontally" }), h("input", { key: 'd064bf24692fb0a6cdb4de546f9166115565b5d5', type: "number", class: 'has-leading-icon', id: "ls-fix-horizontal-space", onChange: e => {
|
|
149
145
|
this.gapHorizontal(parseInt(e.target.value));
|
|
150
|
-
}, value: '', size: 4, min: 0, max: 9999 })))), h("ls-tooltip", { key: '
|
|
146
|
+
}, value: '', size: 4, min: 0, max: 9999 })))), h("ls-tooltip", { key: 'c699c7d28bc03981a8fdcd9960ce2b81bc7ed2f7', id: "ls-tooltip-master" }), h("slot", { key: 'e2bdf922af96349adfc40efba97dccb434a850eb' })));
|
|
151
147
|
}
|
|
152
148
|
static get is() { return "ls-field-distribute"; }
|
|
153
149
|
static get encapsulation() { return "shadow"; }
|
|
@@ -165,7 +161,6 @@ export class LsFieldDistribute {
|
|
|
165
161
|
return {
|
|
166
162
|
"dataItem": {
|
|
167
163
|
"type": "unknown",
|
|
168
|
-
"attribute": "data-item",
|
|
169
164
|
"mutable": true,
|
|
170
165
|
"complexType": {
|
|
171
166
|
"original": "LSApiElement[]",
|
|
@@ -211,27 +206,6 @@ export class LsFieldDistribute {
|
|
|
211
206
|
}
|
|
212
207
|
}
|
|
213
208
|
}
|
|
214
|
-
}, {
|
|
215
|
-
"method": "update",
|
|
216
|
-
"name": "update",
|
|
217
|
-
"bubbles": true,
|
|
218
|
-
"cancelable": true,
|
|
219
|
-
"composed": true,
|
|
220
|
-
"docs": {
|
|
221
|
-
"tags": [],
|
|
222
|
-
"text": ""
|
|
223
|
-
},
|
|
224
|
-
"complexType": {
|
|
225
|
-
"original": "LSMutateEvent[]",
|
|
226
|
-
"resolved": "LSMutateEvent[]",
|
|
227
|
-
"references": {
|
|
228
|
-
"LSMutateEvent": {
|
|
229
|
-
"location": "import",
|
|
230
|
-
"path": "../../components",
|
|
231
|
-
"id": "src/components.d.ts::LSMutateEvent"
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
209
|
}];
|
|
236
210
|
}
|
|
237
211
|
static get elementRef() { return "component"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls-field-distribute.js","sourceRoot":"","sources":["../../../src/components/ls-field-distribute/ls-field-distribute.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter, Element } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { oob } from '../ls-document-viewer/editorUtils';\nimport { attachAllTooltips } from '../../utils/tooltip';\n\n@Component({\n tag: 'ls-field-distribute',\n styleUrl: 'ls-field-distribute.css',\n shadow: true,\n})\nexport class LsFieldDistribute {\n @Prop({\n mutable: true,\n })\n dataItem: LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n @Element() component: HTMLElement;\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n console.log(diff);\n\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: 'update', data: { ...c, ...diff } as LSApiElement };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n distributeHorizontal() {\n var spacing = this.component.shadowRoot.getElementById('ls-fix-horizontal-space') as HTMLInputElement;\n var avgspace = 0;\n const sorted = this.dataItem.sort((a, b) => a.left - b.left);\n\n if (spacing.value !== '') {\n avgspace = parseInt(spacing.value);\n } else {\n var space = 0;\n for (var i = 1; i < sorted.length; i++) {\n const c1 = sorted[i - 1];\n const c2 = sorted[i];\n space = space + (c2.left - c1.left - c1.width <= 0 ? 0 : c2.left - c1.left - c1.width);\n }\n avgspace = Math.floor(space / sorted.length);\n }\n\n var nextleft = sorted[0].left;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newLeft = nextleft;\n nextleft = nextleft + c.width + avgspace;\n\n return {\n action: 'update',\n data: {\n ...c,\n left: newLeft,\n } as LSApiElement,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n gapVertical(spacing: number) {\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n var buffer = sorted[0].top;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newTop = buffer;\n buffer = buffer + c.height + spacing;\n const target = {\n ...c,\n top: newTop,\n } as LSApiElement;\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n left: c.pageDimensions.height - c.height - 1,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n gapHorizontal(spacing: number) {\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n var buffer = sorted[0].left;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newLeft = buffer;\n buffer = buffer + c.width + spacing;\n const target = {\n ...c,\n left: newLeft,\n } as LSApiElement;\n\n console.log(target, oob(target));\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n left: c.pageDimensions.width - c.width - 1,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n distributeVertical() {\n var spacing = this.component.shadowRoot.getElementById('ls-fix-vertical-space') as HTMLInputElement;\n var avgspace = 0;\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n if (spacing.value !== '') avgspace = parseInt(spacing.value);\n else {\n var space = 0;\n for (var i = 1; i < sorted.length; i++) {\n const c1 = sorted[i - 1];\n const c2 = sorted[i];\n space = space + (c2.top - c1.top - c1.height <= 0 ? 0 : c2.top - c1.top - c1.height);\n }\n avgspace = Math.floor(space / sorted.length);\n }\n\n var buffer = sorted[0].top;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newTop = buffer;\n buffer = buffer + c.height + avgspace;\n const target = {\n ...c,\n top: newTop,\n } as LSApiElement;\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n top: c.pageDimensions.height - c.height,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n this.update.emit(diffs);\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n render() {\n return (\n <Host>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Distribution</p>\n <p class={'ls-field-properties-section-description'}>Multi-select fields and evenly space them out</p>\n </div>\n <div class={'button-group'}>\n <button\n onClick={() => {\n this.distributeVertical();\n }}\n aria-label=\"Distribute selected fields vertically.\"\n data-tooltip=\"Distribute selected fields vertically\"\n >\n <ls-icon name=\"field-distribute-vertically\"></ls-icon>\n </button>\n <button\n onClick={() => {\n this.distributeHorizontal();\n }}\n aria-label=\"Distribute selected fields horizontally.\"\n data-tooltip=\"Distribute selected fields horizontally\"\n >\n <ls-icon name=\"field-distribute-horizontally\"></ls-icon>\n </button>\n </div>\n </div>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Gap</p>\n <p class={'ls-field-properties-section-description'}>Define the exact gap between multi-select fields.</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set vertical gap between selected fields\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-distribute-vertically\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n id=\"ls-fix-vertical-space\"\n onChange={e => {\n this.gapVertical(parseInt((e.target as HTMLInputElement).value));\n }}\n value={''}\n size={4}\n min={0}\n max={9999}\n />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set horizontal gap between selected fields\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-distribute-horizontally\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n id=\"ls-fix-horizontal-space\"\n onChange={e => {\n this.gapHorizontal(parseInt((e.target as HTMLInputElement).value));\n }}\n value={''}\n size={4}\n min={0}\n max={9999}\n />\n </div>\n </div>\n </div>\n <ls-tooltip id=\"ls-tooltip-master\" />\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ls-field-distribute.js","sourceRoot":"","sources":["../../../src/components/ls-field-distribute/ls-field-distribute.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter, Element } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { oob } from '../ls-document-viewer/editorUtils';\nimport { attachAllTooltips } from '../../utils/tooltip';\nimport { outOfBounds } from '../ls-document-viewer/mouseHandlers';\n\n@Component({\n tag: 'ls-field-distribute',\n styleUrl: 'ls-field-distribute.css',\n shadow: true,\n})\nexport class LsFieldDistribute {\n @Prop({\n mutable: true,\n })\n dataItem: LSApiElement[];\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Element() component: HTMLElement;\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n alter(diff: object) {\n console.log(diff);\n\n const diffs: LSMutateEvent[] = this.dataItem.map(c => {\n return { action: 'update', data: { ...c, ...diff } as LSApiElement };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n distributeHorizontal() {\n var spacing = this.component.shadowRoot.getElementById('ls-fix-horizontal-space') as HTMLInputElement;\n const sorted = this.dataItem.sort((a, b) => a.left - b.left);\n if (sorted.length < 3) return;\n\n\n var avgspace = 0;\n const leftmost = sorted[0].left + sorted[0].width / 2;\n const rightmost = sorted.reduce((acc, cur) => {\n return cur.left + (cur.width / 2) > acc ? cur.left + (cur.width / 2) : acc;\n }, leftmost);\n // find total width between centre first and centre last\n const totalWidth: number = rightmost - leftmost;\n\n if (spacing.value !== '') {\n avgspace = parseInt(spacing.value);\n } else {\n avgspace = Math.floor(totalWidth / (sorted.length - 1));\n }\n\n const filtered = sorted.filter((c, index) => {\n return outOfBounds({ ...c, left: (Math.floor(leftmost - (c.width / 2) + avgspace * index)) }) === false\n && index !== 0\n && index !== sorted.length - 1\n });\n\n const diffs: LSMutateEvent[] = filtered.map((c, index) => {\n\n return {\n action: 'update',\n data: {\n ...c,\n left: Math.floor(leftmost - (c.width / 2) + (avgspace * (index + 1))),\n } as LSApiElement,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n gapVertical(spacing: number) {\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n var buffer = sorted[0].top;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newTop = buffer;\n buffer = buffer + c.height + spacing;\n const target = {\n ...c,\n top: newTop,\n } as LSApiElement;\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n left: c.pageDimensions.height - c.height - 1,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n gapHorizontal(spacing: number) {\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n var buffer = sorted[0].left;\n\n const diffs: LSMutateEvent[] = sorted.map(c => {\n const newLeft = buffer;\n buffer = buffer + c.width + spacing;\n const target = {\n ...c,\n left: newLeft,\n } as LSApiElement;\n\n console.log(target, oob(target));\n\n return {\n action: 'update',\n data: oob(target)\n ? ({\n ...c,\n left: c.pageDimensions.width - c.width - 1,\n } as LSApiElement)\n : target,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n distributeVertical() {\n var spacing = this.component.shadowRoot.getElementById('ls-fix-vertical-space') as HTMLInputElement;\n var avgspace = 0;\n const sorted = this.dataItem.sort((a, b) => a.top - b.top);\n\n const topmost = sorted[0].top + sorted[0].height / 2;\n const bottommost = sorted.reduce((acc, cur) => {\n return cur.top + (cur.height / 2) > acc ? cur.top + (cur.height / 2) : acc;\n }, topmost);\n // find total width between centre first and centre last\n const totalHeight: number = bottommost - topmost;\n\n if (spacing.value !== '') {\n avgspace = parseInt(spacing.value);\n } else {\n avgspace = Math.floor(totalHeight / (sorted.length - 1));\n }\n\n const filtered = sorted.filter((c, index) => {\n return outOfBounds({ ...c, left: Math.floor(topmost - (c.height / 2) + avgspace * index) }) === false\n && index !== 0\n && index !== sorted.length - 1\n });\n\n const diffs: LSMutateEvent[] = filtered.map((c, index) => {\n\n return {\n action: 'update',\n data: {\n ...c,\n top: Math.floor(topmost - (c.height / 2) + (avgspace * (index + 1))),\n } as LSApiElement,\n };\n });\n\n this.dataItem = diffs.map(d => d.data as LSApiElement);\n this.mutate.emit(diffs);\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n render() {\n return (\n <Host>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Distribution</p>\n <p class={'ls-field-properties-section-description'}>Multi-select fields and evenly space them out</p>\n </div>\n <div class={'button-group'}>\n <button\n onClick={() => {\n this.distributeVertical();\n }}\n aria-label=\"Distribute selected fields vertically.\"\n data-tooltip=\"Distribute selected fields vertically\"\n >\n <ls-icon name=\"field-distribute-vertically\"></ls-icon>\n </button>\n <button\n onClick={() => {\n this.distributeHorizontal();\n }}\n aria-label=\"Distribute selected fields horizontally.\"\n data-tooltip=\"Distribute selected fields horizontally\"\n >\n <ls-icon name=\"field-distribute-horizontally\"></ls-icon>\n </button>\n </div>\n </div>\n <div class={'ls-field-properties-section'}>\n <div class={'ls-field-properties-section-text'}>\n <p class={'ls-field-properties-section-title'}>Gap</p>\n <p class={'ls-field-properties-section-description'}>Define the exact gap between multi-select fields.</p>\n </div>\n <div class={'input-row'}>\n <div class={'input-wrapper'} data-tooltip=\"Set vertical gap between selected fields\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-distribute-vertically\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n id=\"ls-fix-vertical-space\"\n onChange={e => {\n this.gapVertical(parseInt((e.target as HTMLInputElement).value));\n }}\n value={''}\n size={4}\n min={0}\n max={9999}\n />\n </div>\n <div class={'input-wrapper'} data-tooltip=\"Set horizontal gap between selected fields\">\n <ls-icon id=\"selectLeadingIcon\" name=\"field-distribute-horizontally\"></ls-icon>\n <input\n type=\"number\"\n class={'has-leading-icon'}\n id=\"ls-fix-horizontal-space\"\n onChange={e => {\n this.gapHorizontal(parseInt((e.target as HTMLInputElement).value));\n }}\n value={''}\n size={4}\n min={0}\n max={9999}\n />\n </div>\n </div>\n </div>\n <ls-tooltip id=\"ls-tooltip-master\" />\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -8,22 +8,33 @@ export class LsFieldFooter {
|
|
|
8
8
|
mutate;
|
|
9
9
|
update;
|
|
10
10
|
selectFields;
|
|
11
|
+
isSingle(dt) {
|
|
12
|
+
return dt.length === undefined;
|
|
13
|
+
}
|
|
14
|
+
isMultiple(dt) {
|
|
15
|
+
return typeof dt.length === 'number';
|
|
16
|
+
}
|
|
17
|
+
getItems() {
|
|
18
|
+
if (this.isSingle(this.dataItem)) {
|
|
19
|
+
return [this.dataItem];
|
|
20
|
+
}
|
|
21
|
+
return this.dataItem;
|
|
22
|
+
}
|
|
11
23
|
deleteField = () => {
|
|
12
|
-
this.
|
|
13
|
-
this.mutate.emit([{ action: 'delete', data: this.dataItem }]);
|
|
24
|
+
this.mutate.emit(this.getItems().map(di => { return { action: 'delete', data: di }; }));
|
|
14
25
|
};
|
|
15
26
|
duplicateField = () => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
this.getItems().forEach(current => {
|
|
28
|
+
const newItem = { ...current, id: btoa('ele' + crypto.randomUUID()) };
|
|
29
|
+
const newTop = current.top + current.height;
|
|
30
|
+
if (newTop + current.height < current.pageDimensions.height) {
|
|
31
|
+
newItem.top = newTop;
|
|
32
|
+
}
|
|
33
|
+
this.mutate.emit([{ action: 'create', data: newItem, select: 'clear' }]);
|
|
34
|
+
});
|
|
24
35
|
};
|
|
25
36
|
render() {
|
|
26
|
-
return (h(Host, { key: '
|
|
37
|
+
return (h(Host, { key: 'b304511650fb8ab792ee4112ce4eb6ecabfad7b1' }, h("div", { key: 'ffb272b2be2e33164600f4751d91df4aabe6a37d', class: 'button-footer' }, h("button", { key: '4186e5559318e08134f5d3d3eef95be7dd277583', class: 'secondary', onClick: () => this.duplicateField() }, h("ls-icon", { key: '421a920a74da3f785236ca4051df988bada70e2d', name: "field-duplicate", size: "1.25rem" }), "Duplicate"), h("button", { key: 'd7f34ff31f29b11d3d1801bdf4d88fe23e8d5c9d', class: 'destructive', onClick: () => this.deleteField() }, h("ls-icon", { key: '91abcc24bf4bea621252a5982442d38a7a36644d', name: "trash", size: "1.25rem", color: 'var(--red-60)' }), "Delete")), h("slot", { key: 'df560039d19466975b12468042f2bfd0a3b81b6f' })));
|
|
27
38
|
}
|
|
28
39
|
static get is() { return "ls-field-footer"; }
|
|
29
40
|
static get encapsulation() { return "shadow"; }
|
|
@@ -41,11 +52,10 @@ export class LsFieldFooter {
|
|
|
41
52
|
return {
|
|
42
53
|
"dataItem": {
|
|
43
54
|
"type": "unknown",
|
|
44
|
-
"attribute": "data-item",
|
|
45
55
|
"mutable": true,
|
|
46
56
|
"complexType": {
|
|
47
|
-
"original": "LSApiElement",
|
|
48
|
-
"resolved": "{ id: string; align: string; ax?: number; ay?: number; bx?: number; by?: number; left?: number; top?: number; height?: number; width?: number; elementType: string; fieldOrder?: number; fontName: string; fontSize: number; hideBorder?: boolean; label?: string; labelExtra?: string; helpText?: string; optional?: boolean; options?: string; page?: number; role?: LSApiRole; substantive?: boolean; validation?: number; value?: string; logicGroup?: string; logicAction?: number; mapTo?: string; signer: number; link?: string; formElementType?: \"number\" | \"text\" | \"signature\" | \"date\" | \"regex\" | \"file\" | \"autodate\" | \"autosign\" | \"initials\" | \"email\" | \"checkbox\" | \"image\" | \"dropdown\"; roleObject?: LSApiRole; cstyle?: any; divStyle?: any; objectHeight?: string; pageDimensions?: { height: number; width: number; }; templateId?: string; }",
|
|
57
|
+
"original": "LSApiElement | LSApiElement[]",
|
|
58
|
+
"resolved": "LSApiElement[] | { id: string; align: string; ax?: number; ay?: number; bx?: number; by?: number; left?: number; top?: number; height?: number; width?: number; elementType: string; fieldOrder?: number; fontName: string; fontSize: number; hideBorder?: boolean; label?: string; labelExtra?: string; helpText?: string; optional?: boolean; options?: string; page?: number; role?: LSApiRole; substantive?: boolean; validation?: number; value?: string; logicGroup?: string; logicAction?: number; mapTo?: string; signer: number; link?: string; formElementType?: \"number\" | \"text\" | \"signature\" | \"date\" | \"regex\" | \"file\" | \"autodate\" | \"autosign\" | \"initials\" | \"email\" | \"checkbox\" | \"image\" | \"dropdown\"; roleObject?: LSApiRole; cstyle?: any; divStyle?: any; objectHeight?: string; pageDimensions?: { height: number; width: number; }; templateId?: string; }",
|
|
49
59
|
"references": {
|
|
50
60
|
"LSApiElement": {
|
|
51
61
|
"location": "import",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls-field-footer.js","sourceRoot":"","sources":["../../../src/components/ls-field-footer/ls-field-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAQ9E,MAAM,OAAO,aAAa;IACxB;;;OAGG;IAIH,QAAQ,
|
|
1
|
+
{"version":3,"file":"ls-field-footer.js","sourceRoot":"","sources":["../../../src/components/ls-field-footer/ls-field-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAQ9E,MAAM,OAAO,aAAa;IACxB;;;OAGG;IAIH,QAAQ,CAAgC;IAMxC,MAAM,CAAgC;IAOtC,MAAM,CAAgC;IAOtC,YAAY,CAA+B;IAE3C,QAAQ,CAAC,EAAiC;QACxC,OAAQ,EAAqB,CAAC,MAAM,KAAK,SAAS,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,EAAiC;QAC1C,OAAO,OAAQ,EAAqB,CAAC,MAAM,KAAK,QAAQ,CAAC;IAC3D,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,WAAW,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC,CAAA;IAED,cAAc,GAAG,GAAG,EAAE;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAC5C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAA;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,eAAe;gBACzB,+DAAQ,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;oBAC9D,gEAAS,IAAI,EAAC,iBAAiB,EAAC,IAAI,EAAC,SAAS,GAAG;gCAE1C;gBACT,+DAAQ,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC7D,gEAAS,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,eAAe,GAAG;6BAEtD,CACL;YACN,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\n\n@Component({\n tag: 'ls-field-footer',\n styleUrl: 'ls-field-footer.css',\n shadow: true,\n})\nexport class LsFieldFooter {\n /**\n * The selected items information (as JSON).\n * {LSApiElement[]}\n */\n @Prop({\n mutable: true,\n })\n dataItem: LSApiElement | LSApiElement[];\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n selectFields: EventEmitter<LSApiElement[]>;\n\n isSingle(dt: LSApiElement | LSApiElement[]): dt is LSApiElement {\n return (dt as LSApiElement[]).length === undefined;\n }\n\n isMultiple(dt: LSApiElement | LSApiElement[]): dt is LSApiElement[] {\n return typeof (dt as LSApiElement[]).length === 'number';\n }\n\n getItems(): LSApiElement[] {\n if (this.isSingle(this.dataItem)) {\n return [this.dataItem];\n }\n return this.dataItem;\n }\n\n deleteField = () => {\n this.mutate.emit(this.getItems().map(di => { return { action: 'delete', data: di } }));\n }\n\n duplicateField = () => {\n this.getItems().forEach(current => {\n const newItem = { ...current, id: btoa('ele' + crypto.randomUUID()) };\n const newTop = current.top + current.height;\n if (newTop + current.height < current.pageDimensions.height) {\n newItem.top = newTop;\n }\n this.mutate.emit([{ action: 'create', data: newItem, select: 'clear' }]);\n });\n }\n\n render() {\n return (\n <Host>\n <div class={'button-footer'}>\n <button class={'secondary'} onClick={() => this.duplicateField()}>\n <ls-icon name=\"field-duplicate\" size=\"1.25rem\" />\n Duplicate\n </button>\n <button class={'destructive'} onClick={() => this.deleteField()}>\n <ls-icon name=\"trash\" size=\"1.25rem\" color='var(--red-60)' />\n Delete\n </button>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|