import Moveable from "lit-moveable"; import { LitElement, html } from "lit"; import { customElement, property, state } from "lit/decorators.js"; import { ref, createRef } from "lit/directives/ref.js"; @customElement("lit-app") export default class App extends LitElement { @state() groupInstances: any[] = []; t1: Ref = createRef(null); t2: Ref = createRef(null); groupMoveable: Ref = createRef(null); render() { return html `
Target 1
Target 2
`; } initGroupElements() { const arr: any[] = []; arr.push(document.getElementsByClassName("target1")[0]); arr.push(document.getElementsByClassName("target2")[0]); this.groupInstances = arr; } handleDragStart(e: any) { initGroupElements(); this.groupMoveable.value!.dragStart(e.inputEvent); } onDragGroup(e) { e.events.forEach((ev) => (ev.target.style.transform = ev.transform)); this.t1.value.updateRect(); this.t2.value.updateRect(); } onDragGroupEnd() { this.groupInstances = []; } }