import keycon from "keycon"; import Moveable from "lit-moveable"; import { throttle } from "@daybrush/utils"; import { LitElement, html } from "lit"; import { customElement, property } from "lit/decorators.js"; keycon.setGlobal(); @customElement("lit-app") export default class App extends LitElement { render() { return html `
Resizable Target
Scalable Target
`; } onResizeStart(e) { e.setFixedDirection([0, 0]); } onDrag(e) { e.target.style.transform = e.transform; } onBeforeResize(e) { if (keycon.global.shiftKey) { e.setFixedDirection([-1, -1]); } else { e.setFixedDirection([0, 0]); } } onResize(e) { e.target.style.cssText += `width: ${e.width}px; height: ${e.height}px`; e.target.style.transform = e.drag.transform; } onBeforeRotate(e) { e.setRotation(throttle(e.rotation, 45)); } onRotate(e) { e.target.style.transform = e.drag.transform; } onScaleStart(e) { e.setFixedDirection([0, 0]); } onDrag$0(e) { e.target.style.transform = e.transform; } onBeforeScale(e) { if (keycon.global.shiftKey) { e.setFixedDirection([-1, -1]); } else { e.setFixedDirection([0, 0]); } } onScale(e) { e.target.style.transform = e.drag.transform; } }