geoiq-frontend-ui-kit
Version:
This project is a UI kit for GeoIQ's frontend. It's built with React, TypeScript, and Vite.
51 lines (50 loc) • 3.35 kB
JavaScript
import { onDown as u, onMove as y, onUp as E, onDbl as f } from "./index163.es.js";
import { autoGrowTextEditor as a, commitTextEdit as m, blurTextEditor as g } from "./index156.es.js";
import { undo as L, redo as x } from "./index153.es.js";
import { applyModeCursor as k, selectLayer as l, setMode as D } from "./index155.es.js";
import { fitStage as w, render as p, syncCanvasSize as P } from "./index152.es.js";
import { normalizeSource as T, doLoadImage as z } from "./index159.es.js";
import { deleteLayer as K } from "./index158.es.js";
import { panPointerUp as t, resetPan as c, panPointerDown as C, panPointerMove as h } from "./index164.es.js";
function A(e, i, o) {
e.canvasEl = o.canvas, e.overlayEl = o.overlay, e.textEditorEl = o.textEditor, e.stageEl = o.stage, e.ctx = e.canvasEl.getContext("2d"), e.octx = e.overlayEl.getContext("2d"), e.mounted = !0, k(e), e.overlayEl.addEventListener(
"lostpointercapture",
(r) => t(e, r)
), e.overlayEl.addEventListener("pointerdown", (r) => {
r.preventDefault(), r.isPrimary && e.panPointers?.size && c(e), !C(e, r) && u(e, r);
}), e.overlayEl.addEventListener("pointermove", (r) => {
r.preventDefault(), !h(e, r) && y(e, r);
}), e.overlayEl.addEventListener("pointerup", (r) => {
t(e, r), E(e, r);
}), e.overlayEl.addEventListener("pointercancel", (r) => {
c(e), E(e, r);
}), e.overlayEl.addEventListener("dblclick", (r) => f(e, r));
const d = () => {
e.editingLayer && (g(e), l(e, null));
};
e.textEditorEl.addEventListener("keydown", (r) => {
r.key === "Enter" ? (r.stopPropagation(), (r.metaKey || r.ctrlKey) && (r.preventDefault(), d())) : r.key === "Escape" && (r.stopPropagation(), e.editingLayer && (e.editingLayer._editing = !1), e.editingLayer = null, e.textEditorEl.blur(), l(e, null));
}), e.textEditorEl.addEventListener("input", () => a(e)), e.textEditorEl.addEventListener("blur", () => m(e)), e.stageEl.addEventListener(
"pointerdown",
(r) => {
r.target !== e.textEditorEl && (d(), r.target !== e.overlayEl && e.selectedId != null && l(e, null));
},
!0
), ["dragover", "dragenter"].forEach(
(r) => e.stageEl.addEventListener(r, (n) => n.preventDefault())
), e.stageEl.addEventListener("drop", (r) => {
r.preventDefault();
const n = r.dataTransfer.files[0];
n && n.type.startsWith("image/") && T(e, n, (v) => z(e, v));
}), i._keyHandler = (r) => {
if (!i.isOpen()) return;
const n = document.activeElement && document.activeElement.tagName;
n === "INPUT" || n === "TEXTAREA" || n === "SELECT" || ((r.metaKey || r.ctrlKey) && r.key === "z" && !r.shiftKey ? (r.preventDefault(), L(e)) : (r.metaKey || r.ctrlKey) && (r.key === "y" || r.shiftKey && r.key === "z") ? (r.preventDefault(), x(e)) : r.key === "Escape" ? e.mode !== "select" || e.selectedId != null ? (D(e, "select"), l(e, null)) : e.config.closeOnEscape !== !1 && i.close() : (r.key === "Delete" || r.key === "Backspace") && e.selectedId != null && e.mode === "select" && (r.preventDefault(), K(e, e.selectedId)));
}, document.addEventListener("keydown", i._keyHandler), i._resizeHandler = () => {
e.sourceCanvas.width && i.isOpen() && (w(e), p(e));
}, window.addEventListener("resize", i._resizeHandler), e.sourceCanvas.width && (P(e), p(e));
}
export {
A as mount
};
//# sourceMappingURL=index160.es.js.map