UNPKG

st-common-ui-vue3

Version:

小尾巴通用 Vue3 UI 组件库

47 lines (46 loc) 2.15 kB
import { defineComponent as f, ref as d, openBlock as O, createElementBlock as m, normalizeStyle as C, unref as i, renderSlot as v } from "vue"; import * as a from "../../node_modules/.pnpm/st-common-ui-utils@0.1.1/node_modules/st-common-ui-utils/es/utils/el-size-util.js"; import { useElementBounding as y } from "../../node_modules/.pnpm/@vueuse_core@12.0.0_typescript@5.6.2/node_modules/@vueuse/core/index.js"; const w = /* @__PURE__ */ f({ name: "StCapturePointerContainer", __name: "StCapturePointerContainer", props: { width: { default: "100%" }, height: { default: "100%" }, captureOnPointerEnter: { type: Boolean, default: !1 }, captureOnPointerLeave: { type: Boolean, default: !1 }, captureOnPointerDown: { type: Boolean, default: !1 }, captureOnPointerUp: { type: Boolean, default: !1 }, captureOnPointerMove: { type: Boolean, default: !1 }, captureOnPointerOver: { type: Boolean, default: !1 }, captureOnPointerOut: { type: Boolean, default: !1 } }, emits: ["handlePointerEvent"], setup(B, { emit: l }) { const u = l, r = d(null), { left: p, top: s } = y(r), o = (n) => { const e = r.value, t = n.clientX - p.value, P = n.clientY - s.value; u("handlePointerEvent", t, P, e, n); }; return (n, e) => (O(), m("div", { ref_key: "stCapturePointerContainerRef", ref: r, class: "st-capture-pointer-container", style: C({ width: i(a).elSizePreHandler(n.width), height: i(a).elSizePreHandler(n.height) }), onPointerenter: e[0] || (e[0] = (t) => n.captureOnPointerEnter && o(t)), onPointerleave: e[1] || (e[1] = (t) => n.captureOnPointerLeave && o(t)), onPointerdown: e[2] || (e[2] = (t) => n.captureOnPointerDown && o(t)), onPointerup: e[3] || (e[3] = (t) => n.captureOnPointerUp && o(t)), onPointermove: e[4] || (e[4] = (t) => n.captureOnPointerMove && o(t)), onPointerover: e[5] || (e[5] = (t) => n.captureOnPointerOver && o(t)), onPointerout: e[6] || (e[6] = (t) => n.captureOnPointerOut && o(t)) }, [ v(n.$slots, "default") ], 36)); } }); export { w as default };