@xto/feedback 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.mjs +1 -1
- package/lib/index.cjs +1 -1
- package/package.json +1 -1
package/es/index.mjs
CHANGED
|
@@ -167,7 +167,7 @@ const ot = /* @__PURE__ */ D({
|
|
|
167
167
|
onClick: g
|
|
168
168
|
}, [
|
|
169
169
|
C("div", {
|
|
170
|
-
class: r([f(o).b(), f(o).m(e.direction ?? e.placement)]),
|
|
170
|
+
class: r([f(o).b(), f(o).m(e.direction ?? e.placement ?? "rtl")]),
|
|
171
171
|
style: O(w.value),
|
|
172
172
|
onClick: x[0] || (x[0] = ie(() => {
|
|
173
173
|
}, ["stop"]))
|
package/lib/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),T=require("@xto/core"),Z=e.defineComponent({name:"XModal",inheritAttrs:!1,__name:"index",props:{modelValue:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},title:{default:""},width:{default:"50%"},top:{default:"15vh"},modal:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},center:{type:Boolean,default:!1},destroyOnClose:{type:Boolean,default:!1}},emits:["update:modelValue","update:open","close","open","ok","cancel"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("modal"),{next:s}=T.useZIndex(),d=e.ref(s()),h=e.computed({get:()=>o.modelValue!==void 0?o.modelValue:o.open!==void 0?o.open:!1,set:u=>{r("update:modelValue",u),r("update:open",u)}}),p=e.ref(),a=()=>{h.value=!1,r("cancel"),r("close")},x=()=>{r("ok")},m=()=>{o.closeOnClickModal&&o.modal&&a()};T.useEscape(()=>{o.closeOnPressEscape&&h.value&&a()}),e.watch(()=>[o.modelValue,o.open],([u,l])=>{(u!==void 0?u:l)&&(d.value=s(),r("open"))},{immediate:!0});const y=e.computed(()=>({paddingTop:o.top})),f=e.computed(()=>({width:typeof o.width=="number"?`${o.width}px`:o.width,zIndex:d.value}));return(u,l)=>{const g=e.resolveComponent("x-button");return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"x-modal-fade"},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("wrapper")),style:e.normalizeStyle(y.value),onClick:m},[e.createElementVNode("div",{ref_key:"modalRef",ref:p,class:e.normalizeClass(e.unref(n).b()),style:e.normalizeStyle(f.value),onClick:l[0]||(l[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("title"))},[e.renderSlot(u.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],2),t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(n).e("close")),onClick:a}," ✕ ",2)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("body"))},[e.renderSlot(u.$slots,"default")],2),u.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("footer"))},[e.renderSlot(u.$slots,"footer",{ok:x,cancel:a})],2)):u.$slots.footer?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).e("footer"))},[e.createVNode(g,{onClick:a},{default:e.withCtx(()=>[...l[1]||(l[1]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(g,{type:"primary",style:{"margin-left":"8px"},onClick:x},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createTextVNode("确定",-1)])]),_:1})],2))],6)],6)):e.createCommentVNode("",!0)]),_:3})])}}}),K=e.defineComponent({name:"XDrawer",inheritAttrs:!1,__name:"index",props:{modelValue:{type:Boolean,default:!1},title:{default:""},placement:{default:void 0},direction:{default:"rtl"},width:{default:void 0},size:{default:"30%"},withHeader:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!1}},emits:["update:modelValue","close","open"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("drawer"),s=e.ref(2e3),d=()=>{r("update:modelValue",!1),r("close")},h=()=>{o.closeOnClickModal&&d()},p=m=>{m.key==="Escape"&&o.modelValue&&d()};e.watch(()=>o.modelValue,m=>{m?(s.value=2e3+Math.floor(Math.random()*100),r("open"),document.addEventListener("keydown",p)):document.removeEventListener("keydown",p)});const a=e.computed(()=>({zIndex:s.value})),x=e.computed(()=>{const m=o.direction??o.placement??"rtl",y=o.size??o.width??"30%",f=typeof y=="number"?`${y}px`:y;return{ltr:{width:f,height:"100%"},rtl:{width:f,height:"100%"},ttb:{width:"100%",height:f},btt:{width:"100%",height:f}}[m]});return(m,y)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"x-drawer-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("overlay")),style:e.normalizeStyle(a.value),onClick:h},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(n).b(),e.unref(n).m(t.direction??t.placement)]),style:e.normalizeStyle(x.value),onClick:y[0]||(y[0]=e.withModifiers(()=>{},["stop"]))},[t.withHeader?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("title"))},[e.renderSlot(m.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],2),t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(n).e("close")),onClick:d}," ✕ ",2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("body"))},[e.renderSlot(m.$slots,"default")],2),m.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).e("footer"))},[e.renderSlot(m.$slots,"footer")],2)):e.createCommentVNode("",!0)],6)],6),[[e.vShow,t.modelValue]])]),_:3})]))}}),Y={key:0,class:"required-mark"},G=["value","placeholder","disabled","onInput"],J=["value","placeholder","disabled","onInput"],Q=["value","placeholder","disabled","onInput"],ee=["value","disabled","onChange"],te=["value"],oe=["disabled","onClick"],ne=e.defineComponent({name:"XDrawerForm",__name:"index",props:{modelValue:{type:Boolean,default:!1},title:{default:"配置"},size:{default:"400px"},fields:{default:()=>[]},formData:{default:()=>({})},showConfirm:{type:Boolean,default:!0},showCancel:{type:Boolean,default:!0},confirmText:{default:"确认"},cancelText:{default:"取消"},disabled:{type:Boolean,default:!1},destroyOnClose:{type:Boolean,default:!1}},emits:["update:modelValue","confirm","cancel","close","field-change"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("drawer-form"),s=e.ref({}),d=e.ref({});e.computed(()=>[n.b()]),e.watch(()=>o.formData,f=>{s.value={...f}},{immediate:!0,deep:!0});const h=e.computed(()=>typeof o.size=="number"?`${o.size}px`:o.size),p=()=>{r("update:modelValue",!1),r("close")},a=()=>{r("cancel"),p()},x=()=>{m()&&(r("confirm",s.value),p())},m=()=>{d.value={};for(const f of o.fields){if(f.required){const u=s.value[f.name];if(u==null||u===""){d.value[f.name]=`${f.label}为必填项`;continue}}if(f.rules)for(const u of f.rules){const l=s.value[f.name];u.type==="email"&&l&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(l)&&(d.value[f.name]=u.message),u.type==="minLength"&&l&&l.length<u.min&&(d.value[f.name]=u.message)}}return Object.keys(d.value).length===0},y=(f,u)=>{s.value[f]=u,r("field-change",f,u)};return(f,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"drawer-form-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("overlay")),onClick:p},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).b()),style:e.normalizeStyle({width:h.value}),onClick:u[0]||(u[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("title"))},e.toDisplayString(t.title),3),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n).e("close")),onClick:p},"✕",2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("body"))},[!t.destroyOnClose||t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("form"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,l=>(e.openBlock(),e.createElementBlock("div",{key:l.name,class:e.normalizeClass(e.unref(n).e("field"))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(n).e("label"))},[e.createTextVNode(e.toDisplayString(l.label)+" ",1),l.required?(e.openBlock(),e.createElementBlock("span",Y,"*")):e.createCommentVNode("",!0)],2),l.type==="input"?(e.openBlock(),e.createElementBlock("input",{key:0,class:e.normalizeClass([e.unref(n).e("input"),{"has-error":d.value[l.name]}]),value:s.value[l.name],placeholder:l.placeholder,disabled:t.disabled||l.disabled,onInput:g=>y(l.name,g.target.value)},null,42,G)):l.type==="textarea"?(e.openBlock(),e.createElementBlock("textarea",{key:1,class:e.normalizeClass([e.unref(n).e("textarea"),{"has-error":d.value[l.name]}]),value:s.value[l.name],placeholder:l.placeholder,disabled:t.disabled||l.disabled,rows:"4",onInput:g=>y(l.name,g.target.value)},null,42,J)):l.type==="number"?(e.openBlock(),e.createElementBlock("input",{key:2,type:"number",class:e.normalizeClass([e.unref(n).e("input"),{"has-error":d.value[l.name]}]),value:s.value[l.name],placeholder:l.placeholder,disabled:t.disabled||l.disabled,onInput:g=>y(l.name,Number(g.target.value))},null,42,Q)):l.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:3,class:e.normalizeClass([e.unref(n).e("select"),{"has-error":d.value[l.name]}]),value:s.value[l.name],disabled:t.disabled||l.disabled,onChange:g=>y(l.name,g.target.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,g=>(e.openBlock(),e.createElementBlock("option",{key:g.value,value:g.value},e.toDisplayString(g.label),9,te))),128))],42,ee)):l.type==="switch"?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(n).e("switch"))},[e.createElementVNode("button",{class:e.normalizeClass(["switch-btn",{"is-on":s.value[l.name]}]),disabled:t.disabled||l.disabled,onClick:g=>y(l.name,!s.value[l.name])},e.toDisplayString(s.value[l.name]?"开启":"关闭"),11,oe)],2)):e.createCommentVNode("",!0),d.value[l.name]?(e.openBlock(),e.createElementBlock("span",{key:5,class:e.normalizeClass(e.unref(n).e("error"))},e.toDisplayString(d.value[l.name]),3)):e.createCommentVNode("",!0)],2))),128))],2)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("footer"))},[t.showCancel?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(n).e("cancel")),onClick:a},e.toDisplayString(t.cancelText),3)):e.createCommentVNode("",!0),t.showConfirm?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(e.unref(n).e("confirm")),onClick:x},e.toDisplayString(t.confirmText),3)):e.createCommentVNode("",!0)],2)],6)],2),[[e.vShow,t.modelValue]])]),_:1})]))}}),le=e.defineComponent({name:"XAlert",__name:"index",props:{type:{default:"info"},title:{default:""},description:{},closable:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!1},center:{type:Boolean,default:!1}},emits:["close"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("alert"),s=e.ref(!0),d={success:"✓",warning:"⚠",error:"✕",info:"ℹ"},h=e.computed(()=>[n.b(),n.m(o.type),n.is("center",o.center),n.is("with-description",o.description)]),p=a=>{s.value=!1,r("close",a)};return(a,x)=>(e.openBlock(),e.createBlock(e.Transition,{name:"x-alert-fade"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(h.value)},[t.showIcon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("icon"))},e.toDisplayString(d[t.type]),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("content"))},[t.title||a.$slots.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("title"))},[e.renderSlot(a.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],2)):e.createCommentVNode("",!0),t.description||a.$slots.default?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("description"))},[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)])],2)):e.createCommentVNode("",!0)],2),t.closable?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(e.unref(n).e("close")),onClick:p}," ✕ ",2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3}))}}),se=e.defineComponent({name:"XTooltip",__name:"index",props:{content:{default:""},placement:{default:"top"},effect:{default:"dark"},disabled:{type:Boolean,default:!1},offset:{default:8},transition:{default:"fade"},visibleArrow:{type:Boolean,default:!0},trigger:{default:"hover"},openDelay:{default:0},closeDelay:{default:0}},emits:["update:visible","show","hide"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("tooltip"),s=e.ref(!1),d=e.ref(),h=e.ref();let p,a;const x=e.ref({}),m=()=>{if(!d.value||!h.value)return;const k=d.value.getBoundingClientRect(),N=h.value;N.style.visibility="hidden",N.style.display="block";const z=N.offsetWidth,S=N.offsetHeight,V=o.offset,W=window.innerWidth,_=window.innerHeight;let B=0,E=0,I=o.placement;switch(o.placement){case"top":B=k.top-S-V,E=k.left+(k.width-z)/2;break;case"bottom":B=k.bottom+V,E=k.left+(k.width-z)/2;break;case"left":B=k.top+(k.height-S)/2,E=k.left-z-V;break;case"right":B=k.top+(k.height-S)/2,E=k.right+V;break}o.placement==="top"&&B<0?(I="bottom",B=k.bottom+V):o.placement==="bottom"&&B+S>_?(I="top",B=k.top-S-V):o.placement==="left"&&E<0?(I="right",E=k.right+V):o.placement==="right"&&E+z>W&&(I="left",E=k.left-z-V),E<8&&(E=8),E+z>W-8&&(E=W-z-8),B<8&&(B=8),B+S>_-8&&(B=_-S-8),x.value={position:"fixed",top:`${B}px`,left:`${E}px`,visibility:"visible",zIndex:"2000"},y.value=I},y=e.ref(o.placement),f=()=>{o.disabled||(clearTimeout(a),p=setTimeout(()=>{s.value=!0,r("update:visible",!0),r("show"),e.nextTick(()=>{m()})},o.openDelay))},u=()=>{clearTimeout(p),a=setTimeout(()=>{s.value=!1,r("update:visible",!1),r("hide")},o.closeDelay)},l=()=>{s.value?u():f()},g=()=>{o.trigger==="hover"&&f()},i=()=>{o.trigger==="hover"&&u()},v=()=>{o.trigger==="click"&&l()},$=()=>{o.trigger==="focus"&&f()},w=()=>{o.trigger==="focus"&&u()},C=k=>{var N,z;o.trigger==="click"&&!((N=d.value)!=null&&N.contains(k.target))&&!((z=h.value)!=null&&z.contains(k.target))&&u()},b=()=>{s.value&&m()};e.watch(s,k=>{k?e.nextTick(()=>{m(),o.trigger==="click"&&document.addEventListener("click",C),window.addEventListener("scroll",b,!0),window.addEventListener("resize",b)}):(document.removeEventListener("click",C),window.removeEventListener("scroll",b,!0),window.removeEventListener("resize",b))}),e.onUnmounted(()=>{clearTimeout(p),clearTimeout(a),document.removeEventListener("click",C),window.removeEventListener("scroll",b,!0),window.removeEventListener("resize",b)});const R=e.computed(()=>[n.b(),n.m(o.effect)]),O=e.computed(()=>[n.e("arrow"),n.e(`arrow-${y.value}`)]);return(k,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n).e("wrapper"))},[e.createElementVNode("div",{ref_key:"triggerRef",ref:d,class:e.normalizeClass(e.unref(n).e("trigger")),onMouseenter:g,onMouseleave:i,onClick:v,onFocus:$,onBlur:w},[e.renderSlot(k.$slots,"default")],34),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:`x-tooltip-${t.transition}`},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"tooltipRef",ref:h,class:e.normalizeClass(R.value),style:e.normalizeStyle(x.value),onMouseenter:g,onMouseleave:i},[e.renderSlot(k.$slots,"content",{},()=>[e.createTextVNode(e.toDisplayString(t.content),1)]),t.visibleArrow?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(O.value)},null,2)):e.createCommentVNode("",!0)],38),[[e.vShow,s.value]])]),_:3},8,["name"])]))],2))}}),ae={class:"x-popconfirm-wrapper"},re={class:"x-popconfirm__main"},ie={class:"x-popconfirm__title"},ce={class:"x-popconfirm__action"},de=e.defineComponent({name:"XPopconfirm",__name:"index",props:{title:{default:""},confirmButtonText:{default:"确定"},cancelButtonText:{default:"取消"},confirmButtonType:{default:"primary"},cancelButtonType:{default:"default"},icon:{default:""},iconColor:{default:"#faad14"},hideIcon:{type:Boolean,default:!1},hideCancelButton:{type:Boolean,default:!1},hideConfirmButton:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},width:{default:200},placement:{default:"top"},offset:{default:12},showArrow:{type:Boolean,default:!0}},emits:["confirm","cancel"],setup(t,{emit:c}){const o=t,r=c,n=e.ref(!1),s=e.ref(null),d=e.ref(null),h=e.ref({}),p=()=>{if(!s.value||!d.value)return;const i=s.value.getBoundingClientRect(),v=d.value.getBoundingClientRect(),$=o.placement,w=o.offset;let C=0,b=0;switch($){case"top":C=i.top-v.height-w,b=i.left+(i.width-v.width)/2;break;case"top-start":C=i.top-v.height-w,b=i.left;break;case"top-end":C=i.top-v.height-w,b=i.right-v.width;break;case"bottom":C=i.bottom+w,b=i.left+(i.width-v.width)/2;break;case"bottom-start":C=i.bottom+w,b=i.left;break;case"bottom-end":C=i.bottom+w,b=i.right-v.width;break;case"left":C=i.top+(i.height-v.height)/2,b=i.left-v.width-w;break;case"left-start":C=i.top,b=i.left-v.width-w;break;case"left-end":C=i.bottom-v.height,b=i.left-v.width-w;break;case"right":C=i.top+(i.height-v.height)/2,b=i.right+w;break;case"right-start":C=i.top,b=i.right+w;break;case"right-end":C=i.bottom-v.height,b=i.right+w;break;default:C=i.top-v.height-w,b=i.left+(i.width-v.width)/2}const R=window.innerWidth,O=window.innerHeight;b<0&&(b=10),b+v.width>R&&(b=R-v.width-10),C<0&&(C=10),C+v.height>O&&(C=O-v.height-10),h.value={position:"fixed",top:`${C}px`,left:`${b}px`,zIndex:"2000"}},a=i=>{var v,$;n.value&&((v=s.value)!=null&&v.contains(i.target)||($=d.value)!=null&&$.contains(i.target)||(n.value=!1))},x=i=>{o.disabled||(i.stopPropagation(),n.value=!n.value,n.value&&setTimeout(p,0))},m=()=>{n.value=!1,r("confirm")},y=()=>{n.value=!1,r("cancel")},f=()=>{n.value&&p()},u=()=>{n.value&&p()};e.watch(n,i=>{i?(setTimeout(p,0),document.addEventListener("click",a),window.addEventListener("scroll",f,!0),window.addEventListener("resize",u)):(document.removeEventListener("click",a),window.removeEventListener("scroll",f,!0),window.removeEventListener("resize",u))}),e.onUnmounted(()=>{document.removeEventListener("click",a),window.removeEventListener("scroll",f,!0),window.removeEventListener("resize",u)});const l=e.computed(()=>({width:typeof o.width=="number"?`${o.width}px`:o.width})),g=e.computed(()=>{const i=o.placement,v={};switch(i){case"top":case"top-start":case"top-end":v.bottom="-6px",v.transform="rotate(45deg)";break;case"bottom":case"bottom-start":case"bottom-end":v.top="-6px",v.transform="rotate(225deg)";break;case"left":case"left-start":case"left-end":v.right="-6px",v.transform="rotate(315deg)";break;case"right":case"right-start":case"right-end":v.left="-6px",v.transform="rotate(135deg)";break}return v});return(i,v)=>(e.openBlock(),e.createElementBlock("span",ae,[e.createElementVNode("span",{ref_key:"triggerRef",ref:s,class:"x-popconfirm-trigger",onClick:x},[e.renderSlot(i.$slots,"default")],512),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"x-popconfirm-fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"popperRef",ref:d,class:"x-popconfirm",style:e.normalizeStyle({...h.value,...l.value}),onClick:v[0]||(v[0]=e.withModifiers(()=>{},["stop"]))},[t.showArrow?(e.openBlock(),e.createElementBlock("span",{key:0,class:"x-popconfirm__arrow",style:e.normalizeStyle(g.value)},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",re,[t.hideIcon?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"x-popconfirm__icon",style:e.normalizeStyle({color:t.iconColor})},[e.renderSlot(i.$slots,"icon",{},()=>[e.createTextVNode(e.toDisplayString(t.icon||"⚠"),1)])],4)),e.createElementVNode("div",ie,[e.renderSlot(i.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])]),e.createElementVNode("div",ce,[t.hideCancelButton?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"x-button p-button--default p-button--small",onClick:y},e.toDisplayString(t.cancelButtonText),1)),t.hideConfirmButton?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(["x-button x-button--small",`x-button--${t.confirmButtonType}`]),onClick:m},e.toDisplayString(t.confirmButtonText),3))])],4)):e.createCommentVNode("",!0)]),_:3})]))]))}}),ue=e.defineComponent({name:"XBacktop",__name:"index",props:{visibilityHeight:{default:200},right:{default:40},bottom:{default:40}},emits:["click"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("backtop"),s=e.ref(!1),d=()=>{const a=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0;s.value=a>=o.visibilityHeight},h=a=>{window.scrollTo({top:0,behavior:"smooth"}),r("click",a)},p=e.computed(()=>({right:`${o.right}px`,bottom:`${o.bottom}px`}));return e.onMounted(()=>{window.addEventListener("scroll",d,{passive:!0,capture:!0}),setTimeout(d,100)}),e.onUnmounted(()=>{window.removeEventListener("scroll",d,!0)}),(a,x)=>(e.openBlock(),e.createBlock(e.Transition,{name:"x-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).b()),style:e.normalizeStyle(p.value),onClick:h},[e.renderSlot(a.$slots,"default",{},()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("icon"))},"↑",2)])],6),[[e.vShow,s.value]])]),_:3}))}}),me=e.defineComponent({name:"XMessage",__name:"index",props:{message:{default:""},type:{default:"info"},duration:{default:3e3},showClose:{type:Boolean,default:!1},center:{type:Boolean,default:!1},offset:{default:20},customClass:{},onClose:{}},emits:["close","destroy"],setup(t,{expose:c,emit:o}){const r=t,n=o,s=T.useNamespace("message"),d=e.ref(!1),h=e.ref(T.nextMessageZIndex()),p={success:"✓",warning:"⚠",error:"✕",info:"ℹ"},a=e.computed(()=>[s.b(),s.m(r.type),s.is("center",r.center),s.is("closable",r.showClose),r.customClass]),x=e.computed(()=>({top:`${r.offset}px`,zIndex:h.value}));let m=null;const y=()=>{r.duration>0&&(m=setTimeout(()=>{u()},r.duration))},f=()=>{m&&(clearTimeout(m),m=null)},u=()=>{var g;d.value=!1,(g=r.onClose)==null||g.call(r),n("close")},l=()=>{n("destroy")};return e.onMounted(()=>{y(),d.value=!0}),e.onUnmounted(()=>{f()}),c({close:u}),(g,i)=>(e.openBlock(),e.createBlock(e.Transition,{name:"x-message-fade",onAfterLeave:l},{default:e.withCtx(()=>[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(a.value),style:e.normalizeStyle(x.value),onMouseenter:f,onMouseleave:y},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(s).e("icon"))},e.toDisplayString(p[t.type]),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(s).e("content"))},[e.renderSlot(g.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(s).e("close")),onClick:u}," ✕ ",2)):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)]),_:3}))}}),D=[];let fe=1;const pe=()=>{D.slice().forEach(t=>t.close())};function q(t){const c=fe++,o=document.createElement("div");document.body.appendChild(o);const r={success:{bg:"#f0f9eb",border:"#67c23a",icon:"✓"},warning:{bg:"#fdf6ec",border:"#e6a23c",icon:"⚠"},error:{bg:"#fef0f0",border:"#f56c6c",icon:"✕"},info:{bg:"#f4f4f5",border:"#909399",icon:"ℹ"}},n=t.type||"info",s=r[n]||r.info,d=e.reactive({visible:!1,offset:t.offset??20});let h=t.offset??20;D.forEach(l=>{const g=l.container.firstElementChild;g&&g.offsetHeight&&(h+=g.offsetHeight+16)}),d.offset=h;let p=null,a=!1;const x=()=>{a||(d.visible=!1,setTimeout(()=>{if(a)return;a=!0;const l=D.findIndex(g=>g.id===c);l!==-1&&D.splice(l,1);try{f.unmount()}catch{}o.parentNode&&o.parentNode.removeChild(o)},300))},m=()=>{const l=t.duration??3e3;l>0&&(p=setTimeout(x,l))},y=()=>{p&&(clearTimeout(p),p=null)},f=e.createApp({render(){if(!d.visible)return null;const l=[e.h("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"20px",height:"20px",marginRight:"10px",fontSize:"16px",color:s.border}},s.icon),e.h("span",{style:{flex:"1",fontSize:"14px",color:"#606266",lineHeight:"1.4"}},t.message||"")];return t.showClose&&l.push(e.h("button",{style:{position:"absolute",top:"50%",right:"12px",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"14px",color:"#909399",padding:"0"},onClick:g=>{g.stopPropagation(),x()}},"✕")),e.h("div",{class:["x-message",`x-message--${n}`,t.center?"is-center":"",t.showClose?"is-closable":""],style:{position:"fixed",left:"50%",top:`${d.offset}px`,transform:"translateX(-50%)",display:"flex",alignItems:"center",padding:t.showClose?"12px 40px 12px 16px":"12px 16px",borderRadius:"4px",boxShadow:"0 2px 12px rgba(0,0,0,0.1)",minWidth:"280px",maxWidth:"480px",backgroundColor:s.bg,border:`1px solid ${s.border}`,zIndex:2e3+c,transition:"opacity 0.3s, transform 0.3s"},onMouseenter:y,onMouseleave:m},l)}});f.mount(o),e.nextTick(()=>{d.visible=!0,m()});const u={id:c,app:f,container:o,close:x};return D.push(u),{close:x}}function he(t){return q(typeof t=="string"?{message:t}:t)}const A=t=>c=>q({...typeof c=="string"?{message:c}:c,type:t}),j=Object.assign(he,{info:A("info"),success:A("success"),warning:A("warning"),error:A("error"),closeAll:pe}),ge=j,ve=me,ye={install(t){t.config.globalProperties.$message=j,t.provide("message",j)}},L=[],xe=()=>{L.slice().forEach(t=>t.close())},be={success:{icon:"✓",color:"#67c23a"},warning:{icon:"⚠",color:"#e6a23c"},error:{icon:"✕",color:"#f56c6c"},info:{icon:"ℹ",color:"#909399"}};function F(t){return new Promise(c=>{const o=document.createElement("div");document.body.appendChild(o);let r=!1;const n=e.defineComponent({name:"TMessageBox",setup(){const h=e.ref(!1),p=e.ref(t.inputValue??""),a=e.ref(""),x=2e3+L.length+1,m=g=>{r||(r=!0,h.value=!1,setTimeout(()=>{const i=L.findIndex(v=>v.container===o);i!==-1&&L.splice(i,1);try{s.unmount()}catch{}o.parentNode&&o.parentNode.removeChild(o),c({action:g,value:g==="confirm"?p.value:void 0})},300))},y=()=>{if(t.showInput&&t.inputPattern&&!t.inputPattern.test(p.value)){a.value=t.inputErrorMessage||"输入格式不正确";return}a.value="",m("confirm")},f=()=>{m("cancel")},u=()=>{m("close")},l=()=>{t.closeOnClickModal!==!1&&u()};return e.nextTick(()=>{h.value=!0}),{visible:h,inputValue:p,inputError:a,zIndex:x,handleConfirm:y,handleCancel:f,handleClose:u,handleMaskClick:l}},render(){if(!this.visible)return null;const h=t.type,p=h?be[h]:null,a=[];p&&a.push(e.h("span",{class:"x-message-box__icon",style:{color:p.color,marginRight:"10px",fontSize:"20px"}},p.icon)),a.push(e.h("span",{class:"x-message-box__title"},t.title||"提示")),t.showClose!==!1&&a.push(e.h("button",{class:"x-message-box__close",onClick:this.handleClose},"✕"));const x=[];x.push(e.h("div",{class:"x-message-box__content"},t.message||"")),t.showInput&&x.push(e.h("div",{class:"x-message-box__input",style:{marginTop:"12px"}},[e.h("input",{class:["x-message-box__input-inner",this.inputError?"is-error":""].filter(Boolean),type:t.inputType||"text",placeholder:t.inputPlaceholder||"请输入",value:this.inputValue,onInput:y=>{this.inputValue=y.target.value,this.inputError=""},onKeyup:y=>{y.key==="Enter"&&this.handleConfirm()}}),this.inputError?e.h("div",{class:"x-message-box__error",style:{color:"#f56c6c",fontSize:"12px",marginTop:"4px"}},this.inputError):null]));const m=[];return t.showCancelButton&&m.push(e.h("button",{class:"x-button p-button--default",onClick:this.handleCancel},t.cancelButtonText||"取消")),t.showConfirmButton!==!1&&m.push(e.h("button",{class:"x-button p-button--primary",onClick:this.handleConfirm,style:{marginLeft:"10px"}},t.confirmButtonText||"确定")),e.h("div",{class:["x-message-box-wrapper",t.center?"is-center":""],style:{position:"fixed",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"rgba(0, 0, 0, 0.5)",zIndex:this.zIndex},onClick:this.handleMaskClick},[e.h("div",{class:["x-message-box",t.customClass],style:{backgroundColor:"#fff",borderRadius:"4px",boxShadow:"0 2px 12px rgba(0, 0, 0, 0.1)",minWidth:"300px",maxWidth:"500px"},onClick:y=>y.stopPropagation()},[e.h("div",{class:"x-message-box__header",style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 20px",borderBottom:"1px solid #eee"}},a),e.h("div",{class:"x-message-box__body",style:{padding:"20px",fontSize:"14px",color:"#606266"}},x),e.h("div",{class:"x-message-box__footer",style:{padding:"10px 20px 16px",textAlign:"right"}},m)])])}}),s=e.createApp(n);s.mount(o);const d={app:s,container:o,close:()=>{var p;const h=(p=s._instance)==null?void 0:p.proxy;h!=null&&h.handleClose&&h.handleClose()}};L.push(d)})}async function ke(t,c,o){return F({message:t,title:c,...o,showConfirmButton:!0,showCancelButton:!1})}async function Ce(t,c,o){return F({message:t,title:c,...o,showConfirmButton:!0,showCancelButton:!0})}async function we(t,c,o){return F({message:t,title:c,...o,showInput:!0,showConfirmButton:!0,showCancelButton:!0})}function Be(t){return F(t)}const M=Object.assign(Be,{alert:ke,confirm:Ce,prompt:we,closeAll:xe}),Ee=M,ze={install(t){t.config.globalProperties.$msgbox=M,t.config.globalProperties.$alert=M.alert,t.config.globalProperties.$confirm=M.confirm,t.config.globalProperties.$prompt=M.prompt,t.provide("messageBox",M)}},P=[];let Te=1;const Ne=()=>{P.slice().forEach(t=>t.close())},Ve={success:{icon:"✓",color:"#67c23a"},warning:{icon:"⚠",color:"#e6a23c"},error:{icon:"✕",color:"#f56c6c"},info:{icon:"ℹ",color:"#909399"}},Se=(t,c)=>{const o=P.filter(n=>n.position===t);let r=16;for(const n of o)if(n.id<c){const s=n.container.firstElementChild;s&&(r+=s.offsetHeight+16)}return r},$e=(t,c)=>{const o={position:"fixed",width:"330px",zIndex:"2010"};switch(t){case"top-right":o.top=`${c}px`,o.right="16px";break;case"top-left":o.top=`${c}px`,o.left="16px";break;case"bottom-right":o.bottom=`${c}px`,o.right="16px";break;case"bottom-left":o.bottom=`${c}px`,o.left="16px";break;default:o.top=`${c}px`,o.right="16px"}return o};function U(t){const c=Te++,o=t.position||"top-right",r=document.createElement("div");document.body.appendChild(r);let n=null,s=!1;const d=e.defineComponent({name:"TNotification",setup(){const a=e.ref(!1),x=()=>{s||(s=!0,a.value=!1,setTimeout(()=>{var g;const l=P.findIndex(i=>i.id===c);l!==-1&&P.splice(l,1),n&&clearTimeout(n),(g=t.onClose)==null||g.call(t);try{h.unmount()}catch{}r.parentNode&&r.parentNode.removeChild(r)},300))},m=()=>{const l=t.duration??4500;l>0&&(n=setTimeout(x,l))},y=()=>{n&&(clearTimeout(n),n=null)},f=e.computed(()=>(t.offset??0)+Se(o,c)),u=e.computed(()=>$e(o,f.value));return e.nextTick(()=>{a.value=!0,m()}),{visible:a,close:x,positionStyles:u,startTimer:m,clearTimer:y}},render(){if(!this.visible)return null;const a=t.type,x=a?Ve[a]:null,m=[];t.title&&m.push(e.h("div",{class:"x-notification__title",style:{fontWeight:"600",fontSize:"16px",color:"#303133",marginBottom:t.message?"6px":"0"}},t.title)),t.message&&(t.dangerouslyUseHTMLString?m.push(e.h("div",{class:"x-notification__content",style:{fontSize:"14px",color:"#606266",lineHeight:"1.5"},innerHTML:t.message})):m.push(e.h("div",{class:"x-notification__content",style:{fontSize:"14px",color:"#606266",lineHeight:"1.5"}},t.message)));const y=[];return x&&y.push(e.h("div",{class:"x-notification__icon",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"24px",height:"24px",marginRight:"12px",fontSize:"18px",color:x.color}},x.icon)),y.push(e.h("div",{class:"x-notification__main",style:{flex:"1"}},m)),t.showClose!==!1&&y.push(e.h("button",{class:"x-notification__close",style:{position:"absolute",top:"18px",right:"15px",background:"none",border:"none",cursor:"pointer",fontSize:"14px",color:"#909399",padding:"0"},onClick:f=>{f.stopPropagation(),this.close()}},"✕")),e.h("div",{class:["x-notification",t.customClass],style:{...this.positionStyles,display:"flex",alignItems:"flex-start",padding:"14px 26px 14px 13px",borderRadius:"8px",backgroundColor:"#fff",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",transition:"opacity 0.3s, transform 0.3s",boxSizing:"border-box"},onMouseenter:this.clearTimer,onMouseleave:this.startTimer},y)}}),h=e.createApp(d);h.mount(r);const p={id:c,app:h,container:r,position:o,close:()=>{var x;const a=(x=h._instance)==null?void 0:x.proxy;a!=null&&a.close&&a.close()}};return P.push(p),{close:p.close}}function Me(t){return U(typeof t=="string"?{message:t}:t)}const H=t=>c=>U({...typeof c=="string"?{message:c}:c,type:t}),X=Object.assign(Me,{info:H("info"),success:H("success"),warning:H("warning"),error:H("error"),closeAll:Ne}),Ie=X,De={install(t){t.config.globalProperties.$notify=X,t.provide("notification",X)}};exports.Alert=le;exports.Backtop=ue;exports.Drawer=K;exports.DrawerForm=ne;exports.Message=ge;exports.MessageBox=Ee;exports.MessageComponent=ve;exports.Modal=Z;exports.Notification=Ie;exports.Popconfirm=de;exports.TMessage=ye;exports.TMessageBox=ze;exports.TNotification=De;exports.Tooltip=se;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),T=require("@xto/core"),Z=e.defineComponent({name:"XModal",inheritAttrs:!1,__name:"index",props:{modelValue:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},title:{default:""},width:{default:"50%"},top:{default:"15vh"},modal:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},center:{type:Boolean,default:!1},destroyOnClose:{type:Boolean,default:!1}},emits:["update:modelValue","update:open","close","open","ok","cancel"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("modal"),{next:s}=T.useZIndex(),d=e.ref(s()),h=e.computed({get:()=>o.modelValue!==void 0?o.modelValue:o.open!==void 0?o.open:!1,set:u=>{r("update:modelValue",u),r("update:open",u)}}),p=e.ref(),a=()=>{h.value=!1,r("cancel"),r("close")},x=()=>{r("ok")},m=()=>{o.closeOnClickModal&&o.modal&&a()};T.useEscape(()=>{o.closeOnPressEscape&&h.value&&a()}),e.watch(()=>[o.modelValue,o.open],([u,l])=>{(u!==void 0?u:l)&&(d.value=s(),r("open"))},{immediate:!0});const y=e.computed(()=>({paddingTop:o.top})),f=e.computed(()=>({width:typeof o.width=="number"?`${o.width}px`:o.width,zIndex:d.value}));return(u,l)=>{const g=e.resolveComponent("x-button");return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"x-modal-fade"},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("wrapper")),style:e.normalizeStyle(y.value),onClick:m},[e.createElementVNode("div",{ref_key:"modalRef",ref:p,class:e.normalizeClass(e.unref(n).b()),style:e.normalizeStyle(f.value),onClick:l[0]||(l[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("title"))},[e.renderSlot(u.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],2),t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(n).e("close")),onClick:a}," ✕ ",2)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("body"))},[e.renderSlot(u.$slots,"default")],2),u.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("footer"))},[e.renderSlot(u.$slots,"footer",{ok:x,cancel:a})],2)):u.$slots.footer?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).e("footer"))},[e.createVNode(g,{onClick:a},{default:e.withCtx(()=>[...l[1]||(l[1]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(g,{type:"primary",style:{"margin-left":"8px"},onClick:x},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createTextVNode("确定",-1)])]),_:1})],2))],6)],6)):e.createCommentVNode("",!0)]),_:3})])}}}),K=e.defineComponent({name:"XDrawer",inheritAttrs:!1,__name:"index",props:{modelValue:{type:Boolean,default:!1},title:{default:""},placement:{default:void 0},direction:{default:"rtl"},width:{default:void 0},size:{default:"30%"},withHeader:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!1}},emits:["update:modelValue","close","open"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("drawer"),s=e.ref(2e3),d=()=>{r("update:modelValue",!1),r("close")},h=()=>{o.closeOnClickModal&&d()},p=m=>{m.key==="Escape"&&o.modelValue&&d()};e.watch(()=>o.modelValue,m=>{m?(s.value=2e3+Math.floor(Math.random()*100),r("open"),document.addEventListener("keydown",p)):document.removeEventListener("keydown",p)});const a=e.computed(()=>({zIndex:s.value})),x=e.computed(()=>{const m=o.direction??o.placement??"rtl",y=o.size??o.width??"30%",f=typeof y=="number"?`${y}px`:y;return{ltr:{width:f,height:"100%"},rtl:{width:f,height:"100%"},ttb:{width:"100%",height:f},btt:{width:"100%",height:f}}[m]});return(m,y)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"x-drawer-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("overlay")),style:e.normalizeStyle(a.value),onClick:h},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(n).b(),e.unref(n).m(t.direction??t.placement??"rtl")]),style:e.normalizeStyle(x.value),onClick:y[0]||(y[0]=e.withModifiers(()=>{},["stop"]))},[t.withHeader?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("title"))},[e.renderSlot(m.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],2),t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(n).e("close")),onClick:d}," ✕ ",2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("body"))},[e.renderSlot(m.$slots,"default")],2),m.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).e("footer"))},[e.renderSlot(m.$slots,"footer")],2)):e.createCommentVNode("",!0)],6)],6),[[e.vShow,t.modelValue]])]),_:3})]))}}),Y={key:0,class:"required-mark"},G=["value","placeholder","disabled","onInput"],J=["value","placeholder","disabled","onInput"],Q=["value","placeholder","disabled","onInput"],ee=["value","disabled","onChange"],te=["value"],oe=["disabled","onClick"],ne=e.defineComponent({name:"XDrawerForm",__name:"index",props:{modelValue:{type:Boolean,default:!1},title:{default:"配置"},size:{default:"400px"},fields:{default:()=>[]},formData:{default:()=>({})},showConfirm:{type:Boolean,default:!0},showCancel:{type:Boolean,default:!0},confirmText:{default:"确认"},cancelText:{default:"取消"},disabled:{type:Boolean,default:!1},destroyOnClose:{type:Boolean,default:!1}},emits:["update:modelValue","confirm","cancel","close","field-change"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("drawer-form"),s=e.ref({}),d=e.ref({});e.computed(()=>[n.b()]),e.watch(()=>o.formData,f=>{s.value={...f}},{immediate:!0,deep:!0});const h=e.computed(()=>typeof o.size=="number"?`${o.size}px`:o.size),p=()=>{r("update:modelValue",!1),r("close")},a=()=>{r("cancel"),p()},x=()=>{m()&&(r("confirm",s.value),p())},m=()=>{d.value={};for(const f of o.fields){if(f.required){const u=s.value[f.name];if(u==null||u===""){d.value[f.name]=`${f.label}为必填项`;continue}}if(f.rules)for(const u of f.rules){const l=s.value[f.name];u.type==="email"&&l&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(l)&&(d.value[f.name]=u.message),u.type==="minLength"&&l&&l.length<u.min&&(d.value[f.name]=u.message)}}return Object.keys(d.value).length===0},y=(f,u)=>{s.value[f]=u,r("field-change",f,u)};return(f,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"drawer-form-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("overlay")),onClick:p},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).b()),style:e.normalizeStyle({width:h.value}),onClick:u[0]||(u[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("header"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("title"))},e.toDisplayString(t.title),3),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n).e("close")),onClick:p},"✕",2)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("body"))},[!t.destroyOnClose||t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).e("form"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,l=>(e.openBlock(),e.createElementBlock("div",{key:l.name,class:e.normalizeClass(e.unref(n).e("field"))},[e.createElementVNode("label",{class:e.normalizeClass(e.unref(n).e("label"))},[e.createTextVNode(e.toDisplayString(l.label)+" ",1),l.required?(e.openBlock(),e.createElementBlock("span",Y,"*")):e.createCommentVNode("",!0)],2),l.type==="input"?(e.openBlock(),e.createElementBlock("input",{key:0,class:e.normalizeClass([e.unref(n).e("input"),{"has-error":d.value[l.name]}]),value:s.value[l.name],placeholder:l.placeholder,disabled:t.disabled||l.disabled,onInput:g=>y(l.name,g.target.value)},null,42,G)):l.type==="textarea"?(e.openBlock(),e.createElementBlock("textarea",{key:1,class:e.normalizeClass([e.unref(n).e("textarea"),{"has-error":d.value[l.name]}]),value:s.value[l.name],placeholder:l.placeholder,disabled:t.disabled||l.disabled,rows:"4",onInput:g=>y(l.name,g.target.value)},null,42,J)):l.type==="number"?(e.openBlock(),e.createElementBlock("input",{key:2,type:"number",class:e.normalizeClass([e.unref(n).e("input"),{"has-error":d.value[l.name]}]),value:s.value[l.name],placeholder:l.placeholder,disabled:t.disabled||l.disabled,onInput:g=>y(l.name,Number(g.target.value))},null,42,Q)):l.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:3,class:e.normalizeClass([e.unref(n).e("select"),{"has-error":d.value[l.name]}]),value:s.value[l.name],disabled:t.disabled||l.disabled,onChange:g=>y(l.name,g.target.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,g=>(e.openBlock(),e.createElementBlock("option",{key:g.value,value:g.value},e.toDisplayString(g.label),9,te))),128))],42,ee)):l.type==="switch"?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(n).e("switch"))},[e.createElementVNode("button",{class:e.normalizeClass(["switch-btn",{"is-on":s.value[l.name]}]),disabled:t.disabled||l.disabled,onClick:g=>y(l.name,!s.value[l.name])},e.toDisplayString(s.value[l.name]?"开启":"关闭"),11,oe)],2)):e.createCommentVNode("",!0),d.value[l.name]?(e.openBlock(),e.createElementBlock("span",{key:5,class:e.normalizeClass(e.unref(n).e("error"))},e.toDisplayString(d.value[l.name]),3)):e.createCommentVNode("",!0)],2))),128))],2)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("footer"))},[t.showCancel?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(n).e("cancel")),onClick:a},e.toDisplayString(t.cancelText),3)):e.createCommentVNode("",!0),t.showConfirm?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(e.unref(n).e("confirm")),onClick:x},e.toDisplayString(t.confirmText),3)):e.createCommentVNode("",!0)],2)],6)],2),[[e.vShow,t.modelValue]])]),_:1})]))}}),le=e.defineComponent({name:"XAlert",__name:"index",props:{type:{default:"info"},title:{default:""},description:{},closable:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!1},center:{type:Boolean,default:!1}},emits:["close"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("alert"),s=e.ref(!0),d={success:"✓",warning:"⚠",error:"✕",info:"ℹ"},h=e.computed(()=>[n.b(),n.m(o.type),n.is("center",o.center),n.is("with-description",o.description)]),p=a=>{s.value=!1,r("close",a)};return(a,x)=>(e.openBlock(),e.createBlock(e.Transition,{name:"x-alert-fade"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(h.value)},[t.showIcon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("icon"))},e.toDisplayString(d[t.type]),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).e("content"))},[t.title||a.$slots.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("title"))},[e.renderSlot(a.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],2)):e.createCommentVNode("",!0),t.description||a.$slots.default?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("description"))},[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)])],2)):e.createCommentVNode("",!0)],2),t.closable?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(e.unref(n).e("close")),onClick:p}," ✕ ",2)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3}))}}),se=e.defineComponent({name:"XTooltip",__name:"index",props:{content:{default:""},placement:{default:"top"},effect:{default:"dark"},disabled:{type:Boolean,default:!1},offset:{default:8},transition:{default:"fade"},visibleArrow:{type:Boolean,default:!0},trigger:{default:"hover"},openDelay:{default:0},closeDelay:{default:0}},emits:["update:visible","show","hide"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("tooltip"),s=e.ref(!1),d=e.ref(),h=e.ref();let p,a;const x=e.ref({}),m=()=>{if(!d.value||!h.value)return;const k=d.value.getBoundingClientRect(),N=h.value;N.style.visibility="hidden",N.style.display="block";const z=N.offsetWidth,S=N.offsetHeight,V=o.offset,W=window.innerWidth,_=window.innerHeight;let B=0,E=0,I=o.placement;switch(o.placement){case"top":B=k.top-S-V,E=k.left+(k.width-z)/2;break;case"bottom":B=k.bottom+V,E=k.left+(k.width-z)/2;break;case"left":B=k.top+(k.height-S)/2,E=k.left-z-V;break;case"right":B=k.top+(k.height-S)/2,E=k.right+V;break}o.placement==="top"&&B<0?(I="bottom",B=k.bottom+V):o.placement==="bottom"&&B+S>_?(I="top",B=k.top-S-V):o.placement==="left"&&E<0?(I="right",E=k.right+V):o.placement==="right"&&E+z>W&&(I="left",E=k.left-z-V),E<8&&(E=8),E+z>W-8&&(E=W-z-8),B<8&&(B=8),B+S>_-8&&(B=_-S-8),x.value={position:"fixed",top:`${B}px`,left:`${E}px`,visibility:"visible",zIndex:"2000"},y.value=I},y=e.ref(o.placement),f=()=>{o.disabled||(clearTimeout(a),p=setTimeout(()=>{s.value=!0,r("update:visible",!0),r("show"),e.nextTick(()=>{m()})},o.openDelay))},u=()=>{clearTimeout(p),a=setTimeout(()=>{s.value=!1,r("update:visible",!1),r("hide")},o.closeDelay)},l=()=>{s.value?u():f()},g=()=>{o.trigger==="hover"&&f()},i=()=>{o.trigger==="hover"&&u()},v=()=>{o.trigger==="click"&&l()},$=()=>{o.trigger==="focus"&&f()},w=()=>{o.trigger==="focus"&&u()},C=k=>{var N,z;o.trigger==="click"&&!((N=d.value)!=null&&N.contains(k.target))&&!((z=h.value)!=null&&z.contains(k.target))&&u()},b=()=>{s.value&&m()};e.watch(s,k=>{k?e.nextTick(()=>{m(),o.trigger==="click"&&document.addEventListener("click",C),window.addEventListener("scroll",b,!0),window.addEventListener("resize",b)}):(document.removeEventListener("click",C),window.removeEventListener("scroll",b,!0),window.removeEventListener("resize",b))}),e.onUnmounted(()=>{clearTimeout(p),clearTimeout(a),document.removeEventListener("click",C),window.removeEventListener("scroll",b,!0),window.removeEventListener("resize",b)});const R=e.computed(()=>[n.b(),n.m(o.effect)]),O=e.computed(()=>[n.e("arrow"),n.e(`arrow-${y.value}`)]);return(k,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n).e("wrapper"))},[e.createElementVNode("div",{ref_key:"triggerRef",ref:d,class:e.normalizeClass(e.unref(n).e("trigger")),onMouseenter:g,onMouseleave:i,onClick:v,onFocus:$,onBlur:w},[e.renderSlot(k.$slots,"default")],34),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:`x-tooltip-${t.transition}`},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"tooltipRef",ref:h,class:e.normalizeClass(R.value),style:e.normalizeStyle(x.value),onMouseenter:g,onMouseleave:i},[e.renderSlot(k.$slots,"content",{},()=>[e.createTextVNode(e.toDisplayString(t.content),1)]),t.visibleArrow?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(O.value)},null,2)):e.createCommentVNode("",!0)],38),[[e.vShow,s.value]])]),_:3},8,["name"])]))],2))}}),ae={class:"x-popconfirm-wrapper"},re={class:"x-popconfirm__main"},ie={class:"x-popconfirm__title"},ce={class:"x-popconfirm__action"},de=e.defineComponent({name:"XPopconfirm",__name:"index",props:{title:{default:""},confirmButtonText:{default:"确定"},cancelButtonText:{default:"取消"},confirmButtonType:{default:"primary"},cancelButtonType:{default:"default"},icon:{default:""},iconColor:{default:"#faad14"},hideIcon:{type:Boolean,default:!1},hideCancelButton:{type:Boolean,default:!1},hideConfirmButton:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},width:{default:200},placement:{default:"top"},offset:{default:12},showArrow:{type:Boolean,default:!0}},emits:["confirm","cancel"],setup(t,{emit:c}){const o=t,r=c,n=e.ref(!1),s=e.ref(null),d=e.ref(null),h=e.ref({}),p=()=>{if(!s.value||!d.value)return;const i=s.value.getBoundingClientRect(),v=d.value.getBoundingClientRect(),$=o.placement,w=o.offset;let C=0,b=0;switch($){case"top":C=i.top-v.height-w,b=i.left+(i.width-v.width)/2;break;case"top-start":C=i.top-v.height-w,b=i.left;break;case"top-end":C=i.top-v.height-w,b=i.right-v.width;break;case"bottom":C=i.bottom+w,b=i.left+(i.width-v.width)/2;break;case"bottom-start":C=i.bottom+w,b=i.left;break;case"bottom-end":C=i.bottom+w,b=i.right-v.width;break;case"left":C=i.top+(i.height-v.height)/2,b=i.left-v.width-w;break;case"left-start":C=i.top,b=i.left-v.width-w;break;case"left-end":C=i.bottom-v.height,b=i.left-v.width-w;break;case"right":C=i.top+(i.height-v.height)/2,b=i.right+w;break;case"right-start":C=i.top,b=i.right+w;break;case"right-end":C=i.bottom-v.height,b=i.right+w;break;default:C=i.top-v.height-w,b=i.left+(i.width-v.width)/2}const R=window.innerWidth,O=window.innerHeight;b<0&&(b=10),b+v.width>R&&(b=R-v.width-10),C<0&&(C=10),C+v.height>O&&(C=O-v.height-10),h.value={position:"fixed",top:`${C}px`,left:`${b}px`,zIndex:"2000"}},a=i=>{var v,$;n.value&&((v=s.value)!=null&&v.contains(i.target)||($=d.value)!=null&&$.contains(i.target)||(n.value=!1))},x=i=>{o.disabled||(i.stopPropagation(),n.value=!n.value,n.value&&setTimeout(p,0))},m=()=>{n.value=!1,r("confirm")},y=()=>{n.value=!1,r("cancel")},f=()=>{n.value&&p()},u=()=>{n.value&&p()};e.watch(n,i=>{i?(setTimeout(p,0),document.addEventListener("click",a),window.addEventListener("scroll",f,!0),window.addEventListener("resize",u)):(document.removeEventListener("click",a),window.removeEventListener("scroll",f,!0),window.removeEventListener("resize",u))}),e.onUnmounted(()=>{document.removeEventListener("click",a),window.removeEventListener("scroll",f,!0),window.removeEventListener("resize",u)});const l=e.computed(()=>({width:typeof o.width=="number"?`${o.width}px`:o.width})),g=e.computed(()=>{const i=o.placement,v={};switch(i){case"top":case"top-start":case"top-end":v.bottom="-6px",v.transform="rotate(45deg)";break;case"bottom":case"bottom-start":case"bottom-end":v.top="-6px",v.transform="rotate(225deg)";break;case"left":case"left-start":case"left-end":v.right="-6px",v.transform="rotate(315deg)";break;case"right":case"right-start":case"right-end":v.left="-6px",v.transform="rotate(135deg)";break}return v});return(i,v)=>(e.openBlock(),e.createElementBlock("span",ae,[e.createElementVNode("span",{ref_key:"triggerRef",ref:s,class:"x-popconfirm-trigger",onClick:x},[e.renderSlot(i.$slots,"default")],512),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"x-popconfirm-fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"popperRef",ref:d,class:"x-popconfirm",style:e.normalizeStyle({...h.value,...l.value}),onClick:v[0]||(v[0]=e.withModifiers(()=>{},["stop"]))},[t.showArrow?(e.openBlock(),e.createElementBlock("span",{key:0,class:"x-popconfirm__arrow",style:e.normalizeStyle(g.value)},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",re,[t.hideIcon?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"x-popconfirm__icon",style:e.normalizeStyle({color:t.iconColor})},[e.renderSlot(i.$slots,"icon",{},()=>[e.createTextVNode(e.toDisplayString(t.icon||"⚠"),1)])],4)),e.createElementVNode("div",ie,[e.renderSlot(i.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])]),e.createElementVNode("div",ce,[t.hideCancelButton?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"x-button p-button--default p-button--small",onClick:y},e.toDisplayString(t.cancelButtonText),1)),t.hideConfirmButton?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(["x-button x-button--small",`x-button--${t.confirmButtonType}`]),onClick:m},e.toDisplayString(t.confirmButtonText),3))])],4)):e.createCommentVNode("",!0)]),_:3})]))]))}}),ue=e.defineComponent({name:"XBacktop",__name:"index",props:{visibilityHeight:{default:200},right:{default:40},bottom:{default:40}},emits:["click"],setup(t,{emit:c}){const o=t,r=c,n=T.useNamespace("backtop"),s=e.ref(!1),d=()=>{const a=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0;s.value=a>=o.visibilityHeight},h=a=>{window.scrollTo({top:0,behavior:"smooth"}),r("click",a)},p=e.computed(()=>({right:`${o.right}px`,bottom:`${o.bottom}px`}));return e.onMounted(()=>{window.addEventListener("scroll",d,{passive:!0,capture:!0}),setTimeout(d,100)}),e.onUnmounted(()=>{window.removeEventListener("scroll",d,!0)}),(a,x)=>(e.openBlock(),e.createBlock(e.Transition,{name:"x-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(n).b()),style:e.normalizeStyle(p.value),onClick:h},[e.renderSlot(a.$slots,"default",{},()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("icon"))},"↑",2)])],6),[[e.vShow,s.value]])]),_:3}))}}),me=e.defineComponent({name:"XMessage",__name:"index",props:{message:{default:""},type:{default:"info"},duration:{default:3e3},showClose:{type:Boolean,default:!1},center:{type:Boolean,default:!1},offset:{default:20},customClass:{},onClose:{}},emits:["close","destroy"],setup(t,{expose:c,emit:o}){const r=t,n=o,s=T.useNamespace("message"),d=e.ref(!1),h=e.ref(T.nextMessageZIndex()),p={success:"✓",warning:"⚠",error:"✕",info:"ℹ"},a=e.computed(()=>[s.b(),s.m(r.type),s.is("center",r.center),s.is("closable",r.showClose),r.customClass]),x=e.computed(()=>({top:`${r.offset}px`,zIndex:h.value}));let m=null;const y=()=>{r.duration>0&&(m=setTimeout(()=>{u()},r.duration))},f=()=>{m&&(clearTimeout(m),m=null)},u=()=>{var g;d.value=!1,(g=r.onClose)==null||g.call(r),n("close")},l=()=>{n("destroy")};return e.onMounted(()=>{y(),d.value=!0}),e.onUnmounted(()=>{f()}),c({close:u}),(g,i)=>(e.openBlock(),e.createBlock(e.Transition,{name:"x-message-fade",onAfterLeave:l},{default:e.withCtx(()=>[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(a.value),style:e.normalizeStyle(x.value),onMouseenter:f,onMouseleave:y},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(s).e("icon"))},e.toDisplayString(p[t.type]),3),e.createElementVNode("span",{class:e.normalizeClass(e.unref(s).e("content"))},[e.renderSlot(g.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(s).e("close")),onClick:u}," ✕ ",2)):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)]),_:3}))}}),D=[];let fe=1;const pe=()=>{D.slice().forEach(t=>t.close())};function q(t){const c=fe++,o=document.createElement("div");document.body.appendChild(o);const r={success:{bg:"#f0f9eb",border:"#67c23a",icon:"✓"},warning:{bg:"#fdf6ec",border:"#e6a23c",icon:"⚠"},error:{bg:"#fef0f0",border:"#f56c6c",icon:"✕"},info:{bg:"#f4f4f5",border:"#909399",icon:"ℹ"}},n=t.type||"info",s=r[n]||r.info,d=e.reactive({visible:!1,offset:t.offset??20});let h=t.offset??20;D.forEach(l=>{const g=l.container.firstElementChild;g&&g.offsetHeight&&(h+=g.offsetHeight+16)}),d.offset=h;let p=null,a=!1;const x=()=>{a||(d.visible=!1,setTimeout(()=>{if(a)return;a=!0;const l=D.findIndex(g=>g.id===c);l!==-1&&D.splice(l,1);try{f.unmount()}catch{}o.parentNode&&o.parentNode.removeChild(o)},300))},m=()=>{const l=t.duration??3e3;l>0&&(p=setTimeout(x,l))},y=()=>{p&&(clearTimeout(p),p=null)},f=e.createApp({render(){if(!d.visible)return null;const l=[e.h("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"20px",height:"20px",marginRight:"10px",fontSize:"16px",color:s.border}},s.icon),e.h("span",{style:{flex:"1",fontSize:"14px",color:"#606266",lineHeight:"1.4"}},t.message||"")];return t.showClose&&l.push(e.h("button",{style:{position:"absolute",top:"50%",right:"12px",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"14px",color:"#909399",padding:"0"},onClick:g=>{g.stopPropagation(),x()}},"✕")),e.h("div",{class:["x-message",`x-message--${n}`,t.center?"is-center":"",t.showClose?"is-closable":""],style:{position:"fixed",left:"50%",top:`${d.offset}px`,transform:"translateX(-50%)",display:"flex",alignItems:"center",padding:t.showClose?"12px 40px 12px 16px":"12px 16px",borderRadius:"4px",boxShadow:"0 2px 12px rgba(0,0,0,0.1)",minWidth:"280px",maxWidth:"480px",backgroundColor:s.bg,border:`1px solid ${s.border}`,zIndex:2e3+c,transition:"opacity 0.3s, transform 0.3s"},onMouseenter:y,onMouseleave:m},l)}});f.mount(o),e.nextTick(()=>{d.visible=!0,m()});const u={id:c,app:f,container:o,close:x};return D.push(u),{close:x}}function he(t){return q(typeof t=="string"?{message:t}:t)}const A=t=>c=>q({...typeof c=="string"?{message:c}:c,type:t}),j=Object.assign(he,{info:A("info"),success:A("success"),warning:A("warning"),error:A("error"),closeAll:pe}),ge=j,ve=me,ye={install(t){t.config.globalProperties.$message=j,t.provide("message",j)}},L=[],xe=()=>{L.slice().forEach(t=>t.close())},be={success:{icon:"✓",color:"#67c23a"},warning:{icon:"⚠",color:"#e6a23c"},error:{icon:"✕",color:"#f56c6c"},info:{icon:"ℹ",color:"#909399"}};function F(t){return new Promise(c=>{const o=document.createElement("div");document.body.appendChild(o);let r=!1;const n=e.defineComponent({name:"TMessageBox",setup(){const h=e.ref(!1),p=e.ref(t.inputValue??""),a=e.ref(""),x=2e3+L.length+1,m=g=>{r||(r=!0,h.value=!1,setTimeout(()=>{const i=L.findIndex(v=>v.container===o);i!==-1&&L.splice(i,1);try{s.unmount()}catch{}o.parentNode&&o.parentNode.removeChild(o),c({action:g,value:g==="confirm"?p.value:void 0})},300))},y=()=>{if(t.showInput&&t.inputPattern&&!t.inputPattern.test(p.value)){a.value=t.inputErrorMessage||"输入格式不正确";return}a.value="",m("confirm")},f=()=>{m("cancel")},u=()=>{m("close")},l=()=>{t.closeOnClickModal!==!1&&u()};return e.nextTick(()=>{h.value=!0}),{visible:h,inputValue:p,inputError:a,zIndex:x,handleConfirm:y,handleCancel:f,handleClose:u,handleMaskClick:l}},render(){if(!this.visible)return null;const h=t.type,p=h?be[h]:null,a=[];p&&a.push(e.h("span",{class:"x-message-box__icon",style:{color:p.color,marginRight:"10px",fontSize:"20px"}},p.icon)),a.push(e.h("span",{class:"x-message-box__title"},t.title||"提示")),t.showClose!==!1&&a.push(e.h("button",{class:"x-message-box__close",onClick:this.handleClose},"✕"));const x=[];x.push(e.h("div",{class:"x-message-box__content"},t.message||"")),t.showInput&&x.push(e.h("div",{class:"x-message-box__input",style:{marginTop:"12px"}},[e.h("input",{class:["x-message-box__input-inner",this.inputError?"is-error":""].filter(Boolean),type:t.inputType||"text",placeholder:t.inputPlaceholder||"请输入",value:this.inputValue,onInput:y=>{this.inputValue=y.target.value,this.inputError=""},onKeyup:y=>{y.key==="Enter"&&this.handleConfirm()}}),this.inputError?e.h("div",{class:"x-message-box__error",style:{color:"#f56c6c",fontSize:"12px",marginTop:"4px"}},this.inputError):null]));const m=[];return t.showCancelButton&&m.push(e.h("button",{class:"x-button p-button--default",onClick:this.handleCancel},t.cancelButtonText||"取消")),t.showConfirmButton!==!1&&m.push(e.h("button",{class:"x-button p-button--primary",onClick:this.handleConfirm,style:{marginLeft:"10px"}},t.confirmButtonText||"确定")),e.h("div",{class:["x-message-box-wrapper",t.center?"is-center":""],style:{position:"fixed",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"rgba(0, 0, 0, 0.5)",zIndex:this.zIndex},onClick:this.handleMaskClick},[e.h("div",{class:["x-message-box",t.customClass],style:{backgroundColor:"#fff",borderRadius:"4px",boxShadow:"0 2px 12px rgba(0, 0, 0, 0.1)",minWidth:"300px",maxWidth:"500px"},onClick:y=>y.stopPropagation()},[e.h("div",{class:"x-message-box__header",style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 20px",borderBottom:"1px solid #eee"}},a),e.h("div",{class:"x-message-box__body",style:{padding:"20px",fontSize:"14px",color:"#606266"}},x),e.h("div",{class:"x-message-box__footer",style:{padding:"10px 20px 16px",textAlign:"right"}},m)])])}}),s=e.createApp(n);s.mount(o);const d={app:s,container:o,close:()=>{var p;const h=(p=s._instance)==null?void 0:p.proxy;h!=null&&h.handleClose&&h.handleClose()}};L.push(d)})}async function ke(t,c,o){return F({message:t,title:c,...o,showConfirmButton:!0,showCancelButton:!1})}async function Ce(t,c,o){return F({message:t,title:c,...o,showConfirmButton:!0,showCancelButton:!0})}async function we(t,c,o){return F({message:t,title:c,...o,showInput:!0,showConfirmButton:!0,showCancelButton:!0})}function Be(t){return F(t)}const M=Object.assign(Be,{alert:ke,confirm:Ce,prompt:we,closeAll:xe}),Ee=M,ze={install(t){t.config.globalProperties.$msgbox=M,t.config.globalProperties.$alert=M.alert,t.config.globalProperties.$confirm=M.confirm,t.config.globalProperties.$prompt=M.prompt,t.provide("messageBox",M)}},P=[];let Te=1;const Ne=()=>{P.slice().forEach(t=>t.close())},Ve={success:{icon:"✓",color:"#67c23a"},warning:{icon:"⚠",color:"#e6a23c"},error:{icon:"✕",color:"#f56c6c"},info:{icon:"ℹ",color:"#909399"}},Se=(t,c)=>{const o=P.filter(n=>n.position===t);let r=16;for(const n of o)if(n.id<c){const s=n.container.firstElementChild;s&&(r+=s.offsetHeight+16)}return r},$e=(t,c)=>{const o={position:"fixed",width:"330px",zIndex:"2010"};switch(t){case"top-right":o.top=`${c}px`,o.right="16px";break;case"top-left":o.top=`${c}px`,o.left="16px";break;case"bottom-right":o.bottom=`${c}px`,o.right="16px";break;case"bottom-left":o.bottom=`${c}px`,o.left="16px";break;default:o.top=`${c}px`,o.right="16px"}return o};function U(t){const c=Te++,o=t.position||"top-right",r=document.createElement("div");document.body.appendChild(r);let n=null,s=!1;const d=e.defineComponent({name:"TNotification",setup(){const a=e.ref(!1),x=()=>{s||(s=!0,a.value=!1,setTimeout(()=>{var g;const l=P.findIndex(i=>i.id===c);l!==-1&&P.splice(l,1),n&&clearTimeout(n),(g=t.onClose)==null||g.call(t);try{h.unmount()}catch{}r.parentNode&&r.parentNode.removeChild(r)},300))},m=()=>{const l=t.duration??4500;l>0&&(n=setTimeout(x,l))},y=()=>{n&&(clearTimeout(n),n=null)},f=e.computed(()=>(t.offset??0)+Se(o,c)),u=e.computed(()=>$e(o,f.value));return e.nextTick(()=>{a.value=!0,m()}),{visible:a,close:x,positionStyles:u,startTimer:m,clearTimer:y}},render(){if(!this.visible)return null;const a=t.type,x=a?Ve[a]:null,m=[];t.title&&m.push(e.h("div",{class:"x-notification__title",style:{fontWeight:"600",fontSize:"16px",color:"#303133",marginBottom:t.message?"6px":"0"}},t.title)),t.message&&(t.dangerouslyUseHTMLString?m.push(e.h("div",{class:"x-notification__content",style:{fontSize:"14px",color:"#606266",lineHeight:"1.5"},innerHTML:t.message})):m.push(e.h("div",{class:"x-notification__content",style:{fontSize:"14px",color:"#606266",lineHeight:"1.5"}},t.message)));const y=[];return x&&y.push(e.h("div",{class:"x-notification__icon",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"24px",height:"24px",marginRight:"12px",fontSize:"18px",color:x.color}},x.icon)),y.push(e.h("div",{class:"x-notification__main",style:{flex:"1"}},m)),t.showClose!==!1&&y.push(e.h("button",{class:"x-notification__close",style:{position:"absolute",top:"18px",right:"15px",background:"none",border:"none",cursor:"pointer",fontSize:"14px",color:"#909399",padding:"0"},onClick:f=>{f.stopPropagation(),this.close()}},"✕")),e.h("div",{class:["x-notification",t.customClass],style:{...this.positionStyles,display:"flex",alignItems:"flex-start",padding:"14px 26px 14px 13px",borderRadius:"8px",backgroundColor:"#fff",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",transition:"opacity 0.3s, transform 0.3s",boxSizing:"border-box"},onMouseenter:this.clearTimer,onMouseleave:this.startTimer},y)}}),h=e.createApp(d);h.mount(r);const p={id:c,app:h,container:r,position:o,close:()=>{var x;const a=(x=h._instance)==null?void 0:x.proxy;a!=null&&a.close&&a.close()}};return P.push(p),{close:p.close}}function Me(t){return U(typeof t=="string"?{message:t}:t)}const H=t=>c=>U({...typeof c=="string"?{message:c}:c,type:t}),X=Object.assign(Me,{info:H("info"),success:H("success"),warning:H("warning"),error:H("error"),closeAll:Ne}),Ie=X,De={install(t){t.config.globalProperties.$notify=X,t.provide("notification",X)}};exports.Alert=le;exports.Backtop=ue;exports.Drawer=K;exports.DrawerForm=ne;exports.Message=ge;exports.MessageBox=Ee;exports.MessageComponent=ve;exports.Modal=Z;exports.Notification=Ie;exports.Popconfirm=de;exports.TMessage=ye;exports.TMessageBox=ze;exports.TNotification=De;exports.Tooltip=se;
|