UNPKG

vuux

Version:

Vue3 Nuxt3 Nuxt4 组件库

76 lines (75 loc) 2.66 kB
import { defineComponent as _, useTemplateRef as f, createElementBlock as l, openBlock as s, createElementVNode as n, createBlock as S, unref as o, renderSlot as u, Teleport as T, createVNode as k, Transition as g, withCtx as w, createCommentVNode as N, normalizeStyle as V, normalizeClass as b, toDisplayString as x } from "vue"; import { useConfirmPopup as z } from "./hook/useConfirmPopup.mjs"; import { Icon as I } from "@vuux/icons"; const $ = { class: "popup-inner" }, D = { key: 0, class: "popup-content" }, O = { class: "popup-actions" }, q = /* @__PURE__ */ _({ name: "ConfirmPopup", __name: "index", props: { content: { default: "" }, shadow: { type: Boolean, default: !0 }, disabled: { type: Boolean } }, emits: ["ok", "close"], setup(y, { emit: C }) { const i = y, v = C, p = f("confirmEl"), r = f("confirmPopupEl"), { isOpen: E, popupStyle: B, placementClass: P, handleTriggerClick: a, emitCancel: c, emitConfirm: m } = z(i, p, r, v); return (d, e) => (s(), l("div", { ref_key: "confirmEl", ref: p, class: "app-confirm" }, [ n("div", { class: "confirm-slot", onClick: e[0] || (e[0] = //@ts-ignore (...t) => o(a) && o(a)(...t)) }, [ u(d.$slots, "default") ]), (s(), S(T, { to: "body" }, [ k(g, { name: "fade" }, { default: w(() => [ o(E) ? (s(), l("div", { key: 0, ref_key: "confirmPopupEl", ref: r, class: b(["app-confirm-popup", o(P)]), style: V(o(B)) }, [ n("div", $, [ i.content ? (s(), l("div", D, [ k(o(I), { name: "Icon4835048", opacity: 0.8 }), n("span", null, x(i.content), 1) ])) : u(d.$slots, "content", { key: 1 }), n("div", O, [ n("div", { class: "is-close", onClick: e[1] || (e[1] = //@ts-ignore (...t) => o(c) && o(c)(...t)) }, "取消"), n("div", { class: "is-ok", onClick: e[2] || (e[2] = //@ts-ignore (...t) => o(m) && o(m)(...t)) }, "确认") ]) ]), e[3] || (e[3] = n("div", { class: "popup-arrow", "aria-hidden": "true" }, null, -1)) ], 6)) : N("", !0) ]), _: 3 }) ])) ], 512)); } }); export { q as default };