mine-h5-ui
Version:
一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍
52 lines (51 loc) • 1.83 kB
JavaScript
import { defineComponent as M, mergeModels as l, useModel as y, withDirectives as C, createElementBlock as w, openBlock as n, unref as e, normalizeStyle as a, normalizeClass as r, createElementVNode as B, withModifiers as S, createBlock as h, createCommentVNode as $, renderSlot as g, vShow as z } from "vue";
import { useMask as D, useRadius as E } from "./hooks.js";
import N from "../MeIcon/index.vue.js";
/*!
* mine-h5-ui v2.16.0
* Copyright (c) 2025 biaov
* @license MIT
*/
const P = /* @__PURE__ */ M({
name: "MePopup",
__name: "index",
props: /* @__PURE__ */ l({
modal: { type: Boolean, default: !0 },
position: { default: "center" },
closeable: { type: Boolean, default: !1 },
radius: { default: "" }
}, {
visible: { type: Boolean, default: !1 },
visibleModifiers: {}
}),
emits: /* @__PURE__ */ l(["cancel"], ["update:visible"]),
setup(t, { emit: d }) {
const m = d, u = t, p = y(t, "visible"), { isShow: c, isShowMask: f, hideMask: s, animationDuration: k } = D({ emit: m, visibleModel: p }), { setRadius: b } = E(u);
return (o, i) => C((n(), w("div", {
class: r(["me-popup", { show: e(c) }]),
style: a(`background:rgba(0,0,0,${o.modal ? 0.7 : 0});--animation-duration:${e(k)}ms;`),
onClick: i[1] || (i[1] = //@ts-ignore
(...v) => e(s) && e(s)(...v))
}, [
B("div", {
class: r(o.position),
style: a(e(b)),
onClick: i[0] || (i[0] = S(() => {
}, ["stop"]))
}, [
o.closeable ? (n(), h(N, {
key: 0,
name: "icon-baseline-close-px",
size: "20px",
onClick: e(s)
}, null, 8, ["onClick"])) : $("", !0),
g(o.$slots, "default")
], 6)
], 6)), [
[z, e(f)]
]);
}
});
export {
P as default
};