@vtj/materials 0.7.32 → 0.7.34

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.
@@ -1,7 +1,7 @@
1
- (function(k,v){typeof exports=="object"&&typeof module<"u"?v(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],v):(k=typeof globalThis<"u"?globalThis:k||self,v(k.VtjUI={},k.vue))})(this,function(k,v){"use strict";/**!
1
+ (function(v,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],k):(v=typeof globalThis<"u"?globalThis:v||self,k(v.VtjUI={},v.vue))})(this,function(v,k){"use strict";/**!
2
2
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/ui
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.7.32
5
+ * @version 0.7.34
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
- */const Bt="0.7.32",Se={default:14,small:12,large:18},Ee={icon:{type:[String,Object]},color:{type:String},size:{type:[Number,String],default:"inherit"},src:{type:String},background:{type:String},padding:{type:Number},radius:{type:Number}};function R(o){return typeof o=="string"?o:`${o}px`}function J(o=0,t){if(typeof o=="number")return o;if(/(%|vh|vw)$/i.test(o)){const n=Number.parseInt(o);return Math.floor(t*n/100)}return Number.parseInt(o)}function ae(o,t={}){const e={...t};return typeof o=="boolean"?e:Object.assign(e,o||{})}const se=Symbol("INSTALLED_KEY"),Pe=(o=[])=>({install:e=>{e[se]||(e[se]=!0,o.forEach(n=>{n.name&&e.component(n.name,n)}))}}),xt=["src"],F=Vue.defineComponent({name:"XIcon",__name:"Icon",props:Ee,setup(o){const t=o,e=Vue.useAttrs(),n=Vue.getCurrentInstance(),u=Vue.computed(()=>{if(!t.icon)return null;const a=n?.appContext.app;return typeof t.icon=="object"?Vue.markRaw(t.icon):a?.component(t.icon)||t.icon}),l=Vue.computed(()=>{const a={"is-pointer":!!e.onClick};return!u.value&&t.icon&&(a[t.icon]=!0),a}),s=Vue.computed(()=>({"background-color":t.background,"border-radius":t.radius?R(t.radius):void 0,padding:t.padding?R(t.padding):void 0})),r=Vue.computed(()=>typeof t.size=="number"?t.size:Se[t.size]??void 0);return(a,d)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElIcon),{class:Vue.normalizeClass(["x-icon",l.value]),color:t.color,size:r.value,style:Vue.normalizeStyle(s.value)},{default:Vue.withCtx(()=>[Vue.renderSlot(a.$slots,"default",{},()=>[u.value?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(u.value),{key:0})):Vue.createCommentVNode("",!0),t.src?(Vue.openBlock(),Vue.createElementBlock("img",{key:1,src:t.src},null,8,xt)):Vue.createCommentVNode("",!0)])]),_:3},8,["class","color","size","style"]))}}),St={class:"x-menu__wrapper"},Et={key:1,class:"x-menu__title"},Pt=Vue.createElementVNode("i",null,null,-1),Nt={key:0,class:"x-menu__title"},zt=Vue.createElementVNode("i",null,null,-1),Ne=Vue.defineComponent({inheritAttrs:!1,name:"XMenuItem",__name:"MenuItem",props:{item:{},subMenu:{},defaultIcon:{}},setup(o){const t=o,e=Vue.getCurrentInstance(),n=s=>{if(s)return typeof s=="string"&&(e?.appContext.app?.component(s)||t.defaultIcon)||s},u=s=>typeof s=="object"?s:{value:s},l=(s=[])=>s.filter(r=>!r.hidden);return(s,r)=>t.item.children?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElSubMenu),Vue.mergeProps({key:0,disabled:t.item.disabled},t.subMenu,{index:String(t.item.id)}),{title:Vue.withCtx(()=>[Vue.createElementVNode("div",St,[t.item.icon?(Vue.openBlock(),Vue.createBlock(Vue.unref(F),{key:0,icon:n(t.item.icon)},null,8,["icon"])):Vue.createCommentVNode("",!0),t.item.title?(Vue.openBlock(),Vue.createElementBlock("span",Et,Vue.toDisplayString(t.item.title),1)):Vue.createCommentVNode("",!0),t.item.badge?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElBadge),Vue.mergeProps({key:2,class:"x-menu__badge"},u(t.item.badge)),{default:Vue.withCtx(()=>[Pt]),_:1},16)):Vue.createCommentVNode("",!0)])]),default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(l(t.item.children),a=>(Vue.openBlock(),Vue.createBlock(Vue.unref(Ne),{key:a.id,item:a,subMenu:t.subMenu,defaultIcon:t.defaultIcon},null,8,["item","subMenu","defaultIcon"]))),128))]),_:1},16,["disabled","index"])):(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElMenuItem),{key:1,index:String(t.item.id),disabled:t.item.disabled},{title:Vue.withCtx(()=>[t.item.title?(Vue.openBlock(),Vue.createElementBlock("span",Nt,Vue.toDisplayString(t.item.title),1)):Vue.createCommentVNode("",!0),t.item.badge?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElBadge),Vue.mergeProps({key:1,class:"x-menu__badge"},u(t.item.badge)),{default:Vue.withCtx(()=>[zt]),_:1},16)):Vue.createCommentVNode("",!0)]),default:Vue.withCtx(()=>[t.item.icon?(Vue.openBlock(),Vue.createBlock(Vue.unref(F),{key:0,icon:n(t.item.icon)},null,8,["icon"])):Vue.createCommentVNode("",!0)]),_:1},8,["index","disabled"]))}}),X=Vue.defineComponent({inheritAttrs:!1,name:"XMenu",__name:"Menu",props:{data:{default:()=>[]},subMenu:{},defaultIcon:{}},emits:["select"],setup(o,{emit:t}){const e=o,n=t,u=Vue.computed(()=>e.data.filter(r=>!r.hidden)),l=(r,a)=>{const d=(c,i=[])=>{for(const V of i){if(V.id.toString()===c.toString())return V;if(V.children?.length){const m=d(c,V.children);if(m)return m}}};return d(a,r)},s=r=>{const a=l(u.value,r);a&&n("select",a)};return(r,a)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElMenu),Vue.mergeProps({class:"x-menu"},r.$attrs,{onSelect:s}),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(u.value,d=>(Vue.openBlock(),Vue.createBlock(Vue.unref(Ne),{item:{...d,icon:d.icon},defaultIcon:e.defaultIcon,subMenu:e.subMenu},null,8,["item","defaultIcon","subMenu"]))),256))]),_:1},16))}}),ie={name:{type:String},label:{type:String},value:{type:[String,Number,Object,Array,Boolean]},icon:{type:[String,Object]},mode:{type:String,default:"button"},menus:{type:Array},tooltip:{type:[String,Object]},badge:{type:[String,Number,Object]},dropdown:{type:Object},button:{type:Object},disabled:{type:[Boolean,Function]},size:{type:String,default:"default"},type:{type:String,default:"primary"},background:{type:String,default:"always"},circle:{type:Boolean}};function $t(o){return Vue.computed(()=>{const t=o.tooltip;if(t)return typeof t=="string"?{content:t}:t})}function Tt(o){return Vue.computed(()=>{const t=o.badge;if(t)return typeof t=="object"?t:{value:t}})}function Dt(o){return Vue.computed(()=>{const{dropdown:t,menus:e}=o;if(e&&e.length>0)return Object.assign({popperClass:"x-action__menus",size:o.size},t||{})})}function ze(o){const t=Vue.getCurrentInstance();return Vue.computed(()=>{const e=Vue.unref(o);if(e)if(typeof e=="string"||e.setup||e.render||Vue.isVNode(e)){const n=t?.appContext.app;return{icon:typeof e=="string"&&n?.component(e)||e}}else return e;return null})}function H(o){const t=ze(o);return t.value?Vue.markRaw(Vue.defineComponent({render:()=>Vue.h(F,t.value)})):void 0}function Q(o,t){return Vue.computed(()=>{const e=Vue.unref(o);return typeof e=="function"?e(t):!!e})}function $e(o,t,e){const n=Vue.shallowRef(t),u=Vue.ref(!1),l=async r=>{const a=Vue.unref(o);return a?typeof a=="function"?await a(r):a:t},s=async r=>(u.value=!0,await l(r).then(a=>(n.value=a||t,u.value=!1,Vue.unref(n))));return Vue.watch(()=>o,()=>{s(e)},{immediate:!0}),e&&Vue.watch(e,()=>{s(e)}),{data:n,loading:u,loader:s}}const Mt={key:0},It=Vue.defineComponent({__name:"Trigger",props:ie,emits:["click"],setup(o,{emit:t}){const e=o,n=t,u=H(Vue.toRef(e,"icon")),l=Q(Vue.toRef(e,"disabled")),s=Vue.computed(()=>({[`is-${e.mode}`]:!!e.mode,[`is-${e.type}`]:!!e.type,[`is-${e.size}`]:!!e.size&&e.size!=="default",[`is-background-${e.background}`]:e.mode==="icon"&&!!e.background,"is-disabled":!!e.disabled,"is-circle":!!e.circle})),r=a=>{if(a.preventDefault(),!l.value)return n("click"),!1};return(a,d)=>e.mode==="button"?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),Vue.mergeProps({key:0,icon:Vue.unref(u),type:e.type,size:e.size,disabled:Vue.unref(l)},e.button,{onClick:r}),{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(a.label),1)]),_:1},16,["icon","type","size","disabled"])):(Vue.openBlock(),Vue.createElementBlock("div",{key:1,class:Vue.normalizeClass(["x-action__inner",s.value]),onClick:r},[(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(u)))),a.label?(Vue.openBlock(),Vue.createElementBlock("span",Mt,Vue.toDisplayString(a.label),1)):Vue.createCommentVNode("",!0)],2))}}),O=Vue.defineComponent({name:"XAction",__name:"Action",props:ie,emits:["click","command"],setup(o,{emit:t}){const e=o,n=Vue.useSlots(),u=t,l=$t(e),s=Tt(e),r=Dt(e),a=Q(Vue.toRef(e,"disabled")),d=Vue.computed(()=>({[`x-action--${e.mode}`]:!!e.mode})),c=()=>{a.value||u("click",Vue.toRaw(e))},i=h=>{if(a.value)return;const w=e.menus?.find(C=>C.command===h);w&&u("command",Vue.toRaw(w))},V=h=>Vue.h(ElementPlus.ElBadge,s.value,()=>[].concat(h)),m=h=>Vue.h(ElementPlus.ElDropdown,{...r.value,disabled:a.value,onCommand:i},{default:()=>[h],dropdown:()=>[Vue.h(ElementPlus.ElDropdownMenu,()=>(e.menus||[]).map((w,C)=>Vue.h(ElementPlus.ElDropdownItem,w,()=>n.item?n.item({item:w,index:C}):w.label)))]}),p=h=>Vue.h(ElementPlus.ElTooltip,{...l.value,disabled:a.value},()=>[h]),g=Vue.computed(()=>{let h=Vue.h(Vue.markRaw(It),{...e,onClick:c});const w=n.default?.();return w&&w.length&&(h=w[0]),s.value&&(h=V(h)),r.value&&(h=m(h)),l.value&&(h=p(h)),h});return(h,w)=>(Vue.openBlock(),Vue.createElementBlock("div",{class:Vue.normalizeClass(["x-action",d.value])},[(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(g.value)))],2))}}),Te={items:{type:Array},mode:{type:String,default:"button"},size:{type:String,default:"default"},type:{type:String,default:"primary"},background:{type:String,default:"always"},circle:{type:Boolean},disabled:{type:[Boolean,Function]},tooltip:{type:Object},badge:{type:Object},dropdown:{type:Object},button:{type:Object}},G=Vue.defineComponent({name:"XActionBar",__name:"ActionBar",props:Te,emits:["click","command"],setup(o,{emit:t}){const e=o,n=t,u=Vue.computed(()=>(e.items||[]).map(r=>r==="|"?r:{...r,badge:r.badge?{...e.badge,...typeof r.badge=="object"?r.badge||{}:{value:r.badge}}:void 0,tooltip:r.tooltip?{...e.tooltip,...typeof r.tooltip=="object"?r.tooltip||{}:{content:r.tooltip}}:void 0})),l=r=>{n("click",r)},s=(r,a)=>{n("command",r,a)};return(r,a)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:"x-action-bar",align:"center"},{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(u.value,d=>(Vue.openBlock(),Vue.createElementBlock(Vue.Fragment,null,[d==="|"?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElDivider),{key:0,direction:"vertical",class:"x-action-bar__divider"})):(Vue.openBlock(),Vue.createBlock(Vue.unref(O),Vue.mergeProps({key:1,mode:e.mode,size:e.size,type:e.type,circle:e.circle,background:e.background,button:e.button,dropdown:e.dropdown,disabled:Vue.unref(Q)(e.disabled,d).value},d,{onClick:l,onCommand:c=>s(d,c)}),null,16,["mode","size","type","circle","background","button","dropdown","disabled","onCommand"]))],64))),256))]),_:1}))}}),De={tag:{type:String,default:"div"},fit:{type:Boolean,default:!1},width:{type:[String,Number]},height:{type:[String,Number]},flex:{type:Boolean,default:!0},inline:{type:Boolean},direction:{type:String,default:"row"},wrap:{type:String,default:"nowrap"},justify:{type:String,default:"flex-start"},align:{type:String,default:"flex-start"},alignContent:{type:String,default:"stretch"},grow:{type:Boolean,default:!1},shrink:{type:Boolean,default:!1},alignSelf:{type:String,default:"auto"},overflow:{type:String},padding:{type:Boolean,default:!1},gap:{type:Boolean},autoPointer:{type:Boolean}},N=Vue.defineComponent({name:"XContainer",__name:"Container",props:De,setup(o){const t=o,e=Vue.useAttrs(),n=Vue.getCurrentInstance(),u=Vue.computed(()=>{const r=n?.parent;if(!r)return!1;const a=r.proxy;return a.$options.name==="XContainer"||!!a.flex}),l=Vue.computed(()=>({"is-fit":t.fit,"is-flex":t.flex&&!t.inline,"is-inline-flex":t.flex&&t.inline,[`is-direction-${t.direction}`]:t.flex&&t.direction!=="row",[`is-wrap-${t.wrap}`]:t.flex&&t.wrap!=="nowrap",[`is-justify-${t.justify}`]:t.flex&&t.justify!=="flex-start",[`is-align-${t.align}`]:t.flex&&t.align!=="flex-start",[`is-align-content-${t.alignContent}`]:t.flex&&t.alignContent!=="stretch","is-grow":t.grow??u.value,"is-shrink":t.shrink,[`is-align-self-${t.alignSelf}`]:u.value&&t.alignSelf!=="auto",[`is-overflow-${t.overflow}`]:!!t.overflow,"is-padding":!!t.padding,"is-pointer":t.autoPointer&&!!e.onClick,"is-gap":!!t.gap})),s=Vue.computed(()=>{const{width:r,height:a,fit:d}=t;return d?null:{width:r?R(r):void 0,height:a?R(a):void 0}});return(r,a)=>(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(t.tag),{class:Vue.normalizeClass(["x-container",l.value]),style:Vue.normalizeStyle(s.value)},{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"default")]),_:3},8,["class","style"]))}}),Me={size:{type:String,default:"default"},content:{type:String,default:""},subtitle:{type:String},icon:{type:[String,Object]},border:{type:Boolean},more:{type:Boolean}},jt={class:"x-header__content"},Rt={key:0,class:"x-header__actions"},ce=Vue.defineComponent({name:"XHeader",inheritAttrs:!1,__name:"Header",props:Me,setup(o){const t=o,e=H(Vue.toRef(t,"icon")),n=Vue.useAttrs(),u=Vue.computed(()=>({[`is-size-${t.size}`]:!!t.size&&t.size!=="default","is-border":t.border,"is-pointer":!!n.onClick}));return(l,s)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-header",u.value]),justify:"space-between",align:"center"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(N),{align:"center",class:Vue.normalizeClass(["x-header__wrapper",u.value]),grow:"",onClick:Vue.unref(n).onClick},{default:Vue.withCtx(()=>[Vue.unref(e)?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(e)),{key:0,class:"x-header__icon",onClick:Vue.unref(n).onClickIcon||Vue.unref(n).onClick},null,8,["onClick"])):Vue.createCommentVNode("",!0),Vue.createElementVNode("span",jt,[Vue.renderSlot(l.$slots,"default",{},()=>[Vue.createTextVNode(Vue.toDisplayString(t.content),1)])]),t.more?(Vue.openBlock(),Vue.createBlock(Vue.unref(F),{key:1,class:"x-header__more",icon:Vue.unref(VtjIcons.ArrowRight)},null,8,["icon"])):Vue.createCommentVNode("",!0),t.subtitle||l.$slots.subtitle?(Vue.openBlock(),Vue.createElementBlock("span",{key:2,class:"x-header__subtitle",onClick:s[0]||(s[0]=(...r)=>Vue.unref(n).onClick&&Vue.unref(n).onClick(...r))},[Vue.renderSlot(l.$slots,"subtitle",{},()=>[Vue.createTextVNode(Vue.toDisplayString(t.subtitle),1)])])):Vue.createCommentVNode("",!0)]),_:3},8,["class","onClick"]),l.$slots.actions?(Vue.openBlock(),Vue.createElementBlock("div",Rt,[Vue.renderSlot(l.$slots,"actions")])):Vue.createCommentVNode("",!0)]),_:3},8,["class"]))}}),Ie={fit:{type:Boolean,default:!1},width:{type:[String,Number]},height:{type:[String,Number]},border:{type:Boolean,default:!0},radius:{type:Boolean,default:!0},card:{type:Boolean},size:{type:String},shadow:{type:String},header:{type:[String,Object]},body:{type:Object},footer:{type:Object}},K=Vue.defineComponent({name:"XPanel",__name:"Panel",props:Ie,setup(o,{expose:t}){const e=o,n=Vue.ref(),u=Vue.computed(()=>({"x-panel--card":!!e.card,"x-panel--default":!e.card,[`is-${e.size}`]:!!e.size&&e.size!=="default","is-border":!!e.border,"is-radius":!!e.radius,[`is-shadow-${e.shadow}`]:!!e.shadow&&e.shadow!=="none"})),l=Vue.computed(()=>e.header===null?null:typeof e.header=="string"?{content:e.header,size:e.size}:{...e.header,size:e.size}),s=Vue.computed(()=>e.fit||e.height?"auto":void 0);return t({bodyRef:n}),(r,a)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-panel",u.value]),direction:"column",fit:e.fit,width:e.width,height:e.height},{default:Vue.withCtx(()=>[l.value?(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,flex:!1,class:"x-panel__header"},{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"header",{},()=>[Vue.createVNode(Vue.unref(ce),Vue.normalizeProps(Vue.guardReactiveProps(l.value)),{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"title")]),actions:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"actions")]),_:3},16)])]),_:3})):Vue.createCommentVNode("",!0),Vue.createVNode(Vue.unref(N),Vue.mergeProps({ref_key:"bodyRef",ref:n,flex:!1,overflow:s.value,grow:"",padding:"",class:"x-panel__body"},e.body),{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"default")]),_:3},16,["overflow"]),r.$slots.footer?(Vue.openBlock(),Vue.createBlock(Vue.unref(N),Vue.mergeProps({key:1,flex:!1,padding:"",class:"x-panel__footer"},e.footer),{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"footer")]),_:3},16)):Vue.createCommentVNode("",!0)]),_:3},8,["class","fit","width","height"]))}});Vue;function de(o){return v.getCurrentScope()?(v.onScopeDispose(o),!0):!1}function I(o){return typeof o=="function"?o():v.unref(o)}const je=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ot=Object.prototype.toString,At=o=>Ot.call(o)==="[object Object]",Re=()=>{};function Ft(o,t){function e(...n){return new Promise((u,l)=>{Promise.resolve(o(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(u).catch(l)})}return e}const Oe=o=>o();function Lt(o=Oe){const t=v.ref(!0);function e(){t.value=!1}function n(){t.value=!0}const u=(...l)=>{t.value&&o(...l)};return{isActive:v.readonly(t),pause:e,resume:n,eventFilter:u}}function Ut(o){return o||v.getCurrentInstance()}function Xt(...o){if(o.length!==1)return v.toRef(...o);const t=o[0];return typeof t=="function"?v.readonly(v.customRef(()=>({get:t,set:Re}))):v.ref(t)}function Ht(o,t,e={}){const{eventFilter:n=Oe,...u}=e;return v.watch(o,Ft(n,t),u)}function Wt(o,t,e={}){const{eventFilter:n,...u}=e,{eventFilter:l,pause:s,resume:r,isActive:a}=Lt(n);return{stop:Ht(o,t,{...u,eventFilter:l}),pause:s,resume:r,isActive:a}}function Kt(o,t={}){if(!v.isRef(o))return v.toRefs(o);const e=Array.isArray(o.value)?Array.from({length:o.value.length}):{};for(const n in o.value)e[n]=v.customRef(()=>({get(){return o.value[n]},set(u){var l;if((l=I(t.replaceRef))!=null?l:!0)if(Array.isArray(o.value)){const r=[...o.value];r[n]=u,o.value=r}else{const r={...o.value,[n]:u};Object.setPrototypeOf(r,Object.getPrototypeOf(o.value)),o.value=r}else o.value[n]=u}}));return e}function pe(o,t=!0,e){Ut()?v.onMounted(o,e):t?o():v.nextTick(o)}function L(o){var t;const e=I(o);return(t=e?.$el)!=null?t:e}const A=je?window:void 0;function j(...o){let t,e,n,u;if(typeof o[0]=="string"||Array.isArray(o[0])?([e,n,u]=o,t=A):[t,e,n,u]=o,!t)return Re;Array.isArray(e)||(e=[e]),Array.isArray(n)||(n=[n]);const l=[],s=()=>{l.forEach(c=>c()),l.length=0},r=(c,i,V,m)=>(c.addEventListener(i,V,m),()=>c.removeEventListener(i,V,m)),a=v.watch(()=>[L(t),I(u)],([c,i])=>{if(s(),!c)return;const V=At(i)?{...i}:i;l.push(...e.flatMap(m=>n.map(p=>r(c,m,p,V))))},{immediate:!0,flush:"post"}),d=()=>{a(),s()};return de(d),d}function Yt(){const o=v.ref(!1),t=v.getCurrentInstance();return t&&v.onMounted(()=>{o.value=!0},t),o}function Ae(o){const t=Yt();return v.computed(()=>(t.value,!!o()))}function Jt(o,t={}){const{window:e=A}=t,n=Ae(()=>e&&"matchMedia"in e&&typeof e.matchMedia=="function");let u;const l=v.ref(!1),s=d=>{l.value=d.matches},r=()=>{u&&("removeEventListener"in u?u.removeEventListener("change",s):u.removeListener(s))},a=v.watchEffect(()=>{n.value&&(r(),u=e.matchMedia(I(o)),"addEventListener"in u?u.addEventListener("change",s):u.addListener(s),l.value=u.matches)});return de(()=>{a(),r(),u=void 0}),l}const Z=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ee="__vueuse_ssr_handlers__",Gt=qt();function qt(){return ee in Z||(Z[ee]=Z[ee]||{}),Z[ee]}function Fe(o,t){return Gt[o]||t}function Qt(o){return o==null?"any":o instanceof Set?"set":o instanceof Map?"map":o instanceof Date?"date":typeof o=="boolean"?"boolean":typeof o=="string"?"string":typeof o=="object"?"object":Number.isNaN(o)?"any":"number"}const Zt={boolean:{read:o=>o==="true",write:o=>String(o)},object:{read:o=>JSON.parse(o),write:o=>JSON.stringify(o)},number:{read:o=>Number.parseFloat(o),write:o=>String(o)},any:{read:o=>o,write:o=>String(o)},string:{read:o=>o,write:o=>String(o)},map:{read:o=>new Map(JSON.parse(o)),write:o=>JSON.stringify(Array.from(o.entries()))},set:{read:o=>new Set(JSON.parse(o)),write:o=>JSON.stringify(Array.from(o))},date:{read:o=>new Date(o),write:o=>o.toISOString()}},Le="vueuse-storage";function en(o,t,e,n={}){var u;const{flush:l="pre",deep:s=!0,listenToStorageChanges:r=!0,writeDefaults:a=!0,mergeDefaults:d=!1,shallow:c,window:i=A,eventFilter:V,onError:m=B=>{console.error(B)},initOnMounted:p}=n,g=(c?v.shallowRef:v.ref)(typeof t=="function"?t():t);if(!e)try{e=Fe("getDefaultStorage",()=>{var B;return(B=A)==null?void 0:B.localStorage})()}catch(B){m(B)}if(!e)return g;const h=I(t),w=Qt(h),C=(u=n.serializer)!=null?u:Zt[w],{pause:b,resume:_}=Wt(g,()=>x(g.value),{flush:l,deep:s,eventFilter:V});i&&r&&pe(()=>{j(i,"storage",P),j(i,Le,z),p&&P()}),p||P();function y(B,S){i&&i.dispatchEvent(new CustomEvent(Le,{detail:{key:o,oldValue:B,newValue:S,storageArea:e}}))}function x(B){try{const S=e.getItem(o);if(B==null)y(S,null),e.removeItem(o);else{const D=C.write(B);S!==D&&(e.setItem(o,D),y(S,D))}}catch(S){m(S)}}function f(B){const S=B?B.newValue:e.getItem(o);if(S==null)return a&&h!=null&&e.setItem(o,C.write(h)),h;if(!B&&d){const D=C.read(S);return typeof d=="function"?d(D,h):w==="object"&&!Array.isArray(D)?{...h,...D}:D}else return typeof S!="string"?S:C.read(S)}function P(B){if(!(B&&B.storageArea!==e)){if(B&&B.key==null){g.value=h;return}if(!(B&&B.key!==o)){b();try{B?.newValue!==C.write(g.value)&&(g.value=f(B))}catch(S){m(S)}finally{B?v.nextTick(_):_()}}}}function z(B){P(B.detail)}return g}function Ue(o){return Jt("(prefers-color-scheme: dark)",o)}function tn(o={}){const{selector:t="html",attribute:e="class",initialValue:n="auto",window:u=A,storage:l,storageKey:s="vueuse-color-scheme",listenToStorageChanges:r=!0,storageRef:a,emitAuto:d,disableTransition:c=!0}=o,i={auto:"",light:"light",dark:"dark",...o.modes||{}},V=Ue({window:u}),m=v.computed(()=>V.value?"dark":"light"),p=a||(s==null?Xt(n):en(s,n,l,{window:u,listenToStorageChanges:r})),g=v.computed(()=>p.value==="auto"?m.value:p.value),h=Fe("updateHTMLAttrs",(_,y,x)=>{const f=typeof _=="string"?u?.document.querySelector(_):L(_);if(!f)return;let P;if(c&&(P=u.document.createElement("style"),P.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),u.document.head.appendChild(P)),y==="class"){const z=x.split(/\s/g);Object.values(i).flatMap(B=>(B||"").split(/\s/g)).filter(Boolean).forEach(B=>{z.includes(B)?f.classList.add(B):f.classList.remove(B)})}else f.setAttribute(y,x);c&&(u.getComputedStyle(P).opacity,document.head.removeChild(P))});function w(_){var y;h(t,e,(y=i[_])!=null?y:_)}function C(_){o.onChanged?o.onChanged(_,w):w(_)}v.watch(g,C,{flush:"post",immediate:!0}),pe(()=>C(g.value));const b=v.computed({get(){return d?p.value:g.value},set(_){p.value=_}});try{return Object.assign(b,{store:p,system:m,state:g})}catch{return b}}function nn(o={}){const{valueDark:t="dark",valueLight:e="",window:n=A}=o,u=tn({...o,onChanged:(r,a)=>{var d;o.onChanged?(d=o.onChanged)==null||d.call(o,r==="dark",a,r):a(r)},modes:{dark:t,light:e}}),l=v.computed(()=>u.system?u.system.value:Ue({window:n}).value?"dark":"light");return v.computed({get(){return u.value==="dark"},set(r){const a=r?"dark":"light";l.value===a?u.value="auto":u.value=a}})}function on(o,t={}){var e,n;const{pointerTypes:u,preventDefault:l,stopPropagation:s,exact:r,onMove:a,onEnd:d,onStart:c,initialValue:i,axis:V="both",draggingElement:m=A,containerElement:p,handle:g=o}=t,h=v.ref((e=I(i))!=null?e:{x:0,y:0}),w=v.ref(),C=f=>u?u.includes(f.pointerType):!0,b=f=>{I(l)&&f.preventDefault(),I(s)&&f.stopPropagation()},_=f=>{var P;if(I(t.disabled)||!C(f)||I(r)&&f.target!==I(o))return;const z=I(p),B=(P=z?.getBoundingClientRect)==null?void 0:P.call(z),S=I(o).getBoundingClientRect(),D={x:f.clientX-(z?S.left-B.left+z.scrollLeft:S.left),y:f.clientY-(z?S.top-B.top+z.scrollTop:S.top)};c?.(D,f)!==!1&&(w.value=D,b(f))},y=f=>{if(I(t.disabled)||!C(f)||!w.value)return;const P=I(p),z=I(o).getBoundingClientRect();let{x:B,y:S}=h.value;(V==="x"||V==="both")&&(B=f.clientX-w.value.x,P&&(B=Math.min(Math.max(0,B),P.scrollWidth-z.width))),(V==="y"||V==="both")&&(S=f.clientY-w.value.y,P&&(S=Math.min(Math.max(0,S),P.scrollHeight-z.height))),h.value={x:B,y:S},a?.(h.value,f),b(f)},x=f=>{I(t.disabled)||!C(f)||w.value&&(w.value=void 0,d?.(h.value,f),b(f))};if(je){const f={capture:(n=t.capture)!=null?n:!0};j(g,"pointerdown",_,f),j(m,"pointermove",y,f),j(m,"pointerup",x,f)}return{...Kt(h),position:h,isDragging:v.computed(()=>!!w.value),style:v.computed(()=>`left:${h.value.x}px;top:${h.value.y}px;`)}}function Xe(o,t,e={}){const{window:n=A,...u}=e;let l;const s=Ae(()=>n&&"ResizeObserver"in n),r=()=>{l&&(l.disconnect(),l=void 0)},a=v.computed(()=>Array.isArray(o)?o.map(i=>L(i)):[L(o)]),d=v.watch(a,i=>{if(r(),s.value&&n){l=new ResizeObserver(t);for(const V of i)V&&l.observe(V,u)}},{immediate:!0,flush:"post"}),c=()=>{r(),d()};return de(c),{isSupported:s,stop:c}}function Ve(o,t={width:0,height:0},e={}){const{window:n=A,box:u="content-box"}=e,l=v.computed(()=>{var i,V;return(V=(i=L(o))==null?void 0:i.namespaceURI)==null?void 0:V.includes("svg")}),s=v.ref(t.width),r=v.ref(t.height),{stop:a}=Xe(o,([i])=>{const V=u==="border-box"?i.borderBoxSize:u==="content-box"?i.contentBoxSize:i.devicePixelContentBoxSize;if(n&&l.value){const m=L(o);if(m){const p=n.getComputedStyle(m);s.value=Number.parseFloat(p.width),r.value=Number.parseFloat(p.height)}}else if(V){const m=Array.isArray(V)?V:[V];s.value=m.reduce((p,{inlineSize:g})=>p+g,0),r.value=m.reduce((p,{blockSize:g})=>p+g,0)}else s.value=i.contentRect.width,r.value=i.contentRect.height},e);pe(()=>{const i=L(o);i&&(s.value="offsetWidth"in i?i.offsetWidth:t.width,r.value="offsetHeight"in i?i.offsetHeight:t.height)});const d=v.watch(()=>L(o),i=>{s.value=i?t.width:0,r.value=i?t.height:0});function c(){a(),d()}return{width:s,height:r,stop:c}}const un={page:o=>[o.pageX,o.pageY],client:o=>[o.clientX,o.clientY],screen:o=>[o.screenX,o.screenY],movement:o=>o instanceof Touch?null:[o.movementX,o.movementY]};function ln(o={}){const{type:t="page",touch:e=!0,resetOnTouchEnds:n=!1,initialValue:u={x:0,y:0},window:l=A,target:s=l,scroll:r=!0,eventFilter:a}=o;let d=null;const c=v.ref(u.x),i=v.ref(u.y),V=v.ref(null),m=typeof t=="function"?t:un[t],p=y=>{const x=m(y);d=y,x&&([c.value,i.value]=x,V.value="mouse")},g=y=>{if(y.touches.length>0){const x=m(y.touches[0]);x&&([c.value,i.value]=x,V.value="touch")}},h=()=>{if(!d||!l)return;const y=m(d);d instanceof MouseEvent&&y&&(c.value=y[0]+l.scrollX,i.value=y[1]+l.scrollY)},w=()=>{c.value=u.x,i.value=u.y},C=a?y=>a(()=>p(y),{}):y=>p(y),b=a?y=>a(()=>g(y),{}):y=>g(y),_=a?()=>a(()=>h(),{}):()=>h();if(s){const y={passive:!0};j(s,["mousemove","dragover"],C,y),e&&t!=="movement"&&(j(s,["touchstart","touchmove"],b,y),n&&j(s,"touchend",w,y)),r&&t==="page"&&j(l,"scroll",_,{passive:!0})}return{x:c,y:i,sourceType:V}}function rn(o,t={}){const{handleOutside:e=!0,window:n=A}=t,u=t.type||"page",{x:l,y:s,sourceType:r}=ln(t),a=v.ref(o??n?.document.body),d=v.ref(0),c=v.ref(0),i=v.ref(0),V=v.ref(0),m=v.ref(0),p=v.ref(0),g=v.ref(!0);let h=()=>{};return n&&(h=v.watch([a,l,s],()=>{const w=L(a);if(!w)return;const{left:C,top:b,width:_,height:y}=w.getBoundingClientRect();i.value=C+(u==="page"?n.pageXOffset:0),V.value=b+(u==="page"?n.pageYOffset:0),m.value=y,p.value=_;const x=l.value-i.value,f=s.value-V.value;g.value=_===0||y===0||x<0||f<0||x>_||f>y,(e||!g.value)&&(d.value=x,c.value=f)},{immediate:!0}),j(document,"mouseleave",()=>{g.value=!0})),{x:l,y:s,sourceType:r,elementX:d,elementY:c,elementPositionX:i,elementPositionY:V,elementHeight:m,elementWidth:p,isOutside:g,stop:h}}function an(o,t){const{containerStyle:e,wrapperProps:n,scrollTo:u,calculateRange:l,currentList:s,containerRef:r}="itemHeight"in t?dn(t,o):cn(t,o);return{list:s,scrollTo:u,containerProps:{ref:r,onScroll:()=>{l()},style:e},wrapperProps:n}}function He(o){const t=v.ref(null),e=Ve(t),n=v.ref([]),u=v.shallowRef(o);return{state:v.ref({start:0,end:10}),source:u,currentList:n,size:e,containerRef:t}}function We(o,t,e){return n=>{if(typeof e=="number")return Math.ceil(n/e);const{start:u=0}=o.value;let l=0,s=0;for(let r=u;r<t.value.length;r++){const a=e(r);if(l+=a,s=r,l>n)break}return s-u}}function Ke(o,t){return e=>{if(typeof t=="number")return Math.floor(e/t)+1;let n=0,u=0;for(let l=0;l<o.value.length;l++){const s=t(l);if(n+=s,n>=e){u=l;break}}return u+1}}function Ye(o,t,e,n,{containerRef:u,state:l,currentList:s,source:r}){return()=>{const a=u.value;if(a){const d=e(o==="vertical"?a.scrollTop:a.scrollLeft),c=n(o==="vertical"?a.clientHeight:a.clientWidth),i=d-t,V=d+c+t;l.value={start:i<0?0:i,end:V>r.value.length?r.value.length:V},s.value=r.value.slice(l.value.start,l.value.end).map((m,p)=>({data:m,index:p+l.value.start}))}}}function Je(o,t){return e=>typeof o=="number"?e*o:t.value.slice(0,e).reduce((u,l,s)=>u+o(s),0)}function Ge(o,t,e){v.watch([o.width,o.height,t],()=>{e()})}function qe(o,t){return v.computed(()=>typeof o=="number"?t.value.length*o:t.value.reduce((e,n,u)=>e+o(u),0))}const sn={horizontal:"scrollLeft",vertical:"scrollTop"};function Qe(o,t,e,n){return u=>{n.value&&(n.value[sn[o]]=e(u),t())}}function cn(o,t){const e=He(t),{state:n,source:u,currentList:l,size:s,containerRef:r}=e,a={overflowX:"auto"},{itemWidth:d,overscan:c=5}=o,i=We(n,u,d),V=Ke(u,d),m=Ye("horizontal",c,V,i,e),p=Je(d,u),g=v.computed(()=>p(n.value.start)),h=qe(d,u);Ge(s,t,m);const w=Qe("horizontal",m,p,r),C=v.computed(()=>({style:{height:"100%",width:`${h.value-g.value}px`,marginLeft:`${g.value}px`,display:"flex"}}));return{scrollTo:w,calculateRange:m,wrapperProps:C,containerStyle:a,currentList:l,containerRef:r}}function dn(o,t){const e=He(t),{state:n,source:u,currentList:l,size:s,containerRef:r}=e,a={overflowY:"auto"},{itemHeight:d,overscan:c=5}=o,i=We(n,u,d),V=Ke(u,d),m=Ye("vertical",c,V,i,e),p=Je(d,u),g=v.computed(()=>p(n.value.start)),h=qe(d,u);Ge(s,t,m);const w=Qe("vertical",m,p,r),C=v.computed(()=>({style:{width:"100%",height:`${h.value-g.value}px`,marginTop:`${g.value}px`}}));return{calculateRange:m,scrollTo:w,containerStyle:a,wrapperProps:C,currentList:l,containerRef:r}}const Ze="user-select-none";class me{constructor(t,e={}){this.el=t,this.options=e,this.scope=Vue.effectScope(),this.scope.run(()=>{this.init()})}scope;dragging=!1;getHandle(){const{selector:t,handle:e}=this.options;return t?this.el.querySelector(t):e}getTarget(){const{target:t="body"}=this.options;return typeof t=="string"?document.querySelector(t):Vue.unref(t)||document.body}init(){const{el:t,options:e}=this,{disabled:n,delay:u=150,onStart:l,onEnd:s}=e;if(n)return;let r=null;const a=this.getHandle(),d=this.getTarget();let c=t.getBoundingClientRect(),i=null;const{x:V,y:m}=on(t,{initialValue:{x:c.x,y:c.y},...e,handle:a,onStart:(p,g)=>{document.body.classList.add(Ze),clearTimeout(r),r=setTimeout(()=>{this.dragging=!0,c=t.getBoundingClientRect(),i=d?.getBoundingClientRect(),l&&l(p,g)},u)},onEnd:(p,g)=>{if(clearTimeout(r),document.body.classList.remove(Ze),this.dragging&&i){this.dragging=!1;const{x:h,y:w}=p,C=this.getPosition(i,c,h,w);s&&s(C,g),i=null}}});Vue.watch([V,m],()=>{if(this.dragging&&i){const p=this.getPosition(i,c,V.value,m.value);t.style.left=`${p.x}px`,t.style.top=`${p.y}px`}})}getPosition(t,e,n,u){const{edge:l=50}=this.options,s=-e.width+l,r=t.width-l,a=0,d=t.height-l,c=Math.min(r,Math.max(n,s)),i=Math.min(d,Math.max(u,a));return{x:c,y:i}}destory(){this.scope.stop()}}const et={mounted(o,t){const e=t.value||{},n=new me(o,e);o.__draggable__=n},updated(o,t){const e=t.value||{};let n=o.__draggable__;n&&!VtjUtils.isEqual(n.options,e)&&(n.destory(),o.__draggable__=new me(o,e))},unmounted(o){const t=o.__draggable__;t&&(t.destory(),o.__draggable__=null)}},fe="user-select-none";class ge{constructor(t,e={}){this.el=t,this.options=e,this.scope=Vue.effectScope(),this.scope.run(()=>{this.init()})}scope;resizing=Vue.ref(!1);direction=Vue.ref("");MIE=null;cleanMousedown;cleanMouseup;init(){const{el:t,options:e}=this,{disabled:n,onStart:u,onEnd:l}=e;if(n)return;this.MIE=rn(t),this.cleanMousedown=j(document,"mousedown",()=>{this.direction?.value&&this.MIE&&(this.resizing.value=!0,t.classList.add("is-resizing",`is-${this.direction.value}-resizing`),u&&u(this.direction.value,this.MIE))}),this.cleanMouseup=j(document,"mouseup",()=>{this.resizing.value&&this.direction?.value&&this.MIE&&(t.classList.remove("is-resizing",`is-${this.direction.value}-resizing`),l&&l(this.direction.value,this.MIE)),this.resizing.value=!1}),Vue.watch(this.direction,a=>{const d=document.body;d.style.cursor=a?`${a}-resize`:"",a?d.classList.add(fe):d.classList.remove(fe)});const{x:s,y:r}=this.MIE;Vue.watch([s,r],()=>{this.resizing.value?this.resize():this.direction.value=this.getDirection()})}resize(){const{MIE:t,direction:e,resizing:n,options:u,el:l}=this,s=e?.value||"";if(!t||!n.value||!s)return;const{x:r,y:a,elementX:d,elementY:c,elementHeight:i,elementWidth:V}=t,{onResizing:m}=u,{minWidth:p=0,minHeight:g=0,maxWidth:h=99999,maxHeight:w=99999}=u;if(s.includes("e")){const C=Math.min(Math.max(d.value,p),h);l.style.width=`${C}px`}if(s.includes("s")){const C=Math.min(Math.max(c.value,g),w);l.style.height=`${C}px`}if(s.includes("w")){const C=Math.min(Math.max(V.value-d.value,p),h);l.style.width=`${C}px`,l.style.left=`${r.value}px`}if(s.includes("n")){const C=Math.min(Math.max(i.value-c.value,g),w);this.el.style.height=`${C}px`,this.el.style.top=`${a.value}px`}m&&m(s,t)}getDirection(){if(!this.MIE)return"";const{elementX:t,elementY:e,elementHeight:n,elementWidth:u,isOutside:l}=this.MIE;if(l.value)return"";const{dirs:s=["n","s","w","e"],edge:r=5}=this.options;let a="";return s.includes("n")&&e.value<=r?a+="n":s.includes("s")&&e.value>n.value-r&&(a+="s"),s.includes("w")&&t.value<=r?a+="w":s.includes("e")&&t.value>u.value-r&&(a+="e"),a}destory(){const t=document.body;t.style.cursor="",t.classList.remove(fe),this.cleanMousedown&&this.cleanMousedown(),this.cleanMouseup&&this.cleanMouseup(),this.MIE?.stop(),this.scope.stop()}}const he={mounted(o,t){const e=t.value||{},n=new ge(o,e);o.__resizable__=n},updated(o,t){const e=t.value||{};let n=o.__resizable__;n&&!VtjUtils.isEqual(n.options,e)&&(n.destory(),o.__resizable__=new ge(o,e))},unmounted(o){const t=o.__resizable__;t&&(t.destory(),o.__resizable__=null)}},tt={modelValue:{type:Boolean,default:!0},title:{type:String},subtitle:{type:String},icon:{type:[String,Object]},size:{type:String,default:"default"},width:{type:[Number,String],default:"70%"},height:{type:[Number,String],default:"70%"},left:{type:[Number,String]},top:{type:[Number,String]},modal:{type:Boolean,default:!0},draggable:{type:[Boolean,Object],default:!0},resizable:{type:[Boolean,Object]},closable:{type:Boolean,default:!0},maximizable:{type:Boolean,default:!1},minimizable:{type:Boolean,default:!1},mode:{type:String,default:"normal"},content:{type:Object},src:{type:String},componentInstance:{type:Object},beforeClose:{type:Function},submit:{type:[Boolean,String]},cancel:{type:[Boolean,String]},bodyPadding:{type:Boolean,default:!0},primary:{type:Boolean}};let Y=1e3;function pn(o,t){const{width:e,height:n}=Ve(t),u=Vue.reactive({mode:o.mode||"normal",wrapperWidth:0,wrapperHeight:0,width:0,height:0,top:0,left:0,zIndex:++Y,dragging:!1,resizing:!1});return Vue.watch([e,n],([l,s])=>{u.wrapperWidth=l,u.wrapperHeight=s,u.width=J(o.width,l),u.height=J(o.height,s),u.left=o.left?J(o.left,l)-u.width/2:Math.max(Math.floor((l-u.width)/2),0),u.top=o.top?J(o.top,s):Math.max(Math.floor((s-u.height)/2),0)}),Vue.watch(u,l=>{Y=Math.max(l.zIndex,Y)}),{state:u,normal:Vue.computed(()=>u.mode==="normal"),maximized:Vue.computed(()=>u.mode==="maximized"),minimized:Vue.computed(()=>u.mode==="minimized")}}function Vn(o,t){const e=Vue.computed(()=>{const{width:s,height:r,top:a,left:d,zIndex:c}=t;return{width:`${s}px`,height:`${r}px`,top:`${a}px`,left:`${d}px`,zIndex:c}}),n=Vue.computed(()=>({[`is-${t.mode}`]:!!t.mode,"is-draggable":!!o.draggable,"is-resizable":!!o.resizable,"is-primary":!!o.primary})),u=Vue.computed(()=>({[`is-${t.mode}`]:!!t.mode,"is-dragging":t.dragging,"is-resizing":t.resizing})),l=Vue.computed(()=>({zIndex:t.zIndex}));return{styles:e,classes:n,wrapperClass:u,modalStyle:l}}function mn(o,t,e){const n=c=>{t.mode=c,["maximized","minimized","normal"].includes(c)&&e(c),e("modeChange",c)},u=async()=>{(!o.beforeClose||await o.beforeClose())&&(e("update:modelValue",!1),e("close"),e("destroy"))};return{close:u,changeMode:n,show:()=>n("normal"),hide:()=>n("minimized"),active:c=>{const i=c.target.nodeName||"";["INPUT","TEXTAREA","RADIO","CHECKBOX"].includes(i.toUpperCase())||(t.zIndex=Math.max(t.zIndex,++Y))},submit:()=>e("submit"),cancel:()=>{e("cancel"),u()}}}function fn(o,t,e,n){return Vue.computed(()=>{const u=typeof o.draggable=="boolean"?!o.draggable:!!o.draggable?.disabled;return{...VtjUtils.isObject(o.draggable)?o.draggable:{},disabled:u,target:n,selector:".x-panel__header",onStart(l){t.dragging=!0,t.zIndex=Math.max(t.zIndex,++Y),e("dragStart",l)},onMove(l){e("dragging",l)},onEnd(l){if(t.mode==="maximized")return;const{x:s,y:r}=l;t.left=s,t.top=r,t.dragging=!1,e("dragEnd",l)}}})}function gn(o,t,e){return Vue.computed(()=>{const n=typeof o.resizable=="boolean"?!o.resizable:!!o.resizable?.disabled;return{minWidth:200,minHeight:150,...VtjUtils.isObject(o.resizable)?o.resizable:{},disabled:n,dirs:["e","s","w"],onStart(u,l){t.resizing=!0,t.zIndex=Math.max(t.zIndex,++Y),e("resizeStart",u,l)},onResizing(u,l){e("resizing",u,l)},onEnd(u,l){t.left=l.elementPositionX.value,t.top=l.elementPositionY.value,t.width=l.elementWidth.value,t.height=l.elementHeight.value,t.resizing=!1,e("resizeEnd",u,l)}}})}function hn(o,t){const e=o.componentInstance;if(!e)return;let n=null;return Vue.onMounted(()=>{const u=Vue.unref(t),l=Vue.unref(u?.bodyRef);n=e.$el,l&&l.$el&&l.$el.appendChild(n)}),Vue.onUnmounted(()=>{n&&n.parentNode&&n.parentNode.removeChild(n)}),{componentInstance:e}}const yn=["src"],te=Vue.defineComponent({name:"XDialog",__name:"Dialog",props:tt,emits:["update:modelValue","open","close","destroy","maximized","minimized","normal","modeChange","dragStart","dragging","dragEnd","resizeStart","resizeEnd","resizing","submit","cancel"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.getCurrentInstance(),s=Vue.ref(),r=Vue.ref(),{state:a,maximized:d,minimized:c,normal:i}=pn(n,s),{styles:V,classes:m,wrapperClass:p,modalStyle:g}=Vn(n,a),{changeMode:h,active:w,close:C,show:b,hide:_,submit:y,cancel:x}=mn(n,a,u),f=fn(n,a,u,s),P=gn(n,a,u),z=hn(n,r);Vue.watchEffect(async()=>{n.modelValue&&(await Vue.nextTick(),l&&u("open",l))});const B=Vue.computed(()=>r.value?.$el);return t({$vtjEl:B,panelRef:r,state:a,maximized:d,minimized:c,changeMode:h,show:b,hide:_,submit:y,cancel:x,close:C,componentInstance:z}),(S,D)=>n.modelValue?(Vue.openBlock(),Vue.createBlock(Vue.Teleport,{key:0,to:"body"},[Vue.createElementVNode("div",{ref_key:"wrapper",ref:s,class:Vue.normalizeClass(["x-dialog__wrapper",Vue.unref(p)])},[n.modal?(Vue.openBlock(),Vue.createElementBlock("div",{key:0,class:"x-dialog__modal",style:Vue.normalizeStyle(Vue.unref(g))},null,4)):Vue.createCommentVNode("",!0),Vue.withDirectives((Vue.openBlock(),Vue.createBlock(Vue.unref(K),Vue.mergeProps({ref_key:"panelRef",ref:r,class:["x-dialog",Vue.unref(m)],card:"",shadow:"always",header:{icon:n.icon,subtitle:n.subtitle},width:"800px",height:"600px",footer:{justify:"space-between",flex:!0,align:"center"},style:Vue.unref(V),size:n.size,body:{padding:n.bodyPadding},onClick:Vue.unref(w)},S.$attrs),Vue.createSlots({title:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(n.title),1)]),actions:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"actions"),n.minimizable?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:0,icon:Vue.unref(VtjIcons.Minimize),size:n.size,mode:"icon",type:"primary",background:"hover",onClick:D[0]||(D[0]=W=>Vue.unref(h)("minimized"))},null,8,["icon","size"])):Vue.createCommentVNode("",!0),n.maximizable?(Vue.openBlock(),Vue.createElementBlock(Vue.Fragment,{key:1},[Vue.unref(i)?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:1,icon:Vue.unref(VtjIcons.Maximize),size:n.size,mode:"icon",type:"primary",background:"hover",onClick:D[2]||(D[2]=W=>Vue.unref(h)("maximized"))},null,8,["icon","size"])):(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:0,icon:Vue.unref(VtjIcons.Popup),size:n.size,mode:"icon",type:"primary",background:"hover",onClick:D[1]||(D[1]=W=>Vue.unref(h)("normal"))},null,8,["icon","size"]))],64)):Vue.createCommentVNode("",!0),n.closable?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:2,icon:Vue.unref(VtjIcons.RawClose),size:n.size,mode:"icon",type:"danger",background:"hover",onClick:Vue.unref(C)},null,8,["icon","size","onClick"])):Vue.createCommentVNode("",!0)]),default:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"default",{},()=>[n.content?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(n.content),{key:0})):Vue.createCommentVNode("",!0),n.src?(Vue.openBlock(),Vue.createElementBlock("iframe",{key:1,src:n.src,class:"x-dialog__frame"},null,8,yn)):Vue.createCommentVNode("",!0)])]),_:2},[n.cancel||n.submit||S.$slots.footer||S.$slots.extra||S.$slots.handle?{name:"footer",fn:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"footer",{},()=>[Vue.createVNode(Vue.unref(N),{align:"center"},{default:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"extra")]),_:3}),Vue.createVNode(Vue.unref(N),{align:"center"},{default:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"handle"),n.cancel?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),{key:0,type:"default",size:n.size,onClick:Vue.unref(x)},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(typeof n.cancel=="string"?n.cancel:"取消"),1)]),_:1},8,["size","onClick"])):Vue.createCommentVNode("",!0),n.submit?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),{key:1,type:"primary",size:n.size,onClick:Vue.unref(y)},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(typeof n.submit=="string"?n.submit:"确定"),1)]),_:1},8,["size","onClick"])):Vue.createCommentVNode("",!0)]),_:3})])]),key:"0"}:void 0]),1040,["header","class","style","size","body","onClick"])),[[Vue.unref(et),Vue.unref(f)],[Vue.unref(he),Vue.unref(P)]])],2)])):Vue.createCommentVNode("",!0)}});function ne(o,t){const e=document.createElement("div"),n=Vue.createVNode(te,o);n.appContext=t??ne._context,Vue.render(n,e);const u=()=>{Vue.render(null,e),e.parentNode?.removeChild(e)};return n.props.onDestroy=()=>{u()},document.body.appendChild(e),{vnode:n,destroy:u}}const vn=Vue.createElementVNode("div",{class:"x-mask-sidebar__helper"},null,-1),kn=Vue.defineComponent({__name:"Sidebar",props:{collapsed:{type:Boolean}},setup(o){const t=o;return(e,n)=>Vue.withDirectives((Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-mask-sidebar",{"is-collapsed":t.collapsed}]),grow:!1,flex:"",direction:"column"},{default:Vue.withCtx(()=>[Vue.renderSlot(e.$slots,"brand"),Vue.createVNode(Vue.unref(N),{class:"x-mask-sidebar__wrapper",flex:"",grow:"",direction:"column",justify:"space-between",align:"center"},{default:Vue.withCtx(()=>[Vue.renderSlot(e.$slots,"default"),vn]),_:3})]),_:3},8,["class"])),[[Vue.unref(he),{dirs:["e"],disabled:t.collapsed,maxWidth:500,minWidth:200}]])}}),bn=Vue.defineComponent({__name:"SwitchBar",props:{collasped:{type:Boolean,default:!1},favorite:{type:Boolean,default:!1},keyword:{}},emits:["update:collasped","update:keyword","update:favorite"],setup(o,{emit:t}){const e=o,n=t,u=Vue.ref(!1),l=Vue.ref(""),s=Vue.ref(!1),r=()=>{u.value=!0},a=()=>{l.value="",u.value=!1,n("update:keyword",l.value)},d=()=>{n("update:collasped",!e.collasped)},c=()=>{n("update:keyword",l.value)},i=()=>{n("update:favorite",s.value)};return(V,m)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:"x-mask-switch-bar",justify:"space-between",align:"center"},{default:Vue.withCtx(()=>[e.collasped?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,class:"x-mask-switch-bar__left",grow:""},{default:Vue.withCtx(()=>[u.value?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElSwitch),{key:0,modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=p=>s.value=p),class:"x-mask-switch-bar__switch","active-icon":Vue.unref(VtjIcons.StarFilled),"inactive-icon":Vue.unref(VtjIcons.Menu),onChange:i},null,8,["modelValue","active-icon","inactive-icon"])),u.value?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElInput),{key:1,modelValue:l.value,"onUpdate:modelValue":m[1]||(m[1]=p=>l.value=p),class:"x-mask-switch-bar__input",size:"small",placeholder:"请输入查询关键字",onInput:c,"prefix-icon":Vue.unref(VtjIcons.Search)},{suffix:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(F),{icon:Vue.unref(VtjIcons.Close),onClick:a},null,8,["icon"])]),_:1},8,["modelValue","prefix-icon"])):Vue.createCommentVNode("",!0)]),_:1})),Vue.createVNode(Vue.unref(N),{class:Vue.normalizeClass(["x-mask-switch-bar__right",{"is-collasped":e.collasped}]),flex:"",align:"center",justify:"center"},{default:Vue.withCtx(()=>[!u.value&&!e.collasped?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:0,icon:Vue.unref(VtjIcons.Search),mode:"icon",background:"hover",size:"default",circle:"",onClick:r},null,8,["icon"])):Vue.createCommentVNode("",!0),e.collasped?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:1,icon:Vue.unref(VtjIcons.Expand),mode:"icon",size:"default",background:"hover",onClick:d,circle:""},null,8,["icon"])):Vue.createCommentVNode("",!0),e.collasped?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:2,icon:Vue.unref(VtjIcons.Fold),mode:"icon",size:"default",background:"hover",circle:"",onClick:d},null,8,["icon"]))]),_:1},8,["class"])]),_:1}))}}),wn=["src"],_n={key:0},Cn=Vue.defineComponent({__name:"Brand",props:{collapsed:{type:Boolean,default:!1},logo:{},title:{},url:{}},setup(o){const t=o,e=VueRouter.useRouter(),n=()=>{t.url&&e.push(t.url)};return(u,l)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-mask-brand",{"is-collapsed":t.collapsed}]),align:"center"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(N),{class:"x-mask-brand__logo",flex:"",justify:"center",align:"center",onClick:n},{default:Vue.withCtx(()=>[Vue.renderSlot(u.$slots,"logo",{},()=>[t.logo?(Vue.openBlock(),Vue.createElementBlock("img",{key:0,src:t.logo},null,8,wn)):Vue.createCommentVNode("",!0)])]),_:3}),Vue.createVNode(Vue.unref(N),{class:"x-mask-brand__title",flex:"",align:"center"},{default:Vue.withCtx(()=>[t.title?(Vue.openBlock(),Vue.createElementBlock("span",_n,[Vue.renderSlot(u.$slots,"title",{},()=>[Vue.createTextVNode(Vue.toDisplayString(t.title),1)])])):Vue.createCommentVNode("",!0)]),_:3})]),_:3},8,["class"]))}}),oe="__favorites__",ue="__search__",Bn=Vue.defineComponent({__name:"Menu",props:{collapse:{type:Boolean,default:!1},keyword:{},favorite:{type:Boolean},favorites:{},flatMenus:{},menus:{},active:{}},emits:["select"],setup(o,{emit:t}){const e=o,n=Vue.computed(()=>e.menus||[]),u=t,l=Vue.computed(()=>String(e.active?.id)),s=Vue.computed(()=>[{id:oe,title:"收藏",icon:VtjIcons.Star,children:e.favorites?.length?e.favorites:[{id:oe+"empty",disabled:!0,title:"暂无收藏菜单"}]}]),r=Vue.computed(()=>{const d=(e.keyword||"").trim(),c=d?(e.flatMenus||[]).filter(i=>i.title?.includes(d)):[];return[{id:ue,title:"搜索",icon:VtjIcons.Search,children:c?.length?c:[{id:ue+"empty",disabled:!0,title:"查询匹配不到菜单项"}]}]}),a=d=>{u("select",d)};return(d,c)=>(Vue.openBlock(),Vue.createElementBlock(Vue.Fragment,null,[Vue.withDirectives(Vue.createVNode(Vue.unref(N),{class:"x-mask-menu",grow:"",flex:!1,overflow:"auto"},{default:Vue.withCtx(()=>[Vue.withDirectives(Vue.createVNode(Vue.unref(X),{subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:n.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!0,"collapse-transition":!1,"default-active":l.value,onSelect:a},null,8,["data","default-icon","default-active"]),[[Vue.vShow,e.collapse]]),Vue.withDirectives(Vue.createVNode(Vue.unref(X),{subMenu:{popperClass:"x-mask-menu-popper",teleported:!0},data:n.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!1,"collapse-transition":!1,"default-active":l.value,onSelect:a},null,8,["data","default-icon","default-active"]),[[Vue.vShow,!e.collapse]]),n.value.length?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElEmpty),{key:0,description:"暂无菜单数据"}))]),_:1},512),[[Vue.vShow,!e.favorite&&!e.keyword]]),Vue.withDirectives(Vue.createVNode(Vue.unref(N),{class:"x-mask-menu",grow:"",flex:!1,overflow:"auto"},{default:Vue.withCtx(()=>[Vue.withDirectives(Vue.createVNode(Vue.unref(X),{class:"x-mask-menu__favorites",subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:s.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!0,"collapse-transition":!1,"default-active":l.value,"default-openeds":[oe],onSelect:a},null,8,["data","default-icon","default-active","default-openeds"]),[[Vue.vShow,e.collapse]]),Vue.withDirectives(Vue.createVNode(Vue.unref(X),{class:"x-mask-menu__favorites",subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:s.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!1,"collapse-transition":!1,"default-active":l.value,"default-openeds":[oe],onSelect:a},null,8,["data","default-icon","default-active","default-openeds"]),[[Vue.vShow,!e.collapse]])]),_:1},512),[[Vue.vShow,e.favorite&&!e.keyword]]),e.keyword?Vue.withDirectives((Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,class:"x-mask-menu",grow:"",flex:!1,overflow:"auto"},{default:Vue.withCtx(()=>[Vue.withDirectives(Vue.createVNode(Vue.unref(X),{class:"x-mask-menu__search",subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:r.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!0,"collapse-transition":!1,"default-active":l.value,"default-openeds":[ue],onSelect:a},null,8,["data","default-icon","default-active","default-openeds"]),[[Vue.vShow,e.collapse]]),Vue.withDirectives(Vue.createVNode(Vue.unref(X),{class:"x-mask-menu__search",subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:r.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!1,"collapse-transition":!1,"default-active":l.value,"default-openeds":[ue],onSelect:a},null,8,["data","default-icon","default-active","default-openeds"]),[[Vue.vShow,!e.collapse]])]),_:1},512)),[[Vue.vShow,!!e.keyword]]):Vue.createCommentVNode("",!0)],64))}}),xn="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1711803009570'%20class='icon'%20viewBox='0%200%201280%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1500'%20width='320'%20height='256'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M557.85%201023l-122-35.4c-12.8-3.6-20-17-16.4-29.8L692.45%2017.4c3.6-12.8%2017-20%2029.8-16.4l122%2035.4c12.8%203.6%2020%2017%2016.4%2029.8L587.65%201006.6c-3.8%2012.8-17%2020.2-29.8%2016.4z%20m-228-224.4l87-92.8c9.2-9.8%208.6-25.4-1.6-34.4L234.05%20512l181.2-159.4c10.2-9%2011-24.6%201.6-34.4l-87-92.8c-9-9.6-24.2-10.2-34-1L7.65%20494.4c-10.2%209.4-10.2%2025.6%200%2035l288.2%20270.2c9.8%209.2%2025%208.8%2034-1z%20m654.4%201.2l288.2-270.2c10.2-9.4%2010.2-25.6%200-35L984.25%20224.2c-9.6-9-24.8-8.6-34%201L863.25%20318c-9.2%209.8-8.6%2025.4%201.6%2034.4L1046.05%20512l-181.2%20159.4c-10.2%209-11%2024.6-1.6%2034.4l87%2092.8c9%209.8%2024.2%2010.2%2034%201.2z'%20fill='%230157fe'%20p-id='1501'%3e%3c/path%3e%3c/svg%3e",nt=140,ot={logo:{type:String,default:xn},title:{type:String,default:"VTJ.PRO"},menus:{type:[Array,Function],default(){return[]}},favorites:{type:[Array,Function],default(){return[]}},menuAdapter:{type:Function},home:{type:[String,Object],default:"/"},tabs:{type:Number,default:20},actions:{type:Array},avatar:{type:String},theme:{type:Boolean},disabled:{type:Boolean},addFavorite:{type:Function},removeFavorite:{type:Function}},ye=Symbol(),ve=Symbol(),Sn={class:"x-mask-tabs__trigger"},En={key:1},Pn=["onDragstart","onDragend"],Nn={key:1},zn=Vue.defineComponent({__name:"Tabs",props:{tabs:{},home:{},isActiveTab:{type:Function},value:{},favorites:{}},emits:["click","remove","refresh","toggleFavorite","dialog"],setup(o,{emit:t}){const e=o,n=t,u=c=>{const i=!!e.favorites.find(V=>V===c.menu||V.id===c.menu?.id);return[{icon:VtjIcons.Refresh,label:"刷新",name:"refresh",value:c},"|",{icon:i?VtjIcons.StarFilled:VtjIcons.Star,label:"收藏",name:"favorite",value:c.menu,disabled:!c.menu},"|",{icon:VtjIcons.CopyDocument,label:"弹窗",name:"dialog",value:c}]},l=c=>{const i=c.paneName;if(i===e.home.id){n("click",e.home);return}const V=e.tabs.find(m=>m.id===i);V&&n("click",V)},s=c=>{const i=e.tabs.find(V=>V.id===c);i&&n("remove",i)},r=c=>{switch(c.name){case"refresh":n("refresh",c.value);break;case"favorite":n("toggleFavorite",c.value);break;case"dialog":n("dialog",c.value);break}},a=(c,i)=>{i.dataTransfer&&(i.dataTransfer.setData("tab",c.id),i.target&&i.target.classList.add("is-dagging"))},d=(c,i)=>{i.target&&i.target.classList.remove("is-dagging")};return(c,i)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{ref:"tabsRef",class:"x-mask-tabs",height:"100%",grow:"",flex:"",justify:"flex-end",direction:"column"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElTabs),{type:"card","model-value":e.value,onTabRemove:s,onTabClick:l},{default:Vue.withCtx(()=>[e.home?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElTabPane),{key:0,name:e.home.id},{label:Vue.withCtx(()=>[Vue.createElementVNode("div",Sn,[e.home.icon?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(H)(e.home.icon)),{key:0})):Vue.createCommentVNode("",!0),e.home.title?(Vue.openBlock(),Vue.createElementBlock("span",En,Vue.toDisplayString(e.home.title),1)):Vue.createCommentVNode("",!0)])]),_:1},8,["name"])):Vue.createCommentVNode("",!0),(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(e.tabs,V=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElTabPane),{key:V.id,name:V.id,lazy:"",closable:""},{label:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElPopover),{"open-delay":500,placement:"bottom",trigger:"hover",width:"200px",disabled:V.id!==e.value},{reference:Vue.withCtx(()=>[Vue.createElementVNode("div",{class:"x-mask-tabs__trigger",draggable:"true",onDragstart:m=>a(V,m),onDragend:m=>d(V,m)},[V.icon?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(H)(V.icon)),{key:0})):Vue.createCommentVNode("",!0),V.title?(Vue.openBlock(),Vue.createElementBlock("span",Nn,Vue.toDisplayString(V.title),1)):Vue.createCommentVNode("",!0)],40,Pn)]),default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(G),{items:u(V),mode:"text",size:"small",type:"info",onClick:r},null,8,["items"])]),_:2},1032,["disabled"])]),_:2},1032,["name"]))),128))]),_:1},8,["model-value"])]),_:1},512))}}),$n=Vue.defineComponent({__name:"ThemeSwitch",setup(o){const t=nn();return(e,n)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElSwitch),{class:"x-mask-theme-switch",modelValue:Vue.unref(t),"onUpdate:modelValue":n[0]||(n[0]=u=>Vue.isRef(t)?t.value=u:null),size:"default","active-action-icon":Vue.unref(VtjIcons.Moon),"inactive-action-icon":Vue.unref(VtjIcons.Sunny)},null,8,["modelValue","active-action-icon","inactive-action-icon"]))}}),Tn={class:"x-mask-toolbar__menu-item"},Dn=Vue.defineComponent({__name:"Toolbar",props:{tabs:{default:()=>[]},actions:{},theme:{type:Boolean}},emits:["closeOtherTabs","closeAllTabs","closeTab","clickTab","actionClick","actionCommand"],setup(o,{emit:t}){const e=o,n=t,u=Vue.computed(()=>{const d=e.tabs.map((c,i)=>({divided:i===0,label:c.title,command:c}));return[{label:"关闭其他",command:"other"},{label:"关闭全部",command:"all"},...d]}),l=d=>{n("closeTab",d.command)},s=d=>{switch(d.command){case"all":n("closeAllTabs");break;case"other":n("closeOtherTabs");break;default:n("clickTab",d.command);break}},r=d=>{n("actionClick",d)},a=(d,c)=>{n("actionCommand",d,c)};return(d,c)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:"x-mask-toolbar",align:"center"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(O),{icon:Vue.unref(VtjIcons.MoreFilled),menus:u.value,dropdown:{size:"small"},mode:"icon",circle:"",background:"hover",onCommand:s},{item:Vue.withCtx(({item:i})=>[Vue.createElementVNode("span",Tn,[Vue.createTextVNode(Vue.toDisplayString(i.label)+" ",1),["other","all"].includes(i.command)?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(F),{key:0,onClick:Vue.withModifiers(V=>l(i),["stop"]),icon:Vue.unref(VtjIcons.Close)},null,8,["onClick","icon"]))])]),_:1},8,["icon","menus"]),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),{direction:"vertical"}),e.actions?(Vue.openBlock(),Vue.createBlock(Vue.unref(G),{key:0,circle:"",mode:"icon",size:"default",background:"hover",items:d.actions,onClick:r,onCommand:a},null,8,["items"])):Vue.createCommentVNode("",!0),e.actions?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElDivider),{key:1,direction:"vertical"})):Vue.createCommentVNode("",!0),e.theme?(Vue.openBlock(),Vue.createBlock($n,{key:2})):Vue.createCommentVNode("",!0),e.theme?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElDivider),{key:3,direction:"vertical"})):Vue.createCommentVNode("",!0),Vue.renderSlot(d.$slots,"default")]),_:3}))}}),Mn=Vue.defineComponent({__name:"Avatar",props:{avatar:{}},setup(o){const t=o;return(e,n)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElPopover),{width:200,"popper-class":"x-mask-avatar__popper",disabled:!e.$slots.default},{reference:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElAvatar),{class:"x-mask-avatar",shape:"circle",icon:Vue.unref(VtjIcons.UserFilled),src:t.avatar,size:26},null,8,["icon","src"])]),default:Vue.withCtx(()=>[e.$slots.default?Vue.renderSlot(e.$slots,"default",{key:0}):Vue.createCommentVNode("",!0)]),_:3},8,["disabled"]))}}),ut=Vue.defineComponent({__name:"Content",props:{createView:{type:Function},exclude:{}},setup(o){const t=o;return(e,n)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:"x-mask__content",flex:!1,grow:"",padding:!1},{default:Vue.withCtx(()=>[Vue.renderSlot(e.$slots,"default"),Vue.createVNode(Vue.unref(VueRouter.RouterView),null,{default:Vue.withCtx(({Component:u,route:l})=>[(Vue.openBlock(),Vue.createBlock(Vue.KeepAlive,{exclude:t.exclude},[u?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(t.createView(u,l)),{key:l.fullPath})):Vue.createCommentVNode("",!0)],1032,["exclude"]))]),_:1})]),_:3}))}});function In(){const o=Vue.ref(!1),t=Vue.ref(""),e=Vue.ref(!1);return{collapsed:o,keyword:t,favorite:e}}function jn(o){const t=VtjUtils.uid();return Vue.computed(()=>{const e=o.home;return Object.assign({id:t,url:"/",name:"MaskHome",icon:VtjIcons.HomeFilled,closable:!1},typeof e=="string"?{url:e}:e||{})})}function lt(o,t){let e=[];return o.forEach(n=>{n=t?t(n):n,n.children?e=e.concat(lt(n.children,t)):e.push(n)}),e}function Rn(o,t){const e=VueRouter.useRouter(),n=Vue.shallowRef([]),u=Vue.shallowRef([]),l=Vue.computed(()=>lt(n.value,o.menuAdapter)),s=Vue.computed(()=>VtjUtils.arrayToMap(l.value,"id")),r=Vue.ref(null),a=p=>{const g=typeof p=="object"?p.id:p,h=s.value.get(g);if(!h){console.warn("找不到菜单",p);return}const{type:w="route",url:C,title:b,icon:_}=h;if(!C){r.value=h,t("select",h);return}if(w==="route"){VtjUtils.isUrl(C)||C.startsWith("//")?window.open(C):(r.value=h,e.push(C).catch(y=>y));return}if(w==="window"){window.open(C);return}w==="dialog"&&ne({resizable:!0,bodyPadding:!1,width:"80%",height:"80%",title:b,icon:_,src:C})},d=async()=>{n.value=typeof o.menus=="function"?await o.menus()||[]:o.menus??[],u.value=typeof o.favorites=="function"?await o.favorites()||[]:o.favorites??[]},c=p=>{u.value=[p,...u.value],o.addFavorite&&o.addFavorite(p)},i=p=>{u.value=u.value.filter(g=>g.id!==p.id),o.removeFavorite&&o.removeFavorite(p)},V=p=>!!u.value.find(g=>g===p||g.id===p.id),m=p=>{V(p)?i(p):c(p)};return Vue.watchEffect(d),{menus:n,favorites:u,flatMenus:l,active:r,select:a,toggleFavorite:m}}function On(o,t,e,n,u){const l=VueRouter.useRoute(),s=VueRouter.useRouter(),r={},a=Vue.ref([]),d=Vue.ref(),{width:c}=Ve(d),i=Vue.computed(()=>Math.floor(c.value/nt)),V=Vue.computed(()=>a.value.slice(0,i.value).filter(E=>!E.dialog)),m=Vue.computed(()=>a.value.slice(i.value)),p=E=>e.value.find($=>$.url===E),g=E=>l.fullPath===E.url,h=E=>u.value.id===E?u.value:a.value.find($=>$.id===E),w=Vue.ref(""),C=Vue.computed(()=>h(w.value)),b=E=>{s.push(E.url).catch($=>$)},_=E=>{w.value=E.id,l.fullPath!==E.url&&b(E)},y=()=>{b(u.value)},x=E=>{const $=a.value.find(T=>T.url===E.url||T.id===E.id);$?_($):(a.value.unshift(E),_(E))},f=async E=>{const{url:$=l.fullPath,icon:T,title:le="新建标签页"}=E||{},re=r[$],Be=VtjUtils.uid(),xe=VtjUtils.upperFirstCamelCase($);return{id:Be,name:xe,url:$,icon:T,title:le,closable:!0,menu:E,...re?await re():{}}},P=async E=>{if(await ElementPlus.ElMessageBox.confirm("是否关闭页签","提示",{type:"warning"}).catch(()=>!1)){if(a.value=a.value.filter(T=>T.id!==E.id),w.value===E.id){const T=a.value[0];b(T||u.value)}return E}},z=E=>{const $=a.value.findIndex(T=>T.id===E.id);if($>=0){const T=a.value[$];a.value.splice($,1,Object.assign(T,E))}},B=async()=>{if(!await ElementPlus.ElMessageBox.confirm("是否关闭全部页签","提示",{type:"warning"}).catch(()=>!1))return;const $=a.value;return a.value=[],_(u.value),$},S=async()=>{if(!await ElementPlus.ElMessageBox.confirm("是否关闭其他页签","提示",{type:"warning"}).catch(()=>!1))return;const $=a.value.filter(T=>T.id!==w.value);return a.value=a.value.filter(T=>T.id===w.value),$},D=E=>{const $=a.value.filter(T=>T.id!==E.id);a.value=[E,...$],_(E)},W=async()=>{await Vue.nextTick();const E=u.value.url===l.fullPath,$=p(l.fullPath);if(E)w.value=u.value.id;else{const T=await f($);x(T)}await Vue.nextTick(),n.value=$||null};return Vue.watch(e,W),Vue.watch(l,W,{immediate:!0}),Vue.provide(ye,r),{tabRef:d,tabs:a,showTabs:V,currentTab:C,changeTab:b,removeTab:P,updateTab:z,addTab:x,home:u,tabValue:w,isCurrentTab:g,activeHome:y,activeTab:_,dropdownTabs:m,removeAllTabs:B,removeOtherTabs:S,moveToShow:D}}function An(o){const t=new Map,e=Vue.ref([]),n=Vue.reactive({}),u=Vue.getCurrentInstance(),l={},{updateTab:s,isCurrentTab:r,activeHome:a,tabs:d}=o,c=(b,_)=>{const y=_.fullPath;if(t.has(y))return t.get(y);{const x=VtjUtils.upperFirstCamelCase(y),f={name:x,setup(){const P=Vue.computed(()=>n[y]||document.body),z=Vue.computed(()=>!n[y]),B=Vue.computed(()=>!e.value.includes(x));return Vue.provide(VueRouter.routeLocationKey,Vue.toRaw({..._})),()=>B.value?Vue.h(Vue.Teleport,{to:P.value,disabled:z.value},[Vue.h(b)]):null}};return t.set(y,f),f}},i=b=>{b.dialog=void 0,delete n[b.url];const _=l[b.id];_&&(_.destroy(),delete l[b.id],s(b))},V=(b=[])=>{b.forEach(_=>{i(_)})},m=async b=>{b.dialog={...b.dialog,onMinimized:()=>{i(b)},onClose:async()=>{i(b),d.value=d.value.filter(y=>y.id!==b.id)}},s(b);const _=ne({title:b.title,icon:b.icon,modal:!1,resizable:!0,draggable:!0,maximizable:!0,minimizable:!0,...b.dialog,onOpen(y){n[b.url]=y.refs.panelRef?.bodyRef?.$el}},u?.appContext);return await Vue.nextTick(),r(b)&&a(),l[b.id]=_,_},p=async b=>{e.value=[b.name],await Vue.nextTick(),e.value=[]},g=async b=>{e.value=b.map(_=>_.name),await Vue.nextTick(),e.value=[]},h=b=>(b.preventDefault(),!1),w=b=>{if(b.dataTransfer){const _=b.dataTransfer.getData("tab"),y=d.value.find(x=>x.id===_);if(y){const{clientX:x,clientY:f}=b;y.dialog={left:x,top:f},m(y)}}},C=b=>!!n[b];return j(document,"dragover",h),j(document,"drop",w),{createView:c,openDialog:m,refresh:p,exclude:e,cleanCache:g,hasDialog:C,closeDialog:i,closeDialogs:V}}const rt=Vue.defineComponent({name:"XMask",__name:"Mask",props:ot,emits:["select","actionClick","actionCommand"],setup(o,{emit:t}){const e=o,n=t,u=jn(e),{collapsed:l,keyword:s,favorite:r}=In(),{menus:a,favorites:d,flatMenus:c,active:i,select:V,toggleFavorite:m}=Rn(e,n),{tabRef:p,showTabs:g,currentTab:h,changeTab:w,removeTab:C,tabs:b,updateTab:_,isCurrentTab:y,activeHome:x,removeAllTabs:f,removeOtherTabs:P,dropdownTabs:z,moveToShow:B}=On(e,n,c,i,u),{createView:S,openDialog:D,refresh:W,exclude:E,cleanCache:$,closeDialogs:T}=An({tabs:b,updateTab:_,isCurrentTab:y,activeHome:x}),le=async M=>{await C(M)&&await $([M])},re=async()=>{const M=await f();M&&(T(M),await $(M))},Be=async()=>{const M=await P();M&&(T(M),await $(M))},xe=M=>{n("actionClick",M)},vo=(M,U)=>{n("actionCommand",M,U)};return Vue.provide(ve,{tabs:b,flatMenus:c,favorites:d,updateTab:_,active:i,currentTab:h}),(M,U)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-mask",{"is-disabled":e.disabled}]),fit:""},{default:Vue.withCtx(()=>[e.disabled?(Vue.openBlock(),Vue.createBlock(ut,{key:1,createView:Vue.unref(S),exclude:Vue.unref(E)},{default:Vue.withCtx(()=>[M.$slots.default?Vue.renderSlot(M.$slots,"default",{key:0}):Vue.createCommentVNode("",!0)]),_:3},8,["createView","exclude"])):(Vue.openBlock(),Vue.createElementBlock(Vue.Fragment,{key:0},[Vue.createVNode(kn,{collapsed:Vue.unref(l)},{brand:Vue.withCtx(()=>[Vue.createVNode(Cn,{logo:e.logo,title:e.title,url:Vue.unref(u).url,collapsed:Vue.unref(l)},null,8,["logo","title","url","collapsed"])]),default:Vue.withCtx(()=>[Vue.createVNode(bn,{collasped:Vue.unref(l),"onUpdate:collasped":U[0]||(U[0]=q=>Vue.isRef(l)?l.value=q:null),favorite:Vue.unref(r),"onUpdate:favorite":U[1]||(U[1]=q=>Vue.isRef(r)?r.value=q:null),keyword:Vue.unref(s),"onUpdate:keyword":U[2]||(U[2]=q=>Vue.isRef(s)?s.value=q:null)},null,8,["collasped","favorite","keyword"]),Vue.createVNode(Bn,{collapse:Vue.unref(l),keyword:Vue.unref(s),favorite:Vue.unref(r),favorites:Vue.unref(d),flatMenus:Vue.unref(c),menus:Vue.unref(a),active:Vue.unref(i),onSelect:Vue.unref(V)},null,8,["collapse","keyword","favorite","favorites","flatMenus","menus","active","onSelect"])]),_:1},8,["collapsed"]),Vue.createVNode(Vue.unref(N),{class:"x-mask__main",grow:"",shrink:"",flex:"",direction:"column"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(N),{class:"x-mask-topbar",justify:"space-between",align:"center"},{default:Vue.withCtx(()=>[Vue.createVNode(zn,{ref_key:"tabRef",ref:p,favorites:Vue.unref(d),tabs:Vue.unref(g),home:Vue.unref(u),value:Vue.unref(h)?.id,onClick:Vue.unref(w),onToggleFavorite:Vue.unref(m),onRemove:le,onDialog:Vue.unref(D),onRefresh:Vue.unref(W)},null,8,["favorites","tabs","home","value","onClick","onToggleFavorite","onDialog","onRefresh"]),Vue.createVNode(Dn,{tabs:Vue.unref(z),actions:e.actions,theme:e.theme,onCloseOtherTabs:Be,onCloseAllTabs:re,onCloseTab:le,onClickTab:Vue.unref(B),onActionClick:xe,onActionCommand:vo},{default:Vue.withCtx(()=>[Vue.createVNode(Mn,{avatar:e.avatar},Vue.createSlots({_:2},[M.$slots.user?{name:"default",fn:Vue.withCtx(()=>[Vue.renderSlot(M.$slots,"user")]),key:"0"}:void 0]),1032,["avatar"])]),_:3},8,["tabs","actions","theme","onClickTab"])]),_:3}),Vue.createVNode(ut,{createView:Vue.unref(S),exclude:Vue.unref(E)},{default:Vue.withCtx(()=>[M.$slots.default?Vue.renderSlot(M.$slots,"default",{key:0}):Vue.createCommentVNode("",!0)]),_:3},8,["createView","exclude"])]),_:3})],64))]),_:3},8,["class"]))}});function Fn(o={}){const t=VueRouter.useRoute(),e=Vue.inject(ye,null),n=Vue.inject(ve,null);if(e){const l=typeof o=="function"?o:async()=>o;e[t.fullPath]=l}return{tab:Vue.computed(()=>n?n.tabs.value.find(l=>l.url===t.fullPath):null),mask:n}}const Ln=Vue.defineComponent({__name:"SelectEditor",props:{options:{default:()=>[]}},setup(o){const t=o;return(e,n)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElSelect),Vue.normalizeProps(Vue.guardReactiveProps(e.$attrs)),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(t.options,(u,l)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElOption),Vue.mergeProps({key:`item_${l}_${u.value}`},u),Vue.createSlots({_:2},[e.$slots.option?{name:"default",fn:Vue.withCtx(()=>[Vue.renderSlot(e.$slots,"option",{option:u})]),key:"0"}:void 0]),1040))),128))]),_:3},16))}}),Un=Vue.defineComponent({__name:"CheckboxEditor",props:{options:{default:()=>[]},button:{type:Boolean,default:!1}},setup(o){const t=o,e=Vue.computed(()=>Vue.markRaw(t.button?ElementPlus.ElCheckboxButton:ElementPlus.ElCheckbox));return(n,u)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElCheckboxGroup),Vue.normalizeProps(Vue.guardReactiveProps(n.$attrs)),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(t.options,(l,s)=>(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(e.value),{key:`item_${s}_${l.value}`,label:l.label,value:l.value},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},16))}}),Xn=Vue.defineComponent({__name:"RadioEditor",props:{options:{default:()=>[]},button:{type:Boolean,default:!1}},setup(o){const t=o,e=Vue.computed(()=>Vue.markRaw(t.button?ElementPlus.ElRadioButton:ElementPlus.ElRadio));return(n,u)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElRadioGroup),Vue.normalizeProps(Vue.guardReactiveProps(n.$attrs)),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(t.options,(l,s)=>(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(e.value),{key:`item_${s}_${l.value}`,label:l.label,value:l.value},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},16))}}),ke={none:{component:"div",props:{class:"x-field-none"}},text:{component:ElementPlus.ElInput,props:{clearable:!0},defaultValue:""},textarea:{component:ElementPlus.ElInput,props:{type:"textarea",rows:2},defaultValue:""},select:{component:Ln,props:{clearable:!0}},checkbox:{component:Un,props:{},defaultValue:[]},radio:{component:Xn,props:{}},number:{component:ElementPlus.ElInputNumber,props:{}},date:{component:ElementPlus.ElDatePicker,props:{}},time:{component:ElementPlus.ElTimePicker,props:{}},datetime:{component:ElementPlus.ElDatePicker,props:{type:"datetime"}},switch:{component:ElementPlus.ElSwitch,props:{}},rate:{component:ElementPlus.ElRate,props:{}},slider:{component:ElementPlus.ElSlider,props:{}},cascader:{component:ElementPlus.ElCascader,props:{}}},at={name:{type:String},label:{type:String},editor:{type:[String,Object],default:"text"},props:{type:Object},modelValue:{type:[String,Number,Boolean,Object,Array],default(o){return ke[o.editor]?.defaultValue}},size:{type:String},width:{type:[String,Number]},tooltipMessage:{type:[Boolean,Object],default:!0},tooltipPosition:{type:[String,Number],default:"outer"},placeholder:{type:String},disabled:{type:Boolean},readonly:{type:Boolean},options:{type:[Array,Function]},visible:{type:[Boolean,Object,Function],default:!0},cascader:{type:[String,Array]},error:{type:String},tip:{type:String},inline:{type:Boolean}};async function Hn(o,t){const e=o.options;return e?typeof e=="function"?await e(t)||[]:e:[]}function Wn(o,t,e,n,u){const l=Vue.ref([]),s=Vue.computed(()=>!n||!u?{}:VtjUtils.toArray(o.cascader).reduce((d,c)=>(d[c]=VtjUtils.get(u,c),d),{}));return Vue.watch(s,async a=>{if(e.value){l.value=await Hn(o,a);const d=n?.exposed?.reset;d&&o.name&&d(o.name)}},{immediate:!0}),{editor:Vue.computed(()=>{const{editor:a="text",placeholder:d,label:c="...",disabled:i,readonly:V}=o,m={...o.props,placeholder:d||(d===null?void 0:`请输入${c}`),disabled:i,readonly:V,options:l.value,onFocus:()=>t("focus"),onBlur:()=>t("blur"),onChange:g=>t("change",g)},p=typeof a=="string"?ke[a]:{component:a,props:{}};return VtjUtils.merge({},p,{props:m})})}}const Kn={key:1,class:"el-form-item__error"},Yn={key:0,class:"x-field__tip"},be=Vue.defineComponent({name:"XField",__name:"Field",props:at,emits:["update:modelValue","change","focus","blur"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.inject(we,null),s=Vue.inject(ElementPlus.formContextKey,null),r=Vue.inject(_e,null),a=Vue.computed(()=>!l?.proxy||!r?n.visible:typeof n.visible=="function"?n.visible(r):VtjUtils.isObject(n.visible)?Object.entries(n.visible).every(([P,z])=>VtjUtils.get(r,P)===z):n.visible),d=()=>l?.proxy&&r&&n.name?VtjUtils.get(r,n.name)??n.modelValue:n.modelValue,c=Vue.ref(d()),{editor:i}=Wn(n,u,a,l,r),V=Vue.ref(),m=Vue.ref(),p=Vue.computed(()=>n.size||s?.size||"default"),g=Vue.computed(()=>Object.assign({},l?.props.tooltipMessage||{},typeof n.tooltipMessage=="boolean"?{}:n.tooltipMessage)),h=(f="")=>n.error?n.error:f.includes("is required")?`${n.label||n.name}是必填项!`:f,w=Vue.computed(()=>{const f=l?.props.tooltipMessage??n.tooltipMessage;return{[`is-tooltip-${n.tooltipPosition}`]:!!f&&!!n.tooltipPosition}}),C=Vue.computed(()=>{const f=l?.proxy;return{width:n.width?R(n.width):f&&f.inline&&f.inlineColumns?`${100/f.inlineColumns}%`:null}}),b=Vue.computed(()=>({right:typeof n.tooltipPosition=="number"?`${n.tooltipPosition}px`:void 0})),_=Vue.computed(()=>({...i.value.props,modelValue:c.value,"onUpdate:modelValue":f=>{c.value=f}}));return Vue.watch(c,(f,P)=>{a.value&&!VtjUtils.isEqual(f,P)&&(u("update:modelValue",f),l?.proxy&&r&&n.name&&VtjUtils.set(r,n.name,f))}),Vue.watch(()=>!l?.proxy||!n.name||!r?n.modelValue:VtjUtils.get(r,n.name)??n.modelValue,f=>{a.value&&(c.value=f)},{immediate:!0}),Vue.watch(a,f=>{l?.proxy&&r&&n.name&&(f?(c.value=d(),VtjUtils.set(r,n.name,c.value)):(c.value=void 0,VtjUtils.set(r,n.name,void 0)))},{immediate:!0}),t({fieldValue:c,itemRef:V,editorRef:m,focus:()=>{m.value?.focus&&m.value.focus()},blur:()=>{m.value?.foucs&&m.value.blur()}}),(f,P)=>a.value?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElFormItem),Vue.mergeProps({key:0,class:["x-field",w.value],ref_key:"itemRef",ref:V,prop:n.name,label:f.label,size:p.value,style:C.value},f.$attrs),Vue.createSlots({error:Vue.withCtx(({error:z})=>[Vue.renderSlot(f.$slots,"error",{error:z},()=>[Vue.unref(l)?.props.tooltipMessage??n.tooltipMessage?(Vue.openBlock(),Vue.createElementBlock("div",{key:0,class:"x-field__info",style:Vue.normalizeStyle(b.value)},[Vue.createVNode(Vue.unref(ElementPlus.ElTooltip),Vue.mergeProps({content:h(z)},g.value),{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(F),{class:"x-field__trigger",icon:Vue.unref(VtjIcons.WarningFilled),size:p.value},null,8,["icon","size"])]),_:2},1040,["content"])],4)):(Vue.openBlock(),Vue.createElementBlock("div",Kn,Vue.toDisplayString(h(z)),1))])]),default:Vue.withCtx(()=>[Vue.createElementVNode("div",{class:Vue.normalizeClass(["x-field__editor_wrap",{"is-inline":n.inline}])},[Vue.renderSlot(f.$slots,"editor",{editor:_.value},()=>[Vue.unref(i).component?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(i).component),Vue.mergeProps({key:0,class:"x-field__editor",ref_key:"editorRef",ref:m,modelValue:c.value,"onUpdate:modelValue":P[0]||(P[0]=z=>c.value=z)},Vue.unref(i).props),Vue.createSlots({_:2},[f.$slots.option?{name:"option",fn:Vue.withCtx(({option:z})=>[Vue.renderSlot(f.$slots,"option",{option:z})]),key:"0"}:void 0]),1040,["modelValue"])):Vue.createCommentVNode("",!0)]),n.tip||f.$slots.tip?(Vue.openBlock(),Vue.createElementBlock("div",Yn,[Vue.renderSlot(f.$slots,"tip",{},()=>[Vue.createTextVNode(Vue.toDisplayString(n.tip),1)])])):Vue.createCommentVNode("",!0)],2),Vue.renderSlot(f.$slots,"default")]),_:2},[f.$slots.label?{name:"label",fn:Vue.withCtx(()=>[Vue.renderSlot(f.$slots,"label")]),key:"0"}:void 0]),1040,["prop","label","size","class","style"])):Vue.createCommentVNode("",!0)}}),st={model:{type:Object,default(){return Object.create(null)}},inline:{type:Boolean},inlineColumns:{type:Number},footer:{type:Boolean,default:!0},submitText:{type:String,default:"提交"},resetText:{type:String,default:"重置"},submitMethod:{type:Function},tooltipMessage:{type:[Object,Boolean],default:void 0}},we=Symbol("formInstanceKey"),_e=Symbol("formModelKey"),Ce=Vue.defineComponent({name:"XForm",__name:"Form",props:st,emits:["change","submit","reset"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.getCurrentInstance(),s=Vue.ref(),r=Vue.reactive(n.model||{}),a=Vue.ref(!1);Vue.provide(we,l),Vue.provide(_e,r),Vue.watch(()=>n.model,i=>{Object.assign(r,i)},{deep:!0}),Vue.watch(r,()=>{u("change",Vue.toRaw(r))});const d=async()=>{await s.value.validate().catch(()=>!1)&&(u("submit",Vue.toRaw(r)),n.submitMethod&&(a.value=!0,await n.submitMethod(Vue.toRaw(r)),a.value=!1))},c=i=>{s.value.resetFields(i),u("reset")};return t({formRef:s,model:r,submit:d,reset:c}),(i,V)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElForm),Vue.mergeProps({ref_key:"formRef",ref:s,class:"x-form",inline:n.inline,model:r,onKeyup:Vue.withKeys(d,["enter"]),onSubmit:V[1]||(V[1]=Vue.withModifiers(()=>{},["stop","prevent"]))},i.$attrs),{default:Vue.withCtx(()=>[Vue.renderSlot(i.$slots,"default"),n.footer?(Vue.openBlock(),Vue.createBlock(Vue.unref(be),{key:0,editor:"none",class:"x-form__footer",label:" "},{editor:Vue.withCtx(()=>[Vue.renderSlot(i.$slots,"footer",{},()=>[n.submitText?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),{key:0,loading:a.value,type:"primary",onClick:d},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(n.submitText),1)]),_:1},8,["loading"])):Vue.createCommentVNode("",!0),n.resetText?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),{key:1,type:"default",onClick:V[0]||(V[0]=()=>c())},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(n.resetText),1)]),_:1})):Vue.createCommentVNode("",!0),Vue.renderSlot(i.$slots,"action")])]),_:3})):Vue.createCommentVNode("",!0)]),_:3},16,["inline","model"]))}}),it={modelValue:{type:Boolean,default:!0},size:{type:String},formProps:{type:Object},submit:{type:[Boolean,String],default:"确定"},cancel:{type:[Boolean,String],default:"取消"},model:{type:Object,default(){return Object.create(null)}},rules:{type:Object},submitMethod:{type:Function}},ct=Vue.defineComponent({name:"XDialogForm",__name:"DialogForm",props:it,emits:["update:modelValue","submit","close"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.ref(),s=Vue.ref(),r=Vue.computed(()=>s.value?.$vtjEl),a=()=>{l.value?.submit()},d=()=>{u("update:modelValue",!1),u("close")},c=async m=>{u("submit",m),n.submitMethod?await n.submitMethod(m)&&d():d()},i=Vue.computed(()=>n.formProps?.disabled?!1:n.submit),V=Vue.computed(()=>n.formProps?.disabled?!1:n.cancel);return t({$vtjEl:r,formRef:l,dialogRef:s}),(m,p)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(te),Vue.mergeProps({ref_key:"dialogRef",ref:s,class:"x-dialog-form","model-value":n.modelValue,submit:i.value,cancel:V.value,size:n.size,onSubmit:a,onClose:d,minimizable:!1,maximizable:!1},m.$attrs),Vue.createSlots({default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(Ce),Vue.mergeProps({ref_key:"formRef",ref:l,class:"x-dialog-form__form",footer:!1,"label-width":"80px",size:n.size,model:n.model,rules:n.rules,"submit-method":c},n.formProps),{default:Vue.withCtx(()=>[Vue.renderSlot(m.$slots,"default")]),_:3},16,["size","model","rules"])]),_:2},[m.$slots.extra?{name:"extra",fn:Vue.withCtx(()=>[Vue.renderSlot(m.$slots,"extra")]),key:"0"}:void 0,m.$slots.handle?{name:"handle",fn:Vue.withCtx(()=>[Vue.renderSlot(m.$slots,"handle")]),key:"1"}:void 0,m.$slots.footer?{name:"footer",fn:Vue.withCtx(()=>[Vue.renderSlot(m.$slots,"footer")]),key:"2"}:void 0]),1040,["model-value","submit","cancel","size"]))}}),dt={items:{type:Array,default(){return[]}},border:{type:Boolean},fit:{type:Boolean},align:{type:String}},Jn={class:"x-tabs__label-inner"},Gn={key:0,class:"x-tabs__actions"},pt=Vue.defineComponent({name:"XTabs",__name:"Tabs",props:dt,emits:["actionClick","actionCommand"],setup(o,{emit:t}){const e=o,n=t,u=a=>{const{label:d,name:c,value:i,disabled:V,closable:m,lazy:p}=a;return{label:d,name:i??c,disabled:V,closable:m,lazy:p}},l=Vue.computed(()=>({"is-no-border":!e.border,"is-fit":!!e.fit,[`is-align-${e.align}`]:!!e.align})),s=a=>{n("actionClick",a)},r=a=>{n("actionCommand",a)};return(a,d)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElTabs),Vue.mergeProps({class:["x-tabs",l.value]},a.$attrs),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(e.items,c=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElTabPane),Vue.mergeProps({key:c.value??c.name},u(c)),{label:Vue.withCtx(()=>[Vue.renderSlot(a.$slots,"label",Vue.normalizeProps(Vue.guardReactiveProps(c)),()=>[c.icon?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(H)(c.icon)),{key:0,class:"x-tabs__icon"})):Vue.createCommentVNode("",!0),Vue.createElementVNode("div",Jn,[Vue.createTextVNode(Vue.toDisplayString(c.label)+" ",1),c.actions&&[c.name,c.value].includes(a.$attrs.modelValue)?(Vue.openBlock(),Vue.createElementBlock("div",Gn,[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(c.actions,i=>(Vue.openBlock(),Vue.createBlock(Vue.unref(O),Vue.mergeProps({mode:"icon",type:"primary",size:"small",circle:""},i,{onClick:s,onCommand:r}),null,16))),256))])):Vue.createCommentVNode("",!0)])])]),default:Vue.withCtx(()=>[Vue.renderSlot(a.$slots,"default",Vue.normalizeProps(Vue.guardReactiveProps(c)),()=>[c.component?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(c.component),Vue.normalizeProps(Vue.mergeProps({key:0},c.props)),null,16)):Vue.createCommentVNode("",!0)])]),_:2},1040))),128))]),_:3},16,["class"]))}}),Vt={direction:{type:String,default:"column"},imageSrc:{type:String},imageWidth:{type:[Number,String]},imageHeight:{type:[Number,String]},icon:{type:[String,Object]},title:{type:String},description:{type:String},actions:{type:Array},actionBarProps:{type:Object},split:{type:Boolean},onImageClick:{type:Function},onTitleClick:{type:Function}},qn={class:"x-data-item__title"},Qn={key:1,class:"x-data-item__section x-data-item__desc"},Zn={key:2,class:"x-data-item__section x-data-item__extra"},eo={key:3,class:"x-data-item__section x-data-item__actions"},mt=Vue.defineComponent({name:"XDataItem",__name:"DataItem",props:Vt,emits:["imageClick","titleClick","actionClick","actionCommand"],setup(o,{emit:t}){const e=o,n=t,u=Vue.computed(()=>{const{imageWidth:i,imageHeight:V}=e;return{width:i?R(i):void 0,height:V?R(V):void 0}}),l=Vue.computed(()=>({[`is-image-${e.direction}`]:!!e.direction,"is-split":!!e.split})),s=Vue.computed(()=>({size:"small",mode:"text",justify:"flex-end",type:"info",items:e.actions,...e.actionBarProps})),r=()=>n("imageClick"),a=()=>n("titleClick"),d=i=>n("actionClick",i),c=(i,V)=>n("actionCommand",i,V);return(i,V)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-data-item",l.value]),direction:e.direction},{default:Vue.withCtx(()=>[e.imageSrc||i.$slots.image?(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,class:"x-data-item__img",autoPointer:!0,onClick:e.onImageClick?r:void 0},{default:Vue.withCtx(()=>[Vue.renderSlot(i.$slots,"image",{},()=>[e.imageSrc?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElImage),{key:0,style:Vue.normalizeStyle(u.value),src:e.imageSrc},null,8,["style","src"])):Vue.createCommentVNode("",!0)])]),_:3},8,["onClick"])):Vue.createCommentVNode("",!0),Vue.createVNode(Vue.unref(N),{class:"x-data-item__content",direction:"column",grow:"",shrink:""},{default:Vue.withCtx(()=>[e.title||i.$slots.title?(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,class:"x-data-item__section x-data-item__wrapper",align:"center",autoPointer:!0,onClick:e.onTitleClick?a:void 0},{default:Vue.withCtx(()=>[e.icon?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(H)(e.icon)),{key:0,class:"x-data-item__icon"})):Vue.createCommentVNode("",!0),Vue.createElementVNode("span",qn,[Vue.renderSlot(i.$slots,"title",{},()=>[Vue.createTextVNode(Vue.toDisplayString(e.title),1)])])]),_:3},8,["onClick"])):Vue.createCommentVNode("",!0),e.description||i.$slots.description?(Vue.openBlock(),Vue.createElementBlock("div",Qn,[Vue.renderSlot(i.$slots,"description",{},()=>[Vue.createTextVNode(Vue.toDisplayString(e.description),1)])])):Vue.createCommentVNode("",!0),i.$slots.default?(Vue.openBlock(),Vue.createElementBlock("div",Zn,[Vue.renderSlot(i.$slots,"default")])):Vue.createCommentVNode("",!0),e.actions||e.actionBarProps||i.$slots.actions?(Vue.openBlock(),Vue.createElementBlock("div",eo,[Vue.renderSlot(i.$slots,"actions",{},()=>[Vue.createVNode(Vue.unref(G),Vue.mergeProps(s.value,{onClick:d,onCommand:c}),null,16)])])):Vue.createCommentVNode("",!0)]),_:3})]),_:3},8,["direction","class"]))}}),ft={option:{type:Object},width:{type:[Number,String],default:"100%"},height:{type:[Number,String],default:"400px"}};function to(){return Promise.resolve(echarts)}function no(o,t){const e=Vue.ref(),n=Vue.shallowRef();return Vue.onMounted(async()=>{n.value=await to();const u=Vue.unref(o);u&&(e.value||(e.value=Vue.markRaw(n.value.init(u))),e.value&&e.value.setOption(t.option||{}))}),Vue.onUnmounted(()=>{e.value&&e.value.dispose()}),Vue.watch(()=>t.option,u=>{e.value&&e.value.setOption(u||{})},{deep:!0}),Xe(o,VtjUtils.debounce(()=>{e.value&&e.value.resize()},150)),{echartsInstance:e,echarts:n}}const gt=Vue.defineComponent({name:"XChart",__name:"Chart",props:ft,setup(o,{expose:t}){const e=o,n=Vue.ref(),{echartsInstance:u,echarts:l}=no(n,e),s=Vue.computed(()=>({width:R(e.width),height:R(e.height)}));return t({chartRef:n,echartsInstance:u,echarts:l}),(r,a)=>(Vue.openBlock(),Vue.createElementBlock("div",{ref_key:"chartRef",ref:n,style:Vue.normalizeStyle(s.value)},null,4))}}),ht={data:{type:[Object,Function],default(){return[]}},itemHeight:{type:[Number,Function]},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:"100%"},pager:{type:[Boolean,Object]},page:{type:Number,default:1},pageSize:{type:Number,default:10},dataKey:{type:String},infiniteScroll:{type:[Boolean,Object]}},oo={key:0,class:"x-list__loading"},uo={key:1,class:"x-list__nomore"},lo={key:0,class:"x-list__loading"},ro={key:1,class:"x-list__nomore"},ao={key:1,class:"x-list__pager"},yt=Vue.defineComponent({name:"XList",__name:"List",props:ht,emits:["load"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.reactive({page:n.page,pageSize:n.pageSize});Vue.watchEffect(()=>{const{page:y,pageSize:x}=n;Object.assign(l,{page:y,pageSize:x})});const{data:s,loading:r}=$e(n.data,{list:[],total:0},l),a=Vue.computed(()=>Math.ceil((s.value.total||0)/l.pageSize)),d=Vue.ref(!1),c=Vue.ref(),i=Vue.computed(()=>({width:R(n.width),height:R(n.height)})),V=Vue.computed(()=>({"is-virtual":!!n.itemHeight})),m=Vue.computed(()=>{const y={};for(let[x,f]of Object.entries(ae(n.infiniteScroll)))y[`infinite-scroll-${x}`]=f;return(r.value||d.value)&&(y["infinite-scroll-disabled"]=!0),y}),p=Vue.computed(()=>ae(n.pager,{})),{list:g,containerProps:h,wrapperProps:w,scrollTo:C}=an(Vue.computed(()=>s.value.list),{itemHeight:n.itemHeight||0}),b=()=>{!n.infiniteScroll||d.value||(l.page<a.value?(++l.page,u("load",l)):d.value=!0)},_=y=>n.dataKey?y[n.dataKey]:void 0;return t({list:g,scrollTo:C,wrapperRef:c,loading:r,state:l,pageCount:a,nomore:d,data:s,getKey:_}),(y,x)=>(Vue.openBlock(),Vue.createElementBlock("div",{class:Vue.normalizeClass(["x-list",V.value]),style:Vue.normalizeStyle(i.value)},[!Vue.unref(s).total&&!Vue.unref(r)?Vue.renderSlot(y.$slots,"empty",{key:0},()=>[Vue.createVNode(Vue.unref(ElementPlus.ElEmpty))]):Vue.createCommentVNode("",!0),Vue.createElementVNode("div",Vue.mergeProps({class:"x-list__content"},Vue.unref(h)),[n.itemHeight?Vue.withDirectives((Vue.openBlock(),Vue.createElementBlock("div",Vue.mergeProps({key:0,class:"x-list__wrapper",ref_key:"wrapperRef",ref:c},{...Vue.unref(w),...m.value}),[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(Vue.unref(g),(f,P)=>Vue.renderSlot(y.$slots,"default",Vue.normalizeProps(Vue.mergeProps({key:_(f.data)},{item:f.data,index:P})),()=>[Vue.createElementVNode("div",null,Vue.toDisplayString(f),1)])),128)),Vue.unref(r)?(Vue.openBlock(),Vue.createElementBlock("div",oo,[Vue.renderSlot(y.$slots,"loading",{},()=>[Vue.createTextVNode(" 正在加载数据... ")])])):Vue.createCommentVNode("",!0),d.value?(Vue.openBlock(),Vue.createElementBlock("div",uo,[Vue.renderSlot(y.$slots,"nomore",{},()=>[Vue.createTextVNode(" 没有更多数据 ")])])):Vue.createCommentVNode("",!0)],16)),[[Vue.unref(ElementPlus.ElInfiniteScroll),b]]):Vue.withDirectives((Vue.openBlock(),Vue.createElementBlock("div",Vue.mergeProps({key:1,class:"x-list__wrapper"},m.value),[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(Vue.unref(s).list,(f,P)=>Vue.renderSlot(y.$slots,"default",Vue.normalizeProps(Vue.mergeProps({key:_(f)},{item:f,index:P})),()=>[Vue.createElementVNode("div",null,Vue.toDisplayString(f),1)])),128)),Vue.unref(r)?(Vue.openBlock(),Vue.createElementBlock("div",lo,[Vue.renderSlot(y.$slots,"loading",{},()=>[Vue.createTextVNode(" 正在加载数据... ")])])):Vue.createCommentVNode("",!0),d.value?(Vue.openBlock(),Vue.createElementBlock("div",ro,[Vue.renderSlot(y.$slots,"nomore",{},()=>[Vue.createTextVNode(" 没有更多数据 ")])])):Vue.createCommentVNode("",!0)],16)),[[Vue.unref(ElementPlus.ElInfiniteScroll),b]])],16),n.pager?(Vue.openBlock(),Vue.createElementBlock("div",ao,[Vue.createVNode(Vue.unref(ElementPlus.ElPagination),Vue.mergeProps({small:"",background:"",layout:"prev, pager, next",total:Vue.unref(s).total,"default-page-size":n.pageSize,"default-current-page":n.page,"current-page":l.page,"onUpdate:currentPage":x[0]||(x[0]=f=>l.page=f),"page-size":l.pageSize,"onUpdate:pageSize":x[1]||(x[1]=f=>l.pageSize=f)},p.value),null,16,["total","default-page-size","default-current-page","current-page","page-size"])])):Vue.createCommentVNode("",!0)],6))}}),vt={name:{type:String,default:"VTJ.PRO"},tagline:{type:String,default:"基于 Vue3 + TypeScript 快速打造高生产力的低代码研发平台"},actionText:{type:String,default:"开始设计"},actionLink:{type:String,default:"/@vtj/pro/"}},so={class:"x-startup"},io={class:"x-startup__wrapper"},co={class:"x-startup__name"},po={class:"clip"},Vo={class:"x-startup__tagline"},mo={class:"x-startup__actions"},kt=Vue.defineComponent({__name:"Startup",props:vt,setup(o){const t=o,e=()=>{if(typeof window<"u"){let u=(window.__VTJ_LINK__||{}).href||window.location.pathname+"@vtj/pro/#/";window.location.href=u}};return(n,u)=>(Vue.openBlock(),Vue.createElementBlock("div",so,[Vue.createElementVNode("div",io,[Vue.createElementVNode("div",co,[Vue.createElementVNode("span",po,Vue.toDisplayString(t.name),1)]),Vue.createElementVNode("div",Vo,Vue.toDisplayString(t.tagline),1),Vue.createElementVNode("div",mo,[Vue.createVNode(Vue.unref(ElementPlus.ElButton),{type:"primary",size:"large",round:"",icon:Vue.unref(VtjIcons.EditPen),onClick:e},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(t.actionText),1)]),_:1},8,["icon"])])])]))}}),bt={stringProp:{type:String},booleanProp:{type:Boolean},numberProp:{type:Number},selectProp:{type:String},objectProp:{type:Object},arrayProp:{type:Array},iconProp:{type:String},colorProp:{type:String},modelValue:{type:String},syncProp:{type:String}},fo={class:"x-test__slot"},go={class:"x-test__slot"},wt=Vue.defineComponent({name:"XTest",__name:"Test",props:bt,emits:["click","submit","change","update:modelValue","update:syncProp"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.computed(()=>Object.entries(n)),s=Vue.computed({get(){return n.modelValue},set(m){u("update:modelValue",m)}}),r=Vue.computed({get(){return n.syncProp},set(m){u("update:syncProp",m)}}),a=Vue.ref("default inner data"),d=()=>{ElementPlus.ElMessage.info({message:"触发click事件"}),u("click",n)},c=()=>{ElementPlus.ElMessage.info({message:"触发submit事件"}),u("submit",n)},i=m=>{a.value=m,u("change",a.value)},V=()=>{i("user click change:"+Date.now())};return t({click:d,submit:c,data:a,change:i}),(m,p)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(K),{class:"x-test",header:"VTJ 低代码测试组件",border:""},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("内部数据")]),_:1}),Vue.createVNode(Vue.unref(N),null,{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(a.value),1)]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("属性")]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDescriptions),{column:3,border:""},{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(l.value,([g,h])=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElDescriptionsItem),{label:g},{default:Vue.withCtx(()=>[Vue.createElementVNode("pre",null,Vue.toDisplayString(JSON.stringify(h,null,2)),1)]),_:2},1032,["label"]))),256))]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("插槽")]),_:1}),Vue.createVNode(Vue.unref(N),{justify:"space-around",flex:"",gap:""},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(K),{header:"default",grow:"",card:""},{default:Vue.withCtx(()=>[Vue.createElementVNode("div",fo,[Vue.renderSlot(m.$slots,"default",{props:n,data:a.value},()=>[Vue.createElementVNode("pre",null,Vue.toDisplayString(JSON.stringify({props:n,data:a.value},null,2)),1)])])]),_:3}),Vue.createVNode(Vue.unref(K),{header:"extra",grow:"",card:""},{default:Vue.withCtx(()=>[Vue.createElementVNode("div",go,[Vue.renderSlot(m.$slots,"extra",{props:n,data:a.value},()=>[Vue.createElementVNode("pre",null,Vue.toDisplayString(JSON.stringify({props:n,data:a.value},null,2)),1)])])]),_:3})]),_:3}),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("双向绑定")]),_:1}),Vue.createVNode(Vue.unref(N),null,{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElDescriptions),{column:2,border:""},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElDescriptionsItem),{label:"modelValue"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElInput),{modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=g=>s.value=g)},null,8,["modelValue"])]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDescriptionsItem),{label:"syncProp"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElInput),{modelValue:r.value,"onUpdate:modelValue":p[1]||(p[1]=g=>r.value=g)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("事件和方法")]),_:1}),Vue.createVNode(Vue.unref(N),null,{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElButton),{onClick:d},{default:Vue.withCtx(()=>[Vue.createTextVNode("click")]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElButton),{onClick:c},{default:Vue.withCtx(()=>[Vue.createTextVNode("submit")]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElButton),{onClick:V},{default:Vue.withCtx(()=>[Vue.createTextVNode("change")]),_:1})]),_:1})]),_:3}))}}),_t={units:{type:[String,Object,Array]},unit:{type:String},appendWidth:{type:Number,default:100},withUnit:{type:Boolean,default:!0},format:{type:String},modelValue:{type:[String,Number]},selectProps:{type:Object}},Ct=Vue.defineComponent({name:"XInputUnit",__name:"InputUnit",props:_t,emits:["update:modelValue","update:unit","change","unit-change"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.computed(()=>VtjUtils.toArray(n.units).map(g=>typeof g=="string"?{label:g,value:g}:g)),s=Vue.computed(()=>{const p=l.value.map(g=>g.value);return n.unit&&p.push(n.unit),VtjUtils.dedupArray(p)}),r=Vue.ref(),a=Vue.ref(),d=p=>n.format&&p?VtjUtils.numberFormat(Number(p)||0,n.format):p,c=p=>{if(!n.withUnit||typeof p!="string")return{value:d(p),unit:n.unit};for(const g of s.value){const h=new RegExp(`${g}$`);if(h.test(p))return{value:d(p.toString().replace(h,"")),unit:g}}return{value:d(p),unit:n.unit}},i=()=>{const p=d(a.value),g=r.value;return n.withUnit&&p&&g?`${p}${g}`:p};Vue.watch(()=>n.modelValue,p=>{const{value:g,unit:h}=c(p);r.value=h,a.value=g},{immediate:!0}),Vue.watch(a,p=>{u("change",p)});const V=async()=>{const{value:p,unit:g}=c(i());a.value=p,r.value=g,u("update:modelValue",i())},m=()=>{u("unit-change",r.value),V()};return t({parser:c,formatValue:d}),(p,g)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElInput),{modelValue:a.value,"onUpdate:modelValue":g[1]||(g[1]=h=>a.value=h),modelModifiers:{trim:!0},class:"x-input-unit",onChange:V},Vue.createSlots({_:2},[l.value.length?{name:"append",fn:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElSelect),Vue.mergeProps({class:"x-input-unit__unit",modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=h=>r.value=h),size:p.$attrs.size,style:{width:`${n.appendWidth}px`}},p.$props.selectProps,{onChange:m}),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(l.value,h=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElOption),{key:h.value,label:h.label,value:h.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","size","style"])]),key:"0"}:{name:"suffix",fn:Vue.withCtx(()=>[r.value?(Vue.openBlock(),Vue.createElementBlock("div",{key:0,class:"x-input-unit__unit"},[Vue.createElementVNode("span",null,Vue.toDisplayString(r.value),1)])):Vue.createCommentVNode("",!0)]),key:"1"}]),1032,["modelValue"]))}}),ho=[F,X,O,G,N,ce,K,te,rt,be,Ce,ct,pt,mt,gt,yt,kt,wt,Ct],{install:yo}=Pe(ho);k.Draggable=me,k.INSTALLED_KEY=se,k.MASK_KEY=ve,k.Resizable=ge,k.TAB_CREATORS_KEY=ye,k.TAB_ITEM_WIDTH=nt,k.VTJ_UI_VERSION=Bt,k.XAction=O,k.XActionBar=G,k.XChart=gt,k.XContainer=N,k.XDataItem=mt,k.XDialog=te,k.XDialogForm=ct,k.XField=be,k.XForm=Ce,k.XHeader=ce,k.XIcon=F,k.XInputUnit=Ct,k.XList=yt,k.XMask=rt,k.XMenu=X,k.XPanel=K,k.XStartup=kt,k.XTabs=pt,k.XTest=wt,k.actionBarProps=Te,k.actionProps=ie,k.builtinFieldEditors=ke,k.chartProps=ft,k.containerProps=De,k.createDialog=ne,k.dataItemProps=Vt,k.defineTab=Fn,k.dialogFormProps=it,k.dialogProps=tt,k.fieldProps=at,k.formInstanceKey=we,k.formModelKey=_e,k.formProps=st,k.getSizeValue=R,k.headerProps=Me,k.iconProps=Ee,k.iconSizeMap=Se,k.inputUnitProps=_t,k.install=yo,k.listProps=ht,k.makeInstaller=Pe,k.maskProps=ot,k.panelProps=Ie,k.parseSize=J,k.startupProps=vt,k.tabsProps=dt,k.testProps=bt,k.toObjectProps=ae,k.useDisabled=Q,k.useIcon=H,k.useIconProps=ze,k.useLoader=$e,k.vDraggable=et,k.vResizable=he,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
7
+ */const Pt="0.7.34",Ee={default:14,small:12,large:18},Pe={icon:{type:[String,Object]},color:{type:String},size:{type:[Number,String],default:"inherit"},src:{type:String},background:{type:String},padding:{type:Number},radius:{type:Number}};function R(o){return typeof o=="string"?o:`${o}px`}function J(o=0,t){if(typeof o=="number")return o;if(/(%|vh|vw)$/i.test(o)){const n=Number.parseInt(o);return Math.floor(t*n/100)}return Number.parseInt(o)}function se(o,t={}){const e={...t};return typeof o=="boolean"?e:Object.assign(e,o||{})}const ie=Symbol("INSTALLED_KEY"),Q=Symbol("ADAPTER_KEY");function Ne(){return Vue.inject(Q,{})}const Nt={install(o,t={}){o.provide(Q,t)}},ze=(o=[])=>({install:(e,n={})=>{e[ie]||(e[ie]=!0,o.forEach(u=>{u.name&&e.component(u.name,u)}),n.adapter&&e.provide(Q,n.adapter))}}),zt=["src"],F=Vue.defineComponent({name:"XIcon",__name:"Icon",props:Pe,setup(o){const t=o,e=Vue.useAttrs(),n=Vue.getCurrentInstance(),u=Vue.computed(()=>{if(!t.icon)return null;const a=n?.appContext.app;return typeof t.icon=="object"?Vue.markRaw(t.icon):a?.component(t.icon)||t.icon}),l=Vue.computed(()=>{const a={"is-pointer":!!e.onClick};return!u.value&&t.icon&&(a[t.icon]=!0),a}),s=Vue.computed(()=>({"background-color":t.background,"border-radius":t.radius?R(t.radius):void 0,padding:t.padding?R(t.padding):void 0})),r=Vue.computed(()=>typeof t.size=="number"?t.size:Ee[t.size]??void 0);return(a,d)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElIcon),{class:Vue.normalizeClass(["x-icon",l.value]),color:t.color,size:r.value,style:Vue.normalizeStyle(s.value)},{default:Vue.withCtx(()=>[Vue.renderSlot(a.$slots,"default",{},()=>[u.value?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(u.value),{key:0})):Vue.createCommentVNode("",!0),t.src?(Vue.openBlock(),Vue.createElementBlock("img",{key:1,src:t.src},null,8,zt)):Vue.createCommentVNode("",!0)])]),_:3},8,["class","color","size","style"]))}}),$t={class:"x-menu__wrapper"},Tt={key:1,class:"x-menu__title"},Dt=Vue.createElementVNode("i",null,null,-1),Mt={key:0,class:"x-menu__title"},It=Vue.createElementVNode("i",null,null,-1),$e=Vue.defineComponent({inheritAttrs:!1,name:"XMenuItem",__name:"MenuItem",props:{item:{},subMenu:{},defaultIcon:{}},setup(o){const t=o,e=Vue.getCurrentInstance(),n=s=>{if(s)return typeof s=="string"&&(e?.appContext.app?.component(s)||t.defaultIcon)||s},u=s=>typeof s=="object"?s:{value:s},l=(s=[])=>s.filter(r=>!r.hidden);return(s,r)=>t.item.children?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElSubMenu),Vue.mergeProps({key:0,disabled:t.item.disabled},t.subMenu,{index:String(t.item.id)}),{title:Vue.withCtx(()=>[Vue.createElementVNode("div",$t,[t.item.icon?(Vue.openBlock(),Vue.createBlock(Vue.unref(F),{key:0,icon:n(t.item.icon)},null,8,["icon"])):Vue.createCommentVNode("",!0),t.item.title?(Vue.openBlock(),Vue.createElementBlock("span",Tt,Vue.toDisplayString(t.item.title),1)):Vue.createCommentVNode("",!0),t.item.badge?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElBadge),Vue.mergeProps({key:2,class:"x-menu__badge"},u(t.item.badge)),{default:Vue.withCtx(()=>[Dt]),_:1},16)):Vue.createCommentVNode("",!0)])]),default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(l(t.item.children),a=>(Vue.openBlock(),Vue.createBlock(Vue.unref($e),{key:a.id,item:a,subMenu:t.subMenu,defaultIcon:t.defaultIcon},null,8,["item","subMenu","defaultIcon"]))),128))]),_:1},16,["disabled","index"])):(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElMenuItem),{key:1,index:String(t.item.id),disabled:t.item.disabled},{title:Vue.withCtx(()=>[t.item.title?(Vue.openBlock(),Vue.createElementBlock("span",Mt,Vue.toDisplayString(t.item.title),1)):Vue.createCommentVNode("",!0),t.item.badge?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElBadge),Vue.mergeProps({key:1,class:"x-menu__badge"},u(t.item.badge)),{default:Vue.withCtx(()=>[It]),_:1},16)):Vue.createCommentVNode("",!0)]),default:Vue.withCtx(()=>[t.item.icon?(Vue.openBlock(),Vue.createBlock(Vue.unref(F),{key:0,icon:n(t.item.icon)},null,8,["icon"])):Vue.createCommentVNode("",!0)]),_:1},8,["index","disabled"]))}}),X=Vue.defineComponent({inheritAttrs:!1,name:"XMenu",__name:"Menu",props:{data:{default:()=>[]},subMenu:{},defaultIcon:{}},emits:["select"],setup(o,{emit:t}){const e=o,n=t,u=Vue.computed(()=>e.data.filter(r=>!r.hidden)),l=(r,a)=>{const d=(c,i=[])=>{for(const m of i){if(m.id.toString()===c.toString())return m;if(m.children?.length){const p=d(c,m.children);if(p)return p}}};return d(a,r)},s=r=>{const a=l(u.value,r);a&&n("select",a)};return(r,a)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElMenu),Vue.mergeProps({class:"x-menu"},r.$attrs,{onSelect:s}),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(u.value,d=>(Vue.openBlock(),Vue.createBlock(Vue.unref($e),{item:{...d,icon:d.icon},defaultIcon:e.defaultIcon,subMenu:e.subMenu},null,8,["item","defaultIcon","subMenu"]))),256))]),_:1},16))}}),ce={name:{type:String},label:{type:String},value:{type:[String,Number,Object,Array,Boolean]},icon:{type:[String,Object]},mode:{type:String,default:"button"},menus:{type:Array},tooltip:{type:[String,Object]},badge:{type:[String,Number,Object]},dropdown:{type:Object},button:{type:Object},disabled:{type:[Boolean,Function]},size:{type:String,default:"default"},type:{type:String,default:"primary"},background:{type:String,default:"always"},circle:{type:Boolean}};function jt(o){return Vue.computed(()=>{const t=o.tooltip;if(t)return typeof t=="string"?{content:t}:t})}function Rt(o){return Vue.computed(()=>{const t=o.badge;if(t)return typeof t=="object"?t:{value:t}})}function Ot(o){return Vue.computed(()=>{const{dropdown:t,menus:e}=o;if(e&&e.length>0)return Object.assign({popperClass:"x-action__menus",size:o.size},t||{})})}function Te(o){const t=Vue.getCurrentInstance();return Vue.computed(()=>{const e=Vue.unref(o);if(e)if(typeof e=="string"||e.setup||e.render||Vue.isVNode(e)){const n=t?.appContext.app;return{icon:typeof e=="string"&&n?.component(e)||e}}else return e;return null})}function H(o){const t=Te(o);return t.value?Vue.markRaw(Vue.defineComponent({render:()=>Vue.h(F,t.value)})):void 0}function Z(o,t){return Vue.computed(()=>{const e=Vue.unref(o);return typeof e=="function"?e(t):!!e})}function De(o,t,e){const n=Vue.shallowRef(t),u=Vue.ref(!1),l=async r=>{const a=Vue.unref(o);return a?typeof a=="function"?await a(r):a:t},s=async r=>(u.value=!0,await l(r).then(a=>(n.value=a||t,u.value=!1,Vue.unref(n))));return Vue.watch(()=>o,()=>{s(e)},{immediate:!0}),e&&Vue.watch(e,()=>{s(e)}),{data:n,loading:u,loader:s}}const At={key:0},Ft=Vue.defineComponent({__name:"Trigger",props:ce,emits:["click"],setup(o,{emit:t}){const e=o,n=t,u=H(Vue.toRef(e,"icon")),l=Z(Vue.toRef(e,"disabled")),s=Vue.computed(()=>({[`is-${e.mode}`]:!!e.mode,[`is-${e.type}`]:!!e.type,[`is-${e.size}`]:!!e.size&&e.size!=="default",[`is-background-${e.background}`]:e.mode==="icon"&&!!e.background,"is-disabled":!!e.disabled,"is-circle":!!e.circle})),r=a=>{if(a.preventDefault(),!l.value)return n("click"),!1};return(a,d)=>e.mode==="button"?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),Vue.mergeProps({key:0,icon:Vue.unref(u),type:e.type,size:e.size,disabled:Vue.unref(l)},e.button,{onClick:r}),{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(a.label),1)]),_:1},16,["icon","type","size","disabled"])):(Vue.openBlock(),Vue.createElementBlock("div",{key:1,class:Vue.normalizeClass(["x-action__inner",s.value]),onClick:r},[(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(u)))),a.label?(Vue.openBlock(),Vue.createElementBlock("span",At,Vue.toDisplayString(a.label),1)):Vue.createCommentVNode("",!0)],2))}}),O=Vue.defineComponent({name:"XAction",__name:"Action",props:ce,emits:["click","command"],setup(o,{emit:t}){const e=o,n=Vue.useSlots(),u=t,l=jt(e),s=Rt(e),r=Ot(e),a=Z(Vue.toRef(e,"disabled")),d=Vue.computed(()=>({[`x-action--${e.mode}`]:!!e.mode})),c=()=>{a.value||u("click",Vue.toRaw(e))},i=h=>{if(a.value)return;const w=e.menus?.find(C=>C.command===h);w&&u("command",Vue.toRaw(w))},m=h=>Vue.h(ElementPlus.ElBadge,s.value,()=>[].concat(h)),p=h=>Vue.h(ElementPlus.ElDropdown,{...r.value,disabled:a.value,onCommand:i},{default:()=>[h],dropdown:()=>[Vue.h(ElementPlus.ElDropdownMenu,()=>(e.menus||[]).map((w,C)=>Vue.h(ElementPlus.ElDropdownItem,w,()=>n.item?n.item({item:w,index:C}):w.label)))]}),V=h=>Vue.h(ElementPlus.ElTooltip,{...l.value,disabled:a.value},()=>[h]),g=Vue.computed(()=>{let h=Vue.h(Vue.markRaw(Ft),{...e,onClick:c});const w=n.default?.();return w&&w.length&&(h=w[0]),s.value&&(h=m(h)),r.value&&(h=p(h)),l.value&&(h=V(h)),h});return(h,w)=>(Vue.openBlock(),Vue.createElementBlock("div",{class:Vue.normalizeClass(["x-action",d.value])},[(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(g.value)))],2))}}),Me={items:{type:Array},mode:{type:String,default:"button"},size:{type:String,default:"default"},type:{type:String,default:"primary"},background:{type:String,default:"always"},circle:{type:Boolean},disabled:{type:[Boolean,Function]},tooltip:{type:Object},badge:{type:Object},dropdown:{type:Object},button:{type:Object}},G=Vue.defineComponent({name:"XActionBar",__name:"ActionBar",props:Me,emits:["click","command"],setup(o,{emit:t}){const e=o,n=t,u=Vue.computed(()=>(e.items||[]).map(r=>r==="|"?r:{...r,badge:r.badge?{...e.badge,...typeof r.badge=="object"?r.badge||{}:{value:r.badge}}:void 0,tooltip:r.tooltip?{...e.tooltip,...typeof r.tooltip=="object"?r.tooltip||{}:{content:r.tooltip}}:void 0})),l=r=>{n("click",r)},s=(r,a)=>{n("command",r,a)};return(r,a)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:"x-action-bar",align:"center"},{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(u.value,d=>(Vue.openBlock(),Vue.createElementBlock(Vue.Fragment,null,[d==="|"?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElDivider),{key:0,direction:"vertical",class:"x-action-bar__divider"})):(Vue.openBlock(),Vue.createBlock(Vue.unref(O),Vue.mergeProps({key:1,mode:e.mode,size:e.size,type:e.type,circle:e.circle,background:e.background,button:e.button,dropdown:e.dropdown,disabled:Vue.unref(Z)(e.disabled,d).value},d,{onClick:l,onCommand:c=>s(d,c)}),null,16,["mode","size","type","circle","background","button","dropdown","disabled","onCommand"]))],64))),256))]),_:1}))}}),Ie={tag:{type:String,default:"div"},fit:{type:Boolean,default:!1},width:{type:[String,Number]},height:{type:[String,Number]},flex:{type:Boolean,default:!0},inline:{type:Boolean},direction:{type:String,default:"row"},wrap:{type:String,default:"nowrap"},justify:{type:String,default:"flex-start"},align:{type:String,default:"flex-start"},alignContent:{type:String,default:"stretch"},grow:{type:Boolean,default:!1},shrink:{type:Boolean,default:!1},alignSelf:{type:String,default:"auto"},overflow:{type:String},padding:{type:Boolean,default:!1},gap:{type:Boolean},autoPointer:{type:Boolean}},N=Vue.defineComponent({name:"XContainer",__name:"Container",props:Ie,setup(o){const t=o,e=Vue.useAttrs(),n=Vue.getCurrentInstance(),u=Vue.computed(()=>{const r=n?.parent;if(!r)return!1;const a=r.proxy;return a.$options.name==="XContainer"||!!a.flex}),l=Vue.computed(()=>({"is-fit":t.fit,"is-flex":t.flex&&!t.inline,"is-inline-flex":t.flex&&t.inline,[`is-direction-${t.direction}`]:t.flex&&t.direction!=="row",[`is-wrap-${t.wrap}`]:t.flex&&t.wrap!=="nowrap",[`is-justify-${t.justify}`]:t.flex&&t.justify!=="flex-start",[`is-align-${t.align}`]:t.flex&&t.align!=="flex-start",[`is-align-content-${t.alignContent}`]:t.flex&&t.alignContent!=="stretch","is-grow":t.grow??u.value,"is-shrink":t.shrink,[`is-align-self-${t.alignSelf}`]:u.value&&t.alignSelf!=="auto",[`is-overflow-${t.overflow}`]:!!t.overflow,"is-padding":!!t.padding,"is-pointer":t.autoPointer&&!!e.onClick,"is-gap":!!t.gap})),s=Vue.computed(()=>{const{width:r,height:a,fit:d}=t;return d?null:{width:r?R(r):void 0,height:a?R(a):void 0}});return(r,a)=>(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(t.tag),{class:Vue.normalizeClass(["x-container",l.value]),style:Vue.normalizeStyle(s.value)},{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"default")]),_:3},8,["class","style"]))}}),je={size:{type:String,default:"default"},content:{type:String,default:""},subtitle:{type:String},icon:{type:[String,Object]},border:{type:Boolean},more:{type:Boolean}},Lt={class:"x-header__content"},Ut={key:0,class:"x-header__actions"},de=Vue.defineComponent({name:"XHeader",inheritAttrs:!1,__name:"Header",props:je,setup(o){const t=o,e=H(Vue.toRef(t,"icon")),n=Vue.useAttrs(),u=Vue.computed(()=>({[`is-size-${t.size}`]:!!t.size&&t.size!=="default","is-border":t.border,"is-pointer":!!n.onClick}));return(l,s)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-header",u.value]),justify:"space-between",align:"center"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(N),{align:"center",class:Vue.normalizeClass(["x-header__wrapper",u.value]),grow:"",onClick:Vue.unref(n).onClick},{default:Vue.withCtx(()=>[Vue.unref(e)?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(e)),{key:0,class:"x-header__icon",onClick:Vue.unref(n).onClickIcon||Vue.unref(n).onClick},null,8,["onClick"])):Vue.createCommentVNode("",!0),Vue.createElementVNode("span",Lt,[Vue.renderSlot(l.$slots,"default",{},()=>[Vue.createTextVNode(Vue.toDisplayString(t.content),1)])]),t.more?(Vue.openBlock(),Vue.createBlock(Vue.unref(F),{key:1,class:"x-header__more",icon:Vue.unref(VtjIcons.ArrowRight)},null,8,["icon"])):Vue.createCommentVNode("",!0),t.subtitle||l.$slots.subtitle?(Vue.openBlock(),Vue.createElementBlock("span",{key:2,class:"x-header__subtitle",onClick:s[0]||(s[0]=(...r)=>Vue.unref(n).onClick&&Vue.unref(n).onClick(...r))},[Vue.renderSlot(l.$slots,"subtitle",{},()=>[Vue.createTextVNode(Vue.toDisplayString(t.subtitle),1)])])):Vue.createCommentVNode("",!0)]),_:3},8,["class","onClick"]),l.$slots.actions?(Vue.openBlock(),Vue.createElementBlock("div",Ut,[Vue.renderSlot(l.$slots,"actions")])):Vue.createCommentVNode("",!0)]),_:3},8,["class"]))}}),Re={fit:{type:Boolean,default:!1},width:{type:[String,Number]},height:{type:[String,Number]},border:{type:Boolean,default:!0},radius:{type:Boolean,default:!0},card:{type:Boolean},size:{type:String},shadow:{type:String},header:{type:[String,Object]},body:{type:Object},footer:{type:Object}},W=Vue.defineComponent({name:"XPanel",__name:"Panel",props:Re,setup(o,{expose:t}){const e=o,n=Vue.ref(),u=Vue.computed(()=>({"x-panel--card":!!e.card,"x-panel--default":!e.card,[`is-${e.size}`]:!!e.size&&e.size!=="default","is-border":!!e.border,"is-radius":!!e.radius,[`is-shadow-${e.shadow}`]:!!e.shadow&&e.shadow!=="none"})),l=Vue.computed(()=>e.header===null?null:typeof e.header=="string"?{content:e.header,size:e.size}:{...e.header,size:e.size}),s=Vue.computed(()=>e.fit||e.height?"auto":void 0);return t({bodyRef:n}),(r,a)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-panel",u.value]),direction:"column",fit:e.fit,width:e.width,height:e.height},{default:Vue.withCtx(()=>[l.value?(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,flex:!1,class:"x-panel__header"},{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"header",{},()=>[Vue.createVNode(Vue.unref(de),Vue.normalizeProps(Vue.guardReactiveProps(l.value)),{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"title")]),actions:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"actions")]),_:3},16)])]),_:3})):Vue.createCommentVNode("",!0),Vue.createVNode(Vue.unref(N),Vue.mergeProps({ref_key:"bodyRef",ref:n,flex:!1,overflow:s.value,grow:"",padding:"",class:"x-panel__body"},e.body),{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"default")]),_:3},16,["overflow"]),r.$slots.footer?(Vue.openBlock(),Vue.createBlock(Vue.unref(N),Vue.mergeProps({key:1,flex:!1,padding:"",class:"x-panel__footer"},e.footer),{default:Vue.withCtx(()=>[Vue.renderSlot(r.$slots,"footer")]),_:3},16)):Vue.createCommentVNode("",!0)]),_:3},8,["class","fit","width","height"]))}});Vue;function pe(o){return k.getCurrentScope()?(k.onScopeDispose(o),!0):!1}function I(o){return typeof o=="function"?o():k.unref(o)}const Oe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Xt=Object.prototype.toString,Ht=o=>Xt.call(o)==="[object Object]",Ae=()=>{};function Kt(o,t){function e(...n){return new Promise((u,l)=>{Promise.resolve(o(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(u).catch(l)})}return e}const Fe=o=>o();function Wt(o=Fe){const t=k.ref(!0);function e(){t.value=!1}function n(){t.value=!0}const u=(...l)=>{t.value&&o(...l)};return{isActive:k.readonly(t),pause:e,resume:n,eventFilter:u}}function Yt(o){return o||k.getCurrentInstance()}function Jt(...o){if(o.length!==1)return k.toRef(...o);const t=o[0];return typeof t=="function"?k.readonly(k.customRef(()=>({get:t,set:Ae}))):k.ref(t)}function Gt(o,t,e={}){const{eventFilter:n=Fe,...u}=e;return k.watch(o,Kt(n,t),u)}function qt(o,t,e={}){const{eventFilter:n,...u}=e,{eventFilter:l,pause:s,resume:r,isActive:a}=Wt(n);return{stop:Gt(o,t,{...u,eventFilter:l}),pause:s,resume:r,isActive:a}}function Qt(o,t={}){if(!k.isRef(o))return k.toRefs(o);const e=Array.isArray(o.value)?Array.from({length:o.value.length}):{};for(const n in o.value)e[n]=k.customRef(()=>({get(){return o.value[n]},set(u){var l;if((l=I(t.replaceRef))!=null?l:!0)if(Array.isArray(o.value)){const r=[...o.value];r[n]=u,o.value=r}else{const r={...o.value,[n]:u};Object.setPrototypeOf(r,Object.getPrototypeOf(o.value)),o.value=r}else o.value[n]=u}}));return e}function Ve(o,t=!0,e){Yt()?k.onMounted(o,e):t?o():k.nextTick(o)}function L(o){var t;const e=I(o);return(t=e?.$el)!=null?t:e}const A=Oe?window:void 0;function j(...o){let t,e,n,u;if(typeof o[0]=="string"||Array.isArray(o[0])?([e,n,u]=o,t=A):[t,e,n,u]=o,!t)return Ae;Array.isArray(e)||(e=[e]),Array.isArray(n)||(n=[n]);const l=[],s=()=>{l.forEach(c=>c()),l.length=0},r=(c,i,m,p)=>(c.addEventListener(i,m,p),()=>c.removeEventListener(i,m,p)),a=k.watch(()=>[L(t),I(u)],([c,i])=>{if(s(),!c)return;const m=Ht(i)?{...i}:i;l.push(...e.flatMap(p=>n.map(V=>r(c,p,V,m))))},{immediate:!0,flush:"post"}),d=()=>{a(),s()};return pe(d),d}function Zt(){const o=k.ref(!1),t=k.getCurrentInstance();return t&&k.onMounted(()=>{o.value=!0},t),o}function Le(o){const t=Zt();return k.computed(()=>(t.value,!!o()))}function en(o,t={}){const{window:e=A}=t,n=Le(()=>e&&"matchMedia"in e&&typeof e.matchMedia=="function");let u;const l=k.ref(!1),s=d=>{l.value=d.matches},r=()=>{u&&("removeEventListener"in u?u.removeEventListener("change",s):u.removeListener(s))},a=k.watchEffect(()=>{n.value&&(r(),u=e.matchMedia(I(o)),"addEventListener"in u?u.addEventListener("change",s):u.addListener(s),l.value=u.matches)});return pe(()=>{a(),r(),u=void 0}),l}const ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},te="__vueuse_ssr_handlers__",tn=nn();function nn(){return te in ee||(ee[te]=ee[te]||{}),ee[te]}function Ue(o,t){return tn[o]||t}function on(o){return o==null?"any":o instanceof Set?"set":o instanceof Map?"map":o instanceof Date?"date":typeof o=="boolean"?"boolean":typeof o=="string"?"string":typeof o=="object"?"object":Number.isNaN(o)?"any":"number"}const un={boolean:{read:o=>o==="true",write:o=>String(o)},object:{read:o=>JSON.parse(o),write:o=>JSON.stringify(o)},number:{read:o=>Number.parseFloat(o),write:o=>String(o)},any:{read:o=>o,write:o=>String(o)},string:{read:o=>o,write:o=>String(o)},map:{read:o=>new Map(JSON.parse(o)),write:o=>JSON.stringify(Array.from(o.entries()))},set:{read:o=>new Set(JSON.parse(o)),write:o=>JSON.stringify(Array.from(o))},date:{read:o=>new Date(o),write:o=>o.toISOString()}},Xe="vueuse-storage";function ln(o,t,e,n={}){var u;const{flush:l="pre",deep:s=!0,listenToStorageChanges:r=!0,writeDefaults:a=!0,mergeDefaults:d=!1,shallow:c,window:i=A,eventFilter:m,onError:p=B=>{console.error(B)},initOnMounted:V}=n,g=(c?k.shallowRef:k.ref)(typeof t=="function"?t():t);if(!e)try{e=Ue("getDefaultStorage",()=>{var B;return(B=A)==null?void 0:B.localStorage})()}catch(B){p(B)}if(!e)return g;const h=I(t),w=on(h),C=(u=n.serializer)!=null?u:un[w],{pause:b,resume:_}=qt(g,()=>x(g.value),{flush:l,deep:s,eventFilter:m});i&&r&&Ve(()=>{j(i,"storage",P),j(i,Xe,z),V&&P()}),V||P();function y(B,S){i&&i.dispatchEvent(new CustomEvent(Xe,{detail:{key:o,oldValue:B,newValue:S,storageArea:e}}))}function x(B){try{const S=e.getItem(o);if(B==null)y(S,null),e.removeItem(o);else{const D=C.write(B);S!==D&&(e.setItem(o,D),y(S,D))}}catch(S){p(S)}}function f(B){const S=B?B.newValue:e.getItem(o);if(S==null)return a&&h!=null&&e.setItem(o,C.write(h)),h;if(!B&&d){const D=C.read(S);return typeof d=="function"?d(D,h):w==="object"&&!Array.isArray(D)?{...h,...D}:D}else return typeof S!="string"?S:C.read(S)}function P(B){if(!(B&&B.storageArea!==e)){if(B&&B.key==null){g.value=h;return}if(!(B&&B.key!==o)){b();try{B?.newValue!==C.write(g.value)&&(g.value=f(B))}catch(S){p(S)}finally{B?k.nextTick(_):_()}}}}function z(B){P(B.detail)}return g}function He(o){return en("(prefers-color-scheme: dark)",o)}function rn(o={}){const{selector:t="html",attribute:e="class",initialValue:n="auto",window:u=A,storage:l,storageKey:s="vueuse-color-scheme",listenToStorageChanges:r=!0,storageRef:a,emitAuto:d,disableTransition:c=!0}=o,i={auto:"",light:"light",dark:"dark",...o.modes||{}},m=He({window:u}),p=k.computed(()=>m.value?"dark":"light"),V=a||(s==null?Jt(n):ln(s,n,l,{window:u,listenToStorageChanges:r})),g=k.computed(()=>V.value==="auto"?p.value:V.value),h=Ue("updateHTMLAttrs",(_,y,x)=>{const f=typeof _=="string"?u?.document.querySelector(_):L(_);if(!f)return;let P;if(c&&(P=u.document.createElement("style"),P.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),u.document.head.appendChild(P)),y==="class"){const z=x.split(/\s/g);Object.values(i).flatMap(B=>(B||"").split(/\s/g)).filter(Boolean).forEach(B=>{z.includes(B)?f.classList.add(B):f.classList.remove(B)})}else f.setAttribute(y,x);c&&(u.getComputedStyle(P).opacity,document.head.removeChild(P))});function w(_){var y;h(t,e,(y=i[_])!=null?y:_)}function C(_){o.onChanged?o.onChanged(_,w):w(_)}k.watch(g,C,{flush:"post",immediate:!0}),Ve(()=>C(g.value));const b=k.computed({get(){return d?V.value:g.value},set(_){V.value=_}});try{return Object.assign(b,{store:V,system:p,state:g})}catch{return b}}function an(o={}){const{valueDark:t="dark",valueLight:e="",window:n=A}=o,u=rn({...o,onChanged:(r,a)=>{var d;o.onChanged?(d=o.onChanged)==null||d.call(o,r==="dark",a,r):a(r)},modes:{dark:t,light:e}}),l=k.computed(()=>u.system?u.system.value:He({window:n}).value?"dark":"light");return k.computed({get(){return u.value==="dark"},set(r){const a=r?"dark":"light";l.value===a?u.value="auto":u.value=a}})}function sn(o,t={}){var e,n;const{pointerTypes:u,preventDefault:l,stopPropagation:s,exact:r,onMove:a,onEnd:d,onStart:c,initialValue:i,axis:m="both",draggingElement:p=A,containerElement:V,handle:g=o}=t,h=k.ref((e=I(i))!=null?e:{x:0,y:0}),w=k.ref(),C=f=>u?u.includes(f.pointerType):!0,b=f=>{I(l)&&f.preventDefault(),I(s)&&f.stopPropagation()},_=f=>{var P;if(I(t.disabled)||!C(f)||I(r)&&f.target!==I(o))return;const z=I(V),B=(P=z?.getBoundingClientRect)==null?void 0:P.call(z),S=I(o).getBoundingClientRect(),D={x:f.clientX-(z?S.left-B.left+z.scrollLeft:S.left),y:f.clientY-(z?S.top-B.top+z.scrollTop:S.top)};c?.(D,f)!==!1&&(w.value=D,b(f))},y=f=>{if(I(t.disabled)||!C(f)||!w.value)return;const P=I(V),z=I(o).getBoundingClientRect();let{x:B,y:S}=h.value;(m==="x"||m==="both")&&(B=f.clientX-w.value.x,P&&(B=Math.min(Math.max(0,B),P.scrollWidth-z.width))),(m==="y"||m==="both")&&(S=f.clientY-w.value.y,P&&(S=Math.min(Math.max(0,S),P.scrollHeight-z.height))),h.value={x:B,y:S},a?.(h.value,f),b(f)},x=f=>{I(t.disabled)||!C(f)||w.value&&(w.value=void 0,d?.(h.value,f),b(f))};if(Oe){const f={capture:(n=t.capture)!=null?n:!0};j(g,"pointerdown",_,f),j(p,"pointermove",y,f),j(p,"pointerup",x,f)}return{...Qt(h),position:h,isDragging:k.computed(()=>!!w.value),style:k.computed(()=>`left:${h.value.x}px;top:${h.value.y}px;`)}}function Ke(o,t,e={}){const{window:n=A,...u}=e;let l;const s=Le(()=>n&&"ResizeObserver"in n),r=()=>{l&&(l.disconnect(),l=void 0)},a=k.computed(()=>Array.isArray(o)?o.map(i=>L(i)):[L(o)]),d=k.watch(a,i=>{if(r(),s.value&&n){l=new ResizeObserver(t);for(const m of i)m&&l.observe(m,u)}},{immediate:!0,flush:"post"}),c=()=>{r(),d()};return pe(c),{isSupported:s,stop:c}}function me(o,t={width:0,height:0},e={}){const{window:n=A,box:u="content-box"}=e,l=k.computed(()=>{var i,m;return(m=(i=L(o))==null?void 0:i.namespaceURI)==null?void 0:m.includes("svg")}),s=k.ref(t.width),r=k.ref(t.height),{stop:a}=Ke(o,([i])=>{const m=u==="border-box"?i.borderBoxSize:u==="content-box"?i.contentBoxSize:i.devicePixelContentBoxSize;if(n&&l.value){const p=L(o);if(p){const V=n.getComputedStyle(p);s.value=Number.parseFloat(V.width),r.value=Number.parseFloat(V.height)}}else if(m){const p=Array.isArray(m)?m:[m];s.value=p.reduce((V,{inlineSize:g})=>V+g,0),r.value=p.reduce((V,{blockSize:g})=>V+g,0)}else s.value=i.contentRect.width,r.value=i.contentRect.height},e);Ve(()=>{const i=L(o);i&&(s.value="offsetWidth"in i?i.offsetWidth:t.width,r.value="offsetHeight"in i?i.offsetHeight:t.height)});const d=k.watch(()=>L(o),i=>{s.value=i?t.width:0,r.value=i?t.height:0});function c(){a(),d()}return{width:s,height:r,stop:c}}const cn={page:o=>[o.pageX,o.pageY],client:o=>[o.clientX,o.clientY],screen:o=>[o.screenX,o.screenY],movement:o=>o instanceof Touch?null:[o.movementX,o.movementY]};function dn(o={}){const{type:t="page",touch:e=!0,resetOnTouchEnds:n=!1,initialValue:u={x:0,y:0},window:l=A,target:s=l,scroll:r=!0,eventFilter:a}=o;let d=null;const c=k.ref(u.x),i=k.ref(u.y),m=k.ref(null),p=typeof t=="function"?t:cn[t],V=y=>{const x=p(y);d=y,x&&([c.value,i.value]=x,m.value="mouse")},g=y=>{if(y.touches.length>0){const x=p(y.touches[0]);x&&([c.value,i.value]=x,m.value="touch")}},h=()=>{if(!d||!l)return;const y=p(d);d instanceof MouseEvent&&y&&(c.value=y[0]+l.scrollX,i.value=y[1]+l.scrollY)},w=()=>{c.value=u.x,i.value=u.y},C=a?y=>a(()=>V(y),{}):y=>V(y),b=a?y=>a(()=>g(y),{}):y=>g(y),_=a?()=>a(()=>h(),{}):()=>h();if(s){const y={passive:!0};j(s,["mousemove","dragover"],C,y),e&&t!=="movement"&&(j(s,["touchstart","touchmove"],b,y),n&&j(s,"touchend",w,y)),r&&t==="page"&&j(l,"scroll",_,{passive:!0})}return{x:c,y:i,sourceType:m}}function pn(o,t={}){const{handleOutside:e=!0,window:n=A}=t,u=t.type||"page",{x:l,y:s,sourceType:r}=dn(t),a=k.ref(o??n?.document.body),d=k.ref(0),c=k.ref(0),i=k.ref(0),m=k.ref(0),p=k.ref(0),V=k.ref(0),g=k.ref(!0);let h=()=>{};return n&&(h=k.watch([a,l,s],()=>{const w=L(a);if(!w)return;const{left:C,top:b,width:_,height:y}=w.getBoundingClientRect();i.value=C+(u==="page"?n.pageXOffset:0),m.value=b+(u==="page"?n.pageYOffset:0),p.value=y,V.value=_;const x=l.value-i.value,f=s.value-m.value;g.value=_===0||y===0||x<0||f<0||x>_||f>y,(e||!g.value)&&(d.value=x,c.value=f)},{immediate:!0}),j(document,"mouseleave",()=>{g.value=!0})),{x:l,y:s,sourceType:r,elementX:d,elementY:c,elementPositionX:i,elementPositionY:m,elementHeight:p,elementWidth:V,isOutside:g,stop:h}}function Vn(o,t){const{containerStyle:e,wrapperProps:n,scrollTo:u,calculateRange:l,currentList:s,containerRef:r}="itemHeight"in t?gn(t,o):fn(t,o);return{list:s,scrollTo:u,containerProps:{ref:r,onScroll:()=>{l()},style:e},wrapperProps:n}}function We(o){const t=k.ref(null),e=me(t),n=k.ref([]),u=k.shallowRef(o);return{state:k.ref({start:0,end:10}),source:u,currentList:n,size:e,containerRef:t}}function Ye(o,t,e){return n=>{if(typeof e=="number")return Math.ceil(n/e);const{start:u=0}=o.value;let l=0,s=0;for(let r=u;r<t.value.length;r++){const a=e(r);if(l+=a,s=r,l>n)break}return s-u}}function Je(o,t){return e=>{if(typeof t=="number")return Math.floor(e/t)+1;let n=0,u=0;for(let l=0;l<o.value.length;l++){const s=t(l);if(n+=s,n>=e){u=l;break}}return u+1}}function Ge(o,t,e,n,{containerRef:u,state:l,currentList:s,source:r}){return()=>{const a=u.value;if(a){const d=e(o==="vertical"?a.scrollTop:a.scrollLeft),c=n(o==="vertical"?a.clientHeight:a.clientWidth),i=d-t,m=d+c+t;l.value={start:i<0?0:i,end:m>r.value.length?r.value.length:m},s.value=r.value.slice(l.value.start,l.value.end).map((p,V)=>({data:p,index:V+l.value.start}))}}}function qe(o,t){return e=>typeof o=="number"?e*o:t.value.slice(0,e).reduce((u,l,s)=>u+o(s),0)}function Qe(o,t,e){k.watch([o.width,o.height,t],()=>{e()})}function Ze(o,t){return k.computed(()=>typeof o=="number"?t.value.length*o:t.value.reduce((e,n,u)=>e+o(u),0))}const mn={horizontal:"scrollLeft",vertical:"scrollTop"};function et(o,t,e,n){return u=>{n.value&&(n.value[mn[o]]=e(u),t())}}function fn(o,t){const e=We(t),{state:n,source:u,currentList:l,size:s,containerRef:r}=e,a={overflowX:"auto"},{itemWidth:d,overscan:c=5}=o,i=Ye(n,u,d),m=Je(u,d),p=Ge("horizontal",c,m,i,e),V=qe(d,u),g=k.computed(()=>V(n.value.start)),h=Ze(d,u);Qe(s,t,p);const w=et("horizontal",p,V,r),C=k.computed(()=>({style:{height:"100%",width:`${h.value-g.value}px`,marginLeft:`${g.value}px`,display:"flex"}}));return{scrollTo:w,calculateRange:p,wrapperProps:C,containerStyle:a,currentList:l,containerRef:r}}function gn(o,t){const e=We(t),{state:n,source:u,currentList:l,size:s,containerRef:r}=e,a={overflowY:"auto"},{itemHeight:d,overscan:c=5}=o,i=Ye(n,u,d),m=Je(u,d),p=Ge("vertical",c,m,i,e),V=qe(d,u),g=k.computed(()=>V(n.value.start)),h=Ze(d,u);Qe(s,t,p);const w=et("vertical",p,V,r),C=k.computed(()=>({style:{width:"100%",height:`${h.value-g.value}px`,marginTop:`${g.value}px`}}));return{calculateRange:p,scrollTo:w,containerStyle:a,wrapperProps:C,currentList:l,containerRef:r}}const tt="user-select-none";class fe{constructor(t,e={}){this.el=t,this.options=e,this.scope=Vue.effectScope(),this.scope.run(()=>{this.init()})}scope;dragging=!1;getHandle(){const{selector:t,handle:e}=this.options;return t?this.el.querySelector(t):e}getTarget(){const{target:t="body"}=this.options;return typeof t=="string"?document.querySelector(t):Vue.unref(t)||document.body}init(){const{el:t,options:e}=this,{disabled:n,delay:u=150,onStart:l,onEnd:s}=e;if(n)return;let r=null;const a=this.getHandle(),d=this.getTarget();let c=t.getBoundingClientRect(),i=null;const{x:m,y:p}=sn(t,{initialValue:{x:c.x,y:c.y},...e,handle:a,onStart:(V,g)=>{document.body.classList.add(tt),clearTimeout(r),r=setTimeout(()=>{this.dragging=!0,c=t.getBoundingClientRect(),i=d?.getBoundingClientRect(),l&&l(V,g)},u)},onEnd:(V,g)=>{if(clearTimeout(r),document.body.classList.remove(tt),this.dragging&&i){this.dragging=!1;const{x:h,y:w}=V,C=this.getPosition(i,c,h,w);s&&s(C,g),i=null}}});Vue.watch([m,p],()=>{if(this.dragging&&i){const V=this.getPosition(i,c,m.value,p.value);t.style.left=`${V.x}px`,t.style.top=`${V.y}px`}})}getPosition(t,e,n,u){const{edge:l=50}=this.options,s=-e.width+l,r=t.width-l,a=0,d=t.height-l,c=Math.min(r,Math.max(n,s)),i=Math.min(d,Math.max(u,a));return{x:c,y:i}}destory(){this.scope.stop()}}const nt={mounted(o,t){const e=t.value||{},n=new fe(o,e);o.__draggable__=n},updated(o,t){const e=t.value||{};let n=o.__draggable__;n&&!VtjUtils.isEqual(n.options,e)&&(n.destory(),o.__draggable__=new fe(o,e))},unmounted(o){const t=o.__draggable__;t&&(t.destory(),o.__draggable__=null)}},ge="user-select-none";class he{constructor(t,e={}){this.el=t,this.options=e,this.scope=Vue.effectScope(),this.scope.run(()=>{this.init()})}scope;resizing=Vue.ref(!1);direction=Vue.ref("");MIE=null;cleanMousedown;cleanMouseup;init(){const{el:t,options:e}=this,{disabled:n,onStart:u,onEnd:l}=e;if(n)return;this.MIE=pn(t),this.cleanMousedown=j(document,"mousedown",()=>{this.direction?.value&&this.MIE&&(this.resizing.value=!0,t.classList.add("is-resizing",`is-${this.direction.value}-resizing`),u&&u(this.direction.value,this.MIE))}),this.cleanMouseup=j(document,"mouseup",()=>{this.resizing.value&&this.direction?.value&&this.MIE&&(t.classList.remove("is-resizing",`is-${this.direction.value}-resizing`),l&&l(this.direction.value,this.MIE)),this.resizing.value=!1}),Vue.watch(this.direction,a=>{const d=document.body;d.style.cursor=a?`${a}-resize`:"",a?d.classList.add(ge):d.classList.remove(ge)});const{x:s,y:r}=this.MIE;Vue.watch([s,r],()=>{this.resizing.value?this.resize():this.direction.value=this.getDirection()})}resize(){const{MIE:t,direction:e,resizing:n,options:u,el:l}=this,s=e?.value||"";if(!t||!n.value||!s)return;const{x:r,y:a,elementX:d,elementY:c,elementHeight:i,elementWidth:m}=t,{onResizing:p}=u,{minWidth:V=0,minHeight:g=0,maxWidth:h=99999,maxHeight:w=99999}=u;if(s.includes("e")){const C=Math.min(Math.max(d.value,V),h);l.style.width=`${C}px`}if(s.includes("s")){const C=Math.min(Math.max(c.value,g),w);l.style.height=`${C}px`}if(s.includes("w")){const C=Math.min(Math.max(m.value-d.value,V),h);l.style.width=`${C}px`,l.style.left=`${r.value}px`}if(s.includes("n")){const C=Math.min(Math.max(i.value-c.value,g),w);this.el.style.height=`${C}px`,this.el.style.top=`${a.value}px`}p&&p(s,t)}getDirection(){if(!this.MIE)return"";const{elementX:t,elementY:e,elementHeight:n,elementWidth:u,isOutside:l}=this.MIE;if(l.value)return"";const{dirs:s=["n","s","w","e"],edge:r=5}=this.options;let a="";return s.includes("n")&&e.value<=r?a+="n":s.includes("s")&&e.value>n.value-r&&(a+="s"),s.includes("w")&&t.value<=r?a+="w":s.includes("e")&&t.value>u.value-r&&(a+="e"),a}destory(){const t=document.body;t.style.cursor="",t.classList.remove(ge),this.cleanMousedown&&this.cleanMousedown(),this.cleanMouseup&&this.cleanMouseup(),this.MIE?.stop(),this.scope.stop()}}const ye={mounted(o,t){const e=t.value||{},n=new he(o,e);o.__resizable__=n},updated(o,t){const e=t.value||{};let n=o.__resizable__;n&&!VtjUtils.isEqual(n.options,e)&&(n.destory(),o.__resizable__=new he(o,e))},unmounted(o){const t=o.__resizable__;t&&(t.destory(),o.__resizable__=null)}},ot={modelValue:{type:Boolean,default:!0},title:{type:String},subtitle:{type:String},icon:{type:[String,Object]},size:{type:String,default:"default"},width:{type:[Number,String],default:"70%"},height:{type:[Number,String],default:"70%"},left:{type:[Number,String]},top:{type:[Number,String]},modal:{type:Boolean,default:!0},draggable:{type:[Boolean,Object],default:!0},resizable:{type:[Boolean,Object]},closable:{type:Boolean,default:!0},maximizable:{type:Boolean,default:!1},minimizable:{type:Boolean,default:!1},mode:{type:String,default:"normal"},content:{type:Object},src:{type:String},componentInstance:{type:Object},beforeClose:{type:Function},submit:{type:[Boolean,String]},cancel:{type:[Boolean,String]},bodyPadding:{type:Boolean,default:!0},primary:{type:Boolean}};let Y=1e3;function hn(o,t){const{width:e,height:n}=me(t),u=Vue.reactive({mode:o.mode||"normal",wrapperWidth:0,wrapperHeight:0,width:0,height:0,top:0,left:0,zIndex:++Y,dragging:!1,resizing:!1});return Vue.watch([e,n],([l,s])=>{u.wrapperWidth=l,u.wrapperHeight=s,u.width=J(o.width,l),u.height=J(o.height,s),u.left=o.left?J(o.left,l)-u.width/2:Math.max(Math.floor((l-u.width)/2),0),u.top=o.top?J(o.top,s):Math.max(Math.floor((s-u.height)/2),0)}),Vue.watch(u,l=>{Y=Math.max(l.zIndex,Y)}),{state:u,normal:Vue.computed(()=>u.mode==="normal"),maximized:Vue.computed(()=>u.mode==="maximized"),minimized:Vue.computed(()=>u.mode==="minimized")}}function yn(o,t){const e=Vue.computed(()=>{const{width:s,height:r,top:a,left:d,zIndex:c}=t;return{width:`${s}px`,height:`${r}px`,top:`${a}px`,left:`${d}px`,zIndex:c}}),n=Vue.computed(()=>({[`is-${t.mode}`]:!!t.mode,"is-draggable":!!o.draggable,"is-resizable":!!o.resizable,"is-primary":!!o.primary})),u=Vue.computed(()=>({[`is-${t.mode}`]:!!t.mode,"is-dragging":t.dragging,"is-resizing":t.resizing})),l=Vue.computed(()=>({zIndex:t.zIndex}));return{styles:e,classes:n,wrapperClass:u,modalStyle:l}}function vn(o,t,e){const n=c=>{t.mode=c,["maximized","minimized","normal"].includes(c)&&e(c),e("modeChange",c)},u=async()=>{(!o.beforeClose||await o.beforeClose())&&(e("update:modelValue",!1),e("close"),e("destroy"))};return{close:u,changeMode:n,show:()=>n("normal"),hide:()=>n("minimized"),active:c=>{const i=c.target.nodeName||"";["INPUT","TEXTAREA","RADIO","CHECKBOX"].includes(i.toUpperCase())||(t.zIndex=Math.max(t.zIndex,++Y))},submit:()=>e("submit"),cancel:()=>{e("cancel"),u()}}}function kn(o,t,e,n){return Vue.computed(()=>{const u=typeof o.draggable=="boolean"?!o.draggable:!!o.draggable?.disabled;return{...VtjUtils.isObject(o.draggable)?o.draggable:{},disabled:u,target:n,selector:".x-panel__header",onStart(l){t.dragging=!0,t.zIndex=Math.max(t.zIndex,++Y),e("dragStart",l)},onMove(l){e("dragging",l)},onEnd(l){if(t.mode==="maximized")return;const{x:s,y:r}=l;t.left=s,t.top=r,t.dragging=!1,e("dragEnd",l)}}})}function bn(o,t,e){return Vue.computed(()=>{const n=typeof o.resizable=="boolean"?!o.resizable:!!o.resizable?.disabled;return{minWidth:200,minHeight:150,...VtjUtils.isObject(o.resizable)?o.resizable:{},disabled:n,dirs:["e","s","w"],onStart(u,l){t.resizing=!0,t.zIndex=Math.max(t.zIndex,++Y),e("resizeStart",u,l)},onResizing(u,l){e("resizing",u,l)},onEnd(u,l){t.left=l.elementPositionX.value,t.top=l.elementPositionY.value,t.width=l.elementWidth.value,t.height=l.elementHeight.value,t.resizing=!1,e("resizeEnd",u,l)}}})}function wn(o,t){const e=o.componentInstance;if(!e)return;let n=null;return Vue.onMounted(()=>{const u=Vue.unref(t),l=Vue.unref(u?.bodyRef);n=e.$el,l&&l.$el&&l.$el.appendChild(n)}),Vue.onUnmounted(()=>{n&&n.parentNode&&n.parentNode.removeChild(n)}),{componentInstance:e}}const _n=["src"],ne=Vue.defineComponent({name:"XDialog",__name:"Dialog",props:ot,emits:["update:modelValue","open","close","destroy","maximized","minimized","normal","modeChange","dragStart","dragging","dragEnd","resizeStart","resizeEnd","resizing","submit","cancel"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.getCurrentInstance(),s=Vue.ref(),r=Vue.ref(),{state:a,maximized:d,minimized:c,normal:i}=hn(n,s),{styles:m,classes:p,wrapperClass:V,modalStyle:g}=yn(n,a),{changeMode:h,active:w,close:C,show:b,hide:_,submit:y,cancel:x}=vn(n,a,u),f=kn(n,a,u,s),P=bn(n,a,u),z=wn(n,r);Vue.watchEffect(async()=>{n.modelValue&&(await Vue.nextTick(),l&&u("open",l))});const B=Vue.computed(()=>r.value?.$el);return t({$vtjEl:B,panelRef:r,state:a,maximized:d,minimized:c,changeMode:h,show:b,hide:_,submit:y,cancel:x,close:C,componentInstance:z}),(S,D)=>n.modelValue?(Vue.openBlock(),Vue.createBlock(Vue.Teleport,{key:0,to:"body"},[Vue.createElementVNode("div",{ref_key:"wrapper",ref:s,class:Vue.normalizeClass(["x-dialog__wrapper",Vue.unref(V)])},[n.modal?(Vue.openBlock(),Vue.createElementBlock("div",{key:0,class:"x-dialog__modal",style:Vue.normalizeStyle(Vue.unref(g))},null,4)):Vue.createCommentVNode("",!0),Vue.withDirectives((Vue.openBlock(),Vue.createBlock(Vue.unref(W),Vue.mergeProps({ref_key:"panelRef",ref:r,class:["x-dialog",Vue.unref(p)],card:"",shadow:"always",header:{icon:n.icon,subtitle:n.subtitle},width:"800px",height:"600px",footer:{justify:"space-between",flex:!0,align:"center"},style:Vue.unref(m),size:n.size,body:{padding:n.bodyPadding},onClick:Vue.unref(w)},S.$attrs),Vue.createSlots({title:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(n.title),1)]),actions:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"actions"),n.minimizable?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:0,icon:Vue.unref(VtjIcons.Minimize),size:n.size,mode:"icon",type:"primary",background:"hover",onClick:D[0]||(D[0]=K=>Vue.unref(h)("minimized"))},null,8,["icon","size"])):Vue.createCommentVNode("",!0),n.maximizable?(Vue.openBlock(),Vue.createElementBlock(Vue.Fragment,{key:1},[Vue.unref(i)?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:1,icon:Vue.unref(VtjIcons.Maximize),size:n.size,mode:"icon",type:"primary",background:"hover",onClick:D[2]||(D[2]=K=>Vue.unref(h)("maximized"))},null,8,["icon","size"])):(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:0,icon:Vue.unref(VtjIcons.Popup),size:n.size,mode:"icon",type:"primary",background:"hover",onClick:D[1]||(D[1]=K=>Vue.unref(h)("normal"))},null,8,["icon","size"]))],64)):Vue.createCommentVNode("",!0),n.closable?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:2,icon:Vue.unref(VtjIcons.RawClose),size:n.size,mode:"icon",type:"danger",background:"hover",onClick:Vue.unref(C)},null,8,["icon","size","onClick"])):Vue.createCommentVNode("",!0)]),default:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"default",{},()=>[n.content?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(n.content),{key:0})):Vue.createCommentVNode("",!0),n.src?(Vue.openBlock(),Vue.createElementBlock("iframe",{key:1,src:n.src,class:"x-dialog__frame"},null,8,_n)):Vue.createCommentVNode("",!0)])]),_:2},[n.cancel||n.submit||S.$slots.footer||S.$slots.extra||S.$slots.handle?{name:"footer",fn:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"footer",{},()=>[Vue.createVNode(Vue.unref(N),{align:"center"},{default:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"extra")]),_:3}),Vue.createVNode(Vue.unref(N),{align:"center"},{default:Vue.withCtx(()=>[Vue.renderSlot(S.$slots,"handle"),n.cancel?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),{key:0,type:"default",size:n.size,onClick:Vue.unref(x)},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(typeof n.cancel=="string"?n.cancel:"取消"),1)]),_:1},8,["size","onClick"])):Vue.createCommentVNode("",!0),n.submit?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),{key:1,type:"primary",size:n.size,onClick:Vue.unref(y)},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(typeof n.submit=="string"?n.submit:"确定"),1)]),_:1},8,["size","onClick"])):Vue.createCommentVNode("",!0)]),_:3})])]),key:"0"}:void 0]),1040,["header","class","style","size","body","onClick"])),[[Vue.unref(nt),Vue.unref(f)],[Vue.unref(ye),Vue.unref(P)]])],2)])):Vue.createCommentVNode("",!0)}});function oe(o,t){const e=document.createElement("div"),n=Vue.createVNode(ne,o);n.appContext=t??oe._context,Vue.render(n,e);const u=()=>{Vue.render(null,e),e.parentNode?.removeChild(e)};return n.props.onDestroy=()=>{u()},document.body.appendChild(e),{vnode:n,destroy:u}}const Cn=Vue.createElementVNode("div",{class:"x-mask-sidebar__helper"},null,-1),Bn=Vue.defineComponent({__name:"Sidebar",props:{collapsed:{type:Boolean}},setup(o){const t=o;return(e,n)=>Vue.withDirectives((Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-mask-sidebar",{"is-collapsed":t.collapsed}]),grow:!1,flex:"",direction:"column"},{default:Vue.withCtx(()=>[Vue.renderSlot(e.$slots,"brand"),Vue.createVNode(Vue.unref(N),{class:"x-mask-sidebar__wrapper",flex:"",grow:"",direction:"column",justify:"space-between",align:"center"},{default:Vue.withCtx(()=>[Vue.renderSlot(e.$slots,"default"),Cn]),_:3})]),_:3},8,["class"])),[[Vue.unref(ye),{dirs:["e"],disabled:t.collapsed,maxWidth:500,minWidth:200}]])}}),xn=Vue.defineComponent({__name:"SwitchBar",props:{collasped:{type:Boolean,default:!1},favorite:{type:Boolean,default:!1},keyword:{}},emits:["update:collasped","update:keyword","update:favorite"],setup(o,{emit:t}){const e=o,n=t,u=Vue.ref(!1),l=Vue.ref(""),s=Vue.ref(!1),r=()=>{u.value=!0},a=()=>{l.value="",u.value=!1,n("update:keyword",l.value)},d=()=>{n("update:collasped",!e.collasped)},c=()=>{n("update:keyword",l.value)},i=()=>{n("update:favorite",s.value)};return(m,p)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:"x-mask-switch-bar",justify:"space-between",align:"center"},{default:Vue.withCtx(()=>[e.collasped?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,class:"x-mask-switch-bar__left",grow:""},{default:Vue.withCtx(()=>[u.value?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElSwitch),{key:0,modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=V=>s.value=V),class:"x-mask-switch-bar__switch","active-icon":Vue.unref(VtjIcons.StarFilled),"inactive-icon":Vue.unref(VtjIcons.Menu),onChange:i},null,8,["modelValue","active-icon","inactive-icon"])),u.value?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElInput),{key:1,modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=V=>l.value=V),class:"x-mask-switch-bar__input",size:"small",placeholder:"请输入查询关键字",onInput:c,"prefix-icon":Vue.unref(VtjIcons.Search)},{suffix:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(F),{icon:Vue.unref(VtjIcons.Close),onClick:a},null,8,["icon"])]),_:1},8,["modelValue","prefix-icon"])):Vue.createCommentVNode("",!0)]),_:1})),Vue.createVNode(Vue.unref(N),{class:Vue.normalizeClass(["x-mask-switch-bar__right",{"is-collasped":e.collasped}]),flex:"",align:"center",justify:"center"},{default:Vue.withCtx(()=>[!u.value&&!e.collasped?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:0,icon:Vue.unref(VtjIcons.Search),mode:"icon",background:"hover",size:"default",circle:"",onClick:r},null,8,["icon"])):Vue.createCommentVNode("",!0),e.collasped?(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:1,icon:Vue.unref(VtjIcons.Expand),mode:"icon",size:"default",background:"hover",onClick:d,circle:""},null,8,["icon"])):Vue.createCommentVNode("",!0),e.collasped?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(O),{key:2,icon:Vue.unref(VtjIcons.Fold),mode:"icon",size:"default",background:"hover",circle:"",onClick:d},null,8,["icon"]))]),_:1},8,["class"])]),_:1}))}}),Sn=["src"],En={key:0},Pn=Vue.defineComponent({__name:"Brand",props:{collapsed:{type:Boolean,default:!1},logo:{},title:{},url:{}},setup(o){const t=o,e=VueRouter.useRouter(),n=()=>{t.url&&e.push(t.url)};return(u,l)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-mask-brand",{"is-collapsed":t.collapsed}]),align:"center"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(N),{class:"x-mask-brand__logo",flex:"",justify:"center",align:"center",onClick:n},{default:Vue.withCtx(()=>[Vue.renderSlot(u.$slots,"logo",{},()=>[t.logo?(Vue.openBlock(),Vue.createElementBlock("img",{key:0,src:t.logo},null,8,Sn)):Vue.createCommentVNode("",!0)])]),_:3}),Vue.createVNode(Vue.unref(N),{class:"x-mask-brand__title",flex:"",align:"center"},{default:Vue.withCtx(()=>[t.title?(Vue.openBlock(),Vue.createElementBlock("span",En,[Vue.renderSlot(u.$slots,"title",{},()=>[Vue.createTextVNode(Vue.toDisplayString(t.title),1)])])):Vue.createCommentVNode("",!0)]),_:3})]),_:3},8,["class"]))}}),ue="__favorites__",le="__search__",Nn=Vue.defineComponent({__name:"Menu",props:{collapse:{type:Boolean,default:!1},keyword:{},favorite:{type:Boolean},favorites:{},flatMenus:{},menus:{},active:{}},emits:["select"],setup(o,{emit:t}){const e=o,n=Vue.computed(()=>e.menus||[]),u=t,l=Vue.computed(()=>String(e.active?.id)),s=Vue.computed(()=>[{id:ue,title:"收藏",icon:VtjIcons.Star,children:e.favorites?.length?e.favorites:[{id:ue+"empty",disabled:!0,title:"暂无收藏菜单"}]}]),r=Vue.computed(()=>{const d=(e.keyword||"").trim(),c=d?(e.flatMenus||[]).filter(i=>i.title?.includes(d)):[];return[{id:le,title:"搜索",icon:VtjIcons.Search,children:c?.length?c:[{id:le+"empty",disabled:!0,title:"查询匹配不到菜单项"}]}]}),a=d=>{u("select",d)};return(d,c)=>(Vue.openBlock(),Vue.createElementBlock(Vue.Fragment,null,[Vue.withDirectives(Vue.createVNode(Vue.unref(N),{class:"x-mask-menu",grow:"",flex:!1,overflow:"auto"},{default:Vue.withCtx(()=>[Vue.withDirectives(Vue.createVNode(Vue.unref(X),{subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:n.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!0,"collapse-transition":!1,"default-active":l.value,onSelect:a},null,8,["data","default-icon","default-active"]),[[Vue.vShow,e.collapse]]),Vue.withDirectives(Vue.createVNode(Vue.unref(X),{subMenu:{popperClass:"x-mask-menu-popper",teleported:!0},data:n.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!1,"collapse-transition":!1,"default-active":l.value,onSelect:a},null,8,["data","default-icon","default-active"]),[[Vue.vShow,!e.collapse]]),n.value.length?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElEmpty),{key:0,description:"暂无菜单数据"}))]),_:1},512),[[Vue.vShow,!e.favorite&&!e.keyword]]),Vue.withDirectives(Vue.createVNode(Vue.unref(N),{class:"x-mask-menu",grow:"",flex:!1,overflow:"auto"},{default:Vue.withCtx(()=>[Vue.withDirectives(Vue.createVNode(Vue.unref(X),{class:"x-mask-menu__favorites",subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:s.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!0,"collapse-transition":!1,"default-active":l.value,"default-openeds":[ue],onSelect:a},null,8,["data","default-icon","default-active","default-openeds"]),[[Vue.vShow,e.collapse]]),Vue.withDirectives(Vue.createVNode(Vue.unref(X),{class:"x-mask-menu__favorites",subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:s.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!1,"collapse-transition":!1,"default-active":l.value,"default-openeds":[ue],onSelect:a},null,8,["data","default-icon","default-active","default-openeds"]),[[Vue.vShow,!e.collapse]])]),_:1},512),[[Vue.vShow,e.favorite&&!e.keyword]]),e.keyword?Vue.withDirectives((Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,class:"x-mask-menu",grow:"",flex:!1,overflow:"auto"},{default:Vue.withCtx(()=>[Vue.withDirectives(Vue.createVNode(Vue.unref(X),{class:"x-mask-menu__search",subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:r.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!0,"collapse-transition":!1,"default-active":l.value,"default-openeds":[le],onSelect:a},null,8,["data","default-icon","default-active","default-openeds"]),[[Vue.vShow,e.collapse]]),Vue.withDirectives(Vue.createVNode(Vue.unref(X),{class:"x-mask-menu__search",subMenu:{popperClass:"x-mask-menu-popper",teleported:!0,showTimeout:200,hideTimeout:200},data:r.value,"default-icon":Vue.unref(VtjIcons.Document),collapse:!1,"collapse-transition":!1,"default-active":l.value,"default-openeds":[le],onSelect:a},null,8,["data","default-icon","default-active","default-openeds"]),[[Vue.vShow,!e.collapse]])]),_:1},512)),[[Vue.vShow,!!e.keyword]]):Vue.createCommentVNode("",!0)],64))}}),zn="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1711803009570'%20class='icon'%20viewBox='0%200%201280%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1500'%20width='320'%20height='256'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M557.85%201023l-122-35.4c-12.8-3.6-20-17-16.4-29.8L692.45%2017.4c3.6-12.8%2017-20%2029.8-16.4l122%2035.4c12.8%203.6%2020%2017%2016.4%2029.8L587.65%201006.6c-3.8%2012.8-17%2020.2-29.8%2016.4z%20m-228-224.4l87-92.8c9.2-9.8%208.6-25.4-1.6-34.4L234.05%20512l181.2-159.4c10.2-9%2011-24.6%201.6-34.4l-87-92.8c-9-9.6-24.2-10.2-34-1L7.65%20494.4c-10.2%209.4-10.2%2025.6%200%2035l288.2%20270.2c9.8%209.2%2025%208.8%2034-1z%20m654.4%201.2l288.2-270.2c10.2-9.4%2010.2-25.6%200-35L984.25%20224.2c-9.6-9-24.8-8.6-34%201L863.25%20318c-9.2%209.8-8.6%2025.4%201.6%2034.4L1046.05%20512l-181.2%20159.4c-10.2%209-11%2024.6-1.6%2034.4l87%2092.8c9%209.8%2024.2%2010.2%2034%201.2z'%20fill='%230157fe'%20p-id='1501'%3e%3c/path%3e%3c/svg%3e",ut=140,lt={logo:{type:String,default:zn},title:{type:String,default:"VTJ.PRO"},menus:{type:[Array,Function],default(){return[]}},favorites:{type:[Array,Function],default(){return[]}},menuAdapter:{type:Function},home:{type:[String,Object],default:"/"},tabs:{type:Number,default:20},actions:{type:Array},avatar:{type:String},theme:{type:Boolean},disabled:{type:Boolean},addFavorite:{type:Function},removeFavorite:{type:Function}},ve=Symbol(),ke=Symbol(),$n={class:"x-mask-tabs__trigger"},Tn={key:1},Dn=["onDragstart","onDragend"],Mn={key:1},In=Vue.defineComponent({__name:"Tabs",props:{tabs:{},home:{},isActiveTab:{type:Function},value:{},favorites:{}},emits:["click","remove","refresh","toggleFavorite","dialog"],setup(o,{emit:t}){const e=o,n=t,u=c=>{const i=!!e.favorites.find(m=>m===c.menu||m.id===c.menu?.id);return[{icon:VtjIcons.Refresh,label:"刷新",name:"refresh",value:c},"|",{icon:i?VtjIcons.StarFilled:VtjIcons.Star,label:"收藏",name:"favorite",value:c.menu,disabled:!c.menu},"|",{icon:VtjIcons.CopyDocument,label:"弹窗",name:"dialog",value:c}]},l=c=>{const i=c.paneName;if(i===e.home.id){n("click",e.home);return}const m=e.tabs.find(p=>p.id===i);m&&n("click",m)},s=c=>{const i=e.tabs.find(m=>m.id===c);i&&n("remove",i)},r=c=>{switch(c.name){case"refresh":n("refresh",c.value);break;case"favorite":n("toggleFavorite",c.value);break;case"dialog":n("dialog",c.value);break}},a=(c,i)=>{i.dataTransfer&&(i.dataTransfer.setData("tab",c.id),i.target&&i.target.classList.add("is-dagging"))},d=(c,i)=>{i.target&&i.target.classList.remove("is-dagging")};return(c,i)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{ref:"tabsRef",class:"x-mask-tabs",height:"100%",grow:"",flex:"",justify:"flex-end",direction:"column"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElTabs),{type:"card","model-value":e.value,onTabRemove:s,onTabClick:l},{default:Vue.withCtx(()=>[e.home?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElTabPane),{key:0,name:e.home.id},{label:Vue.withCtx(()=>[Vue.createElementVNode("div",$n,[e.home.icon?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(H)(e.home.icon)),{key:0})):Vue.createCommentVNode("",!0),e.home.title?(Vue.openBlock(),Vue.createElementBlock("span",Tn,Vue.toDisplayString(e.home.title),1)):Vue.createCommentVNode("",!0)])]),_:1},8,["name"])):Vue.createCommentVNode("",!0),(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(e.tabs,m=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElTabPane),{key:m.id,name:m.id,lazy:"",closable:""},{label:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElPopover),{"open-delay":500,placement:"bottom",trigger:"hover",width:"200px",disabled:m.id!==e.value},{reference:Vue.withCtx(()=>[Vue.createElementVNode("div",{class:"x-mask-tabs__trigger",draggable:"true",onDragstart:p=>a(m,p),onDragend:p=>d(m,p)},[m.icon?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(H)(m.icon)),{key:0})):Vue.createCommentVNode("",!0),m.title?(Vue.openBlock(),Vue.createElementBlock("span",Mn,Vue.toDisplayString(m.title),1)):Vue.createCommentVNode("",!0)],40,Dn)]),default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(G),{items:u(m),mode:"text",size:"small",type:"info",onClick:r},null,8,["items"])]),_:2},1032,["disabled"])]),_:2},1032,["name"]))),128))]),_:1},8,["model-value"])]),_:1},512))}}),jn=Vue.defineComponent({__name:"ThemeSwitch",setup(o){const t=an();return(e,n)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElSwitch),{class:"x-mask-theme-switch",modelValue:Vue.unref(t),"onUpdate:modelValue":n[0]||(n[0]=u=>Vue.isRef(t)?t.value=u:null),size:"default","active-action-icon":Vue.unref(VtjIcons.Moon),"inactive-action-icon":Vue.unref(VtjIcons.Sunny)},null,8,["modelValue","active-action-icon","inactive-action-icon"]))}}),Rn={class:"x-mask-toolbar__menu-item"},On=Vue.defineComponent({__name:"Toolbar",props:{tabs:{default:()=>[]},actions:{},theme:{type:Boolean}},emits:["closeOtherTabs","closeAllTabs","closeTab","clickTab","actionClick","actionCommand"],setup(o,{emit:t}){const e=o,n=t,u=Vue.computed(()=>{const d=e.tabs.map((c,i)=>({divided:i===0,label:c.title,command:c}));return[{label:"关闭其他",command:"other"},{label:"关闭全部",command:"all"},...d]}),l=d=>{n("closeTab",d.command)},s=d=>{switch(d.command){case"all":n("closeAllTabs");break;case"other":n("closeOtherTabs");break;default:n("clickTab",d.command);break}},r=d=>{n("actionClick",d)},a=(d,c)=>{n("actionCommand",d,c)};return(d,c)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:"x-mask-toolbar",align:"center"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(O),{icon:Vue.unref(VtjIcons.MoreFilled),menus:u.value,dropdown:{size:"small"},mode:"icon",circle:"",background:"hover",onCommand:s},{item:Vue.withCtx(({item:i})=>[Vue.createElementVNode("span",Rn,[Vue.createTextVNode(Vue.toDisplayString(i.label)+" ",1),["other","all"].includes(i.command)?Vue.createCommentVNode("",!0):(Vue.openBlock(),Vue.createBlock(Vue.unref(F),{key:0,onClick:Vue.withModifiers(m=>l(i),["stop"]),icon:Vue.unref(VtjIcons.Close)},null,8,["onClick","icon"]))])]),_:1},8,["icon","menus"]),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),{direction:"vertical"}),e.actions?(Vue.openBlock(),Vue.createBlock(Vue.unref(G),{key:0,circle:"",mode:"icon",size:"default",background:"hover",items:d.actions,onClick:r,onCommand:a},null,8,["items"])):Vue.createCommentVNode("",!0),e.actions?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElDivider),{key:1,direction:"vertical"})):Vue.createCommentVNode("",!0),e.theme?(Vue.openBlock(),Vue.createBlock(jn,{key:2})):Vue.createCommentVNode("",!0),e.theme?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElDivider),{key:3,direction:"vertical"})):Vue.createCommentVNode("",!0),Vue.renderSlot(d.$slots,"default")]),_:3}))}}),An=Vue.defineComponent({__name:"Avatar",props:{avatar:{}},setup(o){const t=o;return(e,n)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElPopover),{width:200,"popper-class":"x-mask-avatar__popper",disabled:!e.$slots.default},{reference:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElAvatar),{class:"x-mask-avatar",shape:"circle",icon:Vue.unref(VtjIcons.UserFilled),src:t.avatar,size:26},null,8,["icon","src"])]),default:Vue.withCtx(()=>[e.$slots.default?Vue.renderSlot(e.$slots,"default",{key:0}):Vue.createCommentVNode("",!0)]),_:3},8,["disabled"]))}}),rt=Vue.defineComponent({__name:"Content",props:{createView:{type:Function},exclude:{}},setup(o){const t=o;return(e,n)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:"x-mask__content",flex:!1,grow:"",padding:!1},{default:Vue.withCtx(()=>[Vue.renderSlot(e.$slots,"default"),Vue.createVNode(Vue.unref(VueRouter.RouterView),null,{default:Vue.withCtx(({Component:u,route:l})=>[(Vue.openBlock(),Vue.createBlock(Vue.KeepAlive,{exclude:t.exclude},[u?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(t.createView(u,l)),{key:l.fullPath})):Vue.createCommentVNode("",!0)],1032,["exclude"]))]),_:1})]),_:3}))}});function Fn(){const o=Vue.ref(!1),t=Vue.ref(""),e=Vue.ref(!1);return{collapsed:o,keyword:t,favorite:e}}function Ln(o){const t=VtjUtils.uid();return Vue.computed(()=>{const e=o.home;return Object.assign({id:t,url:"/",name:"MaskHome",icon:VtjIcons.HomeFilled,closable:!1},typeof e=="string"?{url:e}:e||{})})}function at(o,t){let e=[];return o.forEach(n=>{n=t?t(n):n,n.children?e=e.concat(at(n.children,t)):e.push(n)}),e}function Un(o,t){const e=VueRouter.useRouter(),n=Vue.shallowRef([]),u=Vue.shallowRef([]),l=Vue.computed(()=>at(n.value,o.menuAdapter)),s=Vue.computed(()=>VtjUtils.arrayToMap(l.value,"id")),r=Vue.ref(null),a=V=>{const g=typeof V=="object"?V.id:V,h=s.value.get(g);if(!h){console.warn("找不到菜单",V);return}const{type:w="route",url:C,title:b,icon:_}=h;if(!C){r.value=h,t("select",h);return}if(w==="route"){VtjUtils.isUrl(C)||C.startsWith("//")?window.open(C):(r.value=h,e.push(C).catch(y=>y));return}if(w==="window"){window.open(C);return}w==="dialog"&&oe({resizable:!0,bodyPadding:!1,width:"80%",height:"80%",title:b,icon:_,src:C})},d=async()=>{n.value=typeof o.menus=="function"?await o.menus()||[]:o.menus??[],u.value=typeof o.favorites=="function"?await o.favorites()||[]:o.favorites??[]},c=V=>{u.value=[V,...u.value],o.addFavorite&&o.addFavorite(V)},i=V=>{u.value=u.value.filter(g=>g.id!==V.id),o.removeFavorite&&o.removeFavorite(V)},m=V=>!!u.value.find(g=>g===V||g.id===V.id),p=V=>{m(V)?i(V):c(V)};return Vue.watchEffect(d),{menus:n,favorites:u,flatMenus:l,active:r,select:a,toggleFavorite:p}}function Xn(o,t,e,n,u){const l=VueRouter.useRoute(),s=VueRouter.useRouter(),r={},a=Vue.ref([]),d=Vue.ref(),{width:c}=me(d),i=Vue.computed(()=>Math.floor(c.value/ut)),m=Vue.computed(()=>a.value.slice(0,i.value).filter(E=>!E.dialog)),p=Vue.computed(()=>a.value.slice(i.value)),V=E=>e.value.find($=>$.url===E),g=E=>l.fullPath===E.url,h=E=>u.value.id===E?u.value:a.value.find($=>$.id===E),w=Vue.ref(""),C=Vue.computed(()=>h(w.value)),b=E=>{s.push(E.url).catch($=>$)},_=E=>{w.value=E.id,l.fullPath!==E.url&&b(E)},y=()=>{b(u.value)},x=E=>{const $=a.value.find(T=>T.url===E.url||T.id===E.id);$?_($):(a.value.unshift(E),_(E))},f=async E=>{const{url:$=l.fullPath,icon:T,title:re="新建标签页"}=E||{},ae=r[$],xe=VtjUtils.uid(),Se=VtjUtils.upperFirstCamelCase($);return{id:xe,name:Se,url:$,icon:T,title:re,closable:!0,menu:E,...ae?await ae():{}}},P=async E=>{if(await ElementPlus.ElMessageBox.confirm("是否关闭页签","提示",{type:"warning"}).catch(()=>!1)){if(a.value=a.value.filter(T=>T.id!==E.id),w.value===E.id){const T=a.value[0];b(T||u.value)}return E}},z=E=>{const $=a.value.findIndex(T=>T.id===E.id);if($>=0){const T=a.value[$];a.value.splice($,1,Object.assign(T,E))}},B=async()=>{if(!await ElementPlus.ElMessageBox.confirm("是否关闭全部页签","提示",{type:"warning"}).catch(()=>!1))return;const $=a.value;return a.value=[],_(u.value),$},S=async()=>{if(!await ElementPlus.ElMessageBox.confirm("是否关闭其他页签","提示",{type:"warning"}).catch(()=>!1))return;const $=a.value.filter(T=>T.id!==w.value);return a.value=a.value.filter(T=>T.id===w.value),$},D=E=>{const $=a.value.filter(T=>T.id!==E.id);a.value=[E,...$],_(E)},K=async()=>{await Vue.nextTick();const E=u.value.url===l.fullPath,$=V(l.fullPath);if(E)w.value=u.value.id;else{const T=await f($);x(T)}await Vue.nextTick(),n.value=$||null};return Vue.watch(e,K),Vue.watch(l,K,{immediate:!0}),Vue.provide(ve,r),{tabRef:d,tabs:a,showTabs:m,currentTab:C,changeTab:b,removeTab:P,updateTab:z,addTab:x,home:u,tabValue:w,isCurrentTab:g,activeHome:y,activeTab:_,dropdownTabs:p,removeAllTabs:B,removeOtherTabs:S,moveToShow:D}}function Hn(o){const t=new Map,e=Vue.ref([]),n=Vue.reactive({}),u=Vue.getCurrentInstance(),l={},{updateTab:s,isCurrentTab:r,activeHome:a,tabs:d}=o,c=(b,_)=>{const y=_.fullPath;if(t.has(y))return t.get(y);{const x=VtjUtils.upperFirstCamelCase(y),f={name:x,setup(){const P=Vue.computed(()=>n[y]||document.body),z=Vue.computed(()=>!n[y]),B=Vue.computed(()=>!e.value.includes(x));return Vue.provide(VueRouter.routeLocationKey,Vue.toRaw({..._})),()=>B.value?Vue.h(Vue.Teleport,{to:P.value,disabled:z.value},[Vue.h(b)]):null}};return t.set(y,f),f}},i=b=>{b.dialog=void 0,delete n[b.url];const _=l[b.id];_&&(_.destroy(),delete l[b.id],s(b))},m=(b=[])=>{b.forEach(_=>{i(_)})},p=async b=>{b.dialog={...b.dialog,onMinimized:()=>{i(b)},onClose:async()=>{i(b),d.value=d.value.filter(y=>y.id!==b.id)}},s(b);const _=oe({title:b.title,icon:b.icon,modal:!1,resizable:!0,draggable:!0,maximizable:!0,minimizable:!0,...b.dialog,onOpen(y){n[b.url]=y.refs.panelRef?.bodyRef?.$el}},u?.appContext);return await Vue.nextTick(),r(b)&&a(),l[b.id]=_,_},V=async b=>{e.value=[b.name],await Vue.nextTick(),e.value=[]},g=async b=>{e.value=b.map(_=>_.name),await Vue.nextTick(),e.value=[]},h=b=>(b.preventDefault(),!1),w=b=>{if(b.dataTransfer){const _=b.dataTransfer.getData("tab"),y=d.value.find(x=>x.id===_);if(y){const{clientX:x,clientY:f}=b;y.dialog={left:x,top:f},p(y)}}},C=b=>!!n[b];return j(document,"dragover",h),j(document,"drop",w),{createView:c,openDialog:p,refresh:V,exclude:e,cleanCache:g,hasDialog:C,closeDialog:i,closeDialogs:m}}const st=Vue.defineComponent({name:"XMask",__name:"Mask",props:lt,emits:["select","actionClick","actionCommand"],setup(o,{emit:t}){const e=o,n=t,u=Ln(e),{collapsed:l,keyword:s,favorite:r}=Fn(),{menus:a,favorites:d,flatMenus:c,active:i,select:m,toggleFavorite:p}=Un(e,n),{tabRef:V,showTabs:g,currentTab:h,changeTab:w,removeTab:C,tabs:b,updateTab:_,isCurrentTab:y,activeHome:x,removeAllTabs:f,removeOtherTabs:P,dropdownTabs:z,moveToShow:B}=Xn(e,n,c,i,u),{createView:S,openDialog:D,refresh:K,exclude:E,cleanCache:$,closeDialogs:T}=Hn({tabs:b,updateTab:_,isCurrentTab:y,activeHome:x}),re=async M=>{await C(M)&&await $([M])},ae=async()=>{const M=await f();M&&(T(M),await $(M))},xe=async()=>{const M=await P();M&&(T(M),await $(M))},Se=M=>{n("actionClick",M)},So=(M,U)=>{n("actionCommand",M,U)};return Vue.provide(ke,{tabs:b,flatMenus:c,favorites:d,updateTab:_,active:i,currentTab:h}),(M,U)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-mask",{"is-disabled":e.disabled}]),fit:""},{default:Vue.withCtx(()=>[e.disabled?(Vue.openBlock(),Vue.createBlock(rt,{key:1,createView:Vue.unref(S),exclude:Vue.unref(E)},{default:Vue.withCtx(()=>[M.$slots.default?Vue.renderSlot(M.$slots,"default",{key:0}):Vue.createCommentVNode("",!0)]),_:3},8,["createView","exclude"])):(Vue.openBlock(),Vue.createElementBlock(Vue.Fragment,{key:0},[Vue.createVNode(Bn,{collapsed:Vue.unref(l)},{brand:Vue.withCtx(()=>[Vue.createVNode(Pn,{logo:e.logo,title:e.title,url:Vue.unref(u).url,collapsed:Vue.unref(l)},null,8,["logo","title","url","collapsed"])]),default:Vue.withCtx(()=>[Vue.createVNode(xn,{collasped:Vue.unref(l),"onUpdate:collasped":U[0]||(U[0]=q=>Vue.isRef(l)?l.value=q:null),favorite:Vue.unref(r),"onUpdate:favorite":U[1]||(U[1]=q=>Vue.isRef(r)?r.value=q:null),keyword:Vue.unref(s),"onUpdate:keyword":U[2]||(U[2]=q=>Vue.isRef(s)?s.value=q:null)},null,8,["collasped","favorite","keyword"]),Vue.createVNode(Nn,{collapse:Vue.unref(l),keyword:Vue.unref(s),favorite:Vue.unref(r),favorites:Vue.unref(d),flatMenus:Vue.unref(c),menus:Vue.unref(a),active:Vue.unref(i),onSelect:Vue.unref(m)},null,8,["collapse","keyword","favorite","favorites","flatMenus","menus","active","onSelect"])]),_:1},8,["collapsed"]),Vue.createVNode(Vue.unref(N),{class:"x-mask__main",grow:"",shrink:"",flex:"",direction:"column"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(N),{class:"x-mask-topbar",justify:"space-between",align:"center"},{default:Vue.withCtx(()=>[Vue.createVNode(In,{ref_key:"tabRef",ref:V,favorites:Vue.unref(d),tabs:Vue.unref(g),home:Vue.unref(u),value:Vue.unref(h)?.id,onClick:Vue.unref(w),onToggleFavorite:Vue.unref(p),onRemove:re,onDialog:Vue.unref(D),onRefresh:Vue.unref(K)},null,8,["favorites","tabs","home","value","onClick","onToggleFavorite","onDialog","onRefresh"]),Vue.createVNode(On,{tabs:Vue.unref(z),actions:e.actions,theme:e.theme,onCloseOtherTabs:xe,onCloseAllTabs:ae,onCloseTab:re,onClickTab:Vue.unref(B),onActionClick:Se,onActionCommand:So},{default:Vue.withCtx(()=>[Vue.createVNode(An,{avatar:e.avatar},Vue.createSlots({_:2},[M.$slots.user?{name:"default",fn:Vue.withCtx(()=>[Vue.renderSlot(M.$slots,"user")]),key:"0"}:void 0]),1032,["avatar"])]),_:3},8,["tabs","actions","theme","onClickTab"])]),_:3}),Vue.createVNode(rt,{createView:Vue.unref(S),exclude:Vue.unref(E)},{default:Vue.withCtx(()=>[M.$slots.default?Vue.renderSlot(M.$slots,"default",{key:0}):Vue.createCommentVNode("",!0)]),_:3},8,["createView","exclude"])]),_:3})],64))]),_:3},8,["class"]))}});function Kn(o={}){const t=VueRouter.useRoute(),e=Vue.inject(ve,null),n=Vue.inject(ke,null);if(e){const l=typeof o=="function"?o:async()=>o;e[t.fullPath]=l}return{tab:Vue.computed(()=>n?n.tabs.value.find(l=>l.url===t.fullPath):null),mask:n}}const Wn=Vue.defineComponent({__name:"SelectEditor",props:{options:{default:()=>[]}},setup(o){const t=o;return(e,n)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElSelect),Vue.normalizeProps(Vue.guardReactiveProps(e.$attrs)),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(t.options,(u,l)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElOption),Vue.mergeProps({key:`item_${l}_${u.value}`},u),Vue.createSlots({_:2},[e.$slots.option?{name:"default",fn:Vue.withCtx(()=>[Vue.renderSlot(e.$slots,"option",{option:u})]),key:"0"}:void 0]),1040))),128))]),_:3},16))}}),Yn=Vue.defineComponent({__name:"CheckboxEditor",props:{options:{default:()=>[]},button:{type:Boolean,default:!1}},setup(o){const t=o,e=Vue.computed(()=>Vue.markRaw(t.button?ElementPlus.ElCheckboxButton:ElementPlus.ElCheckbox));return(n,u)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElCheckboxGroup),Vue.normalizeProps(Vue.guardReactiveProps(n.$attrs)),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(t.options,(l,s)=>(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(e.value),{key:`item_${s}_${l.value}`,label:l.label,value:l.value},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},16))}}),Jn=Vue.defineComponent({__name:"RadioEditor",props:{options:{default:()=>[]},button:{type:Boolean,default:!1}},setup(o){const t=o,e=Vue.computed(()=>Vue.markRaw(t.button?ElementPlus.ElRadioButton:ElementPlus.ElRadio));return(n,u)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElRadioGroup),Vue.normalizeProps(Vue.guardReactiveProps(n.$attrs)),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(t.options,(l,s)=>(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(e.value),{key:`item_${s}_${l.value}`,label:l.label,value:l.value},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(l.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},16))}}),be={none:{component:"div",props:{class:"x-field-none"}},text:{component:ElementPlus.ElInput,props:{clearable:!0},defaultValue:""},textarea:{component:ElementPlus.ElInput,props:{type:"textarea",rows:2},defaultValue:""},select:{component:Wn,props:{clearable:!0}},checkbox:{component:Yn,props:{},defaultValue:[]},radio:{component:Jn,props:{}},number:{component:ElementPlus.ElInputNumber,props:{}},date:{component:ElementPlus.ElDatePicker,props:{}},time:{component:ElementPlus.ElTimePicker,props:{}},datetime:{component:ElementPlus.ElDatePicker,props:{type:"datetime"}},switch:{component:ElementPlus.ElSwitch,props:{}},rate:{component:ElementPlus.ElRate,props:{}},slider:{component:ElementPlus.ElSlider,props:{}},cascader:{component:ElementPlus.ElCascader,props:{}}},it={name:{type:String},label:{type:String},editor:{type:[String,Object],default:"text"},props:{type:Object},modelValue:{type:[String,Number,Boolean,Object,Array],default(o){return be[o.editor]?.defaultValue}},size:{type:String},width:{type:[String,Number]},tooltipMessage:{type:[Boolean,Object],default:!0},tooltipPosition:{type:[String,Number],default:"outer"},placeholder:{type:String},disabled:{type:Boolean},readonly:{type:Boolean},options:{type:[Array,Function]},visible:{type:[Boolean,Object,Function],default:!0},cascader:{type:[String,Array]},error:{type:String},tip:{type:String},inline:{type:Boolean}};async function Gn(o,t){const e=o.options;return e?typeof e=="function"?await e(t)||[]:e:[]}function qn(o,t,e,n,u){const l=Vue.ref([]),s=Vue.computed(()=>!n||!u?{}:VtjUtils.toArray(o.cascader).reduce((d,c)=>(d[c]=VtjUtils.get(u,c),d),{}));return Vue.watch(s,async a=>{if(e.value){l.value=await Gn(o,a);const d=n?.exposed?.reset;d&&o.name&&d(o.name)}},{immediate:!0}),{editor:Vue.computed(()=>{const{editor:a="text",placeholder:d,label:c="...",disabled:i,readonly:m}=o,p={...o.props,placeholder:d||(d===null?void 0:`请输入${c}`),disabled:i,readonly:m,options:l.value,onFocus:()=>t("focus"),onBlur:()=>t("blur"),onChange:g=>t("change",g)},V=typeof a=="string"?be[a]:{component:a,props:{}};return VtjUtils.merge({},V,{props:p})})}}const Qn={key:1,class:"el-form-item__error"},Zn={key:0,class:"x-field__tip"},we=Vue.defineComponent({name:"XField",__name:"Field",props:it,emits:["update:modelValue","change","focus","blur"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.inject(_e,null),s=Vue.inject(ElementPlus.formContextKey,null),r=Vue.inject(Ce,null),a=Vue.computed(()=>!l?.proxy||!r?n.visible:typeof n.visible=="function"?n.visible(r):VtjUtils.isObject(n.visible)?Object.entries(n.visible).every(([P,z])=>VtjUtils.get(r,P)===z):n.visible),d=()=>l?.proxy&&r&&n.name?VtjUtils.get(r,n.name)??n.modelValue:n.modelValue,c=Vue.ref(d()),{editor:i}=qn(n,u,a,l,r),m=Vue.ref(),p=Vue.ref(),V=Vue.computed(()=>n.size||s?.size||"default"),g=Vue.computed(()=>Object.assign({},l?.props.tooltipMessage||{},typeof n.tooltipMessage=="boolean"?{}:n.tooltipMessage)),h=(f="")=>n.error?n.error:f.includes("is required")?`${n.label||n.name}是必填项!`:f,w=Vue.computed(()=>{const f=l?.props.tooltipMessage??n.tooltipMessage;return{[`is-tooltip-${n.tooltipPosition}`]:!!f&&!!n.tooltipPosition}}),C=Vue.computed(()=>{const f=l?.proxy;return{width:n.width?R(n.width):f&&f.inline&&f.inlineColumns?`${100/f.inlineColumns}%`:null}}),b=Vue.computed(()=>({right:typeof n.tooltipPosition=="number"?`${n.tooltipPosition}px`:void 0})),_=Vue.computed(()=>({...i.value.props,modelValue:c.value,"onUpdate:modelValue":f=>{c.value=f}}));return Vue.watch(c,(f,P)=>{a.value&&!VtjUtils.isEqual(f,P)&&(u("update:modelValue",f),l?.proxy&&r&&n.name&&VtjUtils.set(r,n.name,f))}),Vue.watch(()=>!l?.proxy||!n.name||!r?n.modelValue:VtjUtils.get(r,n.name)??n.modelValue,f=>{a.value&&(c.value=f)},{immediate:!0}),Vue.watch(a,f=>{l?.proxy&&r&&n.name&&(f?(c.value=d(),VtjUtils.set(r,n.name,c.value)):(c.value=void 0,VtjUtils.set(r,n.name,void 0)))},{immediate:!0}),t({fieldValue:c,itemRef:m,editorRef:p,focus:()=>{p.value?.focus&&p.value.focus()},blur:()=>{p.value?.foucs&&p.value.blur()}}),(f,P)=>a.value?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElFormItem),Vue.mergeProps({key:0,class:["x-field",w.value],ref_key:"itemRef",ref:m,prop:n.name,label:f.label,size:V.value,style:C.value},f.$attrs),Vue.createSlots({error:Vue.withCtx(({error:z})=>[Vue.renderSlot(f.$slots,"error",{error:z},()=>[Vue.unref(l)?.props.tooltipMessage??n.tooltipMessage?(Vue.openBlock(),Vue.createElementBlock("div",{key:0,class:"x-field__info",style:Vue.normalizeStyle(b.value)},[Vue.createVNode(Vue.unref(ElementPlus.ElTooltip),Vue.mergeProps({content:h(z)},g.value),{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(F),{class:"x-field__trigger",icon:Vue.unref(VtjIcons.WarningFilled),size:V.value},null,8,["icon","size"])]),_:2},1040,["content"])],4)):(Vue.openBlock(),Vue.createElementBlock("div",Qn,Vue.toDisplayString(h(z)),1))])]),default:Vue.withCtx(()=>[Vue.createElementVNode("div",{class:Vue.normalizeClass(["x-field__editor_wrap",{"is-inline":n.inline}])},[Vue.renderSlot(f.$slots,"editor",{editor:_.value},()=>[Vue.unref(i).component?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(i).component),Vue.mergeProps({key:0,class:"x-field__editor",ref_key:"editorRef",ref:p,modelValue:c.value,"onUpdate:modelValue":P[0]||(P[0]=z=>c.value=z)},Vue.unref(i).props),Vue.createSlots({_:2},[f.$slots.option?{name:"option",fn:Vue.withCtx(({option:z})=>[Vue.renderSlot(f.$slots,"option",{option:z})]),key:"0"}:void 0]),1040,["modelValue"])):Vue.createCommentVNode("",!0)]),n.tip||f.$slots.tip?(Vue.openBlock(),Vue.createElementBlock("div",Zn,[Vue.renderSlot(f.$slots,"tip",{},()=>[Vue.createTextVNode(Vue.toDisplayString(n.tip),1)])])):Vue.createCommentVNode("",!0)],2),Vue.renderSlot(f.$slots,"default")]),_:2},[f.$slots.label?{name:"label",fn:Vue.withCtx(()=>[Vue.renderSlot(f.$slots,"label")]),key:"0"}:void 0]),1040,["prop","label","size","class","style"])):Vue.createCommentVNode("",!0)}}),ct={model:{type:Object,default(){return Object.create(null)}},inline:{type:Boolean},inlineColumns:{type:Number},footer:{type:Boolean,default:!0},submitText:{type:String,default:"提交"},resetText:{type:String,default:"重置"},submitMethod:{type:Function},tooltipMessage:{type:[Object,Boolean],default:void 0}},_e=Symbol("formInstanceKey"),Ce=Symbol("formModelKey"),Be=Vue.defineComponent({name:"XForm",__name:"Form",props:ct,emits:["change","submit","reset"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.getCurrentInstance(),s=Vue.ref(),r=Vue.reactive(n.model||{}),a=Vue.ref(!1);Vue.provide(_e,l),Vue.provide(Ce,r),Vue.watch(()=>n.model,i=>{Object.assign(r,i)},{deep:!0}),Vue.watch(r,()=>{u("change",Vue.toRaw(r))});const d=async()=>{await s.value.validate().catch(()=>!1)&&(u("submit",Vue.toRaw(r)),n.submitMethod&&(a.value=!0,await n.submitMethod(Vue.toRaw(r)),a.value=!1))},c=i=>{s.value.resetFields(i),u("reset")};return t({formRef:s,model:r,submit:d,reset:c}),(i,m)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElForm),Vue.mergeProps({ref_key:"formRef",ref:s,class:"x-form",inline:n.inline,model:r,onKeyup:Vue.withKeys(d,["enter"]),onSubmit:m[1]||(m[1]=Vue.withModifiers(()=>{},["stop","prevent"]))},i.$attrs),{default:Vue.withCtx(()=>[Vue.renderSlot(i.$slots,"default"),n.footer?(Vue.openBlock(),Vue.createBlock(Vue.unref(we),{key:0,editor:"none",class:"x-form__footer",label:" "},{editor:Vue.withCtx(()=>[Vue.renderSlot(i.$slots,"footer",{},()=>[n.submitText?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),{key:0,loading:a.value,type:"primary",onClick:d},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(n.submitText),1)]),_:1},8,["loading"])):Vue.createCommentVNode("",!0),n.resetText?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElButton),{key:1,type:"default",onClick:m[0]||(m[0]=()=>c())},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(n.resetText),1)]),_:1})):Vue.createCommentVNode("",!0),Vue.renderSlot(i.$slots,"action")])]),_:3})):Vue.createCommentVNode("",!0)]),_:3},16,["inline","model"]))}}),dt={modelValue:{type:Boolean,default:!0},size:{type:String},formProps:{type:Object},submit:{type:[Boolean,String],default:"确定"},cancel:{type:[Boolean,String],default:"取消"},model:{type:Object,default(){return Object.create(null)}},rules:{type:Object},submitMethod:{type:Function}},pt=Vue.defineComponent({name:"XDialogForm",__name:"DialogForm",props:dt,emits:["update:modelValue","submit","close"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.ref(),s=Vue.ref(),r=Vue.computed(()=>s.value?.$vtjEl),a=()=>{l.value?.submit()},d=()=>{u("update:modelValue",!1),u("close")},c=async p=>{u("submit",p),n.submitMethod?await n.submitMethod(p)&&d():d()},i=Vue.computed(()=>n.formProps?.disabled?!1:n.submit),m=Vue.computed(()=>n.formProps?.disabled?!1:n.cancel);return t({$vtjEl:r,formRef:l,dialogRef:s}),(p,V)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ne),Vue.mergeProps({ref_key:"dialogRef",ref:s,class:"x-dialog-form","model-value":n.modelValue,submit:i.value,cancel:m.value,size:n.size,onSubmit:a,onClose:d,minimizable:!1,maximizable:!1},p.$attrs),Vue.createSlots({default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(Be),Vue.mergeProps({ref_key:"formRef",ref:l,class:"x-dialog-form__form",footer:!1,"label-width":"80px",size:n.size,model:n.model,rules:n.rules,"submit-method":c},n.formProps),{default:Vue.withCtx(()=>[Vue.renderSlot(p.$slots,"default")]),_:3},16,["size","model","rules"])]),_:2},[p.$slots.extra?{name:"extra",fn:Vue.withCtx(()=>[Vue.renderSlot(p.$slots,"extra")]),key:"0"}:void 0,p.$slots.handle?{name:"handle",fn:Vue.withCtx(()=>[Vue.renderSlot(p.$slots,"handle")]),key:"1"}:void 0,p.$slots.footer?{name:"footer",fn:Vue.withCtx(()=>[Vue.renderSlot(p.$slots,"footer")]),key:"2"}:void 0]),1040,["model-value","submit","cancel","size"]))}}),Vt={items:{type:Array,default(){return[]}},border:{type:Boolean},fit:{type:Boolean},align:{type:String}},eo={class:"x-tabs__label-inner"},to={key:0,class:"x-tabs__actions"},mt=Vue.defineComponent({name:"XTabs",__name:"Tabs",props:Vt,emits:["actionClick","actionCommand"],setup(o,{emit:t}){const e=o,n=t,u=a=>{const{label:d,name:c,value:i,disabled:m,closable:p,lazy:V}=a;return{label:d,name:i??c,disabled:m,closable:p,lazy:V}},l=Vue.computed(()=>({"is-no-border":!e.border,"is-fit":!!e.fit,[`is-align-${e.align}`]:!!e.align})),s=a=>{n("actionClick",a)},r=a=>{n("actionCommand",a)};return(a,d)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElTabs),Vue.mergeProps({class:["x-tabs",l.value]},a.$attrs),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(e.items,c=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElTabPane),Vue.mergeProps({key:c.value??c.name},u(c)),{label:Vue.withCtx(()=>[Vue.renderSlot(a.$slots,"label",Vue.normalizeProps(Vue.guardReactiveProps(c)),()=>[c.icon?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(H)(c.icon)),{key:0,class:"x-tabs__icon"})):Vue.createCommentVNode("",!0),Vue.createElementVNode("div",eo,[Vue.createTextVNode(Vue.toDisplayString(c.label)+" ",1),c.actions&&[c.name,c.value].includes(a.$attrs.modelValue)?(Vue.openBlock(),Vue.createElementBlock("div",to,[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(c.actions,i=>(Vue.openBlock(),Vue.createBlock(Vue.unref(O),Vue.mergeProps({mode:"icon",type:"primary",size:"small",circle:""},i,{onClick:s,onCommand:r}),null,16))),256))])):Vue.createCommentVNode("",!0)])])]),default:Vue.withCtx(()=>[Vue.renderSlot(a.$slots,"default",Vue.normalizeProps(Vue.guardReactiveProps(c)),()=>[c.component?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(c.component),Vue.normalizeProps(Vue.mergeProps({key:0},c.props)),null,16)):Vue.createCommentVNode("",!0)])]),_:2},1040))),128))]),_:3},16,["class"]))}}),ft={direction:{type:String,default:"column"},imageSrc:{type:String},imageWidth:{type:[Number,String]},imageHeight:{type:[Number,String]},icon:{type:[String,Object]},title:{type:String},description:{type:String},actions:{type:Array},actionBarProps:{type:Object},split:{type:Boolean},onImageClick:{type:Function},onTitleClick:{type:Function}},no={class:"x-data-item__title"},oo={key:1,class:"x-data-item__section x-data-item__desc"},uo={key:2,class:"x-data-item__section x-data-item__extra"},lo={key:3,class:"x-data-item__section x-data-item__actions"},gt=Vue.defineComponent({name:"XDataItem",__name:"DataItem",props:ft,emits:["imageClick","titleClick","actionClick","actionCommand"],setup(o,{emit:t}){const e=o,n=t,u=Vue.computed(()=>{const{imageWidth:i,imageHeight:m}=e;return{width:i?R(i):void 0,height:m?R(m):void 0}}),l=Vue.computed(()=>({[`is-image-${e.direction}`]:!!e.direction,"is-split":!!e.split})),s=Vue.computed(()=>({size:"small",mode:"text",justify:"flex-end",type:"info",items:e.actions,...e.actionBarProps})),r=()=>n("imageClick"),a=()=>n("titleClick"),d=i=>n("actionClick",i),c=(i,m)=>n("actionCommand",i,m);return(i,m)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{class:Vue.normalizeClass(["x-data-item",l.value]),direction:e.direction},{default:Vue.withCtx(()=>[e.imageSrc||i.$slots.image?(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,class:"x-data-item__img",autoPointer:!0,onClick:e.onImageClick?r:void 0},{default:Vue.withCtx(()=>[Vue.renderSlot(i.$slots,"image",{},()=>[e.imageSrc?(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElImage),{key:0,style:Vue.normalizeStyle(u.value),src:e.imageSrc},null,8,["style","src"])):Vue.createCommentVNode("",!0)])]),_:3},8,["onClick"])):Vue.createCommentVNode("",!0),Vue.createVNode(Vue.unref(N),{class:"x-data-item__content",direction:"column",grow:"",shrink:""},{default:Vue.withCtx(()=>[e.title||i.$slots.title?(Vue.openBlock(),Vue.createBlock(Vue.unref(N),{key:0,class:"x-data-item__section x-data-item__wrapper",align:"center",autoPointer:!0,onClick:e.onTitleClick?a:void 0},{default:Vue.withCtx(()=>[e.icon?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(H)(e.icon)),{key:0,class:"x-data-item__icon"})):Vue.createCommentVNode("",!0),Vue.createElementVNode("span",no,[Vue.renderSlot(i.$slots,"title",{},()=>[Vue.createTextVNode(Vue.toDisplayString(e.title),1)])])]),_:3},8,["onClick"])):Vue.createCommentVNode("",!0),e.description||i.$slots.description?(Vue.openBlock(),Vue.createElementBlock("div",oo,[Vue.renderSlot(i.$slots,"description",{},()=>[Vue.createTextVNode(Vue.toDisplayString(e.description),1)])])):Vue.createCommentVNode("",!0),i.$slots.default?(Vue.openBlock(),Vue.createElementBlock("div",uo,[Vue.renderSlot(i.$slots,"default")])):Vue.createCommentVNode("",!0),e.actions||e.actionBarProps||i.$slots.actions?(Vue.openBlock(),Vue.createElementBlock("div",lo,[Vue.renderSlot(i.$slots,"actions",{},()=>[Vue.createVNode(Vue.unref(G),Vue.mergeProps(s.value,{onClick:d,onCommand:c}),null,16)])])):Vue.createCommentVNode("",!0)]),_:3})]),_:3},8,["direction","class"]))}}),ht={option:{type:Object},width:{type:[Number,String],default:"100%"},height:{type:[Number,String],default:"400px"}};function ro(){return Promise.resolve(echarts)}function ao(o,t){const e=Vue.ref(),n=Vue.shallowRef();return Vue.onMounted(async()=>{n.value=await ro();const u=Vue.unref(o);u&&(e.value||(e.value=Vue.markRaw(n.value.init(u))),e.value&&e.value.setOption(t.option||{}))}),Vue.onUnmounted(()=>{e.value&&e.value.dispose()}),Vue.watch(()=>t.option,u=>{e.value&&e.value.setOption(u||{})},{deep:!0}),Ke(o,VtjUtils.debounce(()=>{e.value&&e.value.resize()},150)),{echartsInstance:e,echarts:n}}const yt=Vue.defineComponent({name:"XChart",__name:"Chart",props:ht,setup(o,{expose:t}){const e=o,n=Vue.ref(),{echartsInstance:u,echarts:l}=ao(n,e),s=Vue.computed(()=>({width:R(e.width),height:R(e.height)}));return t({chartRef:n,echartsInstance:u,echarts:l}),(r,a)=>(Vue.openBlock(),Vue.createElementBlock("div",{ref_key:"chartRef",ref:n,style:Vue.normalizeStyle(s.value)},null,4))}}),vt={data:{type:[Object,Function],default(){return[]}},itemHeight:{type:[Number,Function]},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:"100%"},pager:{type:[Boolean,Object]},page:{type:Number,default:1},pageSize:{type:Number,default:10},dataKey:{type:String},infiniteScroll:{type:[Boolean,Object]}},so={key:0,class:"x-list__loading"},io={key:1,class:"x-list__nomore"},co={key:0,class:"x-list__loading"},po={key:1,class:"x-list__nomore"},Vo={key:1,class:"x-list__pager"},kt=Vue.defineComponent({name:"XList",__name:"List",props:vt,emits:["load"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.reactive({page:n.page,pageSize:n.pageSize});Vue.watchEffect(()=>{const{page:y,pageSize:x}=n;Object.assign(l,{page:y,pageSize:x})});const{data:s,loading:r}=De(n.data,{list:[],total:0},l),a=Vue.computed(()=>Math.ceil((s.value.total||0)/l.pageSize)),d=Vue.ref(!1),c=Vue.ref(),i=Vue.computed(()=>({width:R(n.width),height:R(n.height)})),m=Vue.computed(()=>({"is-virtual":!!n.itemHeight})),p=Vue.computed(()=>{const y={};for(let[x,f]of Object.entries(se(n.infiniteScroll)))y[`infinite-scroll-${x}`]=f;return(r.value||d.value)&&(y["infinite-scroll-disabled"]=!0),y}),V=Vue.computed(()=>se(n.pager,{})),{list:g,containerProps:h,wrapperProps:w,scrollTo:C}=Vn(Vue.computed(()=>s.value.list),{itemHeight:n.itemHeight||0}),b=()=>{!n.infiniteScroll||d.value||(l.page<a.value?(++l.page,u("load",l)):d.value=!0)},_=y=>n.dataKey?y[n.dataKey]:void 0;return t({list:g,scrollTo:C,wrapperRef:c,loading:r,state:l,pageCount:a,nomore:d,data:s,getKey:_}),(y,x)=>(Vue.openBlock(),Vue.createElementBlock("div",{class:Vue.normalizeClass(["x-list",m.value]),style:Vue.normalizeStyle(i.value)},[!Vue.unref(s).total&&!Vue.unref(r)?Vue.renderSlot(y.$slots,"empty",{key:0},()=>[Vue.createVNode(Vue.unref(ElementPlus.ElEmpty))]):Vue.createCommentVNode("",!0),Vue.createElementVNode("div",Vue.mergeProps({class:"x-list__content"},Vue.unref(h)),[n.itemHeight?Vue.withDirectives((Vue.openBlock(),Vue.createElementBlock("div",Vue.mergeProps({key:0,class:"x-list__wrapper",ref_key:"wrapperRef",ref:c},{...Vue.unref(w),...p.value}),[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(Vue.unref(g),(f,P)=>Vue.renderSlot(y.$slots,"default",Vue.normalizeProps(Vue.mergeProps({key:_(f.data)},{item:f.data,index:P})),()=>[Vue.createElementVNode("div",null,Vue.toDisplayString(f),1)])),128)),Vue.unref(r)?(Vue.openBlock(),Vue.createElementBlock("div",so,[Vue.renderSlot(y.$slots,"loading",{},()=>[Vue.createTextVNode(" 正在加载数据... ")])])):Vue.createCommentVNode("",!0),d.value?(Vue.openBlock(),Vue.createElementBlock("div",io,[Vue.renderSlot(y.$slots,"nomore",{},()=>[Vue.createTextVNode(" 没有更多数据 ")])])):Vue.createCommentVNode("",!0)],16)),[[Vue.unref(ElementPlus.ElInfiniteScroll),b]]):Vue.withDirectives((Vue.openBlock(),Vue.createElementBlock("div",Vue.mergeProps({key:1,class:"x-list__wrapper"},p.value),[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(Vue.unref(s).list,(f,P)=>Vue.renderSlot(y.$slots,"default",Vue.normalizeProps(Vue.mergeProps({key:_(f)},{item:f,index:P})),()=>[Vue.createElementVNode("div",null,Vue.toDisplayString(f),1)])),128)),Vue.unref(r)?(Vue.openBlock(),Vue.createElementBlock("div",co,[Vue.renderSlot(y.$slots,"loading",{},()=>[Vue.createTextVNode(" 正在加载数据... ")])])):Vue.createCommentVNode("",!0),d.value?(Vue.openBlock(),Vue.createElementBlock("div",po,[Vue.renderSlot(y.$slots,"nomore",{},()=>[Vue.createTextVNode(" 没有更多数据 ")])])):Vue.createCommentVNode("",!0)],16)),[[Vue.unref(ElementPlus.ElInfiniteScroll),b]])],16),n.pager?(Vue.openBlock(),Vue.createElementBlock("div",Vo,[Vue.createVNode(Vue.unref(ElementPlus.ElPagination),Vue.mergeProps({small:"",background:"",layout:"prev, pager, next",total:Vue.unref(s).total,"default-page-size":n.pageSize,"default-current-page":n.page,"current-page":l.page,"onUpdate:currentPage":x[0]||(x[0]=f=>l.page=f),"page-size":l.pageSize,"onUpdate:pageSize":x[1]||(x[1]=f=>l.pageSize=f)},V.value),null,16,["total","default-page-size","default-current-page","current-page","page-size"])])):Vue.createCommentVNode("",!0)],6))}}),bt={name:{type:String,default:"VTJ.PRO"},tagline:{type:String,default:"基于 Vue3 + TypeScript 快速打造高生产力的低代码研发平台"},actionText:{type:String,default:"开始设计"},actionLink:{type:String,default:"/@vtj/pro/"}},mo={class:"x-startup"},fo={class:"x-startup__wrapper"},go={class:"x-startup__name"},ho={class:"clip"},yo={class:"x-startup__tagline"},vo={class:"x-startup__actions"},wt=Vue.defineComponent({__name:"Startup",props:bt,setup(o){const t=o,e=()=>{if(typeof window<"u"){let u=(window.__VTJ_LINK__||{}).href||window.location.pathname+"@vtj/pro/#/";window.location.href=u}};return(n,u)=>(Vue.openBlock(),Vue.createElementBlock("div",mo,[Vue.createElementVNode("div",fo,[Vue.createElementVNode("div",go,[Vue.createElementVNode("span",ho,Vue.toDisplayString(t.name),1)]),Vue.createElementVNode("div",yo,Vue.toDisplayString(t.tagline),1),Vue.createElementVNode("div",vo,[Vue.createVNode(Vue.unref(ElementPlus.ElButton),{type:"primary",size:"large",round:"",icon:Vue.unref(VtjIcons.EditPen),onClick:e},{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(t.actionText),1)]),_:1},8,["icon"])])])]))}}),_t={stringProp:{type:String},booleanProp:{type:Boolean},numberProp:{type:Number},selectProp:{type:String},objectProp:{type:Object},arrayProp:{type:Array},iconProp:{type:String},colorProp:{type:String},modelValue:{type:String},syncProp:{type:String}},ko={class:"x-test__slot"},bo={class:"x-test__slot"},Ct=Vue.defineComponent({name:"XTest",__name:"Test",props:_t,emits:["click","submit","change","update:modelValue","update:syncProp"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.computed(()=>Object.entries(n)),s=Vue.computed({get(){return n.modelValue},set(p){u("update:modelValue",p)}}),r=Vue.computed({get(){return n.syncProp},set(p){u("update:syncProp",p)}}),a=Vue.ref("default inner data"),d=()=>{ElementPlus.ElMessage.info({message:"触发click事件"}),u("click",n)},c=()=>{ElementPlus.ElMessage.info({message:"触发submit事件"}),u("submit",n)},i=p=>{a.value=p,u("change",a.value)},m=()=>{i("user click change:"+Date.now())};return t({click:d,submit:c,data:a,change:i}),(p,V)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(W),{class:"x-test",header:"VTJ 低代码测试组件",border:""},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("内部数据")]),_:1}),Vue.createVNode(Vue.unref(N),null,{default:Vue.withCtx(()=>[Vue.createTextVNode(Vue.toDisplayString(a.value),1)]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("属性")]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDescriptions),{column:3,border:""},{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(l.value,([g,h])=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElDescriptionsItem),{label:g},{default:Vue.withCtx(()=>[Vue.createElementVNode("pre",null,Vue.toDisplayString(JSON.stringify(h,null,2)),1)]),_:2},1032,["label"]))),256))]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("插槽")]),_:1}),Vue.createVNode(Vue.unref(N),{justify:"space-around",flex:"",gap:""},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(W),{header:"default",grow:"",card:""},{default:Vue.withCtx(()=>[Vue.createElementVNode("div",ko,[Vue.renderSlot(p.$slots,"default",{props:n,data:a.value},()=>[Vue.createElementVNode("pre",null,Vue.toDisplayString(JSON.stringify({props:n,data:a.value},null,2)),1)])])]),_:3}),Vue.createVNode(Vue.unref(W),{header:"extra",grow:"",card:""},{default:Vue.withCtx(()=>[Vue.createElementVNode("div",bo,[Vue.renderSlot(p.$slots,"extra",{props:n,data:a.value},()=>[Vue.createElementVNode("pre",null,Vue.toDisplayString(JSON.stringify({props:n,data:a.value},null,2)),1)])])]),_:3})]),_:3}),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("双向绑定")]),_:1}),Vue.createVNode(Vue.unref(N),null,{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElDescriptions),{column:2,border:""},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElDescriptionsItem),{label:"modelValue"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElInput),{modelValue:s.value,"onUpdate:modelValue":V[0]||(V[0]=g=>s.value=g)},null,8,["modelValue"])]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDescriptionsItem),{label:"syncProp"},{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElInput),{modelValue:r.value,"onUpdate:modelValue":V[1]||(V[1]=g=>r.value=g)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElDivider),null,{default:Vue.withCtx(()=>[Vue.createTextVNode("事件和方法")]),_:1}),Vue.createVNode(Vue.unref(N),null,{default:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElButton),{onClick:d},{default:Vue.withCtx(()=>[Vue.createTextVNode("click")]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElButton),{onClick:c},{default:Vue.withCtx(()=>[Vue.createTextVNode("submit")]),_:1}),Vue.createVNode(Vue.unref(ElementPlus.ElButton),{onClick:m},{default:Vue.withCtx(()=>[Vue.createTextVNode("change")]),_:1})]),_:1})]),_:3}))}}),Bt={units:{type:[String,Object,Array]},unit:{type:String},appendWidth:{type:Number,default:100},withUnit:{type:Boolean,default:!0},format:{type:String},modelValue:{type:[String,Number]},selectProps:{type:Object}},xt=Vue.defineComponent({name:"XInputUnit",__name:"InputUnit",props:Bt,emits:["update:modelValue","update:unit","change","unit-change"],setup(o,{expose:t,emit:e}){const n=o,u=e,l=Vue.computed(()=>VtjUtils.toArray(n.units).map(g=>typeof g=="string"?{label:g,value:g}:g)),s=Vue.computed(()=>{const V=l.value.map(g=>g.value);return n.unit&&V.push(n.unit),VtjUtils.dedupArray(V)}),r=Vue.ref(),a=Vue.ref(),d=V=>n.format&&V?VtjUtils.numberFormat(Number(V)||0,n.format):V,c=V=>{if(!n.withUnit||typeof V!="string")return{value:d(V),unit:n.unit};for(const g of s.value){const h=new RegExp(`${g}$`);if(h.test(V))return{value:d(V.toString().replace(h,"")),unit:g}}return{value:d(V),unit:n.unit}},i=()=>{const V=d(a.value),g=r.value;return n.withUnit&&V&&g?`${V}${g}`:V};Vue.watch(()=>n.modelValue,V=>{const{value:g,unit:h}=c(V);r.value=h,a.value=g},{immediate:!0}),Vue.watch(a,V=>{u("change",V)});const m=async()=>{const{value:V,unit:g}=c(i());a.value=V,r.value=g,u("update:modelValue",i())},p=()=>{u("unit-change",r.value),m()};return t({parser:c,formatValue:d}),(V,g)=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElInput),{modelValue:a.value,"onUpdate:modelValue":g[1]||(g[1]=h=>a.value=h),modelModifiers:{trim:!0},class:"x-input-unit",onChange:m},Vue.createSlots({_:2},[l.value.length?{name:"append",fn:Vue.withCtx(()=>[Vue.createVNode(Vue.unref(ElementPlus.ElSelect),Vue.mergeProps({class:"x-input-unit__unit",modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=h=>r.value=h),size:V.$attrs.size,style:{width:`${n.appendWidth}px`}},V.$props.selectProps,{onChange:p}),{default:Vue.withCtx(()=>[(Vue.openBlock(!0),Vue.createElementBlock(Vue.Fragment,null,Vue.renderList(l.value,h=>(Vue.openBlock(),Vue.createBlock(Vue.unref(ElementPlus.ElOption),{key:h.value,label:h.label,value:h.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","size","style"])]),key:"0"}:{name:"suffix",fn:Vue.withCtx(()=>[r.value?(Vue.openBlock(),Vue.createElementBlock("div",{key:0,class:"x-input-unit__unit"},[Vue.createElementVNode("span",null,Vue.toDisplayString(r.value),1)])):Vue.createCommentVNode("",!0)]),key:"1"}]),1032,["modelValue"]))}}),St={modelValue:{type:String,default:""},disabled:{type:Boolean},editable:{type:Boolean,default:!0},border:{type:Boolean,default:!0},uploader:{type:Function}};class wo{constructor(t,e=VtjUtils.fileToBase64){this.loader=t,this.uploader=e}async upload(){const t=this.loader,e=await t.file;if(e){const n=await this.uploader(e).catch(u=>(console.warn("XCkeditor",u),null));if(n)return t.uploadTotal=e.size,t.uploaded=e.size,{default:n}}}abort(){}}async function _o(){if(typeof window>"u")return;const o=window,t=o.CKEDITOR_VERSION;o.CKEDITOR_VERSION=void 0;const e=o.ClassicEditor||(await Promise.resolve(e)).default,n=o.CKEditor||(await Promise.resolve(CKEditor)).default,u=o.CKEditorCN||(await Promise.resolve(CKEDITOR_TRANSLATIONS)).default;return o.CKEditorCN=u,o.CKEDITOR_VERSION=t,{ClassicEditor:Vue.markRaw(e),CKEditor:Vue.markRaw(n.component),CKEditorCN:u}}function Co(){const o=Vue.ref();return _o().then(t=>{o.value=t}),o}const Et=Vue.defineComponent({name:"XCKEditor",__name:"Ckeditor",props:St,emits:["update:modelValue","change","blur","focus","ready"],setup(o,{emit:t}){const e=Co(),n=o,u=t,l=Vue.ref(n.modelValue),s=Ne(),r={language:"zh-cn",mediaEmbed:{providers:[{name:"mp4",url:/\.mp4$/gi,html:p=>`<video src="${p}" controls style="width:100%; height:400px;"></video>`}]}},a=Vue.computed(()=>({"is-editable":n.editable,"is-no-border":!n.editable&&!n.border}));Vue.watch(()=>n.modelValue,p=>{l.value=p});const d=p=>{l.value=p,u("change",p)},c=p=>{u("focus",p)},i=p=>{u("blur",l.value,p),n.modelValue!==l.value&&u("update:modelValue",l.value)},m=p=>{p.plugins.get("FileRepository").createUploadAdapter=V=>new wo(V,n.uploader??s.uploader),u("ready",p)};return(p,V)=>(Vue.openBlock(),Vue.createElementBlock("div",{class:Vue.normalizeClass(["x-ckeditor",a.value])},[Vue.unref(e)?.CKEditor?(Vue.openBlock(),Vue.createBlock(Vue.resolveDynamicComponent(Vue.unref(e).CKEditor),{key:0,disabled:!n.editable||n.disabled,editor:Vue.unref(e).ClassicEditor,config:r,"model-value":l.value,onInput:d,onFocus:c,onBlur:i,onReady:m},null,40,["disabled","editor","model-value"])):Vue.createCommentVNode("",!0)],2))}}),Bo=[F,X,O,G,N,de,W,ne,st,we,Be,pt,mt,gt,yt,kt,wt,Ct,xt,Et],{install:xo}=ze(Bo);v.ADAPTER_KEY=Q,v.AdapterPlugin=Nt,v.Draggable=fe,v.INSTALLED_KEY=ie,v.MASK_KEY=ke,v.Resizable=he,v.TAB_CREATORS_KEY=ve,v.TAB_ITEM_WIDTH=ut,v.VTJ_UI_VERSION=Pt,v.XAction=O,v.XActionBar=G,v.XCKEditor=Et,v.XChart=yt,v.XContainer=N,v.XDataItem=gt,v.XDialog=ne,v.XDialogForm=pt,v.XField=we,v.XForm=Be,v.XHeader=de,v.XIcon=F,v.XInputUnit=xt,v.XList=kt,v.XMask=st,v.XMenu=X,v.XPanel=W,v.XStartup=wt,v.XTabs=mt,v.XTest=Ct,v.actionBarProps=Me,v.actionProps=ce,v.builtinFieldEditors=be,v.chartProps=ht,v.ckeditorProps=St,v.containerProps=Ie,v.createDialog=oe,v.dataItemProps=ft,v.defineTab=Kn,v.dialogFormProps=dt,v.dialogProps=ot,v.fieldProps=it,v.formInstanceKey=_e,v.formModelKey=Ce,v.formProps=ct,v.getSizeValue=R,v.headerProps=je,v.iconProps=Pe,v.iconSizeMap=Ee,v.inputUnitProps=Bt,v.install=xo,v.listProps=vt,v.makeInstaller=ze,v.maskProps=lt,v.panelProps=Re,v.parseSize=J,v.startupProps=bt,v.tabsProps=Vt,v.testProps=_t,v.toObjectProps=se,v.useAdapter=Ne,v.useDisabled=Z,v.useIcon=H,v.useIconProps=Te,v.useLoader=De,v.vDraggable=nt,v.vResizable=ye,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});