vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
53 lines (52 loc) • 1.59 kB
JavaScript
import { defineComponent as E, useTemplateRef as S, createElementBlock as z, openBlock as l, normalizeStyle as p, normalizeClass as c, unref as e, createElementVNode as i, renderSlot as d, createBlock as f } from "vue";
import { useSplit as x } from "./hook/useSplit.mjs";
import { Icon as m } from "@vuux/icons";
const B = { class: "split-pane pane-right" }, _ = /* @__PURE__ */ E({
name: "Split",
__name: "index",
props: {
direction: { default: "horizontal" },
min: { default: 10 },
max: { default: 90 },
left: { default: 50 }
},
setup(u) {
const n = u, r = S("splitEl"), { leftPaneStyle: y, directionType: k, isVertical: v, onMousedown: t } = x(n, r);
return (a, o) => (l(), z("div", {
ref_key: "splitEl",
ref: r,
class: c(["app-split", n.direction]),
style: p({ flexDirection: e(k) })
}, [
i("div", {
class: "split-pane pane-left",
style: p(e(y))
}, [
d(a.$slots, "left")
], 4),
i("div", {
class: c(["pane-resizer", n.direction]),
onMousedownPassive: o[0] || (o[0] = //@ts-ignore
(...s) => e(t) && e(t)(...s)),
onTouchstartPassive: o[1] || (o[1] = //@ts-ignore
(...s) => e(t) && e(t)(...s))
}, [
e(v) ? (l(), f(e(m), {
key: 0,
name: "Icon7117462",
opacity: 0.8
})) : (l(), f(e(m), {
key: 1,
name: "Icon3503484",
opacity: 0.8
}))
], 34),
i("div", B, [
d(a.$slots, "right")
])
], 6));
}
});
export {
_ as default
};