vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 1.79 kB
JavaScript
"use strict";const e=require("vue"),E=require("./hook/useConfirmPopup.cjs"),C=require("@vuux/icons"),y={class:"popup-inner"},v={key:0,class:"popup-content"},B={class:"popup-actions"},N=e.defineComponent({name:"ConfirmPopup",__name:"index",props:{content:{default:""},shadow:{type:Boolean,default:!0},disabled:{type:Boolean}},emits:["ok","close"],setup(a,{emit:u}){const t=a,m=u,r=e.useTemplateRef("confirmEl"),l=e.useTemplateRef("confirmPopupEl"),{isOpen:d,popupStyle:f,placementClass:k,handleTriggerClick:s,emitCancel:i,emitConfirm:c}=E.useConfirmPopup(t,r,l,m);return(p,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"confirmEl",ref:r,class:"app-confirm"},[e.createElementVNode("div",{class:"confirm-slot",onClick:o[0]||(o[0]=(...n)=>e.unref(s)&&e.unref(s)(...n))},[e.renderSlot(p.$slots,"default")]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(d)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"confirmPopupEl",ref:l,class:e.normalizeClass(["app-confirm-popup",e.unref(k)]),style:e.normalizeStyle(e.unref(f))},[e.createElementVNode("div",y,[t.content?(e.openBlock(),e.createElementBlock("div",v,[e.createVNode(e.unref(C.Icon),{name:"Icon4835048",opacity:.8}),e.createElementVNode("span",null,e.toDisplayString(t.content),1)])):e.renderSlot(p.$slots,"content",{key:1}),e.createElementVNode("div",B,[e.createElementVNode("div",{class:"is-close",onClick:o[1]||(o[1]=(...n)=>e.unref(i)&&e.unref(i)(...n))},"取消"),e.createElementVNode("div",{class:"is-ok",onClick:o[2]||(o[2]=(...n)=>e.unref(c)&&e.unref(c)(...n))},"确认")])]),o[3]||(o[3]=e.createElementVNode("div",{class:"popup-arrow","aria-hidden":"true"},null,-1))],6)):e.createCommentVNode("",!0)]),_:3})]))],512))}});module.exports=N;