foucui 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/foucui.css +1 -1
- package/dist/foucui.js +1 -1
- package/dist/foucui.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/foucui.umd.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(Ie,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@iconify/vue"),require("@vueuse/core"),require("sortablejs"),require("lunar-javascript"),require("vue-router"),require("html2canvas"),require("jspdf"),require("pinia"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","@iconify/vue","@vueuse/core","sortablejs","lunar-javascript","vue-router","html2canvas","jspdf","pinia","lodash-es"],e):(Ie=typeof globalThis<"u"?globalThis:Ie||self,e(Ie.Foucui={},Ie.Vue,Ie.IconifyVue,Ie.VueUse,Ie.Sortable,Ie.lunarJavascript,Ie.VueRouter,Ie.html2canvas,Ie.jspdf,Ie.Pinia,Ie.lodashEs))})(this,(function(Ie,e,xr,oa,Vr,ld,No,Cr,Nr,ad,ti){"use strict";const Br=Object.freeze(Object.defineProperty({__proto__:null,get default(){return cw}},Symbol.toStringTag,{value:"Module"})),id=e.defineComponent({name:"FouAffix",__name:"index",props:{offset:{default:0},position:{default:"top"},zIndex:{default:100},target:{default:""}},emits:["change","scroll"],setup(t,{expose:a,emit:o}){const n=t,r=o,c=e.ref(null),d=e.ref(null),f=e.ref(!1),m=e.ref(0),h=e.computed(()=>!!n.target),p=()=>n.target&&document.querySelector(n.target)||window,_=()=>{if(h.value)return;const S=c.value,x=d.value;if(!S||!x)return;const N=p(),M=S.getBoundingClientRect();m.value=x.offsetHeight;let u=!1;if(n.position==="top")if(N===window)u=M.top<=n.offset;else{const I=N.getBoundingClientRect().top;u=M.top<=I+n.offset}else if(N===window)u=M.bottom>=window.innerHeight-n.offset;else{const I=N.getBoundingClientRect().bottom;u=M.bottom>=I-n.offset}u!==f.value&&(f.value=u,r("change",u));const B=N===window?window.scrollY||document.documentElement.scrollTop:N.scrollTop;r("scroll",{scrollTop:B,fixed:f.value})},C=e.computed(()=>{var N;if(h.value)return{position:"sticky",zIndex:String(n.zIndex),...n.position==="top"?{top:`${n.offset}px`}:{bottom:`${n.offset}px`}};if(!f.value)return;const S=p(),x={position:"fixed",zIndex:String(n.zIndex),width:`${((N=c.value)==null?void 0:N.offsetWidth)??0}px`};if(n.position==="top"){const M=S===window?n.offset:S.getBoundingClientRect().top+n.offset;x.top=`${M}px`}else{const M=S===window?n.offset:window.innerHeight-S.getBoundingClientRect().bottom+n.offset;x.bottom=`${M}px`}if(S!==window){const M=S.getBoundingClientRect();x.left=`${M.left}px`,x.width=`${M.width}px`}else c.value&&(x.left=`${c.value.getBoundingClientRect().left}px`);return x});let E=window;const b=()=>_(),V=()=>_(),k=()=>{E.removeEventListener("scroll",b),window.removeEventListener("resize",V),!h.value&&(E=p(),E.addEventListener("scroll",b,{passive:!0}),window.addEventListener("resize",V,{passive:!0}),_())};return e.onMounted(()=>{e.nextTick(k)}),e.onBeforeUnmount(()=>{E.removeEventListener("scroll",b),window.removeEventListener("resize",V)}),e.watch(()=>[n.target,n.offset,n.position],()=>e.nextTick(k)),a({update:_}),(S,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:c,class:"fou-affix"},[e.unref(f)&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fou-affix__placeholder",style:e.normalizeStyle({height:`${e.unref(m)}px`})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"affixRef",ref:d,class:e.normalizeClass(["fou-affix__content",{"is-fixed":e.unref(f)&&!e.unref(h),"is-sticky":e.unref(h)}]),style:e.normalizeStyle(e.unref(C))},[e.renderSlot(S.$slots,"default",{},void 0,!0)],6)],512))}}),me=(t,a)=>{const o=t.__vccOpts||t;for(const[n,r]of a)o[n]=r;return o},rd=Object.freeze(Object.defineProperty({__proto__:null,default:me(id,[["__scopeId","data-v-08d0ce0b"]])},Symbol.toStringTag,{value:"Module"})),cd=["viewBox"],sd=["href","xlink:href"],_t=me(e.defineComponent({name:"FouIcon",__name:"index",props:{icon:{default:""},isCustomSvg:{type:Boolean,default:!1},keepColor:{type:Boolean,default:!1},viewBox:{default:""}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,r=e.computed(()=>String(o.icon||"").trim()),c=e.computed(()=>{const p=r.value;return!!p&&p.includes(":")&&!p.startsWith("http")&&!o.isCustomSvg}),d=e.computed(()=>r.value),f=e.computed(()=>{const p=r.value;return p?p.startsWith("ri-")?p:`ri-${p}`:""}),m=e.computed(()=>`#fou-icon-${r.value}`),h=p=>n("click",p);return(p,_)=>e.unref(c)?(e.openBlock(),e.createElementBlock("span",{key:0,"aria-hidden":"true",class:"fou-icon fou-icon--iconify",onClick:h},[e.createVNode(e.unref(xr.Icon),{icon:e.unref(d),width:"1em",height:"1em"},null,8,["icon"])])):t.isCustomSvg?(e.openBlock(),e.createElementBlock("svg",{key:1,"aria-hidden":"true",class:e.normalizeClass(["fou-icon fou-icon--svg",{"is-keep-color":t.keepColor}]),viewBox:t.viewBox||void 0,onClick:h},[e.createElementVNode("use",{href:e.unref(m),"xlink:href":e.unref(m)},null,8,sd)],10,cd)):(e.openBlock(),e.createElementBlock("i",{key:2,"aria-hidden":"true",class:e.normalizeClass(["fou-icon",e.unref(f)]),onClick:h},null,2))}}),[["__scopeId","data-v-ff4c2dd9"]]),dd=Object.freeze(Object.defineProperty({__proto__:null,default:_t},Symbol.toStringTag,{value:"Module"})),md={class:"fou-alert__content"},fd={key:0,class:"fou-alert__title"},ud={key:1,class:"fou-alert__description"},pd=["aria-label"],hd={key:0},gd=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouAlert",__name:"index",props:{title:{type:String,default:""},description:{type:String,default:""},type:{type:String,default:"info"},closable:{type:Boolean,default:!1},closeText:{type:String,default:""},showIcon:{type:Boolean,default:!1},center:{type:Boolean,default:!1},effect:{type:String,default:"light"}},emits:["close"],setup(t,{emit:a}){const o=t,n=a,r=e.ref(!0),c=e.computed(()=>o.type==="danger"?"error":o.type),d=e.computed(()=>{const m={success:"checkbox-circle-line",warning:"error-warning-line",info:"information-line",error:"close-circle-line"};return m[c.value]||m.info}),f=()=>{r.value=!1,n("close")};return(m,h)=>{const p=_t;return e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["fou-alert",[`fou-alert--${e.unref(c)}`,`fou-alert--${t.effect}`,{"is-center":t.center}]],role:"alert"},m.$attrs),[t.showIcon?(e.openBlock(),e.createBlock(p,{key:0,class:"fou-alert__icon",icon:e.unref(d)},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("div",md,[t.title||m.$slots.title?(e.openBlock(),e.createElementBlock("div",fd,[e.renderSlot(m.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)])):e.createCommentVNode("",!0),m.$slots.default||t.description?(e.openBlock(),e.createElementBlock("div",ud,[e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)],!0)])):e.createCommentVNode("",!0)]),t.closable?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"fou-alert__close","aria-label":t.closeText||"Close",onClick:f},[t.closeText?(e.openBlock(),e.createElementBlock("span",hd,e.toDisplayString(t.closeText),1)):(e.openBlock(),e.createBlock(p,{key:1,icon:"close-line"}))],8,pd)):e.createCommentVNode("",!0)],16)),[[e.vShow,e.unref(r)]])}}}),[["__scopeId","data-v-22334a45"]])},Symbol.toStringTag,{value:"Module"})),$r=Symbol("FouAnchor"),_d={class:"fou-anchor"},bd=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouAnchor",__name:"index",props:{offset:{default:0},bound:{default:""}},setup(t){const a=t,o=e.ref([]),n=e.ref(""),r=k=>{const S=window.getComputedStyle(k);return/(auto|scroll)/.test(S.overflow+S.overflowY+S.overflowX)},c=k=>{let S=k.parentElement;for(;S;){if(r(S))return S;S=S.parentElement}return window},d=k=>{if(a.bound){const S=document.querySelector(a.bound);if(S)return S}return k?c(k):window},f=k=>k===window?window.scrollY||document.documentElement.scrollTop:k.scrollTop,m=k=>{const S=k.replace(/^#/,""),x=document.getElementById(S)||document.querySelector(k);if(!x){console.warn(`[FouAnchor] 未找到目标锚点: ${k}`);return}const N=d(x);if(N===window){const M=x.getBoundingClientRect().top+f(window)-a.offset;window.scrollTo({top:M,behavior:"smooth"})}else{const M=N,u=M.getBoundingClientRect(),I=x.getBoundingClientRect().top-u.top+M.scrollTop-a.offset;M.scrollTo({top:I,behavior:"smooth"})}n.value=k;try{k.startsWith("#")&&history.replaceState(null,"",k)}catch{}},h=k=>{const S=o.value.findIndex(x=>x.href===k.href);S>=0?o.value[S]=k:o.value.push(k),o.value.sort((x,N)=>{const M=document.querySelector(x.href),u=document.querySelector(N.href);return!M||!u?0:M.getBoundingClientRect().top-u.getBoundingClientRect().top})},p=k=>{o.value=o.value.filter(S=>S.href!==k)},_=()=>{if(a.bound)return document.querySelector(a.bound)||window;for(const k of o.value){const S=document.querySelector(k.href);if(S)return c(S)}return window},C=()=>{const k=_(),S=f(k),x=k===window?0:k.getBoundingClientRect().top;let N="";for(const M of o.value){const u=M.href.replace(/^#/,""),B=document.getElementById(u);if(!B)continue;(k===window?B.getBoundingClientRect().top+S:B.getBoundingClientRect().top-x+S)-a.offset<=S+1&&(N=M.href)}N&&(n.value=N)};e.provide($r,{offset:e.toRef(a,"offset"),bound:e.toRef(a,"bound"),activeLink:n,registerLink:h,unregisterLink:p,scrollToLink:m});let E=window;const b=()=>C(),V=()=>{const k=_();k!==E&&(E.removeEventListener("scroll",b),E=k,E.addEventListener("scroll",b,{passive:!0}))};return e.onMounted(()=>{E=_(),E.addEventListener("scroll",b,{passive:!0}),C()}),e.onBeforeUnmount(()=>{E.removeEventListener("scroll",b)}),e.watch(()=>a.bound,()=>{V(),C()}),e.watch(()=>o.value.map(k=>k.href).join(","),()=>{V(),C()},{flush:"post"}),(k,S)=>(e.openBlock(),e.createElementBlock("div",_d,[e.renderSlot(k.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-5daecce1"]])},Symbol.toStringTag,{value:"Module"})),yd=["href"],Er=me(e.defineComponent({name:"FouAnchorLink",__name:"index",props:{href:{},title:{default:""}},setup(t){const a=t,o=e.inject($r,null),n=e.ref(null),r=e.computed(()=>(o==null?void 0:o.activeLink.value)===a.href),c=()=>{o==null||o.scrollToLink(a.href)};return e.onMounted(()=>{o==null||o.registerLink({href:a.href,title:a.title,el:n.value})}),e.onBeforeUnmount(()=>{o==null||o.unregisterLink(a.href)}),(d,f)=>(e.openBlock(),e.createElementBlock("a",{class:e.normalizeClass(["fou-anchor-link",{"is-active":e.unref(r)}]),href:t.href,onClick:e.withModifiers(c,["prevent"])},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)],10,yd))}}),[["__scopeId","data-v-5eecf4d6"]]),kd=Object.freeze(Object.defineProperty({__proto__:null,default:Er},Symbol.toStringTag,{value:"Module"})),wd=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({name:"FouApp",__name:"index",setup(t){return(a,o)=>{const n=e.resolveComponent("router-view");return e.openBlock(),e.createBlock(n)}}})},Symbol.toStringTag,{value:"Module"})),xd=["autofocus","disabled","placeholder","readonly","required","type","value","onKeydown"],Vd={class:"fou-autocomplete-suffix"},Cd={key:0,class:"fou-autocomplete-list"},Nd=["title","onClick","onMouseenter"],Bd={class:"fou-ellipsis"},$d={key:0,class:"fou-autocomplete-empty"},Ed=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouAutocomplete",__name:"index",props:{value:{default:""},modelValue:{type:[String,Boolean],default:""},placeholder:{default:""},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},type:{default:"text"},maxlength:{default:0},minlength:{default:1},width:{default:"100%"},height:{default:"32px"},list:{default:()=>[]},searchekey:{default:()=>["value"]},showkey:{default:()=>["value"]},showline:{default:" - "},valueKey:{default:"value"}},emits:["update:modelValue","change","itemclick"],setup(t,{emit:a}){const o=t,n=a,r=e.ref(!1),c=e.ref(!1),d=e.ref(null),f=e.ref([...o.list]),m=e.ref(-1),h=e.computed(()=>o.modelValue!==""&&o.modelValue!==void 0&&o.modelValue!==null?String(o.modelValue):o.value||""),p=e.computed(()=>h.value.length>0);e.watch(()=>o.list,u=>{f.value=[...u]},{deep:!0});const _=u=>o.showkey.map(B=>Reflect.has(u,B)?String(u[B]??""):"").filter(Boolean).join(o.showline),C=(u,B,I)=>{const $=[];if(!Array.isArray(u)||typeof B!="string")return f.value=$,$;const z=Array.isArray(I)?I:["value"],w=B.toLowerCase();for(const R of u)for(const j of z)if(Reflect.has(R,j)&&String(R[j]).toLowerCase().includes(w)){$.push(R);break}return f.value=$,m.value=$.length?0:-1,$},E=u=>{const B=u.target;e.nextTick(()=>{d.value&&(B.value.length>0?(r.value=!0,C(o.list,B.value,o.searchekey)):(r.value=!1,f.value=[...o.list]))}),n("update:modelValue",B.value),n("change",B.value)},b=u=>{const B=String(u[o.valueKey]??u.value??"");d.value&&(d.value.value=B),n("change",B),n("update:modelValue",B),n("itemclick",u),r.value=!1},V=()=>{var u,B;if(!(o.disabled||o.readonly)&&(r.value=!r.value,r.value)){(u=d.value)==null||u.focus();const I=((B=d.value)==null?void 0:B.value)||"";I?C(o.list,I,o.searchekey):f.value=[...o.list]}},k=()=>{var u;if(c.value=!0,!o.disabled&&!o.readonly){r.value=!0;const B=((u=d.value)==null?void 0:u.value)||"";B?C(o.list,B,o.searchekey):f.value=[...o.list]}},S=()=>{var u;d.value&&(d.value.value=""),r.value=!1,f.value=[...o.list],n("change",""),n("update:modelValue",""),(u=d.value)==null||u.focus()},x=u=>{if(!r.value||!f.value.length)return;const B=f.value.length;m.value=(m.value+u+B)%B},N=()=>{m.value>=0&&f.value[m.value]&&b(f.value[m.value])},M=u=>{var $,z,w;const B=(z=($=u.target)==null?void 0:$.closest)==null?void 0:z.call($,".fou-autocomplete"),I=(w=d.value)==null?void 0:w.closest(".fou-autocomplete");I&&B!==I&&(r.value=!1)};return e.onMounted(()=>document.addEventListener("mousedown",M)),e.onUnmounted(()=>document.removeEventListener("mousedown",M)),(u,B)=>{const I=_t;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-autocomplete",{"is-disabled":o.disabled,"is-focused":e.unref(c),"is-clearable":o.clearable,"has-value":e.unref(p)}]),style:e.normalizeStyle({width:o.width})},[e.createElementVNode("input",{ref_key:"inputRef",ref:d,autofocus:o.autofocus,class:"fou-autocomplete-input",disabled:o.disabled,placeholder:o.placeholder,readonly:o.readonly,required:o.required,style:e.normalizeStyle({height:o.height}),type:o.type,value:e.unref(h),onChange:E,onInput:E,onFocus:k,onBlur:B[0]||(B[0]=$=>c.value=!1),onKeydown:[B[1]||(B[1]=e.withKeys(e.withModifiers($=>x(1),["prevent"]),["down"])),B[2]||(B[2]=e.withKeys(e.withModifiers($=>x(-1),["prevent"]),["up"])),e.withKeys(e.withModifiers(N,["prevent"]),["enter"]),B[3]||(B[3]=e.withKeys($=>r.value=!1,["esc"]))]},null,44,xd),e.createElementVNode("div",Vd,[e.withDirectives(e.createElementVNode("button",{type:"button",class:"fou-autocomplete-clear",tabindex:"-1",title:"清空",onMousedown:B[4]||(B[4]=e.withModifiers(()=>{},["prevent"])),onClick:S},[e.createVNode(I,{icon:"close-circle-fill"})],544),[[e.vShow,o.clearable&&e.unref(p)]]),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["fou-autocomplete-caret",{"is-open":e.unref(r)}]),tabindex:"-1",onMousedown:B[5]||(B[5]=e.withModifiers(()=>{},["prevent"])),onClick:V},[e.createVNode(I,{icon:"arrow-down-s-line"})],34)]),e.unref(r)?(e.openBlock(),e.createElementBlock("div",Cd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),($,z)=>(e.openBlock(),e.createElementBlock("div",{key:z,class:e.normalizeClass(["fou-autocomplete-list-item",{"is-active":z===e.unref(m)}]),title:_($),onMousedown:B[6]||(B[6]=e.withModifiers(()=>{},["prevent"])),onClick:w=>b($),onMouseenter:w=>m.value=z},[e.createElementVNode("span",Bd,e.toDisplayString(_($)),1)],42,Nd))),128)),e.unref(f).length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",$d,"无匹配数据"))])):e.createCommentVNode("",!0)],6)}}}),[["__scopeId","data-v-711ae32a"]])},Symbol.toStringTag,{value:"Module"})),Sd=["src","alt"],Md={key:1,class:"fou-avatar__slot"},zd={key:2,class:"fou-avatar__text"},Td=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouAvatar",__name:"index",props:{src:{},alt:{default:""},size:{default:"default"},shape:{default:"circle"},fit:{default:"cover"},text:{default:""},icon:{}},emits:["error"],setup(t,{emit:a}){const o=t,n=a,r=e.ref(!1);e.watch(()=>o.src,()=>{r.value=!1});const c=e.computed(()=>typeof o.size=="number"?"custom":o.size),d=e.computed(()=>{if(typeof o.size!="number")return;const h=`${o.size}px`;return{width:h,height:h,fontSize:`${Math.max(12,o.size*.4)}px`}}),f=e.computed(()=>o.text?o.text.slice(0,2):"?"),m=h=>{r.value=!0,n("error",h)};return(h,p)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["fou-avatar",[`fou-avatar--${t.shape}`,`fou-avatar--${e.unref(c)}`,{"is-image":!!t.src&&!e.unref(r)}]]),style:e.normalizeStyle(e.unref(d))},[t.src&&!e.unref(r)?(e.openBlock(),e.createElementBlock("img",{key:0,class:"fou-avatar__img",src:t.src,alt:t.alt,style:e.normalizeStyle({objectFit:t.fit}),onError:m},null,44,Sd)):h.$slots.default?(e.openBlock(),e.createElementBlock("span",Md,[e.renderSlot(h.$slots,"default",{},void 0,!0)])):(e.openBlock(),e.createElementBlock("span",zd,e.toDisplayString(e.unref(f)),1))],6))}}),[["__scopeId","data-v-616a21f8"]])},Symbol.toStringTag,{value:"Module"})),Fd=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouBacktop",__name:"index",props:{scrollVisibilityHeight:{default:200},right:{default:40},bottom:{default:40},zIndex:{default:100},target:{default:""}},setup(t){const a=t,o=e.ref(!1),n=()=>a.target&&document.querySelector(a.target)||window,r=h=>h===window?window.scrollY||document.documentElement.scrollTop:h.scrollTop,c=e.computed(()=>({right:`${a.right}px`,bottom:`${a.bottom}px`,zIndex:String(a.zIndex)})),d=()=>{const h=n();o.value=r(h)>=a.scrollVisibilityHeight},f=()=>{const h=n();h===window?window.scrollTo({top:0,behavior:"smooth"}):h.scrollTo({top:0,behavior:"smooth"})};let m=window;return e.onMounted(()=>{m=n(),m.addEventListener("scroll",d,{passive:!0}),d()}),e.onBeforeUnmount(()=>{m.removeEventListener("scroll",d)}),(h,p)=>{const _=_t;return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-backtop-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("button",{type:"button",class:"fou-backtop",style:e.normalizeStyle(e.unref(c)),"aria-label":"回到顶部",onClick:f},[e.renderSlot(h.$slots,"default",{},()=>[e.createVNode(_,{icon:"arrow-up-line"})],!0)],4),[[e.vShow,e.unref(o)]])]),_:3})])}}}),[["__scopeId","data-v-7082d43e"]])},Symbol.toStringTag,{value:"Module"}));let Id=t=>t;const Ge=(t,...a)=>Id(t,...a);let wl=0,oi="";function Sr(){return{lock:()=>{wl===0&&(oi=document.body.style.overflow,document.body.style.overflow="hidden"),wl+=1},unlock:()=>{wl!==0&&(wl-=1,wl===0&&(document.body.style.overflow=oi,oi=""))}}}const Dd={class:"fou-dialog__title"},Rd=["title"],Ld=["title"],Pd=["title"],Od={key:0,class:"fou-dialog__loading"},jd={key:0,class:"fou-dialog__loading-text"},Ad={key:0,class:"fou-dialog__footer"},Ud=["onMousedown"],_o=me(e.defineComponent({name:"FouDialog",inheritAttrs:!1,__name:"index",props:{modelValue:{type:Boolean,default:!1},title:{default:""},width:{default:"520px"},top:{default:"15vh"},alignCenter:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modalClass:{default:""},appendToBody:{type:Boolean,default:!0},appendTo:{},lockScroll:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!1},closeOnPressEscape:{type:Boolean,default:!1},destroyOnClose:{type:Boolean,default:!1},beforeClose:{},showFullscreen:{type:Boolean,default:!0},showMinimize:{type:Boolean,default:!0},maximizable:{type:Boolean,default:void 0},minimizable:{type:Boolean,default:void 0},showClose:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingText:{},animated:{type:Boolean,default:!0},theme:{default:"default"},draggable:{type:Boolean,default:!0},dragBound:{type:[Boolean,String],default:"viewport"},resizable:{type:Boolean,default:!0},openInTab:{type:Boolean,default:!1},minWidth:{default:320},minHeight:{default:180},zIndex:{default:2e3}},emits:["update:modelValue","open","opened","close","closed","minimize","maximize","restore"],setup(t,{emit:a}){const o=t,n=a,r=e.useAttrs(),c=e.computed(()=>{const{class:H,style:U,...Be}=r;return Be}),d=oa.useVModel(o,"modelValue",n),f=e.ref(null),m=e.ref(!1),h=e.ref(!1),p=e.ref(null),_=e.ref(null),C=e.ref(!1),E=e.ref(!1),b=e.ref(!1),V=e.ref(0),k=e.ref(!0),S=["n","s","e","w","ne","nw","se","sw"],x=e.computed(()=>typeof o.appendTo=="string"||o.appendTo instanceof HTMLElement?o.appendTo:"body"),N=e.computed(()=>o.appendToBody!==!1),M=e.computed(()=>o.maximizable??o.showFullscreen),u=e.computed(()=>o.minimizable??o.showMinimize),B=e.computed(()=>o.draggable&&!m.value&&!h.value),I=e.computed(()=>!!p.value),$=e.computed(()=>{const H=o.dragBound;return H===!0||H==="viewport"||H===void 0}),z=e.computed(()=>({"is-open-in-tab":o.openInTab,"is-minimized-root":h.value})),w=e.computed(()=>({[`fou-dialog--${o.theme}`]:!0,"fou-dialog--minimized":h.value,"fou-dialog--fullscreen":m.value,"fou-dialog--centered":!I.value&&!m.value&&!h.value&&o.alignCenter,"fou-dialog--topped":!I.value&&!m.value&&!h.value&&!o.alignCenter,"fou-dialog--fixed-box":I.value&&!m.value&&!h.value,"fou-dialog--unbounded":!$.value&&I.value&&!m.value&&!h.value,"fou-dialog--dragging":C.value,"fou-dialog--resizing":E.value,"fou-dialog--animated":o.animated&&!C.value&&!E.value&&!b.value})),R=e.computed(()=>{const H={zIndex:String(o.zIndex+V.value+(h.value?100:0))};return h.value?(Object.assign(H,{left:"16px",bottom:"16px",top:"auto",width:"240px",height:"48px",transform:"none"}),H):m.value?(Object.assign(H,{left:"0",top:"0",width:"100vw",height:"100vh",transform:"none",borderRadius:"0"}),H):p.value?(Object.assign(H,{left:`${p.value.left}px`,top:`${p.value.top}px`,width:`${p.value.width}px`,height:`${p.value.height}px`,transform:"none"}),H):(H.width=typeof o.width=="number"?`${o.width}px`:String(o.width||"520px"),o.alignCenter||(H.top=o.top||"15vh",H.left="50%",H.transform="translateX(-50%)"),H)}),j=(H,U="resize")=>{const Be=window.innerWidth,ze=window.innerHeight,v=Math.max(o.minWidth,H.width),Q=Math.max(o.minHeight,H.height);if(!$.value)return{left:H.left,top:H.top,width:U==="resize"?v:Math.max(o.minWidth,H.width),height:U==="resize"?Q:Math.max(o.minHeight,H.height)};const le=Math.max(o.minWidth,Be-8),ke=Math.max(o.minHeight,ze-8),Pe=Math.min(v,le),We=Math.min(Q,ke),Bt=Math.min(Math.max(0,H.left),Math.max(0,Be-Pe)),wt=Math.min(Math.max(0,H.top),Math.max(0,ze-We));return{left:Bt,top:wt,width:Pe,height:We}},J=()=>{const H=f.value;if(!H)return null;const U=H.getBoundingClientRect(),Be=j({left:U.left,top:U.top,width:U.width,height:Math.max(U.height,o.minHeight)});return p.value=Be,Be},q=()=>p.value||J(),{lock:ae,unlock:X}=Sr(),T=H=>{o.lockScroll&&(H?ae():X())},fe=()=>{b.value=!0,n("close"),d.value=!1},ge=()=>{if(o.beforeClose){o.beforeClose(()=>fe());return}fe()},de=()=>{o.closeOnClickModal&&ge()},oe=()=>{V.value+=1},ce=()=>{if(h.value){De();return}m.value?(m.value=!1,_.value&&(p.value={..._.value}),n("restore")):(q(),p.value&&(_.value={...p.value}),m.value=!0,n("maximize"))},Ne=()=>{m.value&&(m.value=!1),q(),p.value&&(_.value={...p.value}),h.value=!0,n("minimize")},De=()=>{h.value=!1,_.value&&(p.value={..._.value}),n("restore")},$e=()=>{h.value&&De()},Qe=()=>{h.value?De():ce()},st=H=>{if(!B.value||H.target.closest(".fou-dialog__actions"))return;H.preventDefault();const U=q();if(!U)return;C.value=!0;const Be=H.clientX,ze=H.clientY,v=le=>{p.value=j({...U,left:U.left+le.clientX-Be,top:U.top+le.clientY-ze},"drag")},Q=()=>{C.value=!1,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",Q)};document.addEventListener("mousemove",v),document.addEventListener("mouseup",Q)},ht=(H,U)=>{const Be=q();if(!Be)return;E.value=!0;const ze=H.clientX,v=H.clientY,Q=ke=>{const Pe=ke.clientX-ze,We=ke.clientY-v;let{left:Bt,top:wt,width:xt,height:pt}=Be;U.includes("e")&&(xt=Be.width+Pe),U.includes("s")&&(pt=Be.height+We),U.includes("w")&&(xt=Be.width-Pe,Bt=Be.left+Pe,xt<o.minWidth&&(xt=o.minWidth,Bt=Be.left+Be.width-o.minWidth)),U.includes("n")&&(pt=Be.height-We,wt=Be.top+We,pt<o.minHeight&&(pt=o.minHeight,wt=Be.top+Be.height-o.minHeight)),p.value=j({left:Bt,top:wt,width:xt,height:pt},"resize")},le=()=>{E.value=!1,document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",le)};document.addEventListener("mousemove",Q),document.addEventListener("mouseup",le)},Ye=H=>{!d.value||h.value||o.closeOnPressEscape&&H.key==="Escape"&&ge()},ct=()=>{h.value=!1,m.value=!!o.fullscreen,p.value=null,_.value=null,b.value=!1,C.value=!1,E.value=!1};return e.watch(()=>o.fullscreen,H=>{m.value=!!H},{immediate:!0}),e.watch(d,async H=>{H?(b.value=!1,o.destroyOnClose&&(k.value=!0),T(!0),n("open"),await e.nextTick(),!o.alignCenter&&!p.value&&f.value,n("opened")):(T(!1),n("closed"),ct(),o.destroyOnClose&&(k.value=!1))}),e.onMounted(()=>{document.addEventListener("keydown",Ye),d.value&&T(!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",Ye),T(!1)}),(H,U)=>{const Be=_t;return e.openBlock(),e.createBlock(e.Teleport,{to:e.unref(x),disabled:!e.unref(N)},[!o.destroyOnClose||e.unref(k)||e.unref(d)?e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,class:["fou-dialog-root",[e.unref(z),e.unref(r).class]]},e.unref(c),{style:{zIndex:o.zIndex}}),[t.modal&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fou-dialog__mask",t.modalClass]),onMousedown:e.withModifiers(de,["self"])},null,34)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"panelRef",ref:f,class:e.normalizeClass(["fou-dialog",e.unref(w)]),style:e.normalizeStyle(e.unref(R)),role:"dialog","aria-modal":"true",onMousedown:oe},[e.createElementVNode("div",{class:e.normalizeClass(["fou-dialog__header",{"is-movable":e.unref(B),"is-minimized-bar":e.unref(h)}]),onMousedown:st,onDblclick:Qe,onClick:$e},[e.createElementVNode("div",Dd,e.toDisplayString(t.title),1),e.createElementVNode("div",{class:"fou-dialog__actions",onMousedown:U[1]||(U[1]=e.withModifiers(()=>{},["stop"])),onClick:U[2]||(U[2]=e.withModifiers(()=>{},["stop"]))},[e.unref(u)&&!e.unref(h)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-dialog__btn",title:e.unref(Ge)("最小化"),onClick:e.withModifiers(Ne,["stop"])},[e.createVNode(Be,{icon:"subtract-line"})],8,Rd)):e.createCommentVNode("",!0),e.unref(M)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"fou-dialog__btn",title:e.unref(Ge)(e.unref(h)||e.unref(m)?"还原":"最大化"),onClick:U[0]||(U[0]=e.withModifiers(ze=>e.unref(h)?De():ce(),["stop"]))},[e.createVNode(Be,{icon:e.unref(h)?"picture-in-picture-2-line":e.unref(m)?"fullscreen-exit-line":"fullscreen-line"},null,8,["icon"])],8,Ld)):e.createCommentVNode("",!0),t.showClose?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"fou-dialog__btn",title:e.unref(Ge)("关闭"),onClick:e.withModifiers(ge,["stop"])},[e.createVNode(Be,{icon:"close-line"})],8,Pd)):e.createCommentVNode("",!0)],32)],34),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(["fou-dialog__body",{"is-loading":t.loading}])},[t.loading?(e.openBlock(),e.createElementBlock("div",Od,[U[3]||(U[3]=e.createElementVNode("span",{class:"fou-dialog__spinner"},null,-1)),t.loadingText?(e.openBlock(),e.createElementBlock("span",jd,e.toDisplayString(t.loadingText),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(H.$slots,"default",{},void 0,!0)],2),[[e.vShow,!e.unref(h)]]),!e.unref(h)&&H.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ad,[e.renderSlot(H.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0),t.resizable&&!e.unref(m)&&!e.unref(h)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},e.renderList(S,ze=>e.createElementVNode("div",{key:ze,class:e.normalizeClass(["fou-dialog__resize",`fou-dialog__resize--${ze}`]),onMousedown:e.withModifiers(v=>ht(v,ze),["prevent","stop"])},null,42,Ud)),64)):e.createCommentVNode("",!0)],38)],16)),[[e.vShow,e.unref(d)]]):e.createCommentVNode("",!0)],8,["to","disabled"])}}}),[["__scopeId","data-v-d17b3b39"]]),Wd=Object.freeze(Object.defineProperty({__proto__:null,default:_o},Symbol.toStringTag,{value:"Module"})),Mr=Symbol("FouTabBar"),Hd={class:"fou-tab-bar__header",role:"tablist"},qd=["aria-selected","onClick"],Yd={class:"fou-tab-bar__content"},na=me(e.defineComponent({name:"FouTabBar",__name:"index",props:{modelValue:{},type:{default:"default"},stretch:{type:Boolean,default:!1}},emits:["update:modelValue","tabClick"],setup(t,{emit:a}){const o=t,n=a,r=e.ref([]),c=e.computed({get(){var C;return o.modelValue!==void 0&&o.modelValue!==null?o.modelValue:(C=r.value[0])==null?void 0:C.name},set(C){n("update:modelValue",C)}}),d=e.computed(()=>[...r.value]),f=C=>{const E=r.value.findIndex(b=>b.uid===C.uid);E>=0?r.value[E]=C:r.value.push(C),o.modelValue===void 0&&r.value.length===1&&(c.value=C.name)},m=C=>{r.value=r.value.filter(E=>E.uid!==C)},h=(C,E)=>{const b=r.value.findIndex(V=>V.uid===C);b>=0&&(r.value[b]={...r.value[b],...E})},p=e.computed(()=>c.value);e.provide(Mr,{activeName:p,registerPane:f,unregisterPane:m,updatePane:h});const _=C=>{c.value=C;const E=r.value.find(b=>b.name===C);E&&n("tabClick",E)};return(C,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-tab-bar",[`fou-tab-bar--${t.type}`,{"is-stretch":t.stretch}]])},[e.createElementVNode("div",Hd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),b=>(e.openBlock(),e.createElementBlock("button",{key:String(b.name),type:"button",class:e.normalizeClass(["fou-tab-bar__item",{"is-active":b.name===e.unref(c)}]),role:"tab","aria-selected":b.name===e.unref(c),onClick:V=>_(b.name)},[e.renderSlot(C.$slots,`label-${b.name}`,{},()=>[e.createTextVNode(e.toDisplayString(b.label),1)],!0)],10,qd))),128))]),e.createElementVNode("div",Yd,[e.renderSlot(C.$slots,"default",{},void 0,!0)])],2))}}),[["__scopeId","data-v-3ed52357"]]),Kd=Object.freeze(Object.defineProperty({__proto__:null,default:na},Symbol.toStringTag,{value:"Module"})),Xd=["aria-hidden"],la=me(e.defineComponent({name:"FouTabPane",__name:"index",props:{name:{},label:{default:""},lazy:{type:Boolean,default:!1}},setup(t){var h;const a=t,o=e.useSlots(),n=e.inject(Mr,null),r=((h=e.getCurrentInstance())==null?void 0:h.uid)??Math.random(),c=e.ref(!a.lazy),d=e.computed(()=>(n==null?void 0:n.activeName.value)===a.name),f=e.computed(()=>a.lazy?c.value||d.value:!0);e.watch(d,p=>{p&&a.lazy&&(c.value=!0)});const m=()=>a.label||String(a.name);return e.onMounted(()=>{n==null||n.registerPane({uid:r,name:a.name,label:m(),lazy:a.lazy,loaded:c.value,render:()=>{var p;return((p=o.default)==null?void 0:p.call(o))??[]}})}),e.onUnmounted(()=>{n==null||n.unregisterPane(r)}),e.watch(()=>[a.name,a.label,a.lazy],()=>{n==null||n.updatePane(r,{name:a.name,label:m(),lazy:a.lazy,loaded:c.value})}),(p,_)=>e.unref(f)?e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:0,class:"fou-tab-pane",role:"tabpanel","aria-hidden":!e.unref(d)},[e.renderSlot(p.$slots,"default",{},void 0,!0)],8,Xd)),[[e.vShow,e.unref(d)]]):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-70b73978"]]),vd=Object.freeze(Object.defineProperty({__proto__:null,default:la},Symbol.toStringTag,{value:"Module"})),Gd={class:"fou-empty"},Qd={class:"fou-empty__image"},Jd={key:0,class:"fou-empty__description"},Zd={key:1,class:"fou-empty__actions"},Vn=me(e.defineComponent({name:"FouEmpty",__name:"index",props:{description:{default:"暂无数据"}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",Gd,[e.createElementVNode("div",Qd,[e.renderSlot(a.$slots,"image",{},()=>[o[0]||(o[0]=e.createStaticVNode('<svg class="fou-empty__svg" viewBox="0 0 120 80" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" data-v-22afbf86><rect x="10" y="20" width="100" height="50" rx="4" fill="var(--fou-fill-color, var(--fou-fill-color, #f0f2f5))" data-v-22afbf86></rect><rect x="20" y="30" width="40" height="6" rx="2" fill="var(--fou-border-color, var(--fou-border-color, #dcdfe6))" data-v-22afbf86></rect><rect x="20" y="42" width="60" height="6" rx="2" fill="var(--fou-border-color-lighter, var(--fou-border-color-lighter, #ebeef5))" data-v-22afbf86></rect><rect x="20" y="54" width="30" height="6" rx="2" fill="var(--fou-border-color-lighter, var(--fou-border-color-lighter, #ebeef5))" data-v-22afbf86></rect></svg>',1))],!0)]),t.description||a.$slots.description?(e.openBlock(),e.createElementBlock("p",Jd,[e.renderSlot(a.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)],!0)])):e.createCommentVNode("",!0),a.$slots.default?(e.openBlock(),e.createElementBlock("div",Zd,[e.renderSlot(a.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-22afbf86"]]),em=Object.freeze(Object.defineProperty({__proto__:null,default:Vn},Symbol.toStringTag,{value:"Module"})),tm={key:0,class:"fou-button__loading","aria-hidden":"true"},om={key:1,class:"fou-button__icon"},nm={key:2,class:"fou-button__label"},lm={key:3,class:"fou-button__icon-right"},oo=me(e.defineComponent({name:"FouButton",inheritAttrs:!1,__name:"index",props:{type:{default:"default"},color:{},size:{},plain:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},round:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},nativeType:{default:"button"},tag:{default:"button"},icon:{},iconRight:{}},emits:["click"],setup(t,{emit:a}){const o={primary:"var(--fou-color-primary, var(--fou-color-primary, #0f766e))",success:"var(--fou-color-success, var(--fou-color-success, #67c23a))",warning:"var(--fou-color-warning, var(--fou-color-warning, #e6a23c))",danger:"var(--fou-color-danger, var(--fou-color-danger, #f56c6c))",info:"var(--fou-color-info, var(--fou-color-info, #909399))",cyan:"#0ea5e9",orange:"#f97316",pink:"#ec4899",teal:"#14b8a6",gray:"#64748b",magenta:"#d946ef",lime:"#84cc16",brown:"#a16207"},n=t,r=a,c=e.inject("fouButtonGroupSize",null),d=e.computed(()=>n.size||(c==null?void 0:c.value)||"default"),f=e.computed(()=>n.color?n.color:n.type&&n.type!=="default"&&o[n.type]?o[n.type]:""),m=e.computed(()=>{if(f.value)return{"--fou-btn-color":f.value}}),h=e.computed(()=>[`fou-button--${d.value}`,{"fou-button--default":n.type==="default"&&!n.color,"fou-button--colored":!!f.value,"fou-button--plain":n.plain,"fou-button--text":n.text,"fou-button--link":n.link,"fou-button--round":n.round,"fou-button--circle":n.circle,"is-disabled":n.disabled||n.loading,"is-loading":n.loading}]),p=_=>{if(n.disabled||n.loading){_.preventDefault();return}r("click",_)};return(_,C)=>{const E=_t;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),e.mergeProps({class:["fou-button",e.unref(h)],type:t.tag==="button"?t.nativeType:void 0,disabled:t.disabled||t.loading,style:e.unref(m)},_.$attrs,{onClick:p}),{default:e.withCtx(()=>[t.loading?(e.openBlock(),e.createElementBlock("span",tm)):e.createCommentVNode("",!0),!t.loading&&(t.icon||_.$slots.icon)?(e.openBlock(),e.createElementBlock("span",om,[e.renderSlot(_.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(E,{key:0,icon:t.icon},null,8,["icon"])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0),_.$slots.default?(e.openBlock(),e.createElementBlock("span",nm,[e.renderSlot(_.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),t.iconRight||_.$slots.iconRight?(e.openBlock(),e.createElementBlock("span",lm,[e.renderSlot(_.$slots,"iconRight",{},()=>[t.iconRight?(e.openBlock(),e.createBlock(E,{key:0,icon:t.iconRight},null,8,["icon"])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)]),_:3},16,["class","type","disabled","style"])}}}),[["__scopeId","data-v-766d3497"]]),am=Object.freeze(Object.defineProperty({__proto__:null,default:oo},Symbol.toStringTag,{value:"Module"})),im={class:"fou-msg__content"},rm={key:0},zr=e.defineComponent({name:"FouMsgItem",__name:"FouMsgItem",props:{id:{},type:{},position:{},message:{},showClose:{type:Boolean},visible:{type:Boolean}},emits:["close"],setup(t){const a=t,o=e.computed(()=>({success:"ri-checkbox-circle-line",warning:"ri-alert-line",info:"ri-information-line",error:"ri-close-circle-line"})[a.type]);return(n,r)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fou-msg-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(["fou-msg",[`fou-msg--${t.type}`,`fou-msg--${t.position}`]])},[e.createElementVNode("i",{class:e.normalizeClass(["fou-msg__icon",o.value])},null,2),e.createElementVNode("div",im,[typeof t.message=="string"?(e.openBlock(),e.createElementBlock("span",rm,e.toDisplayString(t.message),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.message),{key:1}))]),t.showClose?(e.openBlock(),e.createElementBlock("i",{key:0,class:"fou-msg__close ri-close-line",onClick:r[0]||(r[0]=c=>n.$emit("close"))})):e.createCommentVNode("",!0)],2),[[e.vShow,t.visible]])]),_:1}))}}),cm=Object.freeze(Object.defineProperty({__proto__:null,default:zr},Symbol.toStringTag,{value:"Module"})),Cn={center:[],"left-top":[],"left-center":[],"left-bottom":[],"top-center":[],"bottom-center":[],"right-top":[],"right-center":[],"right-bottom":[]};let sm=0;const dm=(t,a=20)=>{const o=`fou-msg-host-${t}`;let n=document.getElementById(o);return n||(n=document.createElement("div"),n.id=o,n.className=`fou-msg-host fou-msg-host--${t}`,document.body.appendChild(n)),n.style.setProperty("--fou-msg-offset",`${a}px`),n},Tr=t=>{Cn[t].forEach((a,o)=>{a.el.style.setProperty("--fou-msg-index",String(o))})},aa=t=>{Object.keys(Cn).forEach(a=>{const o=Cn[a].findIndex(n=>n.id===t);if(o>=0){const[n]=Cn[a].splice(o,1);n.timer&&clearTimeout(n.timer),n.app.unmount(),n.el.remove(),Tr(a)}})},mm=t=>{(t?[t]:Object.keys(Cn)).forEach(o=>{[...Cn[o]].forEach(n=>aa(n.id))})};function fm(t){const a={"bottom-right":"right-bottom","top-right":"right-top","bottom-left":"left-bottom","top-left":"left-top"};return t?a[t]||t:"center"}const we=Object.assign(t=>{const a=typeof t=="string"?{message:t}:{...t},o=fm(a.position),n=a.type||"info",r=a.duration??3e3,c=a.id||`fou-msg-${++sm}`,d=a.offset??20;aa(c);const f=dm(o,d),m=document.createElement("div");m.className="fou-msg-wrap",f.appendChild(m);const h=e.ref(!0),p={id:c,app:null,el:m,position:o},_=()=>{p.timer&&(clearTimeout(p.timer),p.timer=void 0),h.value=!1,setTimeout(()=>{var E;aa(c),(E=a.onClose)==null||E.call(a)},200)},C=e.createApp({setup(){return()=>e.h(zr,{id:c,type:n,position:o,message:a.message,showClose:a.showClose??!0,visible:h.value,onClose:_})}});return r>0&&(p.timer=setTimeout(_,r)),C.mount(m),p.app=C,Cn[o].push(p),Tr(o),{close:()=>aa(c),id:c}},{success(t,a){return we(typeof t=="string"?{message:t,type:"success",position:a}:{...t,type:"success"})},warning(t,a){return we(typeof t=="string"?{message:t,type:"warning",position:a}:{...t,type:"warning"})},info(t,a){return we(typeof t=="string"?{message:t,type:"info",position:a}:{...t,type:"info"})},error(t,a){return we(typeof t=="string"?{message:t,type:"error",position:a}:{...t,type:"error"})},closeAll:mm}),um={install(t){t.config.globalProperties.$fouMsg=we,t.provide("$fouMsg",we)}},Fr="fou-badge-templates",Ir="fou-badge-desk-templates",xl="fou-badge-library",Dr="fou-badge-competitions",St=t=>({code:0,data:t}),Vl=(t,a)=>{try{const o=localStorage.getItem(t);return o?JSON.parse(o):a}catch{return a}},ia=(t,a)=>{localStorage.setItem(t,JSON.stringify(a))},Cl=()=>{const t=new Date,a=o=>String(o).padStart(2,"0");return`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())} ${a(t.getHours())}:${a(t.getMinutes())}:${a(t.getSeconds())}`},Rr=()=>{let t=Vl(Dr,[]);return t.length||(t=[{id:1,name:"演示比赛 A",area_code:"A01",host_region:"110000",start_date:"2026-08-01",status:1},{id:2,name:"演示比赛 B",area_code:"B02",host_region:"310000",start_date:"2026-09-01",status:2}],ia(Dr,t)),t},io=t=>Vl(t==="badge"?Fr:Ir,[]),en=(t,a)=>ia(t==="badge"?Fr:Ir,a),Lr=t=>t.reduce((a,o)=>Math.max(a,Number(o.id)||0),0)+1,An=(t,a=90,o=54)=>({version:1,canvas:{widthMm:a,heightMm:o,background:"#ffffff"},elements:[],guides:[],regions:[]}),ni=async t=>{const a=Rr(),o=Number((t==null?void 0:t.page)||1),n=Number((t==null?void 0:t.page_size)||(t==null?void 0:t.pageSize)||20),r=String((t==null?void 0:t.keyword)||(t==null?void 0:t.q)||"").trim();let c=a;r&&(c=c.filter(f=>`${f.name}${f.area_code}`.includes(r)));const d=(o-1)*n;return St({list:c.slice(d,d+n),total:c.length,page:o,page_size:n})},Pr=async t=>{const a=Rr().find(o=>o.id===Number(t));return St(a||{id:t,name:`比赛 ${t}`,status:1})},Or=async t=>{const a=io("badge").filter(o=>o.competition_id===Number(t));return St({list:a})},pm=async(t,a)=>{const o=io("badge"),r={id:Lr(o),competition_id:Number(t),name:a.name||"未命名模板",width_mm:90,height_mm:54,is_default:o.filter(c=>c.competition_id===Number(t)).length===0,update_time:Cl(),doc:An(),kind:"badge"};return o.push(r),en("badge",o),St(r)},li=async(t,a)=>{const o=io("badge").find(n=>n.id===Number(a)&&n.competition_id===Number(t));return St(o?{...o,template_json:o.doc||An(o.name,o.width_mm,o.height_mm),doc:o.doc||An(o.name,o.width_mm,o.height_mm),default_test_json:o.default_test_json||{}}:null)},hm=async t=>{const a=io("badge").filter(n=>n.competition_id===Number(t)),o=a.find(n=>n.is_default)||a[0];return o?li(t,o.id):St(null)},gm=async(t,a,o)=>{var h,p;const n=io("badge"),r=n.findIndex(_=>_.id===Number(a)&&_.competition_id===Number(t));if(r<0)return St(null);const c=o.doc||o.template_json||o.template||n[r].doc,d=String(o.name),f=Number(((h=c==null?void 0:c.canvas)==null?void 0:h.widthMm)||o.width_mm||n[r].width_mm),m=Number(((p=c==null?void 0:c.canvas)==null?void 0:p.heightMm)||o.height_mm||n[r].height_mm);return n[r]={...n[r],name:d,width_mm:f,height_mm:m,doc:c,default_test_json:o.default_test_json??n[r].default_test_json??{},update_time:Cl()},en("badge",n),St(n[r])},_m=async(t,a)=>{const o=io("badge").filter(n=>!(n.id===Number(a)&&n.competition_id===Number(t)));return en("badge",o),St(!0)},bm=async(t,a)=>{const o=io("badge").map(n=>n.competition_id===Number(t)?{...n,is_default:n.id===Number(a)}:n);return en("badge",o),St(!0)},jr=async t=>{const a=io("desk").filter(o=>o.competition_id===Number(t));return St({list:a})},ym=async(t,a)=>{const o=io("desk"),r={id:Lr(o),competition_id:Number(t),name:a.name||"未命名桌签",width_mm:150,height_mm:50,is_default:o.filter(c=>c.competition_id===Number(t)).length===0,update_time:Cl(),doc:An(a.name||"未命名桌签",150,50),kind:"desk"};return o.push(r),en("desk",o),St(r)},ra=async(t,a)=>{const o=io("desk").find(n=>n.id===Number(a)&&n.competition_id===Number(t));return St(o?{...o,template_json:o.doc||An(o.name,o.width_mm,o.height_mm),doc:o.doc||An(o.name,o.width_mm,o.height_mm),default_test_json:o.default_test_json||{}}:null)},Ar=async t=>{const a=io("desk").filter(n=>n.competition_id===Number(t)),o=a.find(n=>n.is_default)||a[0];return o?ra(t,o.id):St(null)},km=async(t,a,o)=>{var h,p;const n=io("desk"),r=n.findIndex(_=>_.id===Number(a)&&_.competition_id===Number(t));if(r<0)return St(null);const c=o.doc||o.template_json||o.template||n[r].doc,d=String(o.name),f=Number(((h=c==null?void 0:c.canvas)==null?void 0:h.widthMm)||o.width_mm||n[r].width_mm),m=Number(((p=c==null?void 0:c.canvas)==null?void 0:p.heightMm)||o.height_mm||n[r].height_mm);return n[r]={...n[r],name:d,width_mm:f,height_mm:m,doc:c,default_test_json:o.default_test_json??n[r].default_test_json??{},update_time:Cl()},en("desk",n),St(n[r])},wm=async(t,a)=>{const o=io("desk").filter(n=>!(n.id===Number(a)&&n.competition_id===Number(t)));return en("desk",o),St(!0)},xm=async(t,a)=>{const o=io("desk").map(n=>n.competition_id===Number(t)?{...n,is_default:n.id===Number(a)}:n);return en("desk",o),St(!0)},Ur=async t=>{const a=Vl(xl,[]),o=Number((t==null?void 0:t.page)||1),n=Number((t==null?void 0:t.page_size)||40),r=(o-1)*n;return St({list:a.slice(r,r+n),total:a.length,page:o,page_size:n})},ai=async t=>{const a=await new Promise((c,d)=>{const f=new FileReader;f.onload=()=>c(String(f.result||"")),f.onerror=()=>d(new Error("read failed")),f.readAsDataURL(t)}),o=Vl(xl,[]),r={id:o.reduce((c,d)=>Math.max(c,d.id),0)+1,url:a,name:t.name,create_time:Cl()};return o.unshift(r),ia(xl,o),St(r)},ca=async t=>{const a=Vl(xl,[]).filter(o=>o.id!==Number(t));return ia(xl,a),St(!0)},Vm=async t=>St([{id:1,name:"演示学校一",short_name:"校一"},{id:2,name:"演示学校二",short_name:"校二"}]),Cm=async(t,a)=>St({list:[{id:1,student_name:"张三",competition_no:"A001",school_name:"演示学校一",age_group:"小学组",competition_room:"101",seat_no:"01"},{id:2,student_name:"李四",competition_no:"A002",school_name:"演示学校一",age_group:"小学组",competition_room:"101",seat_no:"02"}],total:2}),Nm=async(t,a)=>St({list:[],total:0}),Bm=async(t,a)=>St(!0),$m=async t=>St([{id:1,competition_room:"101",seat_no:"01",student_name:"张三",school_name:"演示学校一"}]);function Un(t){const a=String(t||"").trim();if(!a)return"";if(/^data:/i.test(a)||/^blob:/i.test(a))return a;if(/^(https?:)?\/\//i.test(a)){try{const o=new URL(a,window.location.origin);if(o.pathname.startsWith("/uploads/"))return`${o.pathname}${o.search}${o.hash}`}catch{}return a}return a.startsWith("/uploads/")||a.startsWith("/")?a:`/${a}`}const Em={class:"lib-grid"},Sm=["onDblclick"],Mm=["src"],zm=["title"],Wr=8,sa=me(e.defineComponent({__name:"BadgeImagePickerDialog",props:{modelValue:{type:Boolean},defaultTab:{default:"lib"}},emits:["update:modelValue","pick"],setup(t,{emit:a}){const o=t,n=a,r=e.computed({get:()=>o.modelValue,set:N=>n("update:modelValue",N)}),c=e.ref("lib"),d=e.ref(!1),f=e.ref([]),m=e.ref(null),h=e.ref(!1),p=e.ref(null);function _(N){return Un(N)}async function C(){var N;d.value=!0;try{const M=await Ur({page:1,page_size:120});f.value=((N=M.data)==null?void 0:N.list)??[]}catch{f.value=[]}finally{d.value=!1}}e.watch(()=>o.modelValue,N=>{N&&(c.value=o.defaultTab)});function E(N){N!=null&&N.url&&(n("pick",Un(N.url)),r.value=!1)}function b(N){p.value=N,h.value=!0}async function V(){const N=p.value;if(N){h.value=!1;try{await ca(Number(N.id)),we.success("已删除"),await C()}catch{}}}async function k(N){var M;for(const u of Array.from(N)){if(u.size/1048576>Wr){we.error(`「${u.name}」超过 ${Wr}MB,已跳过`);continue}try{const I=await ai(u),$=(M=I==null?void 0:I.data)==null?void 0:M.url;if(!$){we.error(`「${u.name}」上传失败`);continue}n("pick",Un($)),await C()}catch{}}}function S(N){var u;const M=N.target;(u=M.files)!=null&&u.length&&k(M.files),M.value=""}function x(N){var M,u;(u=(M=N.dataTransfer)==null?void 0:M.files)!=null&&u.length&&k(N.dataTransfer.files)}return(N,M)=>{const u=oo,B=Vn,I=la,$=_t,z=na,w=_o,R=e.resolveDirective("fou-loading");return e.openBlock(),e.createBlock(w,{modelValue:r.value,"onUpdate:modelValue":M[5]||(M[5]=j=>r.value=j),title:"添加图片",width:"720px","destroy-on-close":"",class:"badge-img-picker-dlg",onOpened:C},{default:e.withCtx(()=>[e.createVNode(z,{modelValue:c.value,"onUpdate:modelValue":M[2]||(M[2]=j=>c.value=j)},{default:e.withCtx(()=>[e.createVNode(I,{label:"图片库",name:"lib"},{default:e.withCtx(()=>[M[7]||(M[7]=e.createElementVNode("p",{class:"dlg-hint"},"双击缩略图插入到画布;删除后模板里若仍引用该地址将无法显示。",-1)),e.withDirectives((e.openBlock(),e.createElementBlock("div",Em,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,j=>(e.openBlock(),e.createElementBlock("div",{key:j.id,class:"lib-cell",onDblclick:J=>E(j)},[e.createElementVNode("img",{src:_(j.url),alt:"",class:"thumb",loading:"lazy"},null,8,Mm),e.createElementVNode("div",{class:"meta",title:j.orig_name},e.toDisplayString(j.orig_name||"未命名"),9,zm),e.createVNode(u,{type:"danger",link:"",size:"small",class:"del",onClick:e.withModifiers(J=>b(j),["stop"])},{default:e.withCtx(()=>[...M[6]||(M[6]=[e.createTextVNode("删除",-1)])]),_:1},8,["onClick"])],40,Sm))),128))])),[[R,d.value]]),!d.value&&!f.value.length?(e.openBlock(),e.createBlock(B,{key:0,description:"暂无图片,可到「上传本地文件」添加"})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(I,{label:"上传本地文件",name:"up"},{default:e.withCtx(()=>[M[10]||(M[10]=e.createElementVNode("p",{class:"dlg-hint"},"上传后会写入图片库,并自动插入当前画布;可多选文件或一次拖拽多张。",-1)),e.createElementVNode("div",{class:"upload-drop",onDragover:M[0]||(M[0]=e.withModifiers(()=>{},["prevent"])),onDrop:e.withModifiers(x,["prevent"]),onClick:M[1]||(M[1]=j=>{var J;return(J=m.value)==null?void 0:J.click()})},[e.createVNode($,{icon:"upload-cloud-2-line",class:"upload-ico"}),M[8]||(M[8]=e.createElementVNode("div",{class:"upload-text"},[e.createTextVNode("拖到此处,或 "),e.createElementVNode("em",null,"点击选择多个文件")],-1)),M[9]||(M[9]=e.createElementVNode("div",{class:"upload-sub"},"支持 JPG / PNG / GIF / WebP / BMP,单文件不超过 8MB",-1)),e.createElementVNode("input",{ref_key:"fileInputRef",ref:m,type:"file",multiple:"",accept:"image/jpeg,image/png,image/gif,image/webp,image/bmp",class:"upload-input",onChange:S},null,544)],32)]),_:1})]),_:1},8,["modelValue"]),e.createVNode(w,{modelValue:h.value,"onUpdate:modelValue":M[4]||(M[4]=j=>h.value=j),title:"删除确认",width:"400px","append-to-body":""},{footer:e.withCtx(()=>[e.createVNode(u,{onClick:M[3]||(M[3]=j=>h.value=!1)},{default:e.withCtx(()=>[...M[11]||(M[11]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(u,{type:"danger",onClick:V},{default:e.withCtx(()=>[...M[12]||(M[12]=[e.createTextVNode("删除",-1)])]),_:1})]),default:e.withCtx(()=>{var j;return[e.createElementVNode("p",null,"确定删除「"+e.toDisplayString(((j=p.value)==null?void 0:j.orig_name)||"该图片")+"」?",1)]}),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}}),[["__scopeId","data-v-6b23d604"]]),Tm=Object.freeze(Object.defineProperty({__proto__:null,default:sa},Symbol.toStringTag,{value:"Module"})),Fm={key:0,class:"fou-pagination__total"},Im={key:1,class:"fou-pagination__sizes"},Dm=["disabled","value"],Rm=["value"],Lm=["disabled"],Pm={key:3,class:"fou-pagination__pager"},Om=["disabled","onClick"],jm={key:1,class:"fou-pagination__ellipsis"},Am=["disabled"],Um={key:5,class:"fou-pagination__jumper"},Wm=["disabled"],Wn=me(e.defineComponent({name:"FouPagination",__name:"index",props:{total:{default:0},currentPage:{default:1},pageSize:{default:10},pageSizes:{default:()=>[10,20,50,100]},layout:{default:"total, sizes, prev, pager, next, jumper"},background:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},hideOnSinglePage:{type:Boolean,default:!1},small:{type:Boolean,default:!1},pagerCount:{default:7},type:{default:"primary"},color:{},variant:{default:"default"}},emits:["update:current-page","update:page-size","current-change","size-change"],setup(t,{emit:a}){const o={primary:"var(--fou-color-primary, #0f766e)",success:"var(--fou-color-success, #67c23a)",warning:"var(--fou-color-warning, #e6a23c)",danger:"var(--fou-color-danger, #f56c6c)",info:"var(--fou-color-info, #909399)",cyan:"#0ea5e9",orange:"#f97316",pink:"#ec4899",teal:"#14b8a6"},n=t,r=a,c=e.ref(""),d=e.computed(()=>({"--fou-page-color":n.color||o[n.type]||o.primary})),f=e.computed(()=>n.layout.split(",").map(I=>I.trim()).filter(Boolean)),m=e.computed(()=>f.value.includes("total")),h=e.computed(()=>f.value.includes("sizes")),p=e.computed(()=>f.value.includes("prev")),_=e.computed(()=>f.value.includes("pager")),C=e.computed(()=>f.value.includes("next")),E=e.computed(()=>f.value.includes("jumper")),b=e.computed(()=>Math.max(1,Math.ceil(n.total/n.pageSize))),V=e.computed(()=>{const I=b.value,$=n.currentPage,z=n.pagerCount,w=Math.floor(z/2);if(I<=z)return Array.from({length:I},(q,ae)=>({key:`p-${ae+1}`,number:ae+1}));const R=[];R.push({key:"p-1",number:1});let j=Math.max(2,$-w),J=Math.min(I-1,$+w);$<=w+1?J=z-2:$>=I-w&&(j=I-z+2),j>2&&R.push({key:"e-start",ellipsis:!0});for(let q=j;q<=J;q++)R.push({key:`p-${q}`,number:q});return J<I-1&&R.push({key:"e-end",ellipsis:!0}),R.push({key:`p-${I}`,number:I}),R}),k=I=>{const $=Math.min(Math.max(1,I),b.value);$!==n.currentPage&&(r("update:current-page",$),r("current-change",$))},S=I=>{if(I===n.pageSize)return;r("update:page-size",I),r("size-change",I);const $=Math.max(1,Math.ceil(n.total/I));n.currentPage>$&&k($)},x=()=>k(n.currentPage-1),N=()=>k(n.currentPage+1),M=I=>k(I),u=I=>{const $=Number(I.target.value);Number.isNaN($)||S($)},B=()=>{const I=parseInt(c.value,10);Number.isNaN(I)||(k(I),c.value="")};return(I,$)=>!t.hideOnSinglePage||e.unref(b)>1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fou-pagination",[`fou-pagination--${t.type}`,`fou-pagination--${t.variant}`,{"is-background":t.background,"is-small":t.small,"is-disabled":t.disabled}]]),style:e.normalizeStyle(e.unref(d))},[e.unref(m)?(e.openBlock(),e.createElementBlock("span",Fm," 共 "+e.toDisplayString(t.total)+" 条 ",1)):e.createCommentVNode("",!0),e.unref(h)?(e.openBlock(),e.createElementBlock("div",Im,[e.createElementVNode("select",{class:"fou-pagination__select",disabled:t.disabled,value:t.pageSize,onChange:u},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizes,z=>(e.openBlock(),e.createElementBlock("option",{key:z,value:z},e.toDisplayString(z)+" 条/页 ",9,Rm))),128))],40,Dm)])):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"fou-pagination__btn fou-pagination__prev",disabled:t.disabled||t.currentPage<=1,onClick:x}," ‹ ",8,Lm)):e.createCommentVNode("",!0),e.unref(_)?(e.openBlock(),e.createElementBlock("ul",Pm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(V),z=>(e.openBlock(),e.createElementBlock("li",{key:z.key,class:e.normalizeClass(["fou-pagination__page",{"is-active":z.number===t.currentPage,"is-ellipsis":z.ellipsis}])},[z.ellipsis?(e.openBlock(),e.createElementBlock("span",jm,"…")):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-pagination__page-btn",disabled:t.disabled,onClick:w=>M(z.number)},e.toDisplayString(z.number),9,Om))],2))),128))])):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button",class:"fou-pagination__btn fou-pagination__next",disabled:t.disabled||t.currentPage>=e.unref(b),onClick:N}," › ",8,Am)):e.createCommentVNode("",!0),e.unref(E)?(e.openBlock(),e.createElementBlock("div",Um,[$[1]||($[1]=e.createElementVNode("span",null,"前往",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":$[0]||($[0]=z=>e.isRef(c)?c.value=z:null),class:"fou-pagination__jumper-input",type:"text",disabled:t.disabled,onKeydown:e.withKeys(B,["enter"])},null,40,Wm),[[e.vModelText,e.unref(c)]]),$[2]||($[2]=e.createElementVNode("span",null,"页",-1))])):e.createCommentVNode("",!0)],6)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-9df57a43"]]),Hm=Object.freeze(Object.defineProperty({__proto__:null,default:Wn},Symbol.toStringTag,{value:"Module"})),Hr=me(e.defineComponent({name:"FouSkeleton",__name:"index",props:{rows:{default:3},animated:{type:Boolean,default:!0},loading:{type:Boolean,default:!0},lastRowWidth:{default:60}},setup(t){const a=t,o=n=>n===a.rows?{width:`${a.lastRowWidth}%`}:{};return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-skeleton",{"is-loading":t.loading}])},[t.loading?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.rows,c=>(e.openBlock(),e.createElementBlock("div",{key:c,class:e.normalizeClass(["fou-skeleton__row",{"is-animated":t.animated}]),style:e.normalizeStyle(o(c))},null,6))),128)):e.renderSlot(n.$slots,"default",{},void 0,!0,1)],2))}}),[["__scopeId","data-v-079beb45"]]),qm=Object.freeze(Object.defineProperty({__proto__:null,default:Hr},Symbol.toStringTag,{value:"Module"})),Ym={key:0,class:"fou-card__header"},Km={key:1,class:"fou-card__footer"},Nn=me(e.defineComponent({name:"FouCard",__name:"index",props:{bodyClass:{type:String,default:""},bodyStyle:{type:[Object,String],default:()=>({})},shadow:{type:String,default:"never"},skeleton:{type:Boolean,default:!1},skeletonRows:{type:Number,default:5},title:{type:String,default:""}},setup(t){const a=e.ref(!0),o=setTimeout(()=>{a.value=!1},500);return e.onBeforeUnmount(()=>{clearTimeout(o)}),(n,r)=>{const c=Hr;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-card",[`fou-card--shadow-${t.shadow}`]])},[n.$slots.header||t.title?(e.openBlock(),e.createElementBlock("div",Ym,[n.$slots.header?e.renderSlot(n.$slots,"header",{},void 0,!0,0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(t.title),1)],64))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["fou-card__body",t.bodyClass]),style:e.normalizeStyle(t.bodyStyle)},[t.skeleton?(e.openBlock(),e.createBlock(c,{key:0,animated:"",loading:e.unref(a),rows:t.skeletonRows},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3},8,["loading","rows"])):e.renderSlot(n.$slots,"default",{},void 0,!0,1)],6),n.$slots.footer?(e.openBlock(),e.createElementBlock("div",Km,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-3b9c17de"]]),Xm=Object.freeze(Object.defineProperty({__proto__:null,default:Nn},Symbol.toStringTag,{value:"Module"})),vm={class:"badge-library-panel"},Gm={class:"upload-btn"},Qm={class:"lib-grid"},Jm=["src"],Zm=["title"],ef={class:"sub"},tf={key:1,class:"pager"},ii=me(e.defineComponent({__name:"BadgeLibraryPanel",setup(t,{expose:a}){const o=e.ref(!1),n=e.ref([]),r=e.ref(0),c=e.ref(1),d=e.ref(40),f=e.ref(!1),m=e.ref(null);function h(V){return Un(V)}function p(V){const k=Number(V)||0;return k<1024?`${k} B`:k<1024*1024?`${(k/1024).toFixed(1)} KB`:`${(k/1024/1024).toFixed(2)} MB`}async function _(){var V,k;o.value=!0;try{const S=await Ur({page:c.value,page_size:d.value});n.value=((V=S.data)==null?void 0:V.list)??[],r.value=Number(((k=S.data)==null?void 0:k.total)??0)}catch{n.value=[],r.value=0}finally{o.value=!1}}async function C(V){var x;const k=V.target,S=(x=k.files)==null?void 0:x[0];if(k.value="",!!S)try{await ai(S),we.success("已上传"),c.value=1,await _()}catch{}}function E(V){m.value=V,f.value=!0}async function b(){const V=m.value;if(V){f.value=!1;try{await ca(Number(V.id)),we.success("已删除"),await _()}catch{}}}return e.onMounted(()=>_()),a({load:_}),(V,k)=>{const S=oo,x=Nn,N=Vn,M=Wn,u=_o,B=e.resolveDirective("fou-loading");return e.openBlock(),e.createElementBlock("div",vm,[e.createVNode(x,{shadow:"never",class:"toolbar-card"},{default:e.withCtx(()=>[e.createElementVNode("label",Gm,[e.createElementVNode("input",{type:"file",accept:"image/jpeg,image/png,image/gif,image/webp,image/bmp",class:"upload-input",onChange:C},null,32),e.createVNode(S,{type:"primary",tag:"span"},{default:e.withCtx(()=>[...k[3]||(k[3]=[e.createTextVNode("上传图片",-1)])]),_:1})]),k[4]||(k[4]=e.createElementVNode("span",{class:"hint"},"上传后可在模板编辑器的「图片库」中选用。",-1))]),_:1}),e.withDirectives((e.openBlock(),e.createBlock(x,{shadow:"never"},{default:e.withCtx(()=>[e.createElementVNode("div",Qm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:"lib-cell"},[e.createElementVNode("img",{src:h(I.url),alt:"",class:"thumb",loading:"lazy"},null,8,Jm),e.createElementVNode("div",{class:"meta",title:I.orig_name},e.toDisplayString(I.orig_name||"未命名"),9,Zm),e.createElementVNode("div",ef,e.toDisplayString(p(I.size))+" · "+e.toDisplayString(I.create_time),1),e.createVNode(S,{type:"danger",link:"",size:"small",onClick:$=>E(I)},{default:e.withCtx(()=>[...k[5]||(k[5]=[e.createTextVNode("删除",-1)])]),_:1},8,["onClick"])]))),128))]),!o.value&&!n.value.length?(e.openBlock(),e.createBlock(N,{key:0,description:"暂无图片"})):e.createCommentVNode("",!0),r.value>d.value?(e.openBlock(),e.createElementBlock("div",tf,[e.createVNode(M,{"current-page":c.value,"onUpdate:currentPage":k[0]||(k[0]=I=>c.value=I),"page-size":d.value,layout:"total, prev, pager, next",total:r.value,onCurrentChange:_},null,8,["current-page","page-size","total"])])):e.createCommentVNode("",!0)]),_:1})),[[B,o.value]]),e.createVNode(u,{modelValue:f.value,"onUpdate:modelValue":k[2]||(k[2]=I=>f.value=I),title:"删除确认",width:"400px"},{footer:e.withCtx(()=>[e.createVNode(S,{onClick:k[1]||(k[1]=I=>f.value=!1)},{default:e.withCtx(()=>[...k[6]||(k[6]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(S,{type:"danger",onClick:b},{default:e.withCtx(()=>[...k[7]||(k[7]=[e.createTextVNode("删除",-1)])]),_:1})]),default:e.withCtx(()=>{var I;return[e.createElementVNode("p",null,"确定删除「"+e.toDisplayString(((I=m.value)==null?void 0:I.orig_name)||"该图片")+"」?",1)]}),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-ac589bad"]]),of=Object.freeze(Object.defineProperty({__proto__:null,default:ii},Symbol.toStringTag,{value:"Module"})),ri=me(e.defineComponent({__name:"BadgeLibraryManagerDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(t){return(a,o)=>{const n=_o;return e.openBlock(),e.createBlock(n,{"model-value":t.modelValue,title:"证件图片库",width:"min(920px, 94vw)",class:"badge-library-manager-dialog","append-to-body":"","destroy-on-close":"","onUpdate:modelValue":o[0]||(o[0]=r=>a.$emit("update:modelValue",r))},{default:e.withCtx(()=>[o[1]||(o[1]=e.createElementVNode("p",{class:"dlg-tip"},"管理模板编辑中上传的图片;删除后已保存模板里若仍引用该地址将无法显示。",-1)),t.modelValue?(e.openBlock(),e.createBlock(ii,{key:0})):e.createCommentVNode("",!0)]),_:1},8,["model-value"])}}}),[["__scopeId","data-v-a871d668"]]),nf=Object.freeze(Object.defineProperty({__proto__:null,default:ri},Symbol.toStringTag,{value:"Module"})),ci={competition_name:"competition.name",student_name:"student.name",competition_no:"student.competition_no",school_name:"school.name",school_short_name:"school.short_name",age_group:"student.age_group",competition_room:"classroom.name",seat_no:"classroom.seat_no",floor:"classroom.floor",teacher_name:"teacher.name",date:"competition.date",session:"competition.session",enroll_teacher_name:"teacher.enroll_name",teacher_phone:"teacher.phone",signup_teacher_name:"teacher.signup_name",signup_teacher_phone:"teacher.signup_phone",signup_teacher_department:"teacher.signup_department",signup_teacher_position:"teacher.signup_position",signup_teacher_id_card:"teacher.signup_id_card",signup_teacher_email:"teacher.signup_email",signup_teacher_username:"teacher.signup_username",venue_name:"classroom.venue_name",venue_address:"classroom.venue_address",competition_daily_start:"competition.daily_start",competition_daily_end:"competition.daily_end"},qr=[{id:"student",label:"学生",builtin:!0,enabled:!0,fields:[{key:"name",label:"姓名"},{key:"competition_no",label:"参赛编号"},{key:"age_group",label:"年龄段"}],sample:{name:"张三",competition_no:"A001",age_group:"中班"}},{id:"teacher",label:"教师",builtin:!0,enabled:!0,fields:[{key:"name",label:"监考教师"},{key:"phone",label:"手机"},{key:"enroll_name",label:"带队教师"},{key:"signup_name",label:"报名教师"},{key:"signup_phone",label:"报名教师手机"},{key:"signup_department",label:"报名教师部门"},{key:"signup_position",label:"报名教师职务"},{key:"signup_id_card",label:"报名教师身份证"},{key:"signup_email",label:"报名教师邮箱"},{key:"signup_username",label:"报名教师账号"}],sample:{name:"李老师",phone:"13800000000",signup_name:"王老师"}},{id:"classroom",label:"教室",builtin:!0,enabled:!0,fields:[{key:"name",label:"考场/教室"},{key:"seat_no",label:"座位号"},{key:"floor",label:"楼层"},{key:"venue_name",label:"场地名称"},{key:"venue_address",label:"场地地址"}],sample:{name:"301 教室",seat_no:"12",floor:"3F"}},{id:"school",label:"学校",builtin:!0,enabled:!0,fields:[{key:"name",label:"学校全称"},{key:"short_name",label:"学校简称"}],sample:{name:"示范幼儿园",short_name:"示范园"}},{id:"competition",label:"比赛",builtin:!0,enabled:!0,fields:[{key:"name",label:"比赛名称"},{key:"date",label:"比赛日期"},{key:"session",label:"场次"},{key:"daily_start",label:"当天开始"},{key:"daily_end",label:"当天结束"}],sample:{name:"示例比赛",date:"2026-08-16",session:"上午场"}}];function da(){return qr.map(t=>({...t,fields:t.fields.map(a=>({...a})),sample:t.sample?{...t.sample}:void 0}))}function Fo(t,a){var n,r;const o=new Map;for(const c of da())o.set(c.id,c);for(const c of t||[]){const d=o.get(c.id);o.set(c.id,d?{...d,...c,fields:(n=c.fields)!=null&&n.length?c.fields:d.fields}:{...c})}for(const c of a||[]){const d=o.get(c.id);o.set(c.id,d?{...d,...c,fields:(r=c.fields)!=null&&r.length?c.fields:d.fields}:{...c})}return[...o.values()].filter(c=>c.enabled!==!1)}function lf(t,a){return`{{${t}.${a}}}`}function af(t){const a=[];for(const o of t)for(const n of o.fields)a.push({moduleId:o.id,moduleLabel:o.label,key:n.key,label:n.label,token:lf(o.id,n.key)});return a}function ma(t){const a={};for(const o of t)a[o.id]={...o.sample||{}};return a}function rf(t,a){const o={};for(const[r,c]of Object.entries(t))c!=null&&(o[r]=String(c));!o.competition_name&&a&&(o.competition_name=a);const n={...o};for(const[r,c]of Object.entries(ci)){const[d,f]=c.split("."),m=o[r]??"";(!n[d]||typeof n[d]=="string")&&(n[d]={}),n[d][f]=m}return n}function Yr(t,a){return{id:`custom_${Date.now().toString(36)}`,label:t||"自定义模块",builtin:!1,enabled:!0,fields:a!=null&&a.length?a:[{key:"name",label:"名称"},{key:"value",label:"值"}],sample:{name:"示例",value:"123"}}}function Kr(t,a){const o=a.split(".").filter(Boolean);if(o.length===1){const n=t[o[0]];return n==null?"":typeof n=="string"?n:""}if(o.length>=2){const n=t[o[0]];if(n&&typeof n=="object"){const r=n[o[1]];return r!=null&&r!==""?String(r):""}}return""}function cf(t,a){const o=String(a||"").trim();if(!o)return"";if(o.includes(".")){const c=Kr(t,o);if(c)return c}const n=t[o];if(typeof n=="string"&&n!=="")return n;const r=ci[o];if(r){const c=Kr(t,r);if(c)return c}return""}function Hn(t,a){if(!t)return"";const o=a;return t.replace(/\{\{\s*([a-zA-Z0-9_.]+)\s*\}\}/g,(n,r)=>cf(o,r))}function sf(t,a){return Hn(t,a)}function Xr(t){return[...t].sort((a,o)=>(a.zIndex??0)-(o.zIndex??0))}function si(t){return t?(/^(https?:|data:|blob:|\/\/)/i.test(t),t):""}const df=["src"],mf=["src"],ff={class:"fou-canvas-shape-svg",viewBox:"0 0 100 100",preserveAspectRatio:"none"},uf=["stroke","stroke-width"],pf=["fill","stroke","stroke-width"],hf=["fill","stroke","stroke-width"],gf=["fill","stroke","stroke-width"],_f=["points","fill","stroke","stroke-width"],qn=96/25.4,di=me(e.defineComponent({name:"FouCanvasRenderer",__name:"FouCanvasRenderer",props:{doc:{},mergeData:{default:()=>({})},screenScale:{default:1},enableLinks:{type:Boolean,default:!0}},setup(t){const a=t,o=e.computed(()=>{var x,N;return(N=(x=a.doc)==null?void 0:x.elements)!=null&&N.length?Xr(a.doc.elements):[]}),n=e.computed(()=>{const x=a.doc;if(!(x!=null&&x.canvas))return{};const N=x.canvas.showBorder!==!1&&x.mode!=="banner",M=x.canvas.borderColor||"#334155",u=Number(x.canvas.borderWidthMm),B=Number.isFinite(u)&&u>0?u:.35,I=x.canvas.unit==="px"||x.mode==="banner"&&!!x.canvas.widthPx;return{width:I?`${x.canvas.widthPx??Math.round(x.canvas.widthMm*qn)}px`:`${x.canvas.widthMm}mm`,height:I?`${x.canvas.heightPx??Math.round(x.canvas.heightMm*qn)}px`:`${x.canvas.heightMm}mm`,position:"relative",boxSizing:"border-box",overflow:"hidden",backgroundColor:x.canvas.background||"transparent",border:N?`${B}mm solid ${M}`:"0 solid transparent"}}),r=e.computed(()=>{var N,M;const x=(M=(N=a.doc)==null?void 0:N.canvas)==null?void 0:M.backgroundImage;return x?si(x):""}),c=e.computed(()=>({transform:`scale(${a.screenScale})`,transformOrigin:"top left"})),d=e.computed(()=>{var B,I;const x=(B=a.doc)==null?void 0:B.canvas;if(!x)return{};const N=x.unit==="px"||((I=a.doc)==null?void 0:I.mode)==="banner"&&!!x.widthPx,M=N?(x.widthPx??x.widthMm*qn)*a.screenScale:x.widthMm*qn*a.screenScale,u=N?(x.heightPx??x.heightMm*qn)*a.screenScale:x.heightMm*qn*a.screenScale;return{width:`${M}px`,height:`${u}px`,overflow:"hidden",lineHeight:0,display:"inline-block",verticalAlign:"top"}});function f(x){return Hn(x.text,a.mergeData||{})}function m(x){var N;return(N=x.link)!=null&&N.href?Hn(x.link.href,a.mergeData||{}):""}function h(x){switch(x){case"center":return{justifyContent:"center",alignItems:"center",textAlign:"center"};case"top-center":return{justifyContent:"center",alignItems:"flex-start",textAlign:"center"};case"bottom-center":return{justifyContent:"center",alignItems:"flex-end",textAlign:"center"};case"middle-left":return{justifyContent:"flex-start",alignItems:"center",textAlign:"left"};case"middle-right":return{justifyContent:"flex-end",alignItems:"center",textAlign:"right"};default:return{justifyContent:"flex-start",alignItems:"flex-start",textAlign:"left"}}}function p(x){var M;const N=[];return x.rotation&&N.push(`rotate(${x.rotation}deg)`),x.flipX&&N.push("scaleX(-1)"),x.flipY&&N.push("scaleY(-1)"),{position:"absolute",left:`${x.xMm}mm`,top:`${x.yMm}mm`,width:`${x.wMm}mm`,height:`${x.hMm}mm`,zIndex:x.zIndex??1,transform:N.join(" ")||void 0,transformOrigin:"center center",pointerEvents:a.enableLinks&&((M=x.link)!=null&&M.href)?"auto":"none",textDecoration:"none",color:void 0}}function _(x){const N=h(x.align),M=x.textDirection==="vertical";return{...p(x),display:"flex",...N,fontSize:`${x.fontSize}pt`,fontFamily:x.fontFamily,color:x.color,lineHeight:1.25,whiteSpace:"pre-wrap",wordBreak:"break-word",overflow:"hidden",writingMode:M?"vertical-rl":"horizontal-tb",textOrientation:M?"upright":"mixed"}}function C(x){return x.type!=="image"&&x.type!=="seal"?{}:{...p(x),display:"flex",justifyContent:"center",alignItems:"center",padding:"0.5mm",boxSizing:"border-box"}}function E(x){return{...p(x),boxSizing:"border-box",opacity:x.opacity!=null?String(x.opacity):void 0}}function b(x){return x.showStroke===!1?"none":x.strokeColor||"#606266"}function V(x){return Math.max(0,Number(x.strokeWidthMm??.6))}function k(x){return x.background||"transparent"}function S(x){const N=Math.max(3,Math.min(12,Math.round(Number(x.polygonSides??5)))),M=[];for(let u=0;u<N;u++){const B=-Math.PI/2+Math.PI*2*u/N;M.push(`${50+Math.cos(B)*44},${50+Math.sin(B)*44}`)}return M.join(" ")}return(x,N)=>{var M;return(M=t.doc)!=null&&M.canvas?(e.openBlock(),e.createElementBlock("div",{key:0,class:"qck-layout-clip",style:e.normalizeStyle(d.value)},[e.createElementVNode("div",{class:"qck-screen-wrap",style:e.normalizeStyle(c.value)},[e.createElementVNode("div",{class:"fou-canvas-root qck-print-root",style:e.normalizeStyle(n.value)},[r.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"fou-canvas-bg",src:r.value,alt:"",crossorigin:"anonymous"},null,8,df)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.doc.regions||[],u=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:"fou-canvas-region",style:e.normalizeStyle({left:`${u.xMm}mm`,top:`${u.yMm}mm`,width:`${u.wMm}mm`,height:`${u.hMm}mm`,backgroundColor:u.background||"transparent",backgroundImage:u.backgroundImage?`url(${e.unref(si)(u.backgroundImage)})`:void 0,backgroundSize:u.backgroundImage?"cover":void 0,backgroundPosition:u.backgroundImage?"center":void 0})},null,4))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,u=>{var B,I,$,z,w,R;return e.openBlock(),e.createElementBlock(e.Fragment,{key:u.id},[u.type==="text"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.enableLinks&&m(u)?"a":"div"),{key:0,href:t.enableLinks&&m(u)?m(u):void 0,target:((B=u.link)==null?void 0:B.target)||"_blank",rel:((I=u.link)==null?void 0:I.target)==="_self"?void 0:"noopener noreferrer",style:e.normalizeStyle(_(u))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f(u)),1)]),_:2},1032,["href","target","rel","style"])):u.type==="image"||u.type==="seal"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.enableLinks&&m(u)?"a":"div"),{key:1,href:t.enableLinks&&m(u)?m(u):void 0,target:(($=u.link)==null?void 0:$.target)||"_blank",rel:((z=u.link)==null?void 0:z.target)==="_self"?void 0:"noopener noreferrer",style:e.normalizeStyle(C(u))},{default:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(si)(u.src),alt:"",style:{"max-width":"100%","max-height":"100%","object-fit":"contain"}},null,8,mf)]),_:2},1032,["href","target","rel","style"])):u.type==="shape"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.enableLinks&&m(u)?"a":"div"),{key:2,href:t.enableLinks&&m(u)?m(u):void 0,target:((w=u.link)==null?void 0:w.target)||"_blank",rel:((R=u.link)==null?void 0:R.target)==="_self"?void 0:"noopener noreferrer",style:e.normalizeStyle(E(u))},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",ff,[u.shape==="line"?(e.openBlock(),e.createElementBlock("line",{key:0,x1:"4",y1:"50",x2:"96",y2:"50",stroke:b(u),"stroke-width":Math.max(V(u)*3.2,1),"stroke-linecap":"round"},null,8,uf)):u.shape==="rect"?(e.openBlock(),e.createElementBlock("rect",{key:1,x:"4",y:"4",width:"92",height:"92",fill:k(u),stroke:b(u),"stroke-width":V(u)*3.2},null,8,pf)):u.shape==="circle"?(e.openBlock(),e.createElementBlock("ellipse",{key:2,cx:"50",cy:"50",rx:"46",ry:"46",fill:k(u),stroke:b(u),"stroke-width":V(u)*3.2},null,8,hf)):u.shape==="triangle"?(e.openBlock(),e.createElementBlock("polygon",{key:3,points:"50,4 96,96 4,96",fill:k(u),stroke:b(u),"stroke-width":V(u)*3.2,"stroke-linejoin":"round"},null,8,gf)):(e.openBlock(),e.createElementBlock("polygon",{key:4,points:S(u),fill:k(u),stroke:b(u),"stroke-width":V(u)*3.2,"stroke-linejoin":"round"},null,8,_f))]))]),_:2},1032,["href","target","rel","style"])):e.createCommentVNode("",!0)],64)}),128))],4)],4)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-3a556c53"]]),bf=Object.freeze(Object.defineProperty({__proto__:null,default:di},Symbol.toStringTag,{value:"Module"})),Yn=e.defineComponent({name:"FouBadgeTemplateRenderer",__name:"BadgeTemplateRenderer",props:{doc:{},mergeData:{default:()=>({})},screenScale:{default:1},enableLinks:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createBlock(di,{doc:t.doc,"merge-data":t.mergeData,"screen-scale":t.screenScale,"enable-links":t.enableLinks},null,8,["doc","merge-data","screen-scale","enable-links"]))}}),yf=Object.freeze(Object.defineProperty({__proto__:null,default:Yn},Symbol.toStringTag,{value:"Module"})),kf={class:"page-container badge-library-page"},wf=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({__name:"BadgeLibraryView",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",kf,[o[0]||(o[0]=e.createElementVNode("div",{class:"page-head"},[e.createElementVNode("h2",{class:"page-h2"},"证件图片库"),e.createElementVNode("p",{class:"page-desc"},"管理模板编辑中上传的图片,可删除不再使用的文件;删除后已保存模板里若仍引用该地址将无法显示。")],-1)),e.createVNode(ii)]))}}),[["__scopeId","data-v-92a36921"]])},Symbol.toStringTag,{value:"Module"})),xf=["disabled"],Vf=["value","disabled","readonly","onKeydown"],Cf=["disabled"],Nf=["disabled"],Nl=me(e.defineComponent({name:"FouInputNumber",__name:"index",props:{modelValue:{default:null},min:{default:-1/0},max:{default:1/0},step:{default:1},stepStrictly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},controlsPosition:{default:""},size:{default:"default"},precision:{}},emits:["update:modelValue","change","blur"],setup(t,{expose:a,emit:o}){const n=t,r=o,c=e.ref(null),d=e.computed(()=>n.size||"default"),f=N=>Math.min(n.max,Math.max(n.min,N)),m=N=>{if(!n.stepStrictly)return N;const M=Math.round((N-n.min)/n.step);return f(n.min+M*n.step)},h=N=>{if(N==null||Number.isNaN(N))return null;let M=m(N);return M=f(M),n.precision!==void 0&&(M=Number(M.toFixed(n.precision))),M},p=e.computed(()=>n.modelValue===null||n.modelValue===void 0?"":String(n.modelValue)),_=e.computed(()=>n.modelValue!==null&&n.modelValue<=n.min),C=e.computed(()=>n.modelValue!==null&&n.modelValue>=n.max),E=N=>{r("update:modelValue",N),r("change",N)},b=()=>n.modelValue??(n.min===-1/0?0:n.min),V=()=>{n.disabled||E(h(b()+n.step))},k=()=>{n.disabled||E(h(b()-n.step))},S=N=>{const M=N.target.value;if(M===""||M==="-"){r("update:modelValue",null);return}const u=Number(M);Number.isNaN(u)||r("update:modelValue",u)},x=N=>{const M=h(n.modelValue??null);M!==n.modelValue&&E(M),r("blur",N)};return a({focus:()=>{var N;return(N=c.value)==null?void 0:N.focus()}}),(N,M)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-input-number",[`fou-input-number--${e.unref(d)}`,{"is-disabled":t.disabled,"is-controls-right":t.controlsPosition==="right","is-without-controls":!t.controls}]])},[t.controls&&t.controlsPosition!=="right"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-input-number__decrease",disabled:t.disabled||e.unref(_),tabindex:"-1",onMousedown:M[0]||(M[0]=e.withModifiers(()=>{},["prevent"])),onClick:k}," − ",40,xf)):e.createCommentVNode("",!0),e.createElementVNode("input",{ref_key:"inputRef",ref:c,class:"fou-input-number__inner",type:"text",value:e.unref(p),disabled:t.disabled,readonly:t.readonly,onInput:S,onBlur:x,onKeydown:[e.withKeys(e.withModifiers(V,["prevent"]),["up"]),e.withKeys(e.withModifiers(k,["prevent"]),["down"])]},null,40,Vf),t.controls?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"fou-input-number__increase",disabled:t.disabled||e.unref(C),tabindex:"-1",onMousedown:M[1]||(M[1]=e.withModifiers(()=>{},["prevent"])),onClick:V}," + ",40,Cf)):e.createCommentVNode("",!0),t.controls&&t.controlsPosition==="right"?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"fou-input-number__decrease fou-input-number__decrease--right",disabled:t.disabled||e.unref(_),tabindex:"-1",onMousedown:M[2]||(M[2]=e.withModifiers(()=>{},["prevent"])),onClick:k}," − ",40,Nf)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-de5e7cb9"]]),Bf=Object.freeze(Object.defineProperty({__proto__:null,default:Nl},Symbol.toStringTag,{value:"Module"})),vr=Symbol("fouForm"),$f=Symbol("fouFormItem"),Kn=me(e.defineComponent({name:"FouForm",__name:"index",props:{model:{},rules:{},labelWidth:{default:""},labelPosition:{default:"right"},inline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideRequiredAsterisk:{type:Boolean,default:!1},requireAsteriskPosition:{default:"left"},validateOnRuleChange:{type:Boolean,default:!0}},emits:["validate"],setup(t,{expose:a,emit:o}){const n=t,r=o,c=e.computed(()=>!n.labelWidth&&n.labelWidth!==0?"":typeof n.labelWidth=="number"?`${n.labelWidth}px`:n.labelWidth),d=e.computed(()=>{if(c.value)return{"--fou-form-label-width":c.value}}),f=e.ref([]),m=V=>{f.value.find(k=>k.uid===V.uid)||f.value.push(V)},h=V=>{f.value=f.value.filter(k=>k.uid!==V.uid)},p=V=>{const k=f.value.filter(S=>S.prop);return Promise.all(k.map(S=>S.validate(""))).then(S=>{const x=S.every(Boolean);return V==null||V(x),x}).catch(()=>(V==null||V(!1),!1))},_=async V=>{const k=Array.isArray(V)?V:[V],S=f.value.filter(N=>N.prop&&k.includes(N.prop));return(await Promise.all(S.map(N=>N.validate("")))).every(Boolean)},C=()=>{f.value.forEach(V=>V.resetField())},E=V=>{const k=V?Array.isArray(V)?V:[V]:null;f.value.forEach(S=>{(!k||S.prop&&k.includes(S.prop))&&S.clearValidate()})},b={model:e.computed(()=>n.model),rules:e.computed(()=>n.rules),labelWidth:c,labelPosition:e.computed(()=>n.labelPosition),disabled:e.computed(()=>n.disabled),hideRequiredAsterisk:e.computed(()=>n.hideRequiredAsterisk),addField:m,removeField:h,emitValidate:(V,k,S)=>r("validate",V,k,S)};return e.provide(vr,b),e.provide("fouFormLabelWidth",c),e.provide("fouFormLabelPosition",e.computed(()=>n.labelPosition)),e.watch(()=>n.rules,()=>{n.validateOnRuleChange&&p()},{deep:!0}),a({validate:p,validateField:_,resetFields:C,clearValidate:E}),(V,k)=>(e.openBlock(),e.createElementBlock("form",{class:e.normalizeClass(["fou-form",[`fou-form--label-${t.labelPosition}`,{"fou-form--inline":t.inline}]]),style:e.normalizeStyle(e.unref(d)),onSubmit:k[0]||(k[0]=e.withModifiers(()=>{},["prevent"]))},[e.renderSlot(V.$slots,"default",{},void 0,!0)],38))}}),[["__scopeId","data-v-74edc797"]]),Ef=Object.freeze(Object.defineProperty({__proto__:null,default:Kn},Symbol.toStringTag,{value:"Module"})),Sf=["aria-checked","aria-disabled"],Mf={key:0,class:"fou-switch__label"},zf={key:0,class:"fou-switch__label--left"},Tf={key:1,class:"fou-switch__label--right"},Bl=me(e.defineComponent({name:"FouSwitch",__name:"index",props:{modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},size:{default:"default"},activeText:{default:""},inactiveText:{default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.computed(()=>o.modelValue===o.activeValue||o.modelValue===!0),c=()=>{if(o.disabled)return;const d=r.value?o.inactiveValue:o.activeValue;n("update:modelValue",d),n("change",d)};return(d,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-switch",[`fou-switch--${t.size}`,{"is-checked":e.unref(r),"is-disabled":t.disabled}]]),role:"switch","aria-checked":e.unref(r),"aria-disabled":t.disabled,onClick:c},[f[0]||(f[0]=e.createElementVNode("span",{class:"fou-switch__core"},[e.createElementVNode("span",{class:"fou-switch__action"})],-1)),t.inactiveText||t.activeText?(e.openBlock(),e.createElementBlock("span",Mf,[!e.unref(r)&&t.inactiveText?(e.openBlock(),e.createElementBlock("span",zf,e.toDisplayString(t.inactiveText),1)):e.createCommentVNode("",!0),e.unref(r)&&t.activeText?(e.openBlock(),e.createElementBlock("span",Tf,e.toDisplayString(t.activeText),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,Sf))}}),[["__scopeId","data-v-5aae8cea"]]),Ff=Object.freeze(Object.defineProperty({__proto__:null,default:Bl},Symbol.toStringTag,{value:"Module"})),fa=me(e.defineComponent({name:"FouCheckboxGroup",__name:"FouCheckboxGroup",props:{modelValue:{default:()=>[]},disabled:{type:Boolean,default:!1},type:{default:"default"}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.computed(()=>o.modelValue),c=e.computed(()=>o.disabled),d=(f,m)=>{const h=[...o.modelValue],p=h.indexOf(f);m&&p<0?h.push(f):!m&&p>=0&&h.splice(p,1),n("update:modelValue",h),n("change",h)};return e.provide("fouCheckboxGroup",{modelValue:r,disabled:c,type:e.computed(()=>o.type),toggleOption:d}),(f,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-checkbox-group",[{"is-disabled":t.disabled},`fou-checkbox-group--${t.type}`]]),role:"group"},[e.renderSlot(f.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-d8f4dece"]]),If=Object.freeze(Object.defineProperty({__proto__:null,default:fa},Symbol.toStringTag,{value:"Module"})),Df={class:"fou-checkbox__input"},Rf=["checked","disabled","value"],Lf={key:0,class:"fou-checkbox__label"},Bn=me(e.defineComponent({name:"FouCheckbox",__name:"index",props:{modelValue:{type:[Boolean,String,Number],default:!1},label:{},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},trueLabel:{},falseLabel:{},border:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.useSlots(),c=e.inject("fouCheckboxGroup",null),d=e.computed(()=>o.disabled||(c==null?void 0:c.disabled.value)),f=e.computed(()=>{var _;return((_=c==null?void 0:c.type)==null?void 0:_.value)==="button"}),m=e.computed(()=>r.default?!0:o.label===void 0||o.label===null?!1:String(o.label).length>0),h=e.computed(()=>c?c.modelValue.value.includes(o.label):o.trueLabel!==void 0||o.falseLabel!==void 0?o.modelValue===o.trueLabel:!!o.modelValue),p=_=>{if(d.value)return;const C=_.target.checked;if(c&&o.label!==void 0){c.toggleOption(o.label,C);return}let E=C;(o.trueLabel!==void 0||o.falseLabel!==void 0)&&(E=C?o.trueLabel??!0:o.falseLabel??!1),n("update:modelValue",E),n("change",E)};return(_,C)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["fou-checkbox",{"is-checked":e.unref(h),"is-disabled":e.unref(d),"is-indeterminate":t.indeterminate,"is-button":e.unref(f),"is-border":t.border}])},[e.createElementVNode("span",Df,[e.createElementVNode("input",{type:"checkbox",class:"fou-checkbox__original",checked:e.unref(h),disabled:e.unref(d),value:t.label,onChange:p},null,40,Rf),C[0]||(C[0]=e.createElementVNode("span",{class:"fou-checkbox__inner"},null,-1))]),e.unref(m)?(e.openBlock(),e.createElementBlock("span",Lf,[e.renderSlot(_.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-2301b3b6"]]),Pf=Object.freeze(Object.defineProperty({__proto__:null,default:Bn},Symbol.toStringTag,{value:"Module"})),$l=me(e.defineComponent({name:"FouRadioGroup",__name:"FouRadioGroup",props:{modelValue:{type:[String,Number,Boolean]},disabled:{type:Boolean,default:!1},name:{default:""},type:{default:"default"}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.computed(()=>o.name||`fou-radio-group-${Math.random().toString(36).slice(2,9)}`),c=e.computed(()=>o.modelValue),d=e.computed(()=>o.disabled),f=m=>{n("update:modelValue",m),n("change",m)};return e.provide("fouRadioGroup",{modelValue:c,disabled:d,name:r,type:e.computed(()=>o.type),changeEvent:f}),(m,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-radio-group",[{"is-disabled":t.disabled},`fou-radio-group--${t.type}`]]),role:"radiogroup"},[e.renderSlot(m.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-442b6108"]]),Of=Object.freeze(Object.defineProperty({__proto__:null,default:$l},Symbol.toStringTag,{value:"Module"})),jf={class:"fou-radio__input"},Af=["checked","disabled","name","value"],Uf={key:0,class:"fou-radio__label"},ua=me(e.defineComponent({name:"FouRadio",__name:"index",props:{modelValue:{type:[String,Number,Boolean]},label:{type:[String,Number,Boolean]},disabled:{type:Boolean,default:!1},border:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.inject("fouRadioGroup",null),c=`fou-radio-${Math.random().toString(36).slice(2,9)}`,d=e.computed(()=>o.disabled||(r==null?void 0:r.disabled.value)),f=e.computed(()=>{var _;return((_=r==null?void 0:r.type)==null?void 0:_.value)==="button"}),m=e.computed(()=>(r?r.modelValue.value:o.modelValue)===o.label),h=e.computed(()=>(r==null?void 0:r.name.value)||c),p=()=>{d.value||o.label===void 0||(r?r.changeEvent(o.label):(n("update:modelValue",o.label),n("change",o.label)))};return(_,C)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["fou-radio",{"is-checked":e.unref(m),"is-disabled":e.unref(d),"is-button":e.unref(f),"is-border":t.border}])},[e.createElementVNode("span",jf,[e.createElementVNode("input",{type:"radio",class:"fou-radio__original",checked:e.unref(m),disabled:e.unref(d),name:e.unref(h),value:t.label,onChange:p},null,40,Af),C[0]||(C[0]=e.createElementVNode("span",{class:"fou-radio__inner"},null,-1))]),_.$slots.default||t.label!==void 0?(e.openBlock(),e.createElementBlock("span",Uf,[e.renderSlot(_.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-7d7b3ed2"]]),Wf=Object.freeze(Object.defineProperty({__proto__:null,default:ua},Symbol.toStringTag,{value:"Module"})),Hf=["onKeydown"],qf={class:"fou-select__suffix"},Yf=["onClick"],Kf={key:2,class:"fou-select__empty"},El=me(e.defineComponent({name:"FouSelect",inheritAttrs:!1,__name:"index",props:{modelValue:{type:[String,Number,Boolean,null],default:null},options:{default:void 0},placeholder:{default:"请选择"},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"default"},fit:{type:Boolean,default:!1}},emits:["update:modelValue","change","clear","visibleChange"],setup(t,{emit:a}){const o=t,n=a,r=e.useAttrs(),c=e.useSlots(),d=e.ref(null),f=e.ref(null),m=e.ref(!1),h=e.ref([]),p=e.ref(new Map),_=e.ref({position:"fixed",top:"-9999px",left:"-9999px",zIndex:3100,minWidth:"120px"}),C=e.computed(()=>o.size||"default"),E=e.computed(()=>r.style||void 0),b=e.computed(()=>o.modelValue!==null&&o.modelValue!==void 0&&o.modelValue!==""),V=e.computed(()=>!!c.default),k=e.computed(()=>{var q;return(q=o.options)!=null&&q.length?o.options:h.value}),S=e.computed(()=>{if(!b.value)return"";const q=k.value.find(ae=>ae.value===o.modelValue);return q?q.label:p.value.get(o.modelValue)??String(o.modelValue)}),x=e.computed(()=>o.modelValue),N=(q,ae)=>{p.value.set(q,ae),n("update:modelValue",q),n("change",q),z()},M=q=>{},u=q=>{const ae=h.value.findIndex(X=>X.value===q.value);ae>=0?h.value[ae]=q:h.value.push(q),p.value.set(q.value,q.label)},B=q=>{h.value=h.value.filter(ae=>ae.value!==q)};e.provide("fouSelect",{modelValue:x,selectOption:N,setHoverOption:M,registerOption:u,unregisterOption:B});const I=()=>{const q=d.value,ae=f.value;if(!q||!ae)return;const X=q.getBoundingClientRect(),T=ae.getBoundingClientRect(),fe=4,ge=window.innerWidth,de=window.innerHeight;let oe=X.bottom+fe,ce=X.left;const Ne=Math.max(X.width,120);oe+T.height>de-4&&(oe=X.top-T.height-fe),oe<4&&(oe=4),ce+Ne>ge-4&&(ce=ge-Ne-4),ce<4&&(ce=4),_.value={position:"fixed",top:`${Math.round(oe)}px`,left:`${Math.round(ce)}px`,zIndex:3100,minWidth:`${Math.round(Ne)}px`}},$=async()=>{o.disabled||(m.value=!0,n("visibleChange",!0),await e.nextTick(),I(),requestAnimationFrame(()=>I()))},z=()=>{m.value&&(m.value=!1,n("visibleChange",!1))},w=()=>{o.disabled||(m.value?z():$())},R=()=>{n("update:modelValue",null),n("change",null),n("clear")},j=q=>{var X,T;if(!m.value)return;const ae=q.target;(X=d.value)!=null&&X.contains(ae)||(T=f.value)!=null&&T.contains(ae)||z()},J=()=>{m.value&&I()};return e.watch(m,q=>{q?(document.addEventListener("mousedown",j,!0),window.addEventListener("scroll",J,!0),window.addEventListener("resize",J)):(document.removeEventListener("mousedown",j,!0),window.removeEventListener("scroll",J,!0),window.removeEventListener("resize",J))}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",j,!0),window.removeEventListener("scroll",J,!0),window.removeEventListener("resize",J)}),(q,ae)=>{const X=_t;return e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:d,class:e.normalizeClass(["fou-select",[`fou-select--${e.unref(C)}`,e.unref(r).class,{"is-disabled":t.disabled,"is-focused":e.unref(m),"is-clearable":t.clearable,"is-fit":t.fit}]]),style:e.normalizeStyle(e.unref(E))},[e.createElementVNode("div",{class:"fou-select__wrapper",tabindex:"0",onClick:w,onKeydown:[e.withKeys(e.withModifiers(w,["prevent"]),["enter"]),e.withKeys(e.withModifiers(w,["prevent"]),["space"]),e.withKeys(z,["esc"]),e.withKeys(e.withModifiers($,["prevent"]),["down"])]},[e.createElementVNode("span",{class:e.normalizeClass(["fou-select__selected",{"is-placeholder":!e.unref(S)}])},e.toDisplayString(e.unref(S)||t.placeholder),3),e.createElementVNode("span",qf,[t.clearable&&e.unref(b)&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-select__clear",tabindex:"-1",onMousedown:ae[0]||(ae[0]=e.withModifiers(()=>{},["prevent"])),onClick:e.withModifiers(R,["stop"])}," × ",32)):e.createCommentVNode("",!0),e.createVNode(X,{class:e.normalizeClass(["fou-select__caret",{"is-open":e.unref(m)}]),icon:"arrow-down-s-line"},null,8,["class"])])],40,Hf),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-select-fade"},{default:e.withCtx(()=>[e.unref(m)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:f,class:"fou-select__dropdown",style:e.normalizeStyle(e.unref(_)),onClick:ae[1]||(ae[1]=e.withModifiers(()=>{},["stop"]))},[e.unref(k).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(k),T=>(e.openBlock(),e.createElementBlock("div",{key:String(T.value),class:e.normalizeClass(["fou-option fou-select__option",{"is-selected":t.modelValue===T.value,"is-disabled":T.disabled}]),onClick:fe=>!T.disabled&&N(T.value,T.label)},e.toDisplayString(T.label),11,Yf))),128)):e.renderSlot(q.$slots,"default",{},void 0,!0,1),!e.unref(k).length&&!e.unref(V)?(e.openBlock(),e.createElementBlock("div",Kf," 无数据 ")):e.createCommentVNode("",!0)],4)):e.createCommentVNode("",!0)]),_:3})]))],6)}}}),[["__scopeId","data-v-82d7aeca"]]),Xf=Object.freeze(Object.defineProperty({__proto__:null,default:El},Symbol.toStringTag,{value:"Module"})),vf={class:"fou-form-item__content"},Gf={key:0,class:"fou-form-item__error"},Xn=me(e.defineComponent({name:"FouFormItem",__name:"index",props:{label:{},labelWidth:{},required:{type:Boolean,default:void 0},prop:{},error:{},rules:{}},setup(t,{expose:a}){var M;const o=t,n=e.inject(vr,null),r=e.inject("fouFormLabelWidth",e.ref("")),c=e.inject("fouFormLabelPosition",e.ref("right")),d=((M=e.getCurrentInstance())==null?void 0:M.uid)??Math.random(),f=e.ref(""),m=e.ref(""),h=e.ref(void 0),p=e.computed(()=>o.labelWidth!==void 0&&o.labelWidth!==""?typeof o.labelWidth=="number"?`${o.labelWidth}px`:o.labelWidth:(n==null?void 0:n.labelWidth.value)||r.value),_=e.computed(()=>{if(((n==null?void 0:n.labelPosition.value)||c.value)!=="top"&&p.value)return{width:p.value}}),C=e.computed(()=>{if(!(!o.prop||!(n!=null&&n.model.value)))return n.model.value[o.prop]}),E=e.computed(()=>{var B;const u=[];if(o.rules&&u.push(...Array.isArray(o.rules)?o.rules:[o.rules]),o.prop&&((B=n==null?void 0:n.rules.value)!=null&&B[o.prop])){const I=n.rules.value[o.prop];u.push(...Array.isArray(I)?I:[I])}return u}),b=e.computed(()=>n!=null&&n.hideRequiredAsterisk.value?!1:o.required===!0?!0:o.required===!1?!1:E.value.some(u=>u.required)),V=(u,B)=>new Promise(I=>{if(u.required&&(B==null||B===""||Array.isArray(B)&&!B.length)){I(u.message||"必填项");return}if(u.min!=null||u.max!=null){const $=typeof B=="number"?B:String(B??"").length;if(u.min!=null&&$<u.min){I(u.message||`长度不能少于 ${u.min}`);return}if(u.max!=null&&$>u.max){I(u.message||`长度不能超过 ${u.max}`);return}}if(u.pattern&&B!=null&&B!==""&&!u.pattern.test(String(B))){I(u.message||"格式不正确");return}if(u.validator){u.validator(u,B,$=>{I($?typeof $=="string"?$:$.message||"校验失败":"")});return}I("")}),k=async u=>{if(o.error)return f.value="error",m.value=o.error,!1;const B=E.value.filter($=>{if(!u)return!0;const z=$.trigger;return z?(Array.isArray(z)?z:[z]).includes(u):!0});B.length;const I=u?B:E.value;if(!I.length)return f.value="",m.value="",!0;f.value="validating";for(const $ of I){const z=await V($,C.value);if(z)return f.value="error",m.value=z,o.prop&&(n==null||n.emitValidate(o.prop,!1,z)),!1}return f.value="success",m.value="",o.prop&&(n==null||n.emitValidate(o.prop,!0,"")),!0},S=()=>{o.prop&&(n!=null&&n.model.value)&&(n.model.value[o.prop]=h.value),x()},x=()=>{f.value="",m.value=""},N={uid:d,prop:o.prop,validate:k,resetField:S,clearValidate:x};return e.provide($f,{validate:k,prop:e.computed(()=>o.prop)}),e.onMounted(()=>{h.value=C.value,n==null||n.addField(N)}),e.onBeforeUnmount(()=>{n==null||n.removeField(N)}),e.watch(()=>o.error,u=>{u&&(f.value="error",m.value=u)}),e.watch(C,()=>{(f.value==="error"||E.value.some(u=>{const B=u.trigger;return B?(Array.isArray(B)?B:[B]).includes("change"):!0}))&&k("change")}),a({validate:k,resetField:S,clearValidate:x,validateState:f,validateMessage:m}),(u,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-form-item",{"is-required":e.unref(b),"is-error":e.unref(f)==="error"}])},[t.label||u.$slots.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:"fou-form-item__label",style:e.normalizeStyle(e.unref(_))},[e.renderSlot(u.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)],4)):e.createCommentVNode("",!0),e.createElementVNode("div",vf,[e.renderSlot(u.$slots,"default",{},void 0,!0),e.unref(m)&&e.unref(f)==="error"?(e.openBlock(),e.createElementBlock("div",Gf,e.toDisplayString(e.unref(m)),1)):e.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-c4d648d9"]]),Qf=Object.freeze(Object.defineProperty({__proto__:null,default:Xn},Symbol.toStringTag,{value:"Module"})),Jf={key:0,class:"fou-input__prepend"},Zf={class:"fou-input__wrapper"},eu={key:0,class:"fou-input__prefix"},tu=["value","placeholder","disabled","readonly","rows","maxlength"],ou=["type","value","placeholder","disabled","readonly","maxlength"],nu={key:3,class:"fou-input__suffix"},lu={key:1,class:"fou-input__append"},qo=me(e.defineComponent({name:"FouInput",inheritAttrs:!1,__name:"index",props:{modelValue:{default:""},type:{default:"text"},placeholder:{default:""},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{default:"default"},showPassword:{type:Boolean,default:!1},prefixIcon:{},suffixIcon:{},rows:{default:3},maxlength:{}},emits:["update:modelValue","input","change","focus","blur","clear","keyup"],setup(t,{expose:a,emit:o}){const n=t,r=e.useAttrs(),c=e.computed(()=>{const{class:u,style:B,...I}=r;return I}),d=o,f=e.ref(null),m=e.ref(null),h=e.ref(!1),p=e.ref(!1),_=e.computed(()=>n.size||"default"),C=e.computed(()=>n.type==="textarea"),E=e.computed(()=>n.showPassword?p.value?"text":"password":n.type||"text"),b=e.computed(()=>{const u=n.modelValue;return u!==""&&u!==void 0&&u!==null}),V=u=>{const B=u.target.value;d("update:modelValue",B),d("input",B)},k=u=>{h.value=!0,d("focus",u)},S=u=>{h.value=!1,d("blur",u)},x=()=>{d("update:modelValue",""),d("input",""),d("clear"),d("change","")};return a({focus:()=>{var u;(u=f.value||m.value)==null||u.focus()},blur:()=>{var u;(u=f.value||m.value)==null||u.blur()},inputRef:f,textareaRef:m}),(u,B)=>{const I=_t;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-input",[`fou-input--${e.unref(_)}`,{"is-disabled":t.disabled,"is-focused":e.unref(h),"is-clearable":t.clearable,"has-value":e.unref(b),"has-prefix":u.$slots.prefix||t.prefixIcon,"has-suffix":u.$slots.suffix||t.suffixIcon||t.clearable||t.showPassword,"is-textarea":e.unref(C)}]])},[u.$slots.prepend?(e.openBlock(),e.createElementBlock("div",Jf,[e.renderSlot(u.$slots,"prepend",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Zf,[u.$slots.prefix||t.prefixIcon?(e.openBlock(),e.createElementBlock("span",eu,[e.renderSlot(u.$slots,"prefix",{},()=>[t.prefixIcon?(e.openBlock(),e.createBlock(I,{key:0,icon:t.prefixIcon},null,8,["icon"])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock("textarea",e.mergeProps({key:1,ref_key:"textareaRef",ref:m,class:"fou-input__inner fou-input__textarea",value:t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,rows:t.rows,maxlength:t.maxlength},e.unref(c),{onInput:V,onFocus:k,onBlur:S,onChange:B[0]||(B[0]=$=>d("change",$.target.value))}),null,16,tu)):(e.openBlock(),e.createElementBlock("input",e.mergeProps({key:2,ref_key:"inputRef",ref:f,class:"fou-input__inner",type:e.unref(E),value:t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,maxlength:t.maxlength},e.unref(c),{onInput:V,onFocus:k,onBlur:S,onChange:B[1]||(B[1]=$=>d("change",$.target.value)),onKeyup:B[2]||(B[2]=e.withKeys($=>d("keyup",$),["enter"]))}),null,16,ou)),u.$slots.suffix||t.suffixIcon||t.clearable&&e.unref(b)||t.showPassword?(e.openBlock(),e.createElementBlock("span",nu,[t.clearable&&e.unref(b)&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-input__clear",tabindex:"-1",onMousedown:B[3]||(B[3]=e.withModifiers(()=>{},["prevent"])),onClick:x}," × ",32)):e.createCommentVNode("",!0),t.showPassword?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"fou-input__password",tabindex:"-1",onMousedown:B[4]||(B[4]=e.withModifiers(()=>{},["prevent"])),onClick:B[5]||(B[5]=$=>p.value=!e.unref(p))},[e.createVNode(I,{icon:e.unref(p)?"eye-line":"eye-off-line"},null,8,["icon"])],32)):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"suffix",{},()=>[t.suffixIcon?(e.openBlock(),e.createBlock(I,{key:0,icon:t.suffixIcon},null,8,["icon"])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)]),u.$slots.append?(e.openBlock(),e.createElementBlock("div",lu,[e.renderSlot(u.$slots,"append",{},void 0,!0)])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-d1add3e8"]]),au=Object.freeze(Object.defineProperty({__proto__:null,default:qo},Symbol.toStringTag,{value:"Module"})),iu={class:"fou-loading__content"},ru={key:0,class:"fou-loading__spinner"},cu={key:1,class:"fou-loading__dual-ring","aria-hidden":"true"},su={key:2,class:"fou-loading__crescent","aria-hidden":"true"},du={key:3,class:"fou-loading__gradient","aria-hidden":"true"},mu={key:4,class:"fou-loading__dash","aria-hidden":"true"},fu={key:5,class:"fou-loading__dots","aria-hidden":"true"},uu={key:6,class:"fou-loading__wave","aria-hidden":"true"},pu={key:7,class:"fou-loading__bounce","aria-hidden":"true"},hu={key:8,class:"fou-loading__bars","aria-hidden":"true"},gu={key:9,class:"fou-loading__bricks","aria-hidden":"true"},_u={key:10,class:"fou-loading__square","aria-hidden":"true"},bu={key:11,class:"fou-loading__flip","aria-hidden":"true"},yu={key:12,class:"fou-loading__pulse","aria-hidden":"true"},ku={key:13,class:"fou-loading__ripple","aria-hidden":"true"},wu={key:14,class:"fou-loading__orbit","aria-hidden":"true"},xu={key:15,class:"fou-loading__radar","aria-hidden":"true"},Vu={key:16,class:"fou-loading__spiral","aria-hidden":"true"},Cu={key:17,class:"fou-loading__infinity","aria-hidden":"true"},Nu={key:18,class:"fou-loading__hourglass","aria-hidden":"true"},Bu={key:19,class:"fou-loading__skeleton","aria-hidden":"true"},$u={key:20,class:"fou-loading__spinner"},Eu={key:21,class:"fou-loading__text"},pa=e.defineComponent({name:"FouLoading",__name:"spinner",props:{text:{default:""},fullscreen:{type:Boolean,default:!1},transparent:{type:Boolean,default:!1},effect:{default:"spinner"}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-loading",[`fou-loading--${t.effect}`,{"is-fullscreen":t.fullscreen,"is-transparent":t.transparent}]])},[o[13]||(o[13]=e.createElementVNode("div",{class:"fou-loading__mask"},null,-1)),e.createElementVNode("div",iu,[t.effect==="spinner"?(e.openBlock(),e.createElementBlock("span",ru)):t.effect==="dual-ring"?(e.openBlock(),e.createElementBlock("span",cu)):t.effect==="crescent"?(e.openBlock(),e.createElementBlock("span",su)):t.effect==="gradient"?(e.openBlock(),e.createElementBlock("span",du)):t.effect==="dash"?(e.openBlock(),e.createElementBlock("span",mu)):t.effect==="dots"?(e.openBlock(),e.createElementBlock("span",fu,[...o[0]||(o[0]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="wave"?(e.openBlock(),e.createElementBlock("span",uu,[...o[1]||(o[1]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="bounce"?(e.openBlock(),e.createElementBlock("span",pu,[...o[2]||(o[2]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="bars"?(e.openBlock(),e.createElementBlock("span",hu,[...o[3]||(o[3]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="bricks"?(e.openBlock(),e.createElementBlock("span",gu,[...o[4]||(o[4]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="square"?(e.openBlock(),e.createElementBlock("span",_u)):t.effect==="flip"?(e.openBlock(),e.createElementBlock("span",bu,[...o[5]||(o[5]=[e.createElementVNode("i",null,null,-1)])])):t.effect==="pulse"?(e.openBlock(),e.createElementBlock("span",yu,[...o[6]||(o[6]=[e.createElementVNode("i",null,null,-1)])])):t.effect==="ripple"?(e.openBlock(),e.createElementBlock("span",ku,[...o[7]||(o[7]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="orbit"?(e.openBlock(),e.createElementBlock("span",wu,[...o[8]||(o[8]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="radar"?(e.openBlock(),e.createElementBlock("span",xu,[...o[9]||(o[9]=[e.createElementVNode("i",null,null,-1)])])):t.effect==="spiral"?(e.openBlock(),e.createElementBlock("span",Vu,[...o[10]||(o[10]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="infinity"?(e.openBlock(),e.createElementBlock("span",Cu,[...o[11]||(o[11]=[e.createElementVNode("i",null,null,-1)])])):t.effect==="hourglass"?(e.openBlock(),e.createElementBlock("span",Nu)):t.effect==="skeleton"?(e.openBlock(),e.createElementBlock("span",Bu,[...o[12]||(o[12]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):(e.openBlock(),e.createElementBlock("span",$u)),t.text?(e.openBlock(),e.createElementBlock("p",Eu,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],2))}}),Su=Object.freeze(Object.defineProperty({__proto__:null,default:pa},Symbol.toStringTag,{value:"Module"})),Mu=["onKeydown"],zu={class:"fou-time-panel__body"},Tu={class:"fou-time-panel__spinner"},Fu=["onClick"],Iu={class:"fou-time-panel__spinner"},Du=["onClick"],Ru={key:0,class:"fou-time-panel__spinner"},Lu=["onClick"],Gr=me(e.defineComponent({name:"FouTime",inheritAttrs:!1,__name:"index",props:{modelValue:{default:null},format:{default:"HH:mm:ss"},placeholder:{default:"选择时间"},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},size:{default:"default"},fit:{type:Boolean,default:!1},hourStep:{default:1},minuteStep:{default:1},secondStep:{default:1}},emits:["update:modelValue","change","clear","visible-change"],setup(t,{emit:a}){const o=t,n=a,r=e.useAttrs(),c=e.ref(null),d=e.ref(null),f=e.ref(null),m=e.ref(null),h=e.ref(null),p=e.ref(!1),_=e.ref({position:"fixed",top:"-9999px",left:"-9999px",zIndex:3100}),C=e.reactive({hour:0,minute:0,second:0}),E=e.computed(()=>o.size||"default"),b=e.computed(()=>o.format!=="HH:mm"),V=e.computed(()=>o.modelValue!=null&&o.modelValue!==""),k=ce=>String(ce).padStart(2,"0"),S=(ce,Ne)=>{const De=Math.max(1,Math.floor(Ne||1)),$e=[];for(let Qe=0;Qe<=ce;Qe+=De)$e.push(Qe);return $e[$e.length-1]!==ce&&ce%De,$e},x=e.computed(()=>S(23,o.hourStep)),N=e.computed(()=>S(59,o.minuteStep)),M=e.computed(()=>S(59,o.secondStep)),u=ce=>{if(!ce)return null;const Ne=String(ce).trim().match(/^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/);if(!Ne)return null;const De=Math.min(23,Math.max(0,Number(Ne[1]))),$e=Math.min(59,Math.max(0,Number(Ne[2]))),Qe=Math.min(59,Math.max(0,Number(Ne[3]??0)));return{hour:De,minute:$e,second:Qe}},B=ce=>b.value?`${k(ce.hour)}:${k(ce.minute)}:${k(ce.second)}`:`${k(ce.hour)}:${k(ce.minute)}`,I=e.computed(()=>{const ce=u(o.modelValue);return ce?B(ce):""}),$=()=>{const ce=u(o.modelValue)||{hour:0,minute:0,second:0};C.hour=ce.hour,C.minute=ce.minute,C.second=ce.second},z=async()=>{await e.nextTick();const ce=(Ne,De)=>{if(!Ne)return;const $e=Ne.querySelector(".fou-time-panel__item.is-active");if($e){Ne.scrollTop=Math.max(0,$e.offsetTop-Ne.clientHeight/2+$e.clientHeight/2);return}const Qe=Array.from(Ne.children).findIndex(st=>Number(st.textContent)===De);if(Qe>=0){const st=Ne.children[Qe];Ne.scrollTop=Math.max(0,st.offsetTop-Ne.clientHeight/2+st.clientHeight/2)}};ce(f.value,C.hour),ce(m.value,C.minute),b.value&&ce(h.value,C.second)},w=()=>{const ce=c.value,Ne=d.value;if(!ce||!Ne)return;const De=ce.getBoundingClientRect(),$e=Ne.getBoundingClientRect(),Qe=4,st=window.innerWidth,ht=window.innerHeight;let Ye=De.bottom+Qe,ct=De.left;Ye+$e.height>ht-4&&(Ye=De.top-$e.height-Qe),Ye<4&&(Ye=4),ct+$e.width>st-4&&(ct=st-$e.width-4),ct<4&&(ct=4),_.value={position:"fixed",top:`${Math.round(Ye)}px`,left:`${Math.round(ct)}px`,zIndex:3100}},R=async()=>{o.disabled||($(),p.value=!0,n("visible-change",!0),await e.nextTick(),w(),await z(),requestAnimationFrame(()=>w()))},j=()=>{p.value&&(p.value=!1,n("visible-change",!1))},J=()=>{o.disabled||(p.value?j():R())},q=(ce,Ne)=>{C[ce]=Ne},ae=ce=>{n("update:modelValue",ce),n("change",ce)},X=()=>{ae(B({...C})),j()},T=()=>{j()},fe=()=>{const ce=new Date;C.hour=ce.getHours(),C.minute=ce.getMinutes(),C.second=ce.getSeconds(),ae(B({...C})),j()},ge=()=>{ae(null),n("clear")},de=ce=>{var De,$e;if(!p.value)return;const Ne=ce.target;(De=c.value)!=null&&De.contains(Ne)||($e=d.value)!=null&&$e.contains(Ne)||j()},oe=()=>{p.value&&w()};return e.watch(p,ce=>{ce?(document.addEventListener("mousedown",de,!0),window.addEventListener("scroll",oe,!0),window.addEventListener("resize",oe)):(document.removeEventListener("mousedown",de,!0),window.removeEventListener("scroll",oe,!0),window.removeEventListener("resize",oe))}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",de,!0),window.removeEventListener("scroll",oe,!0),window.removeEventListener("resize",oe)}),(ce,Ne)=>{const De=_t;return e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:c,class:e.normalizeClass(["fou-time",[`fou-time--${e.unref(E)}`,e.unref(r).class,{"is-disabled":t.disabled,"is-focused":e.unref(p),"is-fit":t.fit}]]),style:e.normalizeStyle(e.unref(r).style)},[e.createElementVNode("div",{class:"fou-time__editor",tabindex:"0",onClick:J,onKeydown:e.withKeys(e.withModifiers(J,["prevent"]),["enter"])},[e.createElementVNode("span",{class:e.normalizeClass(["fou-time__value",{"is-placeholder":!e.unref(I)}])},e.toDisplayString(e.unref(I)||t.placeholder),3),t.clearable&&e.unref(V)&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-time__clear",tabindex:"-1",onMousedown:Ne[0]||(Ne[0]=e.withModifiers(()=>{},["prevent"])),onClick:e.withModifiers(ge,["stop"])}," × ",32)):e.createCommentVNode("",!0),e.createVNode(De,{icon:"time-line",class:"fou-time__icon"})],40,Mu),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-time-fade"},{default:e.withCtx(()=>[e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"panelRef",ref:d,class:"fou-time-panel",style:e.normalizeStyle(e.unref(_)),onMousedown:Ne[1]||(Ne[1]=e.withModifiers(()=>{},["prevent"]))},[e.createElementVNode("div",zu,[e.createElementVNode("div",Tu,[e.createElementVNode("ul",{ref_key:"hourListRef",ref:f,class:"fou-time-panel__list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),$e=>(e.openBlock(),e.createElementBlock("li",{key:`h-${$e}`,class:e.normalizeClass(["fou-time-panel__item",{"is-active":e.unref(C).hour===$e}]),onClick:Qe=>q("hour",$e)},e.toDisplayString(k($e)),11,Fu))),128))],512)]),e.createElementVNode("div",Iu,[e.createElementVNode("ul",{ref_key:"minuteListRef",ref:m,class:"fou-time-panel__list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(N),$e=>(e.openBlock(),e.createElementBlock("li",{key:`m-${$e}`,class:e.normalizeClass(["fou-time-panel__item",{"is-active":e.unref(C).minute===$e}]),onClick:Qe=>q("minute",$e)},e.toDisplayString(k($e)),11,Du))),128))],512)]),e.unref(b)?(e.openBlock(),e.createElementBlock("div",Ru,[e.createElementVNode("ul",{ref_key:"secondListRef",ref:h,class:"fou-time-panel__list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M),$e=>(e.openBlock(),e.createElementBlock("li",{key:`s-${$e}`,class:e.normalizeClass(["fou-time-panel__item",{"is-active":e.unref(C).second===$e}]),onClick:Qe=>q("second",$e)},e.toDisplayString(k($e)),11,Lu))),128))],512)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"fou-time-panel__footer"},[e.createElementVNode("button",{type:"button",class:"fou-time-panel__btn is-text",onClick:fe},"此刻"),e.createElementVNode("div",{class:"fou-time-panel__actions"},[e.createElementVNode("button",{type:"button",class:"fou-time-panel__btn",onClick:T},"取消"),e.createElementVNode("button",{type:"button",class:"fou-time-panel__btn is-primary",onClick:X}," 确定 ")])])],36)):e.createCommentVNode("",!0)]),_:1})]))],6)}}}),[["__scopeId","data-v-f746d9cb"]]),Pu=Object.freeze(Object.defineProperty({__proto__:null,default:Gr},Symbol.toStringTag,{value:"Module"})),Ou={class:"fou-tooltip__content"},mi=me(e.defineComponent({name:"FouTooltip",inheritAttrs:!1,__name:"index",props:{content:{default:""},placement:{default:"top"},showAfter:{default:0},hideAfter:{default:100}},setup(t){const a=e.useAttrs(),o=t,n=e.ref(null),r=e.ref(null),c=e.ref(!1),d=e.ref({});let f,m,h=!1;const p=()=>{const x=n.value,N=r.value;if(!x||!N)return;const M=x.getBoundingClientRect(),u=N.getBoundingClientRect(),B=8;let I=0,$=0;switch(o.placement){case"bottom":I=M.bottom+B,$=M.left+M.width/2-u.width/2;break;case"left":I=M.top+M.height/2-u.height/2,$=M.left-u.width-B;break;case"right":I=M.top+M.height/2-u.height/2,$=M.right+B;break;default:I=M.top-u.height-B,$=M.left+M.width/2-u.width/2}const z=window.innerWidth,w=window.innerHeight;$=Math.min(Math.max(4,$),z-u.width-4),I=Math.min(Math.max(4,I),w-u.height-4),d.value={position:"fixed",top:`${I}px`,left:`${$}px`,zIndex:"3000"}},_=()=>{f&&clearTimeout(f),m&&clearTimeout(m),f=void 0,m=void 0},C=async()=>{_(),f=setTimeout(async()=>{c.value=!0,await e.nextTick(),p()},o.showAfter)},E=()=>{_(),m=setTimeout(()=>{h||(c.value=!1)},o.hideAfter)},b=()=>{h=!1,C()},V=()=>E(),k=()=>{h=!0,_()},S=()=>{c.value&&p()};return e.watch(c,x=>{x?(window.addEventListener("scroll",S,!0),window.addEventListener("resize",S)):(window.removeEventListener("scroll",S,!0),window.removeEventListener("resize",S))}),e.onBeforeUnmount(()=>{_(),window.removeEventListener("scroll",S,!0),window.removeEventListener("resize",S)}),(x,N)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({class:"fou-tooltip-host"},e.unref(a)),[e.createElementVNode("span",{ref_key:"triggerRef",ref:n,class:"fou-tooltip__trigger",onMouseenter:b,onMouseleave:V},[e.renderSlot(x.$slots,"default",{},void 0,!0)],544),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-tooltip-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:r,class:e.normalizeClass(["fou-tooltip",[`fou-tooltip--${t.placement}`]]),style:e.normalizeStyle(e.unref(d)),role:"tooltip",onMouseenter:k,onMouseleave:V},[e.createElementVNode("div",Ou,[e.renderSlot(x.$slots,"content",{},()=>[e.createTextVNode(e.toDisplayString(t.content),1)],!0)]),N[0]||(N[0]=e.createElementVNode("span",{class:"fou-tooltip__arrow"},null,-1))],38),[[e.vShow,e.unref(c)]])]),_:3})]))],16))}}),[["__scopeId","data-v-b990a38a"]]),ju=Object.freeze(Object.defineProperty({__proto__:null,default:mi},Symbol.toStringTag,{value:"Module"})),fi=new Map,ui=new Map,pi=new Map,ha={add(t,a){fi.set(t,a)},get(t){return fi.get(t)},has(t){return fi.has(t)}},Qr={add(t,a){ui.set(t,a)},get(t){return ui.get(t)},has(t){return ui.has(t)}},Jr={add(t,a){pi.set(t,a)},get(t){return pi.get(t)},has(t){return pi.has(t)}};ha.add("money",({cellValue:t})=>{const a=Number(t);return Number.isNaN(a)?String(t??""):`¥ ${a.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}`}),ha.add("yesno",({cellValue:t})=>t?"是":"否");function Au(t){return t?t.isHover!==void 0?t.isHover!==!1:t.highlightHoverRow!==void 0?!!t.highlightHoverRow:!0:!0}function hi(t){return t?t.isCurrent!==void 0?t.isCurrent!==!1:t.highlightCurrentRow!==void 0?!!t.highlightCurrentRow:!0:!0}function gi(t){if(t.editRender)return typeof t.editRender=="string"?{name:t.editRender,props:t.editorProps,options:t.options}:{...t.editRender,props:{...t.editorProps||{},...t.editRender.props||{}},options:t.editRender.options||t.options};const a=t.editor||(t.type&&ec.has(t.type)?t.type:void 0);if(a)return{name:a,props:t.editorProps,options:t.options}}const Zr=Symbol("fouTableRegister"),ec=new Set(["switch","select","input","number","date","datetime","time","text"]),Uu=new Set(["selection","checkbox","index","seq","radio","expand"]);function Wu(t){const a=gi(t);if((a==null?void 0:a.enabled)!==!1&&a!=null&&a.name)return ec.has(a.name),a.name}function Yo(t){return t.prop||t.field}const tc=Symbol("FouDropdown"),Sl=me(e.defineComponent({name:"FouDropdown",__name:"index",props:{disabled:{type:Boolean,default:!1},placement:{default:"bottom-start"},popperClass:{default:""}},emits:["command","visibleChange"],setup(t,{expose:a,emit:o}){const n=t,r=o,c=e.ref(null),d=e.ref(null),f=e.ref(!1),m=e.ref({position:"fixed",top:"-9999px",left:"-9999px",zIndex:"3000"}),h=()=>{f.value&&(f.value=!1,r("visibleChange",!1))},p=async()=>{n.disabled||(f.value=!0,r("visibleChange",!0),await e.nextTick(),E(),requestAnimationFrame(()=>E()))},_=()=>{n.disabled||(f.value?h():p())},C=k=>{r("command",k),h()};e.provide(tc,{visible:f,close:h,emitCommand:C});const E=()=>{const k=c.value,S=d.value;if(!k||!S)return;const x=k.getBoundingClientRect(),N=S.getBoundingClientRect(),M=4,u=window.innerWidth,B=window.innerHeight,I=n.placement;let $=I.startsWith("top")?x.top-N.height-M:x.bottom+M,z=x.left;I.endsWith("end")?z=x.right-N.width:(I==="bottom"||I==="top")&&(z=x.left+(x.width-N.width)/2),z+N.width>u-4&&(z=u-N.width-4),z<4&&(z=4),$+N.height>B-4&&($=x.top-N.height-M),$<4&&($=4),m.value={position:"fixed",top:`${Math.round($)}px`,left:`${Math.round(z)}px`,zIndex:"3000"}},b=k=>{var x,N;if(!f.value)return;const S=k.target;(x=c.value)!=null&&x.contains(S)||(N=d.value)!=null&&N.contains(S)||h()},V=()=>{f.value&&E()};return e.watch(f,k=>{k?(document.addEventListener("click",b,!0),window.addEventListener("scroll",V,!0),window.addEventListener("resize",V)):(document.removeEventListener("click",b,!0),window.removeEventListener("scroll",V,!0),window.removeEventListener("resize",V))}),e.onBeforeUnmount(()=>{document.removeEventListener("click",b,!0),window.removeEventListener("scroll",V,!0),window.removeEventListener("resize",V)}),a({open:p,close:h,toggle:_}),(k,S)=>(e.openBlock(),e.createElementBlock("span",{ref_key:"triggerRef",ref:c,class:"fou-dropdown"},[e.createElementVNode("span",{class:"fou-dropdown__trigger",onClick:e.withModifiers(_,["stop"])},[e.renderSlot(k.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-dropdown-fade"},{default:e.withCtx(()=>[e.unref(f)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuHostRef",ref:d,class:e.normalizeClass(["fou-dropdown__popper",t.popperClass]),style:e.normalizeStyle(e.unref(m)),onClick:S[0]||(S[0]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(k.$slots,"dropdown",{},void 0,!0)],6)):e.createCommentVNode("",!0)]),_:3})]))],512))}}),[["__scopeId","data-v-0b4a3c49"]]),Hu=Object.freeze(Object.defineProperty({__proto__:null,default:Sl},Symbol.toStringTag,{value:"Module"})),qu={class:"fou-dropdown-menu",role:"menu"},vn=me(e.defineComponent({name:"FouDropdownMenu",__name:"FouDropdownMenu",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("ul",qu,[e.renderSlot(a.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-2e807149"]]),Yu=Object.freeze(Object.defineProperty({__proto__:null,default:vn},Symbol.toStringTag,{value:"Module"})),Ko=me(e.defineComponent({name:"FouDropdownItem",__name:"FouDropdownItem",props:{command:{default:""},disabled:{type:Boolean,default:!1},divided:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,r=e.inject(tc,null),c=d=>{o.disabled||(n("click",d),r==null||r.emitCommand(o.command))};return(d,f)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["fou-dropdown-item",{"is-disabled":t.disabled,"is-divided":t.divided}]),role:"menuitem",onClick:c},[e.renderSlot(d.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-5194d55a"]]),Ku=Object.freeze(Object.defineProperty({__proto__:null,default:Ko},Symbol.toStringTag,{value:"Module"}));function Xo(t,a=0){if(t==null||t==="")return 0;if(typeof t=="number")return Number.isFinite(t)?t:0;const o=String(t).trim();if(!o||o==="auto")return 0;if(o.endsWith("%")){const n=parseFloat(o);return!Number.isFinite(n)||a<=0?0:a*n/100}return parseFloat(o)||0}function Gn(t,a=0,o){const n=(o==null?void 0:o.minWidth)??80,r=(o==null?void 0:o.maxWidth)??Number.POSITIVE_INFINITY,c=Xo(t.width,a),d=Math.max(Xo(t.minWidth,a)||(c?0:n),48),f=Xo(t.maxWidth,a),m=f>0?f:r;return{fixedWidth:c,minWidth:c?Math.min(d||c,c)||48:d,maxWidth:Math.max(m,d||48),isFlex:c<=0}}function Xu(t,a){const{containerWidth:o,showSelection:n,showIndex:r,showRadio:c,showExpand:d,fit:f=!0,resized:m={},defaults:h}=a;let p=0;d&&(p+=48),c&&(p+=48),n&&(p+=48),r&&(p+=55);const _={},C=[];let E=0;for(const b of t){const V=m[b._key];if(V!=null&&V>0){_[b._key]=V,E+=V;continue}const k=Gn(b,o,h);if(k.isFlex)C.push(b._key),_[b._key]=k.minWidth,E+=k.minWidth;else{const S=Math.min(Math.max(k.fixedWidth,k.minWidth),k.maxWidth);_[b._key]=S,E+=S}}if(f&&C.length&&o>0){let b=o-p-E;if(b>0){const V=C.map(x=>{const N=t.find(M=>M._key===x);return Gn(N,o,h).minWidth}),k=V.reduce((x,N)=>x+N,0)||C.length;let S=0;C.forEach((x,N)=>{const M=t.find($=>$._key===x),u=Gn(M,o,h),B=N===C.length-1?b-S:Math.floor(b*V[N]/k);S+=B;const I=Math.min(Math.max(u.minWidth+B,u.minWidth),u.maxWidth);_[x]=I})}}return _}function vu(t,a,o,n){let r=0;a.showExpand&&(r+=48),a.showRadio&&(r+=48),a.showSelection&&(r+=48),a.showIndex&&(r+=55);for(const c of t){const d=o==null?void 0:o(c);if(d!=null&&d>0){r+=d;continue}const f=Gn(c,0,n);r+=f.isFlex?f.minWidth:f.fixedWidth||f.minWidth||100}return r}function oc(t,a,o,n){let r=0;o.showExpand&&(r+=48),o.showRadio&&(r+=48),o.showSelection&&(r+=48),o.showIndex&&(r+=55);for(const c of t){if(c._key===a)break;(c.fixed==="left"||c.fixed===!0)&&(r+=(n==null?void 0:n(c))||Xo(c.width)||Xo(c.minWidth)||120)}return r}function nc(t,a,o){let n=0;for(let r=t.length-1;r>=0;r--){const c=t[r];if(c._key===a)break;c.fixed==="right"&&(n+=(o==null?void 0:o(c))||Xo(c.width)||Xo(c.minWidth)||120)}return n}function Gu(t,a){const o=t.filter(n=>n.fixed==="left"||n.fixed===!0);return o.length>0&&o[o.length-1]._key===a}function Qu(t,a){const o=t.filter(n=>n.fixed==="right");return o.length>0&&o[0]._key===a}function _i(t,a,o=""){const n=t.prop||t.field||t.slot||t.type||"col";return o?`${o}.${n}#${a}`:`${n}#${a}`}function lc(t,a=""){const o=[];return t.forEach((n,r)=>{var d;const c=_i(n,r,a);if((d=n.children)!=null&&d.length){o.push(...lc(n.children,c));return}n.type&&Uu.has(n.type)&&!n.prop&&!n.field&&n.editor,o.push({...n,_key:c})}),o}function ac(t){var a;return(a=t.children)!=null&&a.length?1+Math.max(...t.children.map(ac)):1}function ic(t){var a;return(a=t.children)!=null&&a.length?t.children.reduce((o,n)=>o+ic(n),0):1}function rc(t,a=""){if(!t.length)return[[]];const o=Math.max(...t.map(ac),1),n=Array.from({length:o},()=>[]),r=(c,d,f,m)=>{let h=f;return c.forEach((p,_)=>{var k;const C=_i(p,_,m),E=ic(p),b=!((k=p.children)!=null&&k.length),V=b?o-d:1;n[d].push({column:{...p,_key:C},label:p.label||p.title||"",colspan:E,rowspan:V,isLeaf:b,colIndex:h}),!b&&p.children&&r(p.children,d+1,h,C),h+=E}),h};return r(t,0,0,a),n}function Ju(t){const a=e.ref(null),o=e.ref(null),n=()=>t.getColumns().map(b=>Yo(b)).filter(Boolean),r=(b,V)=>{const k=t.getRows(),S=n(),x=k.findIndex(M=>t.getRowId(M)===b),N=S.indexOf(V);return x<0||N<0?null:{rowId:b,prop:V,rowIndex:x,colIndex:N}},c=(b,V,k=!1)=>{const S=Yo(V);if(!S)return;const x=r(t.getRowId(b),S);x&&(k&&a.value?o.value=x:(a.value=x,o.value=null))},d=()=>{a.value=null,o.value=null},f=e.computed(()=>{const b=a.value;if(!b)return null;const V=o.value||b;return{r0:Math.min(b.rowIndex,V.rowIndex),r1:Math.max(b.rowIndex,V.rowIndex),c0:Math.min(b.colIndex,V.colIndex),c1:Math.max(b.colIndex,V.colIndex)}});return{activeCell:a,areaEnd:o,areaBounds:f,setActive:c,clearArea:d,isCellInArea:(b,V)=>{const k=f.value;if(!k){const u=a.value;return u?t.getRowId(b)===u.rowId&&Yo(V)===u.prop:!1}const S=t.getRows(),x=n(),N=S.findIndex(u=>t.getRowId(u)===t.getRowId(b)),M=x.indexOf(Yo(V)||"");return N<0||M<0?!1:N>=k.r0&&N<=k.r1&&M>=k.c0&&M<=k.c1},isActiveCell:(b,V)=>{const k=a.value;return k?t.getRowId(b)===k.rowId&&Yo(V)===k.prop:!1},moveActive:(b,V,k=!1)=>{const S=t.getRows(),x=n();if(!S.length||!x.length)return null;const N=(k?o.value:null)||a.value;let M=(N==null?void 0:N.rowIndex)??0,u=(N==null?void 0:N.colIndex)??0;N?(M=Math.max(0,Math.min(S.length-1,M+b)),u=Math.max(0,Math.min(x.length-1,u+V))):(M=b<0?S.length-1:0,u=V<0?x.length-1:0);const B=S[M],I=x[u],$={rowId:t.getRowId(B),prop:I,rowIndex:M,colIndex:u};return k&&a.value?o.value=$:(a.value=$,o.value=null),{row:B,prop:I,pos:$}},buildTsv:b=>{const V=f.value,k=t.getRows(),S=n();if(!V){const N=a.value;return N?b(k[N.rowIndex],N.prop):""}const x=[];for(let N=V.r0;N<=V.r1;N++){const M=[];for(let u=V.c0;u<=V.c1;u++){const B=b(k[N],S[u]);M.push(String(B??"").replace(/\t/g," ").replace(/\r?\n/g," "))}x.push(M.join(" "))}return x.join(`
|
|
1
|
+
(function(Ie,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@iconify/vue"),require("@vueuse/core"),require("sortablejs"),require("lunar-javascript"),require("vue-router"),require("html2canvas"),require("jspdf"),require("pinia"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","@iconify/vue","@vueuse/core","sortablejs","lunar-javascript","vue-router","html2canvas","jspdf","pinia","lodash-es"],e):(Ie=typeof globalThis<"u"?globalThis:Ie||self,e(Ie.Foucui={},Ie.Vue,Ie.IconifyVue,Ie.VueUse,Ie.Sortable,Ie.lunarJavascript,Ie.VueRouter,Ie.html2canvas,Ie.jspdf,Ie.Pinia,Ie.lodashEs))})(this,(function(Ie,e,xr,oa,Vr,ld,No,Cr,Nr,ad,ti){"use strict";const Br=Object.freeze(Object.defineProperty({__proto__:null,get default(){return cw}},Symbol.toStringTag,{value:"Module"})),id=e.defineComponent({name:"FouAffix",__name:"index",props:{offset:{default:0},position:{default:"top"},zIndex:{default:100},target:{default:""}},emits:["change","scroll"],setup(t,{expose:a,emit:o}){const n=t,r=o,c=e.ref(null),d=e.ref(null),f=e.ref(!1),m=e.ref(0),h=e.computed(()=>!!n.target),p=()=>n.target&&document.querySelector(n.target)||window,_=()=>{if(h.value)return;const S=c.value,x=d.value;if(!S||!x)return;const N=p(),M=S.getBoundingClientRect();m.value=x.offsetHeight;let u=!1;if(n.position==="top")if(N===window)u=M.top<=n.offset;else{const I=N.getBoundingClientRect().top;u=M.top<=I+n.offset}else if(N===window)u=M.bottom>=window.innerHeight-n.offset;else{const I=N.getBoundingClientRect().bottom;u=M.bottom>=I-n.offset}u!==f.value&&(f.value=u,r("change",u));const B=N===window?window.scrollY||document.documentElement.scrollTop:N.scrollTop;r("scroll",{scrollTop:B,fixed:f.value})},C=e.computed(()=>{var N;if(h.value)return{position:"sticky",zIndex:String(n.zIndex),...n.position==="top"?{top:`${n.offset}px`}:{bottom:`${n.offset}px`}};if(!f.value)return;const S=p(),x={position:"fixed",zIndex:String(n.zIndex),width:`${((N=c.value)==null?void 0:N.offsetWidth)??0}px`};if(n.position==="top"){const M=S===window?n.offset:S.getBoundingClientRect().top+n.offset;x.top=`${M}px`}else{const M=S===window?n.offset:window.innerHeight-S.getBoundingClientRect().bottom+n.offset;x.bottom=`${M}px`}if(S!==window){const M=S.getBoundingClientRect();x.left=`${M.left}px`,x.width=`${M.width}px`}else c.value&&(x.left=`${c.value.getBoundingClientRect().left}px`);return x});let E=window;const b=()=>_(),V=()=>_(),k=()=>{E.removeEventListener("scroll",b),window.removeEventListener("resize",V),!h.value&&(E=p(),E.addEventListener("scroll",b,{passive:!0}),window.addEventListener("resize",V,{passive:!0}),_())};return e.onMounted(()=>{e.nextTick(k)}),e.onBeforeUnmount(()=>{E.removeEventListener("scroll",b),window.removeEventListener("resize",V)}),e.watch(()=>[n.target,n.offset,n.position],()=>e.nextTick(k)),a({update:_}),(S,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:c,class:"fou-affix"},[e.unref(f)&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fou-affix__placeholder",style:e.normalizeStyle({height:`${e.unref(m)}px`})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"affixRef",ref:d,class:e.normalizeClass(["fou-affix__content",{"is-fixed":e.unref(f)&&!e.unref(h),"is-sticky":e.unref(h)}]),style:e.normalizeStyle(e.unref(C))},[e.renderSlot(S.$slots,"default",{},void 0,!0)],6)],512))}}),me=(t,a)=>{const o=t.__vccOpts||t;for(const[n,r]of a)o[n]=r;return o},rd=Object.freeze(Object.defineProperty({__proto__:null,default:me(id,[["__scopeId","data-v-08d0ce0b"]])},Symbol.toStringTag,{value:"Module"})),cd=["viewBox"],sd=["href","xlink:href"],_t=me(e.defineComponent({name:"FouIcon",__name:"index",props:{icon:{default:""},isCustomSvg:{type:Boolean,default:!1},keepColor:{type:Boolean,default:!1},viewBox:{default:""}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,r=e.computed(()=>String(o.icon||"").trim()),c=e.computed(()=>{const p=r.value;return!!p&&p.includes(":")&&!p.startsWith("http")&&!o.isCustomSvg}),d=e.computed(()=>r.value),f=e.computed(()=>{const p=r.value;return p?p.startsWith("ri-")?p:`ri-${p}`:""}),m=e.computed(()=>`#fou-icon-${r.value}`),h=p=>n("click",p);return(p,_)=>e.unref(c)?(e.openBlock(),e.createElementBlock("span",{key:0,"aria-hidden":"true",class:"fou-icon fou-icon--iconify",onClick:h},[e.createVNode(e.unref(xr.Icon),{icon:e.unref(d),width:"1em",height:"1em"},null,8,["icon"])])):t.isCustomSvg?(e.openBlock(),e.createElementBlock("svg",{key:1,"aria-hidden":"true",class:e.normalizeClass(["fou-icon fou-icon--svg",{"is-keep-color":t.keepColor}]),viewBox:t.viewBox||void 0,onClick:h},[e.createElementVNode("use",{href:e.unref(m),"xlink:href":e.unref(m)},null,8,sd)],10,cd)):(e.openBlock(),e.createElementBlock("i",{key:2,"aria-hidden":"true",class:e.normalizeClass(["fou-icon",e.unref(f)]),onClick:h},null,2))}}),[["__scopeId","data-v-ff4c2dd9"]]),dd=Object.freeze(Object.defineProperty({__proto__:null,default:_t},Symbol.toStringTag,{value:"Module"})),md={class:"fou-alert__content"},fd={key:0,class:"fou-alert__title"},ud={key:1,class:"fou-alert__description"},pd=["aria-label"],hd={key:0},gd=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouAlert",__name:"index",props:{title:{type:String,default:""},description:{type:String,default:""},type:{type:String,default:"info"},closable:{type:Boolean,default:!1},closeText:{type:String,default:""},showIcon:{type:Boolean,default:!1},center:{type:Boolean,default:!1},effect:{type:String,default:"light"}},emits:["close"],setup(t,{emit:a}){const o=t,n=a,r=e.ref(!0),c=e.computed(()=>o.type==="danger"?"error":o.type),d=e.computed(()=>{const m={success:"checkbox-circle-line",warning:"error-warning-line",info:"information-line",error:"close-circle-line"};return m[c.value]||m.info}),f=()=>{r.value=!1,n("close")};return(m,h)=>{const p=_t;return e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["fou-alert",[`fou-alert--${e.unref(c)}`,`fou-alert--${t.effect}`,{"is-center":t.center}]],role:"alert"},m.$attrs),[t.showIcon?(e.openBlock(),e.createBlock(p,{key:0,class:"fou-alert__icon",icon:e.unref(d)},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("div",md,[t.title||m.$slots.title?(e.openBlock(),e.createElementBlock("div",fd,[e.renderSlot(m.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)])):e.createCommentVNode("",!0),m.$slots.default||t.description?(e.openBlock(),e.createElementBlock("div",ud,[e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)],!0)])):e.createCommentVNode("",!0)]),t.closable?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"fou-alert__close","aria-label":t.closeText||"Close",onClick:f},[t.closeText?(e.openBlock(),e.createElementBlock("span",hd,e.toDisplayString(t.closeText),1)):(e.openBlock(),e.createBlock(p,{key:1,icon:"close-line"}))],8,pd)):e.createCommentVNode("",!0)],16)),[[e.vShow,e.unref(r)]])}}}),[["__scopeId","data-v-22334a45"]])},Symbol.toStringTag,{value:"Module"})),$r=Symbol("FouAnchor"),_d={class:"fou-anchor"},bd=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouAnchor",__name:"index",props:{offset:{default:0},bound:{default:""}},setup(t){const a=t,o=e.ref([]),n=e.ref(""),r=k=>{const S=window.getComputedStyle(k);return/(auto|scroll)/.test(S.overflow+S.overflowY+S.overflowX)},c=k=>{let S=k.parentElement;for(;S;){if(r(S))return S;S=S.parentElement}return window},d=k=>{if(a.bound){const S=document.querySelector(a.bound);if(S)return S}return k?c(k):window},f=k=>k===window?window.scrollY||document.documentElement.scrollTop:k.scrollTop,m=k=>{const S=k.replace(/^#/,""),x=document.getElementById(S)||document.querySelector(k);if(!x){console.warn(`[FouAnchor] 未找到目标锚点: ${k}`);return}const N=d(x);if(N===window){const M=x.getBoundingClientRect().top+f(window)-a.offset;window.scrollTo({top:M,behavior:"smooth"})}else{const M=N,u=M.getBoundingClientRect(),I=x.getBoundingClientRect().top-u.top+M.scrollTop-a.offset;M.scrollTo({top:I,behavior:"smooth"})}n.value=k;try{k.startsWith("#")&&history.replaceState(null,"",k)}catch{}},h=k=>{const S=o.value.findIndex(x=>x.href===k.href);S>=0?o.value[S]=k:o.value.push(k),o.value.sort((x,N)=>{const M=document.querySelector(x.href),u=document.querySelector(N.href);return!M||!u?0:M.getBoundingClientRect().top-u.getBoundingClientRect().top})},p=k=>{o.value=o.value.filter(S=>S.href!==k)},_=()=>{if(a.bound)return document.querySelector(a.bound)||window;for(const k of o.value){const S=document.querySelector(k.href);if(S)return c(S)}return window},C=()=>{const k=_(),S=f(k),x=k===window?0:k.getBoundingClientRect().top;let N="";for(const M of o.value){const u=M.href.replace(/^#/,""),B=document.getElementById(u);if(!B)continue;(k===window?B.getBoundingClientRect().top+S:B.getBoundingClientRect().top-x+S)-a.offset<=S+1&&(N=M.href)}N&&(n.value=N)};e.provide($r,{offset:e.toRef(a,"offset"),bound:e.toRef(a,"bound"),activeLink:n,registerLink:h,unregisterLink:p,scrollToLink:m});let E=window;const b=()=>C(),V=()=>{const k=_();k!==E&&(E.removeEventListener("scroll",b),E=k,E.addEventListener("scroll",b,{passive:!0}))};return e.onMounted(()=>{E=_(),E.addEventListener("scroll",b,{passive:!0}),C()}),e.onBeforeUnmount(()=>{E.removeEventListener("scroll",b)}),e.watch(()=>a.bound,()=>{V(),C()}),e.watch(()=>o.value.map(k=>k.href).join(","),()=>{V(),C()},{flush:"post"}),(k,S)=>(e.openBlock(),e.createElementBlock("div",_d,[e.renderSlot(k.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-5daecce1"]])},Symbol.toStringTag,{value:"Module"})),yd=["href"],Er=me(e.defineComponent({name:"FouAnchorLink",__name:"index",props:{href:{},title:{default:""}},setup(t){const a=t,o=e.inject($r,null),n=e.ref(null),r=e.computed(()=>(o==null?void 0:o.activeLink.value)===a.href),c=()=>{o==null||o.scrollToLink(a.href)};return e.onMounted(()=>{o==null||o.registerLink({href:a.href,title:a.title,el:n.value})}),e.onBeforeUnmount(()=>{o==null||o.unregisterLink(a.href)}),(d,f)=>(e.openBlock(),e.createElementBlock("a",{class:e.normalizeClass(["fou-anchor-link",{"is-active":e.unref(r)}]),href:t.href,onClick:e.withModifiers(c,["prevent"])},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)],10,yd))}}),[["__scopeId","data-v-5eecf4d6"]]),kd=Object.freeze(Object.defineProperty({__proto__:null,default:Er},Symbol.toStringTag,{value:"Module"})),wd=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({name:"FouApp",__name:"index",setup(t){return(a,o)=>{const n=e.resolveComponent("router-view");return e.openBlock(),e.createBlock(n)}}})},Symbol.toStringTag,{value:"Module"})),xd=["autofocus","disabled","placeholder","readonly","required","type","value","onKeydown"],Vd={class:"fou-autocomplete-suffix"},Cd={key:0,class:"fou-autocomplete-list"},Nd=["title","onClick","onMouseenter"],Bd={class:"fou-ellipsis"},$d={key:0,class:"fou-autocomplete-empty"},Ed=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouAutocomplete",__name:"index",props:{value:{default:""},modelValue:{type:[String,Boolean],default:""},placeholder:{default:""},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},type:{default:"text"},maxlength:{default:0},minlength:{default:1},width:{default:"100%"},height:{default:"32px"},list:{default:()=>[]},searchekey:{default:()=>["value"]},showkey:{default:()=>["value"]},showline:{default:" - "},valueKey:{default:"value"}},emits:["update:modelValue","change","itemclick"],setup(t,{emit:a}){const o=t,n=a,r=e.ref(!1),c=e.ref(!1),d=e.ref(null),f=e.ref([...o.list]),m=e.ref(-1),h=e.computed(()=>o.modelValue!==""&&o.modelValue!==void 0&&o.modelValue!==null?String(o.modelValue):o.value||""),p=e.computed(()=>h.value.length>0);e.watch(()=>o.list,u=>{f.value=[...u]},{deep:!0});const _=u=>o.showkey.map(B=>Reflect.has(u,B)?String(u[B]??""):"").filter(Boolean).join(o.showline),C=(u,B,I)=>{const $=[];if(!Array.isArray(u)||typeof B!="string")return f.value=$,$;const z=Array.isArray(I)?I:["value"],w=B.toLowerCase();for(const R of u)for(const j of z)if(Reflect.has(R,j)&&String(R[j]).toLowerCase().includes(w)){$.push(R);break}return f.value=$,m.value=$.length?0:-1,$},E=u=>{const B=u.target;e.nextTick(()=>{d.value&&(B.value.length>0?(r.value=!0,C(o.list,B.value,o.searchekey)):(r.value=!1,f.value=[...o.list]))}),n("update:modelValue",B.value),n("change",B.value)},b=u=>{const B=String(u[o.valueKey]??u.value??"");d.value&&(d.value.value=B),n("change",B),n("update:modelValue",B),n("itemclick",u),r.value=!1},V=()=>{var u,B;if(!(o.disabled||o.readonly)&&(r.value=!r.value,r.value)){(u=d.value)==null||u.focus();const I=((B=d.value)==null?void 0:B.value)||"";I?C(o.list,I,o.searchekey):f.value=[...o.list]}},k=()=>{var u;if(c.value=!0,!o.disabled&&!o.readonly){r.value=!0;const B=((u=d.value)==null?void 0:u.value)||"";B?C(o.list,B,o.searchekey):f.value=[...o.list]}},S=()=>{var u;d.value&&(d.value.value=""),r.value=!1,f.value=[...o.list],n("change",""),n("update:modelValue",""),(u=d.value)==null||u.focus()},x=u=>{if(!r.value||!f.value.length)return;const B=f.value.length;m.value=(m.value+u+B)%B},N=()=>{m.value>=0&&f.value[m.value]&&b(f.value[m.value])},M=u=>{var $,z,w;const B=(z=($=u.target)==null?void 0:$.closest)==null?void 0:z.call($,".fou-autocomplete"),I=(w=d.value)==null?void 0:w.closest(".fou-autocomplete");I&&B!==I&&(r.value=!1)};return e.onMounted(()=>document.addEventListener("mousedown",M)),e.onUnmounted(()=>document.removeEventListener("mousedown",M)),(u,B)=>{const I=_t;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-autocomplete",{"is-disabled":o.disabled,"is-focused":e.unref(c),"is-clearable":o.clearable,"has-value":e.unref(p)}]),style:e.normalizeStyle({width:o.width})},[e.createElementVNode("input",{ref_key:"inputRef",ref:d,autofocus:o.autofocus,class:"fou-autocomplete-input",disabled:o.disabled,placeholder:o.placeholder,readonly:o.readonly,required:o.required,style:e.normalizeStyle({height:o.height}),type:o.type,value:e.unref(h),onChange:E,onInput:E,onFocus:k,onBlur:B[0]||(B[0]=$=>c.value=!1),onKeydown:[B[1]||(B[1]=e.withKeys(e.withModifiers($=>x(1),["prevent"]),["down"])),B[2]||(B[2]=e.withKeys(e.withModifiers($=>x(-1),["prevent"]),["up"])),e.withKeys(e.withModifiers(N,["prevent"]),["enter"]),B[3]||(B[3]=e.withKeys($=>r.value=!1,["esc"]))]},null,44,xd),e.createElementVNode("div",Vd,[e.withDirectives(e.createElementVNode("button",{type:"button",class:"fou-autocomplete-clear",tabindex:"-1",title:"清空",onMousedown:B[4]||(B[4]=e.withModifiers(()=>{},["prevent"])),onClick:S},[e.createVNode(I,{icon:"close-circle-fill"})],544),[[e.vShow,o.clearable&&e.unref(p)]]),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["fou-autocomplete-caret",{"is-open":e.unref(r)}]),tabindex:"-1",onMousedown:B[5]||(B[5]=e.withModifiers(()=>{},["prevent"])),onClick:V},[e.createVNode(I,{icon:"arrow-down-s-line"})],34)]),e.unref(r)?(e.openBlock(),e.createElementBlock("div",Cd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),($,z)=>(e.openBlock(),e.createElementBlock("div",{key:z,class:e.normalizeClass(["fou-autocomplete-list-item",{"is-active":z===e.unref(m)}]),title:_($),onMousedown:B[6]||(B[6]=e.withModifiers(()=>{},["prevent"])),onClick:w=>b($),onMouseenter:w=>m.value=z},[e.createElementVNode("span",Bd,e.toDisplayString(_($)),1)],42,Nd))),128)),e.unref(f).length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",$d,"无匹配数据"))])):e.createCommentVNode("",!0)],6)}}}),[["__scopeId","data-v-711ae32a"]])},Symbol.toStringTag,{value:"Module"})),Sd=["src","alt"],Md={key:1,class:"fou-avatar__slot"},zd={key:2,class:"fou-avatar__text"},Td=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouAvatar",__name:"index",props:{src:{},alt:{default:""},size:{default:"default"},shape:{default:"circle"},fit:{default:"cover"},text:{default:""},icon:{}},emits:["error"],setup(t,{emit:a}){const o=t,n=a,r=e.ref(!1);e.watch(()=>o.src,()=>{r.value=!1});const c=e.computed(()=>typeof o.size=="number"?"custom":o.size),d=e.computed(()=>{if(typeof o.size!="number")return;const h=`${o.size}px`;return{width:h,height:h,fontSize:`${Math.max(12,o.size*.4)}px`}}),f=e.computed(()=>o.text?o.text.slice(0,2):"?"),m=h=>{r.value=!0,n("error",h)};return(h,p)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["fou-avatar",[`fou-avatar--${t.shape}`,`fou-avatar--${e.unref(c)}`,{"is-image":!!t.src&&!e.unref(r)}]]),style:e.normalizeStyle(e.unref(d))},[t.src&&!e.unref(r)?(e.openBlock(),e.createElementBlock("img",{key:0,class:"fou-avatar__img",src:t.src,alt:t.alt,style:e.normalizeStyle({objectFit:t.fit}),onError:m},null,44,Sd)):h.$slots.default?(e.openBlock(),e.createElementBlock("span",Md,[e.renderSlot(h.$slots,"default",{},void 0,!0)])):(e.openBlock(),e.createElementBlock("span",zd,e.toDisplayString(e.unref(f)),1))],6))}}),[["__scopeId","data-v-616a21f8"]])},Symbol.toStringTag,{value:"Module"})),Fd=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({name:"FouBacktop",__name:"index",props:{scrollVisibilityHeight:{default:200},right:{default:40},bottom:{default:40},zIndex:{default:100},target:{default:""}},setup(t){const a=t,o=e.ref(!1),n=()=>a.target&&document.querySelector(a.target)||window,r=h=>h===window?window.scrollY||document.documentElement.scrollTop:h.scrollTop,c=e.computed(()=>({right:`${a.right}px`,bottom:`${a.bottom}px`,zIndex:String(a.zIndex)})),d=()=>{const h=n();o.value=r(h)>=a.scrollVisibilityHeight},f=()=>{const h=n();h===window?window.scrollTo({top:0,behavior:"smooth"}):h.scrollTo({top:0,behavior:"smooth"})};let m=window;return e.onMounted(()=>{m=n(),m.addEventListener("scroll",d,{passive:!0}),d()}),e.onBeforeUnmount(()=>{m.removeEventListener("scroll",d)}),(h,p)=>{const _=_t;return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-backtop-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("button",{type:"button",class:"fou-backtop",style:e.normalizeStyle(e.unref(c)),"aria-label":"回到顶部",onClick:f},[e.renderSlot(h.$slots,"default",{},()=>[e.createVNode(_,{icon:"arrow-up-line"})],!0)],4),[[e.vShow,e.unref(o)]])]),_:3})])}}}),[["__scopeId","data-v-7082d43e"]])},Symbol.toStringTag,{value:"Module"}));let Id=t=>t;const Ge=(t,...a)=>Id(t,...a);let wl=0,oi="";function Sr(){return{lock:()=>{wl===0&&(oi=document.body.style.overflow,document.body.style.overflow="hidden"),wl+=1},unlock:()=>{wl!==0&&(wl-=1,wl===0&&(document.body.style.overflow=oi,oi=""))}}}const Dd={class:"fou-dialog__title"},Rd=["title"],Ld=["title"],Pd=["title"],Od={key:0,class:"fou-dialog__loading"},jd={key:0,class:"fou-dialog__loading-text"},Ad={key:0,class:"fou-dialog__footer"},Ud=["onMousedown"],_o=me(e.defineComponent({name:"FouDialog",inheritAttrs:!1,__name:"index",props:{modelValue:{type:Boolean,default:!1},title:{default:""},width:{default:"520px"},top:{default:"15vh"},alignCenter:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modalClass:{default:""},appendToBody:{type:Boolean,default:!0},appendTo:{},lockScroll:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!1},closeOnPressEscape:{type:Boolean,default:!1},destroyOnClose:{type:Boolean,default:!1},beforeClose:{},showFullscreen:{type:Boolean,default:!0},showMinimize:{type:Boolean,default:!0},maximizable:{type:Boolean,default:void 0},minimizable:{type:Boolean,default:void 0},showClose:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingText:{},animated:{type:Boolean,default:!0},theme:{default:"default"},draggable:{type:Boolean,default:!0},dragBound:{type:[Boolean,String],default:"viewport"},resizable:{type:Boolean,default:!0},openInTab:{type:Boolean,default:!1},minWidth:{default:320},minHeight:{default:180},zIndex:{default:2e3}},emits:["update:modelValue","open","opened","close","closed","minimize","maximize","restore"],setup(t,{emit:a}){const o=t,n=a,r=e.useAttrs(),c=e.computed(()=>{const{class:H,style:U,...Be}=r;return Be}),d=oa.useVModel(o,"modelValue",n),f=e.ref(null),m=e.ref(!1),h=e.ref(!1),p=e.ref(null),_=e.ref(null),C=e.ref(!1),E=e.ref(!1),b=e.ref(!1),V=e.ref(0),k=e.ref(!0),S=["n","s","e","w","ne","nw","se","sw"],x=e.computed(()=>typeof o.appendTo=="string"||o.appendTo instanceof HTMLElement?o.appendTo:"body"),N=e.computed(()=>o.appendToBody!==!1),M=e.computed(()=>o.maximizable??o.showFullscreen),u=e.computed(()=>o.minimizable??o.showMinimize),B=e.computed(()=>o.draggable&&!m.value&&!h.value),I=e.computed(()=>!!p.value),$=e.computed(()=>{const H=o.dragBound;return H===!0||H==="viewport"||H===void 0}),z=e.computed(()=>({"is-open-in-tab":o.openInTab,"is-minimized-root":h.value})),w=e.computed(()=>({[`fou-dialog--${o.theme}`]:!0,"fou-dialog--minimized":h.value,"fou-dialog--fullscreen":m.value,"fou-dialog--centered":!I.value&&!m.value&&!h.value&&o.alignCenter,"fou-dialog--topped":!I.value&&!m.value&&!h.value&&!o.alignCenter,"fou-dialog--fixed-box":I.value&&!m.value&&!h.value,"fou-dialog--unbounded":!$.value&&I.value&&!m.value&&!h.value,"fou-dialog--dragging":C.value,"fou-dialog--resizing":E.value,"fou-dialog--animated":o.animated&&!C.value&&!E.value&&!b.value})),R=e.computed(()=>{const H={zIndex:String(o.zIndex+V.value+(h.value?100:0))};return h.value?(Object.assign(H,{left:"16px",bottom:"16px",top:"auto",width:"240px",height:"48px",transform:"none"}),H):m.value?(Object.assign(H,{left:"0",top:"0",width:"100vw",height:"100vh",transform:"none",borderRadius:"0"}),H):p.value?(Object.assign(H,{left:`${p.value.left}px`,top:`${p.value.top}px`,width:`${p.value.width}px`,height:`${p.value.height}px`,transform:"none"}),H):(H.width=typeof o.width=="number"?`${o.width}px`:String(o.width||"520px"),o.alignCenter||(H.top=o.top||"15vh",H.left="50%",H.transform="translateX(-50%)"),H)}),j=(H,U="resize")=>{const Be=window.innerWidth,ze=window.innerHeight,v=Math.max(o.minWidth,H.width),Q=Math.max(o.minHeight,H.height);if(!$.value)return{left:H.left,top:H.top,width:U==="resize"?v:Math.max(o.minWidth,H.width),height:U==="resize"?Q:Math.max(o.minHeight,H.height)};const le=Math.max(o.minWidth,Be-8),ke=Math.max(o.minHeight,ze-8),Pe=Math.min(v,le),We=Math.min(Q,ke),Bt=Math.min(Math.max(0,H.left),Math.max(0,Be-Pe)),wt=Math.min(Math.max(0,H.top),Math.max(0,ze-We));return{left:Bt,top:wt,width:Pe,height:We}},J=()=>{const H=f.value;if(!H)return null;const U=H.getBoundingClientRect(),Be=j({left:U.left,top:U.top,width:U.width,height:Math.max(U.height,o.minHeight)});return p.value=Be,Be},q=()=>p.value||J(),{lock:ae,unlock:X}=Sr(),T=H=>{o.lockScroll&&(H?ae():X())},fe=()=>{b.value=!0,n("close"),d.value=!1},ge=()=>{if(o.beforeClose){o.beforeClose(()=>fe());return}fe()},de=()=>{o.closeOnClickModal&&ge()},oe=()=>{V.value+=1},ce=()=>{if(h.value){De();return}m.value?(m.value=!1,_.value&&(p.value={..._.value}),n("restore")):(q(),p.value&&(_.value={...p.value}),m.value=!0,n("maximize"))},Ne=()=>{m.value&&(m.value=!1),q(),p.value&&(_.value={...p.value}),h.value=!0,n("minimize")},De=()=>{h.value=!1,_.value&&(p.value={..._.value}),n("restore")},$e=()=>{h.value&&De()},Qe=()=>{h.value?De():ce()},st=H=>{if(!B.value||H.target.closest(".fou-dialog__actions"))return;H.preventDefault();const U=q();if(!U)return;C.value=!0;const Be=H.clientX,ze=H.clientY,v=le=>{p.value=j({...U,left:U.left+le.clientX-Be,top:U.top+le.clientY-ze},"drag")},Q=()=>{C.value=!1,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",Q)};document.addEventListener("mousemove",v),document.addEventListener("mouseup",Q)},ht=(H,U)=>{const Be=q();if(!Be)return;E.value=!0;const ze=H.clientX,v=H.clientY,Q=ke=>{const Pe=ke.clientX-ze,We=ke.clientY-v;let{left:Bt,top:wt,width:xt,height:pt}=Be;U.includes("e")&&(xt=Be.width+Pe),U.includes("s")&&(pt=Be.height+We),U.includes("w")&&(xt=Be.width-Pe,Bt=Be.left+Pe,xt<o.minWidth&&(xt=o.minWidth,Bt=Be.left+Be.width-o.minWidth)),U.includes("n")&&(pt=Be.height-We,wt=Be.top+We,pt<o.minHeight&&(pt=o.minHeight,wt=Be.top+Be.height-o.minHeight)),p.value=j({left:Bt,top:wt,width:xt,height:pt},"resize")},le=()=>{E.value=!1,document.removeEventListener("mousemove",Q),document.removeEventListener("mouseup",le)};document.addEventListener("mousemove",Q),document.addEventListener("mouseup",le)},Ye=H=>{!d.value||h.value||o.closeOnPressEscape&&H.key==="Escape"&&ge()},ct=()=>{h.value=!1,m.value=!!o.fullscreen,p.value=null,_.value=null,b.value=!1,C.value=!1,E.value=!1};return e.watch(()=>o.fullscreen,H=>{m.value=!!H},{immediate:!0}),e.watch(d,async H=>{H?(b.value=!1,o.destroyOnClose&&(k.value=!0),T(!0),n("open"),await e.nextTick(),!o.alignCenter&&!p.value&&f.value,n("opened")):(T(!1),n("closed"),ct(),o.destroyOnClose&&(k.value=!1))}),e.onMounted(()=>{document.addEventListener("keydown",Ye),d.value&&T(!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",Ye),T(!1)}),(H,U)=>{const Be=_t;return e.openBlock(),e.createBlock(e.Teleport,{to:e.unref(x),disabled:!e.unref(N)},[!o.destroyOnClose||e.unref(k)||e.unref(d)?e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,class:["fou-dialog-root",[e.unref(z),e.unref(r).class]]},e.unref(c),{style:{zIndex:o.zIndex}}),[t.modal&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fou-dialog__mask",t.modalClass]),onMousedown:e.withModifiers(de,["self"])},null,34)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"panelRef",ref:f,class:e.normalizeClass(["fou-dialog",e.unref(w)]),style:e.normalizeStyle(e.unref(R)),role:"dialog","aria-modal":"true",onMousedown:oe},[e.createElementVNode("div",{class:e.normalizeClass(["fou-dialog__header",{"is-movable":e.unref(B),"is-minimized-bar":e.unref(h)}]),onMousedown:st,onDblclick:Qe,onClick:$e},[e.createElementVNode("div",Dd,e.toDisplayString(t.title),1),e.createElementVNode("div",{class:"fou-dialog__actions",onMousedown:U[1]||(U[1]=e.withModifiers(()=>{},["stop"])),onClick:U[2]||(U[2]=e.withModifiers(()=>{},["stop"]))},[e.unref(u)&&!e.unref(h)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-dialog__btn",title:e.unref(Ge)("最小化"),onClick:e.withModifiers(Ne,["stop"])},[e.createVNode(Be,{icon:"subtract-line"})],8,Rd)):e.createCommentVNode("",!0),e.unref(M)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"fou-dialog__btn",title:e.unref(Ge)(e.unref(h)||e.unref(m)?"还原":"最大化"),onClick:U[0]||(U[0]=e.withModifiers(ze=>e.unref(h)?De():ce(),["stop"]))},[e.createVNode(Be,{icon:e.unref(h)?"picture-in-picture-2-line":e.unref(m)?"fullscreen-exit-line":"fullscreen-line"},null,8,["icon"])],8,Ld)):e.createCommentVNode("",!0),t.showClose?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"fou-dialog__btn",title:e.unref(Ge)("关闭"),onClick:e.withModifiers(ge,["stop"])},[e.createVNode(Be,{icon:"close-line"})],8,Pd)):e.createCommentVNode("",!0)],32)],34),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(["fou-dialog__body",{"is-loading":t.loading}])},[t.loading?(e.openBlock(),e.createElementBlock("div",Od,[U[3]||(U[3]=e.createElementVNode("span",{class:"fou-dialog__spinner"},null,-1)),t.loadingText?(e.openBlock(),e.createElementBlock("span",jd,e.toDisplayString(t.loadingText),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(H.$slots,"default",{},void 0,!0)],2),[[e.vShow,!e.unref(h)]]),!e.unref(h)&&H.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ad,[e.renderSlot(H.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0),t.resizable&&!e.unref(m)&&!e.unref(h)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},e.renderList(S,ze=>e.createElementVNode("div",{key:ze,class:e.normalizeClass(["fou-dialog__resize",`fou-dialog__resize--${ze}`]),onMousedown:e.withModifiers(v=>ht(v,ze),["prevent","stop"])},null,42,Ud)),64)):e.createCommentVNode("",!0)],38)],16)),[[e.vShow,e.unref(d)]]):e.createCommentVNode("",!0)],8,["to","disabled"])}}}),[["__scopeId","data-v-47754cd5"]]),Wd=Object.freeze(Object.defineProperty({__proto__:null,default:_o},Symbol.toStringTag,{value:"Module"})),Mr=Symbol("FouTabBar"),Hd={class:"fou-tab-bar__header",role:"tablist"},qd=["aria-selected","onClick"],Yd={class:"fou-tab-bar__content"},na=me(e.defineComponent({name:"FouTabBar",__name:"index",props:{modelValue:{},type:{default:"default"},stretch:{type:Boolean,default:!1}},emits:["update:modelValue","tabClick"],setup(t,{emit:a}){const o=t,n=a,r=e.ref([]),c=e.computed({get(){var C;return o.modelValue!==void 0&&o.modelValue!==null?o.modelValue:(C=r.value[0])==null?void 0:C.name},set(C){n("update:modelValue",C)}}),d=e.computed(()=>[...r.value]),f=C=>{const E=r.value.findIndex(b=>b.uid===C.uid);E>=0?r.value[E]=C:r.value.push(C),o.modelValue===void 0&&r.value.length===1&&(c.value=C.name)},m=C=>{r.value=r.value.filter(E=>E.uid!==C)},h=(C,E)=>{const b=r.value.findIndex(V=>V.uid===C);b>=0&&(r.value[b]={...r.value[b],...E})},p=e.computed(()=>c.value);e.provide(Mr,{activeName:p,registerPane:f,unregisterPane:m,updatePane:h});const _=C=>{c.value=C;const E=r.value.find(b=>b.name===C);E&&n("tabClick",E)};return(C,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-tab-bar",[`fou-tab-bar--${t.type}`,{"is-stretch":t.stretch}]])},[e.createElementVNode("div",Hd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),b=>(e.openBlock(),e.createElementBlock("button",{key:String(b.name),type:"button",class:e.normalizeClass(["fou-tab-bar__item",{"is-active":b.name===e.unref(c)}]),role:"tab","aria-selected":b.name===e.unref(c),onClick:V=>_(b.name)},[e.renderSlot(C.$slots,`label-${b.name}`,{},()=>[e.createTextVNode(e.toDisplayString(b.label),1)],!0)],10,qd))),128))]),e.createElementVNode("div",Yd,[e.renderSlot(C.$slots,"default",{},void 0,!0)])],2))}}),[["__scopeId","data-v-3ed52357"]]),Kd=Object.freeze(Object.defineProperty({__proto__:null,default:na},Symbol.toStringTag,{value:"Module"})),Xd=["aria-hidden"],la=me(e.defineComponent({name:"FouTabPane",__name:"index",props:{name:{},label:{default:""},lazy:{type:Boolean,default:!1}},setup(t){var h;const a=t,o=e.useSlots(),n=e.inject(Mr,null),r=((h=e.getCurrentInstance())==null?void 0:h.uid)??Math.random(),c=e.ref(!a.lazy),d=e.computed(()=>(n==null?void 0:n.activeName.value)===a.name),f=e.computed(()=>a.lazy?c.value||d.value:!0);e.watch(d,p=>{p&&a.lazy&&(c.value=!0)});const m=()=>a.label||String(a.name);return e.onMounted(()=>{n==null||n.registerPane({uid:r,name:a.name,label:m(),lazy:a.lazy,loaded:c.value,render:()=>{var p;return((p=o.default)==null?void 0:p.call(o))??[]}})}),e.onUnmounted(()=>{n==null||n.unregisterPane(r)}),e.watch(()=>[a.name,a.label,a.lazy],()=>{n==null||n.updatePane(r,{name:a.name,label:m(),lazy:a.lazy,loaded:c.value})}),(p,_)=>e.unref(f)?e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:0,class:"fou-tab-pane",role:"tabpanel","aria-hidden":!e.unref(d)},[e.renderSlot(p.$slots,"default",{},void 0,!0)],8,Xd)),[[e.vShow,e.unref(d)]]):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-70b73978"]]),vd=Object.freeze(Object.defineProperty({__proto__:null,default:la},Symbol.toStringTag,{value:"Module"})),Gd={class:"fou-empty"},Qd={class:"fou-empty__image"},Jd={key:0,class:"fou-empty__description"},Zd={key:1,class:"fou-empty__actions"},Vn=me(e.defineComponent({name:"FouEmpty",__name:"index",props:{description:{default:"暂无数据"}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",Gd,[e.createElementVNode("div",Qd,[e.renderSlot(a.$slots,"image",{},()=>[o[0]||(o[0]=e.createStaticVNode('<svg class="fou-empty__svg" viewBox="0 0 120 80" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" data-v-22afbf86><rect x="10" y="20" width="100" height="50" rx="4" fill="var(--fou-fill-color, var(--fou-fill-color, #f0f2f5))" data-v-22afbf86></rect><rect x="20" y="30" width="40" height="6" rx="2" fill="var(--fou-border-color, var(--fou-border-color, #dcdfe6))" data-v-22afbf86></rect><rect x="20" y="42" width="60" height="6" rx="2" fill="var(--fou-border-color-lighter, var(--fou-border-color-lighter, #ebeef5))" data-v-22afbf86></rect><rect x="20" y="54" width="30" height="6" rx="2" fill="var(--fou-border-color-lighter, var(--fou-border-color-lighter, #ebeef5))" data-v-22afbf86></rect></svg>',1))],!0)]),t.description||a.$slots.description?(e.openBlock(),e.createElementBlock("p",Jd,[e.renderSlot(a.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)],!0)])):e.createCommentVNode("",!0),a.$slots.default?(e.openBlock(),e.createElementBlock("div",Zd,[e.renderSlot(a.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-22afbf86"]]),em=Object.freeze(Object.defineProperty({__proto__:null,default:Vn},Symbol.toStringTag,{value:"Module"})),tm={key:0,class:"fou-button__loading","aria-hidden":"true"},om={key:1,class:"fou-button__icon"},nm={key:2,class:"fou-button__label"},lm={key:3,class:"fou-button__icon-right"},oo=me(e.defineComponent({name:"FouButton",inheritAttrs:!1,__name:"index",props:{type:{default:"default"},color:{},size:{},plain:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},round:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},nativeType:{default:"button"},tag:{default:"button"},icon:{},iconRight:{}},emits:["click"],setup(t,{emit:a}){const o={primary:"var(--fou-color-primary, var(--fou-color-primary, #0f766e))",success:"var(--fou-color-success, var(--fou-color-success, #67c23a))",warning:"var(--fou-color-warning, var(--fou-color-warning, #e6a23c))",danger:"var(--fou-color-danger, var(--fou-color-danger, #f56c6c))",info:"var(--fou-color-info, var(--fou-color-info, #909399))",cyan:"#0ea5e9",orange:"#f97316",pink:"#ec4899",teal:"#14b8a6",gray:"#64748b",magenta:"#d946ef",lime:"#84cc16",brown:"#a16207"},n=t,r=a,c=e.inject("fouButtonGroupSize",null),d=e.computed(()=>n.size||(c==null?void 0:c.value)||"default"),f=e.computed(()=>n.color?n.color:n.type&&n.type!=="default"&&o[n.type]?o[n.type]:""),m=e.computed(()=>{if(f.value)return{"--fou-btn-color":f.value}}),h=e.computed(()=>[`fou-button--${d.value}`,{"fou-button--default":n.type==="default"&&!n.color,"fou-button--colored":!!f.value,"fou-button--plain":n.plain,"fou-button--text":n.text,"fou-button--link":n.link,"fou-button--round":n.round,"fou-button--circle":n.circle,"is-disabled":n.disabled||n.loading,"is-loading":n.loading}]),p=_=>{if(n.disabled||n.loading){_.preventDefault();return}r("click",_)};return(_,C)=>{const E=_t;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),e.mergeProps({class:["fou-button",e.unref(h)],type:t.tag==="button"?t.nativeType:void 0,disabled:t.disabled||t.loading,style:e.unref(m)},_.$attrs,{onClick:p}),{default:e.withCtx(()=>[t.loading?(e.openBlock(),e.createElementBlock("span",tm)):e.createCommentVNode("",!0),!t.loading&&(t.icon||_.$slots.icon)?(e.openBlock(),e.createElementBlock("span",om,[e.renderSlot(_.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(E,{key:0,icon:t.icon},null,8,["icon"])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0),_.$slots.default?(e.openBlock(),e.createElementBlock("span",nm,[e.renderSlot(_.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),t.iconRight||_.$slots.iconRight?(e.openBlock(),e.createElementBlock("span",lm,[e.renderSlot(_.$slots,"iconRight",{},()=>[t.iconRight?(e.openBlock(),e.createBlock(E,{key:0,icon:t.iconRight},null,8,["icon"])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)]),_:3},16,["class","type","disabled","style"])}}}),[["__scopeId","data-v-766d3497"]]),am=Object.freeze(Object.defineProperty({__proto__:null,default:oo},Symbol.toStringTag,{value:"Module"})),im={class:"fou-msg__content"},rm={key:0},zr=e.defineComponent({name:"FouMsgItem",__name:"FouMsgItem",props:{id:{},type:{},position:{},message:{},showClose:{type:Boolean},visible:{type:Boolean}},emits:["close"],setup(t){const a=t,o=e.computed(()=>({success:"ri-checkbox-circle-line",warning:"ri-alert-line",info:"ri-information-line",error:"ri-close-circle-line"})[a.type]);return(n,r)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fou-msg-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(["fou-msg",[`fou-msg--${t.type}`,`fou-msg--${t.position}`]])},[e.createElementVNode("i",{class:e.normalizeClass(["fou-msg__icon",o.value])},null,2),e.createElementVNode("div",im,[typeof t.message=="string"?(e.openBlock(),e.createElementBlock("span",rm,e.toDisplayString(t.message),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.message),{key:1}))]),t.showClose?(e.openBlock(),e.createElementBlock("i",{key:0,class:"fou-msg__close ri-close-line",onClick:r[0]||(r[0]=c=>n.$emit("close"))})):e.createCommentVNode("",!0)],2),[[e.vShow,t.visible]])]),_:1}))}}),cm=Object.freeze(Object.defineProperty({__proto__:null,default:zr},Symbol.toStringTag,{value:"Module"})),Cn={center:[],"left-top":[],"left-center":[],"left-bottom":[],"top-center":[],"bottom-center":[],"right-top":[],"right-center":[],"right-bottom":[]};let sm=0;const dm=(t,a=20)=>{const o=`fou-msg-host-${t}`;let n=document.getElementById(o);return n||(n=document.createElement("div"),n.id=o,n.className=`fou-msg-host fou-msg-host--${t}`,document.body.appendChild(n)),n.style.setProperty("--fou-msg-offset",`${a}px`),n},Tr=t=>{Cn[t].forEach((a,o)=>{a.el.style.setProperty("--fou-msg-index",String(o))})},aa=t=>{Object.keys(Cn).forEach(a=>{const o=Cn[a].findIndex(n=>n.id===t);if(o>=0){const[n]=Cn[a].splice(o,1);n.timer&&clearTimeout(n.timer),n.app.unmount(),n.el.remove(),Tr(a)}})},mm=t=>{(t?[t]:Object.keys(Cn)).forEach(o=>{[...Cn[o]].forEach(n=>aa(n.id))})};function fm(t){const a={"bottom-right":"right-bottom","top-right":"right-top","bottom-left":"left-bottom","top-left":"left-top"};return t?a[t]||t:"center"}const we=Object.assign(t=>{const a=typeof t=="string"?{message:t}:{...t},o=fm(a.position),n=a.type||"info",r=a.duration??3e3,c=a.id||`fou-msg-${++sm}`,d=a.offset??20;aa(c);const f=dm(o,d),m=document.createElement("div");m.className="fou-msg-wrap",f.appendChild(m);const h=e.ref(!0),p={id:c,app:null,el:m,position:o},_=()=>{p.timer&&(clearTimeout(p.timer),p.timer=void 0),h.value=!1,setTimeout(()=>{var E;aa(c),(E=a.onClose)==null||E.call(a)},200)},C=e.createApp({setup(){return()=>e.h(zr,{id:c,type:n,position:o,message:a.message,showClose:a.showClose??!0,visible:h.value,onClose:_})}});return r>0&&(p.timer=setTimeout(_,r)),C.mount(m),p.app=C,Cn[o].push(p),Tr(o),{close:()=>aa(c),id:c}},{success(t,a){return we(typeof t=="string"?{message:t,type:"success",position:a}:{...t,type:"success"})},warning(t,a){return we(typeof t=="string"?{message:t,type:"warning",position:a}:{...t,type:"warning"})},info(t,a){return we(typeof t=="string"?{message:t,type:"info",position:a}:{...t,type:"info"})},error(t,a){return we(typeof t=="string"?{message:t,type:"error",position:a}:{...t,type:"error"})},closeAll:mm}),um={install(t){t.config.globalProperties.$fouMsg=we,t.provide("$fouMsg",we)}},Fr="fou-badge-templates",Ir="fou-badge-desk-templates",xl="fou-badge-library",Dr="fou-badge-competitions",St=t=>({code:0,data:t}),Vl=(t,a)=>{try{const o=localStorage.getItem(t);return o?JSON.parse(o):a}catch{return a}},ia=(t,a)=>{localStorage.setItem(t,JSON.stringify(a))},Cl=()=>{const t=new Date,a=o=>String(o).padStart(2,"0");return`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())} ${a(t.getHours())}:${a(t.getMinutes())}:${a(t.getSeconds())}`},Rr=()=>{let t=Vl(Dr,[]);return t.length||(t=[{id:1,name:"演示比赛 A",area_code:"A01",host_region:"110000",start_date:"2026-08-01",status:1},{id:2,name:"演示比赛 B",area_code:"B02",host_region:"310000",start_date:"2026-09-01",status:2}],ia(Dr,t)),t},io=t=>Vl(t==="badge"?Fr:Ir,[]),en=(t,a)=>ia(t==="badge"?Fr:Ir,a),Lr=t=>t.reduce((a,o)=>Math.max(a,Number(o.id)||0),0)+1,An=(t,a=90,o=54)=>({version:1,canvas:{widthMm:a,heightMm:o,background:"#ffffff"},elements:[],guides:[],regions:[]}),ni=async t=>{const a=Rr(),o=Number((t==null?void 0:t.page)||1),n=Number((t==null?void 0:t.page_size)||(t==null?void 0:t.pageSize)||20),r=String((t==null?void 0:t.keyword)||(t==null?void 0:t.q)||"").trim();let c=a;r&&(c=c.filter(f=>`${f.name}${f.area_code}`.includes(r)));const d=(o-1)*n;return St({list:c.slice(d,d+n),total:c.length,page:o,page_size:n})},Pr=async t=>{const a=Rr().find(o=>o.id===Number(t));return St(a||{id:t,name:`比赛 ${t}`,status:1})},Or=async t=>{const a=io("badge").filter(o=>o.competition_id===Number(t));return St({list:a})},pm=async(t,a)=>{const o=io("badge"),r={id:Lr(o),competition_id:Number(t),name:a.name||"未命名模板",width_mm:90,height_mm:54,is_default:o.filter(c=>c.competition_id===Number(t)).length===0,update_time:Cl(),doc:An(),kind:"badge"};return o.push(r),en("badge",o),St(r)},li=async(t,a)=>{const o=io("badge").find(n=>n.id===Number(a)&&n.competition_id===Number(t));return St(o?{...o,template_json:o.doc||An(o.name,o.width_mm,o.height_mm),doc:o.doc||An(o.name,o.width_mm,o.height_mm),default_test_json:o.default_test_json||{}}:null)},hm=async t=>{const a=io("badge").filter(n=>n.competition_id===Number(t)),o=a.find(n=>n.is_default)||a[0];return o?li(t,o.id):St(null)},gm=async(t,a,o)=>{var h,p;const n=io("badge"),r=n.findIndex(_=>_.id===Number(a)&&_.competition_id===Number(t));if(r<0)return St(null);const c=o.doc||o.template_json||o.template||n[r].doc,d=String(o.name),f=Number(((h=c==null?void 0:c.canvas)==null?void 0:h.widthMm)||o.width_mm||n[r].width_mm),m=Number(((p=c==null?void 0:c.canvas)==null?void 0:p.heightMm)||o.height_mm||n[r].height_mm);return n[r]={...n[r],name:d,width_mm:f,height_mm:m,doc:c,default_test_json:o.default_test_json??n[r].default_test_json??{},update_time:Cl()},en("badge",n),St(n[r])},_m=async(t,a)=>{const o=io("badge").filter(n=>!(n.id===Number(a)&&n.competition_id===Number(t)));return en("badge",o),St(!0)},bm=async(t,a)=>{const o=io("badge").map(n=>n.competition_id===Number(t)?{...n,is_default:n.id===Number(a)}:n);return en("badge",o),St(!0)},jr=async t=>{const a=io("desk").filter(o=>o.competition_id===Number(t));return St({list:a})},ym=async(t,a)=>{const o=io("desk"),r={id:Lr(o),competition_id:Number(t),name:a.name||"未命名桌签",width_mm:150,height_mm:50,is_default:o.filter(c=>c.competition_id===Number(t)).length===0,update_time:Cl(),doc:An(a.name||"未命名桌签",150,50),kind:"desk"};return o.push(r),en("desk",o),St(r)},ra=async(t,a)=>{const o=io("desk").find(n=>n.id===Number(a)&&n.competition_id===Number(t));return St(o?{...o,template_json:o.doc||An(o.name,o.width_mm,o.height_mm),doc:o.doc||An(o.name,o.width_mm,o.height_mm),default_test_json:o.default_test_json||{}}:null)},Ar=async t=>{const a=io("desk").filter(n=>n.competition_id===Number(t)),o=a.find(n=>n.is_default)||a[0];return o?ra(t,o.id):St(null)},km=async(t,a,o)=>{var h,p;const n=io("desk"),r=n.findIndex(_=>_.id===Number(a)&&_.competition_id===Number(t));if(r<0)return St(null);const c=o.doc||o.template_json||o.template||n[r].doc,d=String(o.name),f=Number(((h=c==null?void 0:c.canvas)==null?void 0:h.widthMm)||o.width_mm||n[r].width_mm),m=Number(((p=c==null?void 0:c.canvas)==null?void 0:p.heightMm)||o.height_mm||n[r].height_mm);return n[r]={...n[r],name:d,width_mm:f,height_mm:m,doc:c,default_test_json:o.default_test_json??n[r].default_test_json??{},update_time:Cl()},en("desk",n),St(n[r])},wm=async(t,a)=>{const o=io("desk").filter(n=>!(n.id===Number(a)&&n.competition_id===Number(t)));return en("desk",o),St(!0)},xm=async(t,a)=>{const o=io("desk").map(n=>n.competition_id===Number(t)?{...n,is_default:n.id===Number(a)}:n);return en("desk",o),St(!0)},Ur=async t=>{const a=Vl(xl,[]),o=Number((t==null?void 0:t.page)||1),n=Number((t==null?void 0:t.page_size)||40),r=(o-1)*n;return St({list:a.slice(r,r+n),total:a.length,page:o,page_size:n})},ai=async t=>{const a=await new Promise((c,d)=>{const f=new FileReader;f.onload=()=>c(String(f.result||"")),f.onerror=()=>d(new Error("read failed")),f.readAsDataURL(t)}),o=Vl(xl,[]),r={id:o.reduce((c,d)=>Math.max(c,d.id),0)+1,url:a,name:t.name,create_time:Cl()};return o.unshift(r),ia(xl,o),St(r)},ca=async t=>{const a=Vl(xl,[]).filter(o=>o.id!==Number(t));return ia(xl,a),St(!0)},Vm=async t=>St([{id:1,name:"演示学校一",short_name:"校一"},{id:2,name:"演示学校二",short_name:"校二"}]),Cm=async(t,a)=>St({list:[{id:1,student_name:"张三",competition_no:"A001",school_name:"演示学校一",age_group:"小学组",competition_room:"101",seat_no:"01"},{id:2,student_name:"李四",competition_no:"A002",school_name:"演示学校一",age_group:"小学组",competition_room:"101",seat_no:"02"}],total:2}),Nm=async(t,a)=>St({list:[],total:0}),Bm=async(t,a)=>St(!0),$m=async t=>St([{id:1,competition_room:"101",seat_no:"01",student_name:"张三",school_name:"演示学校一"}]);function Un(t){const a=String(t||"").trim();if(!a)return"";if(/^data:/i.test(a)||/^blob:/i.test(a))return a;if(/^(https?:)?\/\//i.test(a)){try{const o=new URL(a,window.location.origin);if(o.pathname.startsWith("/uploads/"))return`${o.pathname}${o.search}${o.hash}`}catch{}return a}return a.startsWith("/uploads/")||a.startsWith("/")?a:`/${a}`}const Em={class:"lib-grid"},Sm=["onDblclick"],Mm=["src"],zm=["title"],Wr=8,sa=me(e.defineComponent({__name:"BadgeImagePickerDialog",props:{modelValue:{type:Boolean},defaultTab:{default:"lib"}},emits:["update:modelValue","pick"],setup(t,{emit:a}){const o=t,n=a,r=e.computed({get:()=>o.modelValue,set:N=>n("update:modelValue",N)}),c=e.ref("lib"),d=e.ref(!1),f=e.ref([]),m=e.ref(null),h=e.ref(!1),p=e.ref(null);function _(N){return Un(N)}async function C(){var N;d.value=!0;try{const M=await Ur({page:1,page_size:120});f.value=((N=M.data)==null?void 0:N.list)??[]}catch{f.value=[]}finally{d.value=!1}}e.watch(()=>o.modelValue,N=>{N&&(c.value=o.defaultTab)});function E(N){N!=null&&N.url&&(n("pick",Un(N.url)),r.value=!1)}function b(N){p.value=N,h.value=!0}async function V(){const N=p.value;if(N){h.value=!1;try{await ca(Number(N.id)),we.success("已删除"),await C()}catch{}}}async function k(N){var M;for(const u of Array.from(N)){if(u.size/1048576>Wr){we.error(`「${u.name}」超过 ${Wr}MB,已跳过`);continue}try{const I=await ai(u),$=(M=I==null?void 0:I.data)==null?void 0:M.url;if(!$){we.error(`「${u.name}」上传失败`);continue}n("pick",Un($)),await C()}catch{}}}function S(N){var u;const M=N.target;(u=M.files)!=null&&u.length&&k(M.files),M.value=""}function x(N){var M,u;(u=(M=N.dataTransfer)==null?void 0:M.files)!=null&&u.length&&k(N.dataTransfer.files)}return(N,M)=>{const u=oo,B=Vn,I=la,$=_t,z=na,w=_o,R=e.resolveDirective("fou-loading");return e.openBlock(),e.createBlock(w,{modelValue:r.value,"onUpdate:modelValue":M[5]||(M[5]=j=>r.value=j),title:"添加图片",width:"720px","destroy-on-close":"",class:"badge-img-picker-dlg",onOpened:C},{default:e.withCtx(()=>[e.createVNode(z,{modelValue:c.value,"onUpdate:modelValue":M[2]||(M[2]=j=>c.value=j)},{default:e.withCtx(()=>[e.createVNode(I,{label:"图片库",name:"lib"},{default:e.withCtx(()=>[M[7]||(M[7]=e.createElementVNode("p",{class:"dlg-hint"},"双击缩略图插入到画布;删除后模板里若仍引用该地址将无法显示。",-1)),e.withDirectives((e.openBlock(),e.createElementBlock("div",Em,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,j=>(e.openBlock(),e.createElementBlock("div",{key:j.id,class:"lib-cell",onDblclick:J=>E(j)},[e.createElementVNode("img",{src:_(j.url),alt:"",class:"thumb",loading:"lazy"},null,8,Mm),e.createElementVNode("div",{class:"meta",title:j.orig_name},e.toDisplayString(j.orig_name||"未命名"),9,zm),e.createVNode(u,{type:"danger",link:"",size:"small",class:"del",onClick:e.withModifiers(J=>b(j),["stop"])},{default:e.withCtx(()=>[...M[6]||(M[6]=[e.createTextVNode("删除",-1)])]),_:1},8,["onClick"])],40,Sm))),128))])),[[R,d.value]]),!d.value&&!f.value.length?(e.openBlock(),e.createBlock(B,{key:0,description:"暂无图片,可到「上传本地文件」添加"})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(I,{label:"上传本地文件",name:"up"},{default:e.withCtx(()=>[M[10]||(M[10]=e.createElementVNode("p",{class:"dlg-hint"},"上传后会写入图片库,并自动插入当前画布;可多选文件或一次拖拽多张。",-1)),e.createElementVNode("div",{class:"upload-drop",onDragover:M[0]||(M[0]=e.withModifiers(()=>{},["prevent"])),onDrop:e.withModifiers(x,["prevent"]),onClick:M[1]||(M[1]=j=>{var J;return(J=m.value)==null?void 0:J.click()})},[e.createVNode($,{icon:"upload-cloud-2-line",class:"upload-ico"}),M[8]||(M[8]=e.createElementVNode("div",{class:"upload-text"},[e.createTextVNode("拖到此处,或 "),e.createElementVNode("em",null,"点击选择多个文件")],-1)),M[9]||(M[9]=e.createElementVNode("div",{class:"upload-sub"},"支持 JPG / PNG / GIF / WebP / BMP,单文件不超过 8MB",-1)),e.createElementVNode("input",{ref_key:"fileInputRef",ref:m,type:"file",multiple:"",accept:"image/jpeg,image/png,image/gif,image/webp,image/bmp",class:"upload-input",onChange:S},null,544)],32)]),_:1})]),_:1},8,["modelValue"]),e.createVNode(w,{modelValue:h.value,"onUpdate:modelValue":M[4]||(M[4]=j=>h.value=j),title:"删除确认",width:"400px","append-to-body":""},{footer:e.withCtx(()=>[e.createVNode(u,{onClick:M[3]||(M[3]=j=>h.value=!1)},{default:e.withCtx(()=>[...M[11]||(M[11]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(u,{type:"danger",onClick:V},{default:e.withCtx(()=>[...M[12]||(M[12]=[e.createTextVNode("删除",-1)])]),_:1})]),default:e.withCtx(()=>{var j;return[e.createElementVNode("p",null,"确定删除「"+e.toDisplayString(((j=p.value)==null?void 0:j.orig_name)||"该图片")+"」?",1)]}),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}}),[["__scopeId","data-v-6b23d604"]]),Tm=Object.freeze(Object.defineProperty({__proto__:null,default:sa},Symbol.toStringTag,{value:"Module"})),Fm={key:0,class:"fou-pagination__total"},Im={key:1,class:"fou-pagination__sizes"},Dm=["disabled","value"],Rm=["value"],Lm=["disabled"],Pm={key:3,class:"fou-pagination__pager"},Om=["disabled","onClick"],jm={key:1,class:"fou-pagination__ellipsis"},Am=["disabled"],Um={key:5,class:"fou-pagination__jumper"},Wm=["disabled"],Wn=me(e.defineComponent({name:"FouPagination",__name:"index",props:{total:{default:0},currentPage:{default:1},pageSize:{default:10},pageSizes:{default:()=>[10,20,50,100]},layout:{default:"total, sizes, prev, pager, next, jumper"},background:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},hideOnSinglePage:{type:Boolean,default:!1},small:{type:Boolean,default:!1},pagerCount:{default:7},type:{default:"primary"},color:{},variant:{default:"default"}},emits:["update:current-page","update:page-size","current-change","size-change"],setup(t,{emit:a}){const o={primary:"var(--fou-color-primary, #0f766e)",success:"var(--fou-color-success, #67c23a)",warning:"var(--fou-color-warning, #e6a23c)",danger:"var(--fou-color-danger, #f56c6c)",info:"var(--fou-color-info, #909399)",cyan:"#0ea5e9",orange:"#f97316",pink:"#ec4899",teal:"#14b8a6"},n=t,r=a,c=e.ref(""),d=e.computed(()=>({"--fou-page-color":n.color||o[n.type]||o.primary})),f=e.computed(()=>n.layout.split(",").map(I=>I.trim()).filter(Boolean)),m=e.computed(()=>f.value.includes("total")),h=e.computed(()=>f.value.includes("sizes")),p=e.computed(()=>f.value.includes("prev")),_=e.computed(()=>f.value.includes("pager")),C=e.computed(()=>f.value.includes("next")),E=e.computed(()=>f.value.includes("jumper")),b=e.computed(()=>Math.max(1,Math.ceil(n.total/n.pageSize))),V=e.computed(()=>{const I=b.value,$=n.currentPage,z=n.pagerCount,w=Math.floor(z/2);if(I<=z)return Array.from({length:I},(q,ae)=>({key:`p-${ae+1}`,number:ae+1}));const R=[];R.push({key:"p-1",number:1});let j=Math.max(2,$-w),J=Math.min(I-1,$+w);$<=w+1?J=z-2:$>=I-w&&(j=I-z+2),j>2&&R.push({key:"e-start",ellipsis:!0});for(let q=j;q<=J;q++)R.push({key:`p-${q}`,number:q});return J<I-1&&R.push({key:"e-end",ellipsis:!0}),R.push({key:`p-${I}`,number:I}),R}),k=I=>{const $=Math.min(Math.max(1,I),b.value);$!==n.currentPage&&(r("update:current-page",$),r("current-change",$))},S=I=>{if(I===n.pageSize)return;r("update:page-size",I),r("size-change",I);const $=Math.max(1,Math.ceil(n.total/I));n.currentPage>$&&k($)},x=()=>k(n.currentPage-1),N=()=>k(n.currentPage+1),M=I=>k(I),u=I=>{const $=Number(I.target.value);Number.isNaN($)||S($)},B=()=>{const I=parseInt(c.value,10);Number.isNaN(I)||(k(I),c.value="")};return(I,$)=>!t.hideOnSinglePage||e.unref(b)>1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fou-pagination",[`fou-pagination--${t.type}`,`fou-pagination--${t.variant}`,{"is-background":t.background,"is-small":t.small,"is-disabled":t.disabled}]]),style:e.normalizeStyle(e.unref(d))},[e.unref(m)?(e.openBlock(),e.createElementBlock("span",Fm," 共 "+e.toDisplayString(t.total)+" 条 ",1)):e.createCommentVNode("",!0),e.unref(h)?(e.openBlock(),e.createElementBlock("div",Im,[e.createElementVNode("select",{class:"fou-pagination__select",disabled:t.disabled,value:t.pageSize,onChange:u},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizes,z=>(e.openBlock(),e.createElementBlock("option",{key:z,value:z},e.toDisplayString(z)+" 条/页 ",9,Rm))),128))],40,Dm)])):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"fou-pagination__btn fou-pagination__prev",disabled:t.disabled||t.currentPage<=1,onClick:x}," ‹ ",8,Lm)):e.createCommentVNode("",!0),e.unref(_)?(e.openBlock(),e.createElementBlock("ul",Pm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(V),z=>(e.openBlock(),e.createElementBlock("li",{key:z.key,class:e.normalizeClass(["fou-pagination__page",{"is-active":z.number===t.currentPage,"is-ellipsis":z.ellipsis}])},[z.ellipsis?(e.openBlock(),e.createElementBlock("span",jm,"…")):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-pagination__page-btn",disabled:t.disabled,onClick:w=>M(z.number)},e.toDisplayString(z.number),9,Om))],2))),128))])):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button",class:"fou-pagination__btn fou-pagination__next",disabled:t.disabled||t.currentPage>=e.unref(b),onClick:N}," › ",8,Am)):e.createCommentVNode("",!0),e.unref(E)?(e.openBlock(),e.createElementBlock("div",Um,[$[1]||($[1]=e.createElementVNode("span",null,"前往",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":$[0]||($[0]=z=>e.isRef(c)?c.value=z:null),class:"fou-pagination__jumper-input",type:"text",disabled:t.disabled,onKeydown:e.withKeys(B,["enter"])},null,40,Wm),[[e.vModelText,e.unref(c)]]),$[2]||($[2]=e.createElementVNode("span",null,"页",-1))])):e.createCommentVNode("",!0)],6)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-9df57a43"]]),Hm=Object.freeze(Object.defineProperty({__proto__:null,default:Wn},Symbol.toStringTag,{value:"Module"})),Hr=me(e.defineComponent({name:"FouSkeleton",__name:"index",props:{rows:{default:3},animated:{type:Boolean,default:!0},loading:{type:Boolean,default:!0},lastRowWidth:{default:60}},setup(t){const a=t,o=n=>n===a.rows?{width:`${a.lastRowWidth}%`}:{};return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-skeleton",{"is-loading":t.loading}])},[t.loading?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.rows,c=>(e.openBlock(),e.createElementBlock("div",{key:c,class:e.normalizeClass(["fou-skeleton__row",{"is-animated":t.animated}]),style:e.normalizeStyle(o(c))},null,6))),128)):e.renderSlot(n.$slots,"default",{},void 0,!0,1)],2))}}),[["__scopeId","data-v-079beb45"]]),qm=Object.freeze(Object.defineProperty({__proto__:null,default:Hr},Symbol.toStringTag,{value:"Module"})),Ym={key:0,class:"fou-card__header"},Km={key:1,class:"fou-card__footer"},Nn=me(e.defineComponent({name:"FouCard",__name:"index",props:{bodyClass:{type:String,default:""},bodyStyle:{type:[Object,String],default:()=>({})},shadow:{type:String,default:"never"},skeleton:{type:Boolean,default:!1},skeletonRows:{type:Number,default:5},title:{type:String,default:""}},setup(t){const a=e.ref(!0),o=setTimeout(()=>{a.value=!1},500);return e.onBeforeUnmount(()=>{clearTimeout(o)}),(n,r)=>{const c=Hr;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-card",[`fou-card--shadow-${t.shadow}`]])},[n.$slots.header||t.title?(e.openBlock(),e.createElementBlock("div",Ym,[n.$slots.header?e.renderSlot(n.$slots,"header",{},void 0,!0,0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(t.title),1)],64))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["fou-card__body",t.bodyClass]),style:e.normalizeStyle(t.bodyStyle)},[t.skeleton?(e.openBlock(),e.createBlock(c,{key:0,animated:"",loading:e.unref(a),rows:t.skeletonRows},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3},8,["loading","rows"])):e.renderSlot(n.$slots,"default",{},void 0,!0,1)],6),n.$slots.footer?(e.openBlock(),e.createElementBlock("div",Km,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-3b9c17de"]]),Xm=Object.freeze(Object.defineProperty({__proto__:null,default:Nn},Symbol.toStringTag,{value:"Module"})),vm={class:"badge-library-panel"},Gm={class:"upload-btn"},Qm={class:"lib-grid"},Jm=["src"],Zm=["title"],ef={class:"sub"},tf={key:1,class:"pager"},ii=me(e.defineComponent({__name:"BadgeLibraryPanel",setup(t,{expose:a}){const o=e.ref(!1),n=e.ref([]),r=e.ref(0),c=e.ref(1),d=e.ref(40),f=e.ref(!1),m=e.ref(null);function h(V){return Un(V)}function p(V){const k=Number(V)||0;return k<1024?`${k} B`:k<1024*1024?`${(k/1024).toFixed(1)} KB`:`${(k/1024/1024).toFixed(2)} MB`}async function _(){var V,k;o.value=!0;try{const S=await Ur({page:c.value,page_size:d.value});n.value=((V=S.data)==null?void 0:V.list)??[],r.value=Number(((k=S.data)==null?void 0:k.total)??0)}catch{n.value=[],r.value=0}finally{o.value=!1}}async function C(V){var x;const k=V.target,S=(x=k.files)==null?void 0:x[0];if(k.value="",!!S)try{await ai(S),we.success("已上传"),c.value=1,await _()}catch{}}function E(V){m.value=V,f.value=!0}async function b(){const V=m.value;if(V){f.value=!1;try{await ca(Number(V.id)),we.success("已删除"),await _()}catch{}}}return e.onMounted(()=>_()),a({load:_}),(V,k)=>{const S=oo,x=Nn,N=Vn,M=Wn,u=_o,B=e.resolveDirective("fou-loading");return e.openBlock(),e.createElementBlock("div",vm,[e.createVNode(x,{shadow:"never",class:"toolbar-card"},{default:e.withCtx(()=>[e.createElementVNode("label",Gm,[e.createElementVNode("input",{type:"file",accept:"image/jpeg,image/png,image/gif,image/webp,image/bmp",class:"upload-input",onChange:C},null,32),e.createVNode(S,{type:"primary",tag:"span"},{default:e.withCtx(()=>[...k[3]||(k[3]=[e.createTextVNode("上传图片",-1)])]),_:1})]),k[4]||(k[4]=e.createElementVNode("span",{class:"hint"},"上传后可在模板编辑器的「图片库」中选用。",-1))]),_:1}),e.withDirectives((e.openBlock(),e.createBlock(x,{shadow:"never"},{default:e.withCtx(()=>[e.createElementVNode("div",Qm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:"lib-cell"},[e.createElementVNode("img",{src:h(I.url),alt:"",class:"thumb",loading:"lazy"},null,8,Jm),e.createElementVNode("div",{class:"meta",title:I.orig_name},e.toDisplayString(I.orig_name||"未命名"),9,Zm),e.createElementVNode("div",ef,e.toDisplayString(p(I.size))+" · "+e.toDisplayString(I.create_time),1),e.createVNode(S,{type:"danger",link:"",size:"small",onClick:$=>E(I)},{default:e.withCtx(()=>[...k[5]||(k[5]=[e.createTextVNode("删除",-1)])]),_:1},8,["onClick"])]))),128))]),!o.value&&!n.value.length?(e.openBlock(),e.createBlock(N,{key:0,description:"暂无图片"})):e.createCommentVNode("",!0),r.value>d.value?(e.openBlock(),e.createElementBlock("div",tf,[e.createVNode(M,{"current-page":c.value,"onUpdate:currentPage":k[0]||(k[0]=I=>c.value=I),"page-size":d.value,layout:"total, prev, pager, next",total:r.value,onCurrentChange:_},null,8,["current-page","page-size","total"])])):e.createCommentVNode("",!0)]),_:1})),[[B,o.value]]),e.createVNode(u,{modelValue:f.value,"onUpdate:modelValue":k[2]||(k[2]=I=>f.value=I),title:"删除确认",width:"400px"},{footer:e.withCtx(()=>[e.createVNode(S,{onClick:k[1]||(k[1]=I=>f.value=!1)},{default:e.withCtx(()=>[...k[6]||(k[6]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(S,{type:"danger",onClick:b},{default:e.withCtx(()=>[...k[7]||(k[7]=[e.createTextVNode("删除",-1)])]),_:1})]),default:e.withCtx(()=>{var I;return[e.createElementVNode("p",null,"确定删除「"+e.toDisplayString(((I=m.value)==null?void 0:I.orig_name)||"该图片")+"」?",1)]}),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-ac589bad"]]),of=Object.freeze(Object.defineProperty({__proto__:null,default:ii},Symbol.toStringTag,{value:"Module"})),ri=me(e.defineComponent({__name:"BadgeLibraryManagerDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(t){return(a,o)=>{const n=_o;return e.openBlock(),e.createBlock(n,{"model-value":t.modelValue,title:"证件图片库",width:"min(920px, 94vw)",class:"badge-library-manager-dialog","append-to-body":"","destroy-on-close":"","onUpdate:modelValue":o[0]||(o[0]=r=>a.$emit("update:modelValue",r))},{default:e.withCtx(()=>[o[1]||(o[1]=e.createElementVNode("p",{class:"dlg-tip"},"管理模板编辑中上传的图片;删除后已保存模板里若仍引用该地址将无法显示。",-1)),t.modelValue?(e.openBlock(),e.createBlock(ii,{key:0})):e.createCommentVNode("",!0)]),_:1},8,["model-value"])}}}),[["__scopeId","data-v-a871d668"]]),nf=Object.freeze(Object.defineProperty({__proto__:null,default:ri},Symbol.toStringTag,{value:"Module"})),ci={competition_name:"competition.name",student_name:"student.name",competition_no:"student.competition_no",school_name:"school.name",school_short_name:"school.short_name",age_group:"student.age_group",competition_room:"classroom.name",seat_no:"classroom.seat_no",floor:"classroom.floor",teacher_name:"teacher.name",date:"competition.date",session:"competition.session",enroll_teacher_name:"teacher.enroll_name",teacher_phone:"teacher.phone",signup_teacher_name:"teacher.signup_name",signup_teacher_phone:"teacher.signup_phone",signup_teacher_department:"teacher.signup_department",signup_teacher_position:"teacher.signup_position",signup_teacher_id_card:"teacher.signup_id_card",signup_teacher_email:"teacher.signup_email",signup_teacher_username:"teacher.signup_username",venue_name:"classroom.venue_name",venue_address:"classroom.venue_address",competition_daily_start:"competition.daily_start",competition_daily_end:"competition.daily_end"},qr=[{id:"student",label:"学生",builtin:!0,enabled:!0,fields:[{key:"name",label:"姓名"},{key:"competition_no",label:"参赛编号"},{key:"age_group",label:"年龄段"}],sample:{name:"张三",competition_no:"A001",age_group:"中班"}},{id:"teacher",label:"教师",builtin:!0,enabled:!0,fields:[{key:"name",label:"监考教师"},{key:"phone",label:"手机"},{key:"enroll_name",label:"带队教师"},{key:"signup_name",label:"报名教师"},{key:"signup_phone",label:"报名教师手机"},{key:"signup_department",label:"报名教师部门"},{key:"signup_position",label:"报名教师职务"},{key:"signup_id_card",label:"报名教师身份证"},{key:"signup_email",label:"报名教师邮箱"},{key:"signup_username",label:"报名教师账号"}],sample:{name:"李老师",phone:"13800000000",signup_name:"王老师"}},{id:"classroom",label:"教室",builtin:!0,enabled:!0,fields:[{key:"name",label:"考场/教室"},{key:"seat_no",label:"座位号"},{key:"floor",label:"楼层"},{key:"venue_name",label:"场地名称"},{key:"venue_address",label:"场地地址"}],sample:{name:"301 教室",seat_no:"12",floor:"3F"}},{id:"school",label:"学校",builtin:!0,enabled:!0,fields:[{key:"name",label:"学校全称"},{key:"short_name",label:"学校简称"}],sample:{name:"示范幼儿园",short_name:"示范园"}},{id:"competition",label:"比赛",builtin:!0,enabled:!0,fields:[{key:"name",label:"比赛名称"},{key:"date",label:"比赛日期"},{key:"session",label:"场次"},{key:"daily_start",label:"当天开始"},{key:"daily_end",label:"当天结束"}],sample:{name:"示例比赛",date:"2026-08-16",session:"上午场"}}];function da(){return qr.map(t=>({...t,fields:t.fields.map(a=>({...a})),sample:t.sample?{...t.sample}:void 0}))}function Fo(t,a){var n,r;const o=new Map;for(const c of da())o.set(c.id,c);for(const c of t||[]){const d=o.get(c.id);o.set(c.id,d?{...d,...c,fields:(n=c.fields)!=null&&n.length?c.fields:d.fields}:{...c})}for(const c of a||[]){const d=o.get(c.id);o.set(c.id,d?{...d,...c,fields:(r=c.fields)!=null&&r.length?c.fields:d.fields}:{...c})}return[...o.values()].filter(c=>c.enabled!==!1)}function lf(t,a){return`{{${t}.${a}}}`}function af(t){const a=[];for(const o of t)for(const n of o.fields)a.push({moduleId:o.id,moduleLabel:o.label,key:n.key,label:n.label,token:lf(o.id,n.key)});return a}function ma(t){const a={};for(const o of t)a[o.id]={...o.sample||{}};return a}function rf(t,a){const o={};for(const[r,c]of Object.entries(t))c!=null&&(o[r]=String(c));!o.competition_name&&a&&(o.competition_name=a);const n={...o};for(const[r,c]of Object.entries(ci)){const[d,f]=c.split("."),m=o[r]??"";(!n[d]||typeof n[d]=="string")&&(n[d]={}),n[d][f]=m}return n}function Yr(t,a){return{id:`custom_${Date.now().toString(36)}`,label:t||"自定义模块",builtin:!1,enabled:!0,fields:a!=null&&a.length?a:[{key:"name",label:"名称"},{key:"value",label:"值"}],sample:{name:"示例",value:"123"}}}function Kr(t,a){const o=a.split(".").filter(Boolean);if(o.length===1){const n=t[o[0]];return n==null?"":typeof n=="string"?n:""}if(o.length>=2){const n=t[o[0]];if(n&&typeof n=="object"){const r=n[o[1]];return r!=null&&r!==""?String(r):""}}return""}function cf(t,a){const o=String(a||"").trim();if(!o)return"";if(o.includes(".")){const c=Kr(t,o);if(c)return c}const n=t[o];if(typeof n=="string"&&n!=="")return n;const r=ci[o];if(r){const c=Kr(t,r);if(c)return c}return""}function Hn(t,a){if(!t)return"";const o=a;return t.replace(/\{\{\s*([a-zA-Z0-9_.]+)\s*\}\}/g,(n,r)=>cf(o,r))}function sf(t,a){return Hn(t,a)}function Xr(t){return[...t].sort((a,o)=>(a.zIndex??0)-(o.zIndex??0))}function si(t){return t?(/^(https?:|data:|blob:|\/\/)/i.test(t),t):""}const df=["src"],mf=["src"],ff={class:"fou-canvas-shape-svg",viewBox:"0 0 100 100",preserveAspectRatio:"none"},uf=["stroke","stroke-width"],pf=["fill","stroke","stroke-width"],hf=["fill","stroke","stroke-width"],gf=["fill","stroke","stroke-width"],_f=["points","fill","stroke","stroke-width"],qn=96/25.4,di=me(e.defineComponent({name:"FouCanvasRenderer",__name:"FouCanvasRenderer",props:{doc:{},mergeData:{default:()=>({})},screenScale:{default:1},enableLinks:{type:Boolean,default:!0}},setup(t){const a=t,o=e.computed(()=>{var x,N;return(N=(x=a.doc)==null?void 0:x.elements)!=null&&N.length?Xr(a.doc.elements):[]}),n=e.computed(()=>{const x=a.doc;if(!(x!=null&&x.canvas))return{};const N=x.canvas.showBorder!==!1&&x.mode!=="banner",M=x.canvas.borderColor||"#334155",u=Number(x.canvas.borderWidthMm),B=Number.isFinite(u)&&u>0?u:.35,I=x.canvas.unit==="px"||x.mode==="banner"&&!!x.canvas.widthPx;return{width:I?`${x.canvas.widthPx??Math.round(x.canvas.widthMm*qn)}px`:`${x.canvas.widthMm}mm`,height:I?`${x.canvas.heightPx??Math.round(x.canvas.heightMm*qn)}px`:`${x.canvas.heightMm}mm`,position:"relative",boxSizing:"border-box",overflow:"hidden",backgroundColor:x.canvas.background||"transparent",border:N?`${B}mm solid ${M}`:"0 solid transparent"}}),r=e.computed(()=>{var N,M;const x=(M=(N=a.doc)==null?void 0:N.canvas)==null?void 0:M.backgroundImage;return x?si(x):""}),c=e.computed(()=>({transform:`scale(${a.screenScale})`,transformOrigin:"top left"})),d=e.computed(()=>{var B,I;const x=(B=a.doc)==null?void 0:B.canvas;if(!x)return{};const N=x.unit==="px"||((I=a.doc)==null?void 0:I.mode)==="banner"&&!!x.widthPx,M=N?(x.widthPx??x.widthMm*qn)*a.screenScale:x.widthMm*qn*a.screenScale,u=N?(x.heightPx??x.heightMm*qn)*a.screenScale:x.heightMm*qn*a.screenScale;return{width:`${M}px`,height:`${u}px`,overflow:"hidden",lineHeight:0,display:"inline-block",verticalAlign:"top"}});function f(x){return Hn(x.text,a.mergeData||{})}function m(x){var N;return(N=x.link)!=null&&N.href?Hn(x.link.href,a.mergeData||{}):""}function h(x){switch(x){case"center":return{justifyContent:"center",alignItems:"center",textAlign:"center"};case"top-center":return{justifyContent:"center",alignItems:"flex-start",textAlign:"center"};case"bottom-center":return{justifyContent:"center",alignItems:"flex-end",textAlign:"center"};case"middle-left":return{justifyContent:"flex-start",alignItems:"center",textAlign:"left"};case"middle-right":return{justifyContent:"flex-end",alignItems:"center",textAlign:"right"};default:return{justifyContent:"flex-start",alignItems:"flex-start",textAlign:"left"}}}function p(x){var M;const N=[];return x.rotation&&N.push(`rotate(${x.rotation}deg)`),x.flipX&&N.push("scaleX(-1)"),x.flipY&&N.push("scaleY(-1)"),{position:"absolute",left:`${x.xMm}mm`,top:`${x.yMm}mm`,width:`${x.wMm}mm`,height:`${x.hMm}mm`,zIndex:x.zIndex??1,transform:N.join(" ")||void 0,transformOrigin:"center center",pointerEvents:a.enableLinks&&((M=x.link)!=null&&M.href)?"auto":"none",textDecoration:"none",color:void 0}}function _(x){const N=h(x.align),M=x.textDirection==="vertical";return{...p(x),display:"flex",...N,fontSize:`${x.fontSize}pt`,fontFamily:x.fontFamily,color:x.color,lineHeight:1.25,whiteSpace:"pre-wrap",wordBreak:"break-word",overflow:"hidden",writingMode:M?"vertical-rl":"horizontal-tb",textOrientation:M?"upright":"mixed"}}function C(x){return x.type!=="image"&&x.type!=="seal"?{}:{...p(x),display:"flex",justifyContent:"center",alignItems:"center",padding:"0.5mm",boxSizing:"border-box"}}function E(x){return{...p(x),boxSizing:"border-box",opacity:x.opacity!=null?String(x.opacity):void 0}}function b(x){return x.showStroke===!1?"none":x.strokeColor||"#606266"}function V(x){return Math.max(0,Number(x.strokeWidthMm??.6))}function k(x){return x.background||"transparent"}function S(x){const N=Math.max(3,Math.min(12,Math.round(Number(x.polygonSides??5)))),M=[];for(let u=0;u<N;u++){const B=-Math.PI/2+Math.PI*2*u/N;M.push(`${50+Math.cos(B)*44},${50+Math.sin(B)*44}`)}return M.join(" ")}return(x,N)=>{var M;return(M=t.doc)!=null&&M.canvas?(e.openBlock(),e.createElementBlock("div",{key:0,class:"qck-layout-clip",style:e.normalizeStyle(d.value)},[e.createElementVNode("div",{class:"qck-screen-wrap",style:e.normalizeStyle(c.value)},[e.createElementVNode("div",{class:"fou-canvas-root qck-print-root",style:e.normalizeStyle(n.value)},[r.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"fou-canvas-bg",src:r.value,alt:"",crossorigin:"anonymous"},null,8,df)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.doc.regions||[],u=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:"fou-canvas-region",style:e.normalizeStyle({left:`${u.xMm}mm`,top:`${u.yMm}mm`,width:`${u.wMm}mm`,height:`${u.hMm}mm`,backgroundColor:u.background||"transparent",backgroundImage:u.backgroundImage?`url(${e.unref(si)(u.backgroundImage)})`:void 0,backgroundSize:u.backgroundImage?"cover":void 0,backgroundPosition:u.backgroundImage?"center":void 0})},null,4))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,u=>{var B,I,$,z,w,R;return e.openBlock(),e.createElementBlock(e.Fragment,{key:u.id},[u.type==="text"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.enableLinks&&m(u)?"a":"div"),{key:0,href:t.enableLinks&&m(u)?m(u):void 0,target:((B=u.link)==null?void 0:B.target)||"_blank",rel:((I=u.link)==null?void 0:I.target)==="_self"?void 0:"noopener noreferrer",style:e.normalizeStyle(_(u))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f(u)),1)]),_:2},1032,["href","target","rel","style"])):u.type==="image"||u.type==="seal"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.enableLinks&&m(u)?"a":"div"),{key:1,href:t.enableLinks&&m(u)?m(u):void 0,target:(($=u.link)==null?void 0:$.target)||"_blank",rel:((z=u.link)==null?void 0:z.target)==="_self"?void 0:"noopener noreferrer",style:e.normalizeStyle(C(u))},{default:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(si)(u.src),alt:"",style:{"max-width":"100%","max-height":"100%","object-fit":"contain"}},null,8,mf)]),_:2},1032,["href","target","rel","style"])):u.type==="shape"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.enableLinks&&m(u)?"a":"div"),{key:2,href:t.enableLinks&&m(u)?m(u):void 0,target:((w=u.link)==null?void 0:w.target)||"_blank",rel:((R=u.link)==null?void 0:R.target)==="_self"?void 0:"noopener noreferrer",style:e.normalizeStyle(E(u))},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",ff,[u.shape==="line"?(e.openBlock(),e.createElementBlock("line",{key:0,x1:"4",y1:"50",x2:"96",y2:"50",stroke:b(u),"stroke-width":Math.max(V(u)*3.2,1),"stroke-linecap":"round"},null,8,uf)):u.shape==="rect"?(e.openBlock(),e.createElementBlock("rect",{key:1,x:"4",y:"4",width:"92",height:"92",fill:k(u),stroke:b(u),"stroke-width":V(u)*3.2},null,8,pf)):u.shape==="circle"?(e.openBlock(),e.createElementBlock("ellipse",{key:2,cx:"50",cy:"50",rx:"46",ry:"46",fill:k(u),stroke:b(u),"stroke-width":V(u)*3.2},null,8,hf)):u.shape==="triangle"?(e.openBlock(),e.createElementBlock("polygon",{key:3,points:"50,4 96,96 4,96",fill:k(u),stroke:b(u),"stroke-width":V(u)*3.2,"stroke-linejoin":"round"},null,8,gf)):(e.openBlock(),e.createElementBlock("polygon",{key:4,points:S(u),fill:k(u),stroke:b(u),"stroke-width":V(u)*3.2,"stroke-linejoin":"round"},null,8,_f))]))]),_:2},1032,["href","target","rel","style"])):e.createCommentVNode("",!0)],64)}),128))],4)],4)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-3a556c53"]]),bf=Object.freeze(Object.defineProperty({__proto__:null,default:di},Symbol.toStringTag,{value:"Module"})),Yn=e.defineComponent({name:"FouBadgeTemplateRenderer",__name:"BadgeTemplateRenderer",props:{doc:{},mergeData:{default:()=>({})},screenScale:{default:1},enableLinks:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createBlock(di,{doc:t.doc,"merge-data":t.mergeData,"screen-scale":t.screenScale,"enable-links":t.enableLinks},null,8,["doc","merge-data","screen-scale","enable-links"]))}}),yf=Object.freeze(Object.defineProperty({__proto__:null,default:Yn},Symbol.toStringTag,{value:"Module"})),kf={class:"page-container badge-library-page"},wf=Object.freeze(Object.defineProperty({__proto__:null,default:me(e.defineComponent({__name:"BadgeLibraryView",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",kf,[o[0]||(o[0]=e.createElementVNode("div",{class:"page-head"},[e.createElementVNode("h2",{class:"page-h2"},"证件图片库"),e.createElementVNode("p",{class:"page-desc"},"管理模板编辑中上传的图片,可删除不再使用的文件;删除后已保存模板里若仍引用该地址将无法显示。")],-1)),e.createVNode(ii)]))}}),[["__scopeId","data-v-92a36921"]])},Symbol.toStringTag,{value:"Module"})),xf=["disabled"],Vf=["value","disabled","readonly","onKeydown"],Cf=["disabled"],Nf=["disabled"],Nl=me(e.defineComponent({name:"FouInputNumber",__name:"index",props:{modelValue:{default:null},min:{default:-1/0},max:{default:1/0},step:{default:1},stepStrictly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},controlsPosition:{default:""},size:{default:"default"},precision:{}},emits:["update:modelValue","change","blur"],setup(t,{expose:a,emit:o}){const n=t,r=o,c=e.ref(null),d=e.computed(()=>n.size||"default"),f=N=>Math.min(n.max,Math.max(n.min,N)),m=N=>{if(!n.stepStrictly)return N;const M=Math.round((N-n.min)/n.step);return f(n.min+M*n.step)},h=N=>{if(N==null||Number.isNaN(N))return null;let M=m(N);return M=f(M),n.precision!==void 0&&(M=Number(M.toFixed(n.precision))),M},p=e.computed(()=>n.modelValue===null||n.modelValue===void 0?"":String(n.modelValue)),_=e.computed(()=>n.modelValue!==null&&n.modelValue<=n.min),C=e.computed(()=>n.modelValue!==null&&n.modelValue>=n.max),E=N=>{r("update:modelValue",N),r("change",N)},b=()=>n.modelValue??(n.min===-1/0?0:n.min),V=()=>{n.disabled||E(h(b()+n.step))},k=()=>{n.disabled||E(h(b()-n.step))},S=N=>{const M=N.target.value;if(M===""||M==="-"){r("update:modelValue",null);return}const u=Number(M);Number.isNaN(u)||r("update:modelValue",u)},x=N=>{const M=h(n.modelValue??null);M!==n.modelValue&&E(M),r("blur",N)};return a({focus:()=>{var N;return(N=c.value)==null?void 0:N.focus()}}),(N,M)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-input-number",[`fou-input-number--${e.unref(d)}`,{"is-disabled":t.disabled,"is-controls-right":t.controlsPosition==="right","is-without-controls":!t.controls}]])},[t.controls&&t.controlsPosition!=="right"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-input-number__decrease",disabled:t.disabled||e.unref(_),tabindex:"-1",onMousedown:M[0]||(M[0]=e.withModifiers(()=>{},["prevent"])),onClick:k}," − ",40,xf)):e.createCommentVNode("",!0),e.createElementVNode("input",{ref_key:"inputRef",ref:c,class:"fou-input-number__inner",type:"text",value:e.unref(p),disabled:t.disabled,readonly:t.readonly,onInput:S,onBlur:x,onKeydown:[e.withKeys(e.withModifiers(V,["prevent"]),["up"]),e.withKeys(e.withModifiers(k,["prevent"]),["down"])]},null,40,Vf),t.controls?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"fou-input-number__increase",disabled:t.disabled||e.unref(C),tabindex:"-1",onMousedown:M[1]||(M[1]=e.withModifiers(()=>{},["prevent"])),onClick:V}," + ",40,Cf)):e.createCommentVNode("",!0),t.controls&&t.controlsPosition==="right"?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"fou-input-number__decrease fou-input-number__decrease--right",disabled:t.disabled||e.unref(_),tabindex:"-1",onMousedown:M[2]||(M[2]=e.withModifiers(()=>{},["prevent"])),onClick:k}," − ",40,Nf)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-de5e7cb9"]]),Bf=Object.freeze(Object.defineProperty({__proto__:null,default:Nl},Symbol.toStringTag,{value:"Module"})),vr=Symbol("fouForm"),$f=Symbol("fouFormItem"),Kn=me(e.defineComponent({name:"FouForm",__name:"index",props:{model:{},rules:{},labelWidth:{default:""},labelPosition:{default:"right"},inline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideRequiredAsterisk:{type:Boolean,default:!1},requireAsteriskPosition:{default:"left"},validateOnRuleChange:{type:Boolean,default:!0}},emits:["validate"],setup(t,{expose:a,emit:o}){const n=t,r=o,c=e.computed(()=>!n.labelWidth&&n.labelWidth!==0?"":typeof n.labelWidth=="number"?`${n.labelWidth}px`:n.labelWidth),d=e.computed(()=>{if(c.value)return{"--fou-form-label-width":c.value}}),f=e.ref([]),m=V=>{f.value.find(k=>k.uid===V.uid)||f.value.push(V)},h=V=>{f.value=f.value.filter(k=>k.uid!==V.uid)},p=V=>{const k=f.value.filter(S=>S.prop);return Promise.all(k.map(S=>S.validate(""))).then(S=>{const x=S.every(Boolean);return V==null||V(x),x}).catch(()=>(V==null||V(!1),!1))},_=async V=>{const k=Array.isArray(V)?V:[V],S=f.value.filter(N=>N.prop&&k.includes(N.prop));return(await Promise.all(S.map(N=>N.validate("")))).every(Boolean)},C=()=>{f.value.forEach(V=>V.resetField())},E=V=>{const k=V?Array.isArray(V)?V:[V]:null;f.value.forEach(S=>{(!k||S.prop&&k.includes(S.prop))&&S.clearValidate()})},b={model:e.computed(()=>n.model),rules:e.computed(()=>n.rules),labelWidth:c,labelPosition:e.computed(()=>n.labelPosition),disabled:e.computed(()=>n.disabled),hideRequiredAsterisk:e.computed(()=>n.hideRequiredAsterisk),addField:m,removeField:h,emitValidate:(V,k,S)=>r("validate",V,k,S)};return e.provide(vr,b),e.provide("fouFormLabelWidth",c),e.provide("fouFormLabelPosition",e.computed(()=>n.labelPosition)),e.watch(()=>n.rules,()=>{n.validateOnRuleChange&&p()},{deep:!0}),a({validate:p,validateField:_,resetFields:C,clearValidate:E}),(V,k)=>(e.openBlock(),e.createElementBlock("form",{class:e.normalizeClass(["fou-form",[`fou-form--label-${t.labelPosition}`,{"fou-form--inline":t.inline}]]),style:e.normalizeStyle(e.unref(d)),onSubmit:k[0]||(k[0]=e.withModifiers(()=>{},["prevent"]))},[e.renderSlot(V.$slots,"default",{},void 0,!0)],38))}}),[["__scopeId","data-v-74edc797"]]),Ef=Object.freeze(Object.defineProperty({__proto__:null,default:Kn},Symbol.toStringTag,{value:"Module"})),Sf=["aria-checked","aria-disabled"],Mf={key:0,class:"fou-switch__label"},zf={key:0,class:"fou-switch__label--left"},Tf={key:1,class:"fou-switch__label--right"},Bl=me(e.defineComponent({name:"FouSwitch",__name:"index",props:{modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},size:{default:"default"},activeText:{default:""},inactiveText:{default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.computed(()=>o.modelValue===o.activeValue||o.modelValue===!0),c=()=>{if(o.disabled)return;const d=r.value?o.inactiveValue:o.activeValue;n("update:modelValue",d),n("change",d)};return(d,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-switch",[`fou-switch--${t.size}`,{"is-checked":e.unref(r),"is-disabled":t.disabled}]]),role:"switch","aria-checked":e.unref(r),"aria-disabled":t.disabled,onClick:c},[f[0]||(f[0]=e.createElementVNode("span",{class:"fou-switch__core"},[e.createElementVNode("span",{class:"fou-switch__action"})],-1)),t.inactiveText||t.activeText?(e.openBlock(),e.createElementBlock("span",Mf,[!e.unref(r)&&t.inactiveText?(e.openBlock(),e.createElementBlock("span",zf,e.toDisplayString(t.inactiveText),1)):e.createCommentVNode("",!0),e.unref(r)&&t.activeText?(e.openBlock(),e.createElementBlock("span",Tf,e.toDisplayString(t.activeText),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,Sf))}}),[["__scopeId","data-v-5aae8cea"]]),Ff=Object.freeze(Object.defineProperty({__proto__:null,default:Bl},Symbol.toStringTag,{value:"Module"})),fa=me(e.defineComponent({name:"FouCheckboxGroup",__name:"FouCheckboxGroup",props:{modelValue:{default:()=>[]},disabled:{type:Boolean,default:!1},type:{default:"default"}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.computed(()=>o.modelValue),c=e.computed(()=>o.disabled),d=(f,m)=>{const h=[...o.modelValue],p=h.indexOf(f);m&&p<0?h.push(f):!m&&p>=0&&h.splice(p,1),n("update:modelValue",h),n("change",h)};return e.provide("fouCheckboxGroup",{modelValue:r,disabled:c,type:e.computed(()=>o.type),toggleOption:d}),(f,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-checkbox-group",[{"is-disabled":t.disabled},`fou-checkbox-group--${t.type}`]]),role:"group"},[e.renderSlot(f.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-d8f4dece"]]),If=Object.freeze(Object.defineProperty({__proto__:null,default:fa},Symbol.toStringTag,{value:"Module"})),Df={class:"fou-checkbox__input"},Rf=["checked","disabled","value"],Lf={key:0,class:"fou-checkbox__label"},Bn=me(e.defineComponent({name:"FouCheckbox",__name:"index",props:{modelValue:{type:[Boolean,String,Number],default:!1},label:{},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},trueLabel:{},falseLabel:{},border:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.useSlots(),c=e.inject("fouCheckboxGroup",null),d=e.computed(()=>o.disabled||(c==null?void 0:c.disabled.value)),f=e.computed(()=>{var _;return((_=c==null?void 0:c.type)==null?void 0:_.value)==="button"}),m=e.computed(()=>r.default?!0:o.label===void 0||o.label===null?!1:String(o.label).length>0),h=e.computed(()=>c?c.modelValue.value.includes(o.label):o.trueLabel!==void 0||o.falseLabel!==void 0?o.modelValue===o.trueLabel:!!o.modelValue),p=_=>{if(d.value)return;const C=_.target.checked;if(c&&o.label!==void 0){c.toggleOption(o.label,C);return}let E=C;(o.trueLabel!==void 0||o.falseLabel!==void 0)&&(E=C?o.trueLabel??!0:o.falseLabel??!1),n("update:modelValue",E),n("change",E)};return(_,C)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["fou-checkbox",{"is-checked":e.unref(h),"is-disabled":e.unref(d),"is-indeterminate":t.indeterminate,"is-button":e.unref(f),"is-border":t.border}])},[e.createElementVNode("span",Df,[e.createElementVNode("input",{type:"checkbox",class:"fou-checkbox__original",checked:e.unref(h),disabled:e.unref(d),value:t.label,onChange:p},null,40,Rf),C[0]||(C[0]=e.createElementVNode("span",{class:"fou-checkbox__inner"},null,-1))]),e.unref(m)?(e.openBlock(),e.createElementBlock("span",Lf,[e.renderSlot(_.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-2301b3b6"]]),Pf=Object.freeze(Object.defineProperty({__proto__:null,default:Bn},Symbol.toStringTag,{value:"Module"})),$l=me(e.defineComponent({name:"FouRadioGroup",__name:"FouRadioGroup",props:{modelValue:{type:[String,Number,Boolean]},disabled:{type:Boolean,default:!1},name:{default:""},type:{default:"default"}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.computed(()=>o.name||`fou-radio-group-${Math.random().toString(36).slice(2,9)}`),c=e.computed(()=>o.modelValue),d=e.computed(()=>o.disabled),f=m=>{n("update:modelValue",m),n("change",m)};return e.provide("fouRadioGroup",{modelValue:c,disabled:d,name:r,type:e.computed(()=>o.type),changeEvent:f}),(m,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-radio-group",[{"is-disabled":t.disabled},`fou-radio-group--${t.type}`]]),role:"radiogroup"},[e.renderSlot(m.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-442b6108"]]),Of=Object.freeze(Object.defineProperty({__proto__:null,default:$l},Symbol.toStringTag,{value:"Module"})),jf={class:"fou-radio__input"},Af=["checked","disabled","name","value"],Uf={key:0,class:"fou-radio__label"},ua=me(e.defineComponent({name:"FouRadio",__name:"index",props:{modelValue:{type:[String,Number,Boolean]},label:{type:[String,Number,Boolean]},disabled:{type:Boolean,default:!1},border:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,r=e.inject("fouRadioGroup",null),c=`fou-radio-${Math.random().toString(36).slice(2,9)}`,d=e.computed(()=>o.disabled||(r==null?void 0:r.disabled.value)),f=e.computed(()=>{var _;return((_=r==null?void 0:r.type)==null?void 0:_.value)==="button"}),m=e.computed(()=>(r?r.modelValue.value:o.modelValue)===o.label),h=e.computed(()=>(r==null?void 0:r.name.value)||c),p=()=>{d.value||o.label===void 0||(r?r.changeEvent(o.label):(n("update:modelValue",o.label),n("change",o.label)))};return(_,C)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["fou-radio",{"is-checked":e.unref(m),"is-disabled":e.unref(d),"is-button":e.unref(f),"is-border":t.border}])},[e.createElementVNode("span",jf,[e.createElementVNode("input",{type:"radio",class:"fou-radio__original",checked:e.unref(m),disabled:e.unref(d),name:e.unref(h),value:t.label,onChange:p},null,40,Af),C[0]||(C[0]=e.createElementVNode("span",{class:"fou-radio__inner"},null,-1))]),_.$slots.default||t.label!==void 0?(e.openBlock(),e.createElementBlock("span",Uf,[e.renderSlot(_.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-7d7b3ed2"]]),Wf=Object.freeze(Object.defineProperty({__proto__:null,default:ua},Symbol.toStringTag,{value:"Module"})),Hf=["onKeydown"],qf={class:"fou-select__suffix"},Yf=["onClick"],Kf={key:2,class:"fou-select__empty"},El=me(e.defineComponent({name:"FouSelect",inheritAttrs:!1,__name:"index",props:{modelValue:{type:[String,Number,Boolean,null],default:null},options:{default:void 0},placeholder:{default:"请选择"},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"default"},fit:{type:Boolean,default:!1}},emits:["update:modelValue","change","clear","visibleChange"],setup(t,{emit:a}){const o=t,n=a,r=e.useAttrs(),c=e.useSlots(),d=e.ref(null),f=e.ref(null),m=e.ref(!1),h=e.ref([]),p=e.ref(new Map),_=e.ref({position:"fixed",top:"-9999px",left:"-9999px",zIndex:3100,minWidth:"120px"}),C=e.computed(()=>o.size||"default"),E=e.computed(()=>r.style||void 0),b=e.computed(()=>o.modelValue!==null&&o.modelValue!==void 0&&o.modelValue!==""),V=e.computed(()=>!!c.default),k=e.computed(()=>{var q;return(q=o.options)!=null&&q.length?o.options:h.value}),S=e.computed(()=>{if(!b.value)return"";const q=k.value.find(ae=>ae.value===o.modelValue);return q?q.label:p.value.get(o.modelValue)??String(o.modelValue)}),x=e.computed(()=>o.modelValue),N=(q,ae)=>{p.value.set(q,ae),n("update:modelValue",q),n("change",q),z()},M=q=>{},u=q=>{const ae=h.value.findIndex(X=>X.value===q.value);ae>=0?h.value[ae]=q:h.value.push(q),p.value.set(q.value,q.label)},B=q=>{h.value=h.value.filter(ae=>ae.value!==q)};e.provide("fouSelect",{modelValue:x,selectOption:N,setHoverOption:M,registerOption:u,unregisterOption:B});const I=()=>{const q=d.value,ae=f.value;if(!q||!ae)return;const X=q.getBoundingClientRect(),T=ae.getBoundingClientRect(),fe=4,ge=window.innerWidth,de=window.innerHeight;let oe=X.bottom+fe,ce=X.left;const Ne=Math.max(X.width,120);oe+T.height>de-4&&(oe=X.top-T.height-fe),oe<4&&(oe=4),ce+Ne>ge-4&&(ce=ge-Ne-4),ce<4&&(ce=4),_.value={position:"fixed",top:`${Math.round(oe)}px`,left:`${Math.round(ce)}px`,zIndex:3100,minWidth:`${Math.round(Ne)}px`}},$=async()=>{o.disabled||(m.value=!0,n("visibleChange",!0),await e.nextTick(),I(),requestAnimationFrame(()=>I()))},z=()=>{m.value&&(m.value=!1,n("visibleChange",!1))},w=()=>{o.disabled||(m.value?z():$())},R=()=>{n("update:modelValue",null),n("change",null),n("clear")},j=q=>{var X,T;if(!m.value)return;const ae=q.target;(X=d.value)!=null&&X.contains(ae)||(T=f.value)!=null&&T.contains(ae)||z()},J=()=>{m.value&&I()};return e.watch(m,q=>{q?(document.addEventListener("mousedown",j,!0),window.addEventListener("scroll",J,!0),window.addEventListener("resize",J)):(document.removeEventListener("mousedown",j,!0),window.removeEventListener("scroll",J,!0),window.removeEventListener("resize",J))}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",j,!0),window.removeEventListener("scroll",J,!0),window.removeEventListener("resize",J)}),(q,ae)=>{const X=_t;return e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:d,class:e.normalizeClass(["fou-select",[`fou-select--${e.unref(C)}`,e.unref(r).class,{"is-disabled":t.disabled,"is-focused":e.unref(m),"is-clearable":t.clearable,"is-fit":t.fit}]]),style:e.normalizeStyle(e.unref(E))},[e.createElementVNode("div",{class:"fou-select__wrapper",tabindex:"0",onClick:w,onKeydown:[e.withKeys(e.withModifiers(w,["prevent"]),["enter"]),e.withKeys(e.withModifiers(w,["prevent"]),["space"]),e.withKeys(z,["esc"]),e.withKeys(e.withModifiers($,["prevent"]),["down"])]},[e.createElementVNode("span",{class:e.normalizeClass(["fou-select__selected",{"is-placeholder":!e.unref(S)}])},e.toDisplayString(e.unref(S)||t.placeholder),3),e.createElementVNode("span",qf,[t.clearable&&e.unref(b)&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-select__clear",tabindex:"-1",onMousedown:ae[0]||(ae[0]=e.withModifiers(()=>{},["prevent"])),onClick:e.withModifiers(R,["stop"])}," × ",32)):e.createCommentVNode("",!0),e.createVNode(X,{class:e.normalizeClass(["fou-select__caret",{"is-open":e.unref(m)}]),icon:"arrow-down-s-line"},null,8,["class"])])],40,Hf),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-select-fade"},{default:e.withCtx(()=>[e.unref(m)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:f,class:"fou-select__dropdown",style:e.normalizeStyle(e.unref(_)),onClick:ae[1]||(ae[1]=e.withModifiers(()=>{},["stop"]))},[e.unref(k).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(k),T=>(e.openBlock(),e.createElementBlock("div",{key:String(T.value),class:e.normalizeClass(["fou-option fou-select__option",{"is-selected":t.modelValue===T.value,"is-disabled":T.disabled}]),onClick:fe=>!T.disabled&&N(T.value,T.label)},e.toDisplayString(T.label),11,Yf))),128)):e.renderSlot(q.$slots,"default",{},void 0,!0,1),!e.unref(k).length&&!e.unref(V)?(e.openBlock(),e.createElementBlock("div",Kf," 无数据 ")):e.createCommentVNode("",!0)],4)):e.createCommentVNode("",!0)]),_:3})]))],6)}}}),[["__scopeId","data-v-82d7aeca"]]),Xf=Object.freeze(Object.defineProperty({__proto__:null,default:El},Symbol.toStringTag,{value:"Module"})),vf={class:"fou-form-item__content"},Gf={key:0,class:"fou-form-item__error"},Xn=me(e.defineComponent({name:"FouFormItem",__name:"index",props:{label:{},labelWidth:{},required:{type:Boolean,default:void 0},prop:{},error:{},rules:{}},setup(t,{expose:a}){var M;const o=t,n=e.inject(vr,null),r=e.inject("fouFormLabelWidth",e.ref("")),c=e.inject("fouFormLabelPosition",e.ref("right")),d=((M=e.getCurrentInstance())==null?void 0:M.uid)??Math.random(),f=e.ref(""),m=e.ref(""),h=e.ref(void 0),p=e.computed(()=>o.labelWidth!==void 0&&o.labelWidth!==""?typeof o.labelWidth=="number"?`${o.labelWidth}px`:o.labelWidth:(n==null?void 0:n.labelWidth.value)||r.value),_=e.computed(()=>{if(((n==null?void 0:n.labelPosition.value)||c.value)!=="top"&&p.value)return{width:p.value}}),C=e.computed(()=>{if(!(!o.prop||!(n!=null&&n.model.value)))return n.model.value[o.prop]}),E=e.computed(()=>{var B;const u=[];if(o.rules&&u.push(...Array.isArray(o.rules)?o.rules:[o.rules]),o.prop&&((B=n==null?void 0:n.rules.value)!=null&&B[o.prop])){const I=n.rules.value[o.prop];u.push(...Array.isArray(I)?I:[I])}return u}),b=e.computed(()=>n!=null&&n.hideRequiredAsterisk.value?!1:o.required===!0?!0:o.required===!1?!1:E.value.some(u=>u.required)),V=(u,B)=>new Promise(I=>{if(u.required&&(B==null||B===""||Array.isArray(B)&&!B.length)){I(u.message||"必填项");return}if(u.min!=null||u.max!=null){const $=typeof B=="number"?B:String(B??"").length;if(u.min!=null&&$<u.min){I(u.message||`长度不能少于 ${u.min}`);return}if(u.max!=null&&$>u.max){I(u.message||`长度不能超过 ${u.max}`);return}}if(u.pattern&&B!=null&&B!==""&&!u.pattern.test(String(B))){I(u.message||"格式不正确");return}if(u.validator){u.validator(u,B,$=>{I($?typeof $=="string"?$:$.message||"校验失败":"")});return}I("")}),k=async u=>{if(o.error)return f.value="error",m.value=o.error,!1;const B=E.value.filter($=>{if(!u)return!0;const z=$.trigger;return z?(Array.isArray(z)?z:[z]).includes(u):!0});B.length;const I=u?B:E.value;if(!I.length)return f.value="",m.value="",!0;f.value="validating";for(const $ of I){const z=await V($,C.value);if(z)return f.value="error",m.value=z,o.prop&&(n==null||n.emitValidate(o.prop,!1,z)),!1}return f.value="success",m.value="",o.prop&&(n==null||n.emitValidate(o.prop,!0,"")),!0},S=()=>{o.prop&&(n!=null&&n.model.value)&&(n.model.value[o.prop]=h.value),x()},x=()=>{f.value="",m.value=""},N={uid:d,prop:o.prop,validate:k,resetField:S,clearValidate:x};return e.provide($f,{validate:k,prop:e.computed(()=>o.prop)}),e.onMounted(()=>{h.value=C.value,n==null||n.addField(N)}),e.onBeforeUnmount(()=>{n==null||n.removeField(N)}),e.watch(()=>o.error,u=>{u&&(f.value="error",m.value=u)}),e.watch(C,()=>{(f.value==="error"||E.value.some(u=>{const B=u.trigger;return B?(Array.isArray(B)?B:[B]).includes("change"):!0}))&&k("change")}),a({validate:k,resetField:S,clearValidate:x,validateState:f,validateMessage:m}),(u,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-form-item",{"is-required":e.unref(b),"is-error":e.unref(f)==="error"}])},[t.label||u.$slots.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:"fou-form-item__label",style:e.normalizeStyle(e.unref(_))},[e.renderSlot(u.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)],4)):e.createCommentVNode("",!0),e.createElementVNode("div",vf,[e.renderSlot(u.$slots,"default",{},void 0,!0),e.unref(m)&&e.unref(f)==="error"?(e.openBlock(),e.createElementBlock("div",Gf,e.toDisplayString(e.unref(m)),1)):e.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-c4d648d9"]]),Qf=Object.freeze(Object.defineProperty({__proto__:null,default:Xn},Symbol.toStringTag,{value:"Module"})),Jf={key:0,class:"fou-input__prepend"},Zf={class:"fou-input__wrapper"},eu={key:0,class:"fou-input__prefix"},tu=["value","placeholder","disabled","readonly","rows","maxlength"],ou=["type","value","placeholder","disabled","readonly","maxlength"],nu={key:3,class:"fou-input__suffix"},lu={key:1,class:"fou-input__append"},qo=me(e.defineComponent({name:"FouInput",inheritAttrs:!1,__name:"index",props:{modelValue:{default:""},type:{default:"text"},placeholder:{default:""},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{default:"default"},showPassword:{type:Boolean,default:!1},prefixIcon:{},suffixIcon:{},rows:{default:3},maxlength:{}},emits:["update:modelValue","input","change","focus","blur","clear","keyup"],setup(t,{expose:a,emit:o}){const n=t,r=e.useAttrs(),c=e.computed(()=>{const{class:u,style:B,...I}=r;return I}),d=o,f=e.ref(null),m=e.ref(null),h=e.ref(!1),p=e.ref(!1),_=e.computed(()=>n.size||"default"),C=e.computed(()=>n.type==="textarea"),E=e.computed(()=>n.showPassword?p.value?"text":"password":n.type||"text"),b=e.computed(()=>{const u=n.modelValue;return u!==""&&u!==void 0&&u!==null}),V=u=>{const B=u.target.value;d("update:modelValue",B),d("input",B)},k=u=>{h.value=!0,d("focus",u)},S=u=>{h.value=!1,d("blur",u)},x=()=>{d("update:modelValue",""),d("input",""),d("clear"),d("change","")};return a({focus:()=>{var u;(u=f.value||m.value)==null||u.focus()},blur:()=>{var u;(u=f.value||m.value)==null||u.blur()},inputRef:f,textareaRef:m}),(u,B)=>{const I=_t;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-input",[`fou-input--${e.unref(_)}`,{"is-disabled":t.disabled,"is-focused":e.unref(h),"is-clearable":t.clearable,"has-value":e.unref(b),"has-prefix":u.$slots.prefix||t.prefixIcon,"has-suffix":u.$slots.suffix||t.suffixIcon||t.clearable||t.showPassword,"is-textarea":e.unref(C)}]])},[u.$slots.prepend?(e.openBlock(),e.createElementBlock("div",Jf,[e.renderSlot(u.$slots,"prepend",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Zf,[u.$slots.prefix||t.prefixIcon?(e.openBlock(),e.createElementBlock("span",eu,[e.renderSlot(u.$slots,"prefix",{},()=>[t.prefixIcon?(e.openBlock(),e.createBlock(I,{key:0,icon:t.prefixIcon},null,8,["icon"])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock("textarea",e.mergeProps({key:1,ref_key:"textareaRef",ref:m,class:"fou-input__inner fou-input__textarea",value:t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,rows:t.rows,maxlength:t.maxlength},e.unref(c),{onInput:V,onFocus:k,onBlur:S,onChange:B[0]||(B[0]=$=>d("change",$.target.value))}),null,16,tu)):(e.openBlock(),e.createElementBlock("input",e.mergeProps({key:2,ref_key:"inputRef",ref:f,class:"fou-input__inner",type:e.unref(E),value:t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,maxlength:t.maxlength},e.unref(c),{onInput:V,onFocus:k,onBlur:S,onChange:B[1]||(B[1]=$=>d("change",$.target.value)),onKeyup:B[2]||(B[2]=e.withKeys($=>d("keyup",$),["enter"]))}),null,16,ou)),u.$slots.suffix||t.suffixIcon||t.clearable&&e.unref(b)||t.showPassword?(e.openBlock(),e.createElementBlock("span",nu,[t.clearable&&e.unref(b)&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-input__clear",tabindex:"-1",onMousedown:B[3]||(B[3]=e.withModifiers(()=>{},["prevent"])),onClick:x}," × ",32)):e.createCommentVNode("",!0),t.showPassword?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"fou-input__password",tabindex:"-1",onMousedown:B[4]||(B[4]=e.withModifiers(()=>{},["prevent"])),onClick:B[5]||(B[5]=$=>p.value=!e.unref(p))},[e.createVNode(I,{icon:e.unref(p)?"eye-line":"eye-off-line"},null,8,["icon"])],32)):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"suffix",{},()=>[t.suffixIcon?(e.openBlock(),e.createBlock(I,{key:0,icon:t.suffixIcon},null,8,["icon"])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)]),u.$slots.append?(e.openBlock(),e.createElementBlock("div",lu,[e.renderSlot(u.$slots,"append",{},void 0,!0)])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-d1add3e8"]]),au=Object.freeze(Object.defineProperty({__proto__:null,default:qo},Symbol.toStringTag,{value:"Module"})),iu={class:"fou-loading__content"},ru={key:0,class:"fou-loading__spinner"},cu={key:1,class:"fou-loading__dual-ring","aria-hidden":"true"},su={key:2,class:"fou-loading__crescent","aria-hidden":"true"},du={key:3,class:"fou-loading__gradient","aria-hidden":"true"},mu={key:4,class:"fou-loading__dash","aria-hidden":"true"},fu={key:5,class:"fou-loading__dots","aria-hidden":"true"},uu={key:6,class:"fou-loading__wave","aria-hidden":"true"},pu={key:7,class:"fou-loading__bounce","aria-hidden":"true"},hu={key:8,class:"fou-loading__bars","aria-hidden":"true"},gu={key:9,class:"fou-loading__bricks","aria-hidden":"true"},_u={key:10,class:"fou-loading__square","aria-hidden":"true"},bu={key:11,class:"fou-loading__flip","aria-hidden":"true"},yu={key:12,class:"fou-loading__pulse","aria-hidden":"true"},ku={key:13,class:"fou-loading__ripple","aria-hidden":"true"},wu={key:14,class:"fou-loading__orbit","aria-hidden":"true"},xu={key:15,class:"fou-loading__radar","aria-hidden":"true"},Vu={key:16,class:"fou-loading__spiral","aria-hidden":"true"},Cu={key:17,class:"fou-loading__infinity","aria-hidden":"true"},Nu={key:18,class:"fou-loading__hourglass","aria-hidden":"true"},Bu={key:19,class:"fou-loading__skeleton","aria-hidden":"true"},$u={key:20,class:"fou-loading__spinner"},Eu={key:21,class:"fou-loading__text"},pa=e.defineComponent({name:"FouLoading",__name:"spinner",props:{text:{default:""},fullscreen:{type:Boolean,default:!1},transparent:{type:Boolean,default:!1},effect:{default:"spinner"}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fou-loading",[`fou-loading--${t.effect}`,{"is-fullscreen":t.fullscreen,"is-transparent":t.transparent}]])},[o[13]||(o[13]=e.createElementVNode("div",{class:"fou-loading__mask"},null,-1)),e.createElementVNode("div",iu,[t.effect==="spinner"?(e.openBlock(),e.createElementBlock("span",ru)):t.effect==="dual-ring"?(e.openBlock(),e.createElementBlock("span",cu)):t.effect==="crescent"?(e.openBlock(),e.createElementBlock("span",su)):t.effect==="gradient"?(e.openBlock(),e.createElementBlock("span",du)):t.effect==="dash"?(e.openBlock(),e.createElementBlock("span",mu)):t.effect==="dots"?(e.openBlock(),e.createElementBlock("span",fu,[...o[0]||(o[0]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="wave"?(e.openBlock(),e.createElementBlock("span",uu,[...o[1]||(o[1]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="bounce"?(e.openBlock(),e.createElementBlock("span",pu,[...o[2]||(o[2]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="bars"?(e.openBlock(),e.createElementBlock("span",hu,[...o[3]||(o[3]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="bricks"?(e.openBlock(),e.createElementBlock("span",gu,[...o[4]||(o[4]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="square"?(e.openBlock(),e.createElementBlock("span",_u)):t.effect==="flip"?(e.openBlock(),e.createElementBlock("span",bu,[...o[5]||(o[5]=[e.createElementVNode("i",null,null,-1)])])):t.effect==="pulse"?(e.openBlock(),e.createElementBlock("span",yu,[...o[6]||(o[6]=[e.createElementVNode("i",null,null,-1)])])):t.effect==="ripple"?(e.openBlock(),e.createElementBlock("span",ku,[...o[7]||(o[7]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="orbit"?(e.openBlock(),e.createElementBlock("span",wu,[...o[8]||(o[8]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="radar"?(e.openBlock(),e.createElementBlock("span",xu,[...o[9]||(o[9]=[e.createElementVNode("i",null,null,-1)])])):t.effect==="spiral"?(e.openBlock(),e.createElementBlock("span",Vu,[...o[10]||(o[10]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):t.effect==="infinity"?(e.openBlock(),e.createElementBlock("span",Cu,[...o[11]||(o[11]=[e.createElementVNode("i",null,null,-1)])])):t.effect==="hourglass"?(e.openBlock(),e.createElementBlock("span",Nu)):t.effect==="skeleton"?(e.openBlock(),e.createElementBlock("span",Bu,[...o[12]||(o[12]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])])):(e.openBlock(),e.createElementBlock("span",$u)),t.text?(e.openBlock(),e.createElementBlock("p",Eu,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],2))}}),Su=Object.freeze(Object.defineProperty({__proto__:null,default:pa},Symbol.toStringTag,{value:"Module"})),Mu=["onKeydown"],zu={class:"fou-time-panel__body"},Tu={class:"fou-time-panel__spinner"},Fu=["onClick"],Iu={class:"fou-time-panel__spinner"},Du=["onClick"],Ru={key:0,class:"fou-time-panel__spinner"},Lu=["onClick"],Gr=me(e.defineComponent({name:"FouTime",inheritAttrs:!1,__name:"index",props:{modelValue:{default:null},format:{default:"HH:mm:ss"},placeholder:{default:"选择时间"},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},size:{default:"default"},fit:{type:Boolean,default:!1},hourStep:{default:1},minuteStep:{default:1},secondStep:{default:1}},emits:["update:modelValue","change","clear","visible-change"],setup(t,{emit:a}){const o=t,n=a,r=e.useAttrs(),c=e.ref(null),d=e.ref(null),f=e.ref(null),m=e.ref(null),h=e.ref(null),p=e.ref(!1),_=e.ref({position:"fixed",top:"-9999px",left:"-9999px",zIndex:3100}),C=e.reactive({hour:0,minute:0,second:0}),E=e.computed(()=>o.size||"default"),b=e.computed(()=>o.format!=="HH:mm"),V=e.computed(()=>o.modelValue!=null&&o.modelValue!==""),k=ce=>String(ce).padStart(2,"0"),S=(ce,Ne)=>{const De=Math.max(1,Math.floor(Ne||1)),$e=[];for(let Qe=0;Qe<=ce;Qe+=De)$e.push(Qe);return $e[$e.length-1]!==ce&&ce%De,$e},x=e.computed(()=>S(23,o.hourStep)),N=e.computed(()=>S(59,o.minuteStep)),M=e.computed(()=>S(59,o.secondStep)),u=ce=>{if(!ce)return null;const Ne=String(ce).trim().match(/^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/);if(!Ne)return null;const De=Math.min(23,Math.max(0,Number(Ne[1]))),$e=Math.min(59,Math.max(0,Number(Ne[2]))),Qe=Math.min(59,Math.max(0,Number(Ne[3]??0)));return{hour:De,minute:$e,second:Qe}},B=ce=>b.value?`${k(ce.hour)}:${k(ce.minute)}:${k(ce.second)}`:`${k(ce.hour)}:${k(ce.minute)}`,I=e.computed(()=>{const ce=u(o.modelValue);return ce?B(ce):""}),$=()=>{const ce=u(o.modelValue)||{hour:0,minute:0,second:0};C.hour=ce.hour,C.minute=ce.minute,C.second=ce.second},z=async()=>{await e.nextTick();const ce=(Ne,De)=>{if(!Ne)return;const $e=Ne.querySelector(".fou-time-panel__item.is-active");if($e){Ne.scrollTop=Math.max(0,$e.offsetTop-Ne.clientHeight/2+$e.clientHeight/2);return}const Qe=Array.from(Ne.children).findIndex(st=>Number(st.textContent)===De);if(Qe>=0){const st=Ne.children[Qe];Ne.scrollTop=Math.max(0,st.offsetTop-Ne.clientHeight/2+st.clientHeight/2)}};ce(f.value,C.hour),ce(m.value,C.minute),b.value&&ce(h.value,C.second)},w=()=>{const ce=c.value,Ne=d.value;if(!ce||!Ne)return;const De=ce.getBoundingClientRect(),$e=Ne.getBoundingClientRect(),Qe=4,st=window.innerWidth,ht=window.innerHeight;let Ye=De.bottom+Qe,ct=De.left;Ye+$e.height>ht-4&&(Ye=De.top-$e.height-Qe),Ye<4&&(Ye=4),ct+$e.width>st-4&&(ct=st-$e.width-4),ct<4&&(ct=4),_.value={position:"fixed",top:`${Math.round(Ye)}px`,left:`${Math.round(ct)}px`,zIndex:3100}},R=async()=>{o.disabled||($(),p.value=!0,n("visible-change",!0),await e.nextTick(),w(),await z(),requestAnimationFrame(()=>w()))},j=()=>{p.value&&(p.value=!1,n("visible-change",!1))},J=()=>{o.disabled||(p.value?j():R())},q=(ce,Ne)=>{C[ce]=Ne},ae=ce=>{n("update:modelValue",ce),n("change",ce)},X=()=>{ae(B({...C})),j()},T=()=>{j()},fe=()=>{const ce=new Date;C.hour=ce.getHours(),C.minute=ce.getMinutes(),C.second=ce.getSeconds(),ae(B({...C})),j()},ge=()=>{ae(null),n("clear")},de=ce=>{var De,$e;if(!p.value)return;const Ne=ce.target;(De=c.value)!=null&&De.contains(Ne)||($e=d.value)!=null&&$e.contains(Ne)||j()},oe=()=>{p.value&&w()};return e.watch(p,ce=>{ce?(document.addEventListener("mousedown",de,!0),window.addEventListener("scroll",oe,!0),window.addEventListener("resize",oe)):(document.removeEventListener("mousedown",de,!0),window.removeEventListener("scroll",oe,!0),window.removeEventListener("resize",oe))}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",de,!0),window.removeEventListener("scroll",oe,!0),window.removeEventListener("resize",oe)}),(ce,Ne)=>{const De=_t;return e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:c,class:e.normalizeClass(["fou-time",[`fou-time--${e.unref(E)}`,e.unref(r).class,{"is-disabled":t.disabled,"is-focused":e.unref(p),"is-fit":t.fit}]]),style:e.normalizeStyle(e.unref(r).style)},[e.createElementVNode("div",{class:"fou-time__editor",tabindex:"0",onClick:J,onKeydown:e.withKeys(e.withModifiers(J,["prevent"]),["enter"])},[e.createElementVNode("span",{class:e.normalizeClass(["fou-time__value",{"is-placeholder":!e.unref(I)}])},e.toDisplayString(e.unref(I)||t.placeholder),3),t.clearable&&e.unref(V)&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"fou-time__clear",tabindex:"-1",onMousedown:Ne[0]||(Ne[0]=e.withModifiers(()=>{},["prevent"])),onClick:e.withModifiers(ge,["stop"])}," × ",32)):e.createCommentVNode("",!0),e.createVNode(De,{icon:"time-line",class:"fou-time__icon"})],40,Mu),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-time-fade"},{default:e.withCtx(()=>[e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"panelRef",ref:d,class:"fou-time-panel",style:e.normalizeStyle(e.unref(_)),onMousedown:Ne[1]||(Ne[1]=e.withModifiers(()=>{},["prevent"]))},[e.createElementVNode("div",zu,[e.createElementVNode("div",Tu,[e.createElementVNode("ul",{ref_key:"hourListRef",ref:f,class:"fou-time-panel__list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),$e=>(e.openBlock(),e.createElementBlock("li",{key:`h-${$e}`,class:e.normalizeClass(["fou-time-panel__item",{"is-active":e.unref(C).hour===$e}]),onClick:Qe=>q("hour",$e)},e.toDisplayString(k($e)),11,Fu))),128))],512)]),e.createElementVNode("div",Iu,[e.createElementVNode("ul",{ref_key:"minuteListRef",ref:m,class:"fou-time-panel__list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(N),$e=>(e.openBlock(),e.createElementBlock("li",{key:`m-${$e}`,class:e.normalizeClass(["fou-time-panel__item",{"is-active":e.unref(C).minute===$e}]),onClick:Qe=>q("minute",$e)},e.toDisplayString(k($e)),11,Du))),128))],512)]),e.unref(b)?(e.openBlock(),e.createElementBlock("div",Ru,[e.createElementVNode("ul",{ref_key:"secondListRef",ref:h,class:"fou-time-panel__list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M),$e=>(e.openBlock(),e.createElementBlock("li",{key:`s-${$e}`,class:e.normalizeClass(["fou-time-panel__item",{"is-active":e.unref(C).second===$e}]),onClick:Qe=>q("second",$e)},e.toDisplayString(k($e)),11,Lu))),128))],512)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"fou-time-panel__footer"},[e.createElementVNode("button",{type:"button",class:"fou-time-panel__btn is-text",onClick:fe},"此刻"),e.createElementVNode("div",{class:"fou-time-panel__actions"},[e.createElementVNode("button",{type:"button",class:"fou-time-panel__btn",onClick:T},"取消"),e.createElementVNode("button",{type:"button",class:"fou-time-panel__btn is-primary",onClick:X}," 确定 ")])])],36)):e.createCommentVNode("",!0)]),_:1})]))],6)}}}),[["__scopeId","data-v-f746d9cb"]]),Pu=Object.freeze(Object.defineProperty({__proto__:null,default:Gr},Symbol.toStringTag,{value:"Module"})),Ou={class:"fou-tooltip__content"},mi=me(e.defineComponent({name:"FouTooltip",inheritAttrs:!1,__name:"index",props:{content:{default:""},placement:{default:"top"},showAfter:{default:0},hideAfter:{default:100}},setup(t){const a=e.useAttrs(),o=t,n=e.ref(null),r=e.ref(null),c=e.ref(!1),d=e.ref({});let f,m,h=!1;const p=()=>{const x=n.value,N=r.value;if(!x||!N)return;const M=x.getBoundingClientRect(),u=N.getBoundingClientRect(),B=8;let I=0,$=0;switch(o.placement){case"bottom":I=M.bottom+B,$=M.left+M.width/2-u.width/2;break;case"left":I=M.top+M.height/2-u.height/2,$=M.left-u.width-B;break;case"right":I=M.top+M.height/2-u.height/2,$=M.right+B;break;default:I=M.top-u.height-B,$=M.left+M.width/2-u.width/2}const z=window.innerWidth,w=window.innerHeight;$=Math.min(Math.max(4,$),z-u.width-4),I=Math.min(Math.max(4,I),w-u.height-4),d.value={position:"fixed",top:`${I}px`,left:`${$}px`,zIndex:"3000"}},_=()=>{f&&clearTimeout(f),m&&clearTimeout(m),f=void 0,m=void 0},C=async()=>{_(),f=setTimeout(async()=>{c.value=!0,await e.nextTick(),p()},o.showAfter)},E=()=>{_(),m=setTimeout(()=>{h||(c.value=!1)},o.hideAfter)},b=()=>{h=!1,C()},V=()=>E(),k=()=>{h=!0,_()},S=()=>{c.value&&p()};return e.watch(c,x=>{x?(window.addEventListener("scroll",S,!0),window.addEventListener("resize",S)):(window.removeEventListener("scroll",S,!0),window.removeEventListener("resize",S))}),e.onBeforeUnmount(()=>{_(),window.removeEventListener("scroll",S,!0),window.removeEventListener("resize",S)}),(x,N)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({class:"fou-tooltip-host"},e.unref(a)),[e.createElementVNode("span",{ref_key:"triggerRef",ref:n,class:"fou-tooltip__trigger",onMouseenter:b,onMouseleave:V},[e.renderSlot(x.$slots,"default",{},void 0,!0)],544),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-tooltip-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:r,class:e.normalizeClass(["fou-tooltip",[`fou-tooltip--${t.placement}`]]),style:e.normalizeStyle(e.unref(d)),role:"tooltip",onMouseenter:k,onMouseleave:V},[e.createElementVNode("div",Ou,[e.renderSlot(x.$slots,"content",{},()=>[e.createTextVNode(e.toDisplayString(t.content),1)],!0)]),N[0]||(N[0]=e.createElementVNode("span",{class:"fou-tooltip__arrow"},null,-1))],38),[[e.vShow,e.unref(c)]])]),_:3})]))],16))}}),[["__scopeId","data-v-b990a38a"]]),ju=Object.freeze(Object.defineProperty({__proto__:null,default:mi},Symbol.toStringTag,{value:"Module"})),fi=new Map,ui=new Map,pi=new Map,ha={add(t,a){fi.set(t,a)},get(t){return fi.get(t)},has(t){return fi.has(t)}},Qr={add(t,a){ui.set(t,a)},get(t){return ui.get(t)},has(t){return ui.has(t)}},Jr={add(t,a){pi.set(t,a)},get(t){return pi.get(t)},has(t){return pi.has(t)}};ha.add("money",({cellValue:t})=>{const a=Number(t);return Number.isNaN(a)?String(t??""):`¥ ${a.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}`}),ha.add("yesno",({cellValue:t})=>t?"是":"否");function Au(t){return t?t.isHover!==void 0?t.isHover!==!1:t.highlightHoverRow!==void 0?!!t.highlightHoverRow:!0:!0}function hi(t){return t?t.isCurrent!==void 0?t.isCurrent!==!1:t.highlightCurrentRow!==void 0?!!t.highlightCurrentRow:!0:!0}function gi(t){if(t.editRender)return typeof t.editRender=="string"?{name:t.editRender,props:t.editorProps,options:t.options}:{...t.editRender,props:{...t.editorProps||{},...t.editRender.props||{}},options:t.editRender.options||t.options};const a=t.editor||(t.type&&ec.has(t.type)?t.type:void 0);if(a)return{name:a,props:t.editorProps,options:t.options}}const Zr=Symbol("fouTableRegister"),ec=new Set(["switch","select","input","number","date","datetime","time","text"]),Uu=new Set(["selection","checkbox","index","seq","radio","expand"]);function Wu(t){const a=gi(t);if((a==null?void 0:a.enabled)!==!1&&a!=null&&a.name)return ec.has(a.name),a.name}function Yo(t){return t.prop||t.field}const tc=Symbol("FouDropdown"),Sl=me(e.defineComponent({name:"FouDropdown",__name:"index",props:{disabled:{type:Boolean,default:!1},placement:{default:"bottom-start"},popperClass:{default:""}},emits:["command","visibleChange"],setup(t,{expose:a,emit:o}){const n=t,r=o,c=e.ref(null),d=e.ref(null),f=e.ref(!1),m=e.ref({position:"fixed",top:"-9999px",left:"-9999px",zIndex:"3000"}),h=()=>{f.value&&(f.value=!1,r("visibleChange",!1))},p=async()=>{n.disabled||(f.value=!0,r("visibleChange",!0),await e.nextTick(),E(),requestAnimationFrame(()=>E()))},_=()=>{n.disabled||(f.value?h():p())},C=k=>{r("command",k),h()};e.provide(tc,{visible:f,close:h,emitCommand:C});const E=()=>{const k=c.value,S=d.value;if(!k||!S)return;const x=k.getBoundingClientRect(),N=S.getBoundingClientRect(),M=4,u=window.innerWidth,B=window.innerHeight,I=n.placement;let $=I.startsWith("top")?x.top-N.height-M:x.bottom+M,z=x.left;I.endsWith("end")?z=x.right-N.width:(I==="bottom"||I==="top")&&(z=x.left+(x.width-N.width)/2),z+N.width>u-4&&(z=u-N.width-4),z<4&&(z=4),$+N.height>B-4&&($=x.top-N.height-M),$<4&&($=4),m.value={position:"fixed",top:`${Math.round($)}px`,left:`${Math.round(z)}px`,zIndex:"3000"}},b=k=>{var x,N;if(!f.value)return;const S=k.target;(x=c.value)!=null&&x.contains(S)||(N=d.value)!=null&&N.contains(S)||h()},V=()=>{f.value&&E()};return e.watch(f,k=>{k?(document.addEventListener("click",b,!0),window.addEventListener("scroll",V,!0),window.addEventListener("resize",V)):(document.removeEventListener("click",b,!0),window.removeEventListener("scroll",V,!0),window.removeEventListener("resize",V))}),e.onBeforeUnmount(()=>{document.removeEventListener("click",b,!0),window.removeEventListener("scroll",V,!0),window.removeEventListener("resize",V)}),a({open:p,close:h,toggle:_}),(k,S)=>(e.openBlock(),e.createElementBlock("span",{ref_key:"triggerRef",ref:c,class:"fou-dropdown"},[e.createElementVNode("span",{class:"fou-dropdown__trigger",onClick:e.withModifiers(_,["stop"])},[e.renderSlot(k.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"fou-dropdown-fade"},{default:e.withCtx(()=>[e.unref(f)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuHostRef",ref:d,class:e.normalizeClass(["fou-dropdown__popper",t.popperClass]),style:e.normalizeStyle(e.unref(m)),onClick:S[0]||(S[0]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(k.$slots,"dropdown",{},void 0,!0)],6)):e.createCommentVNode("",!0)]),_:3})]))],512))}}),[["__scopeId","data-v-0b4a3c49"]]),Hu=Object.freeze(Object.defineProperty({__proto__:null,default:Sl},Symbol.toStringTag,{value:"Module"})),qu={class:"fou-dropdown-menu",role:"menu"},vn=me(e.defineComponent({name:"FouDropdownMenu",__name:"FouDropdownMenu",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("ul",qu,[e.renderSlot(a.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-2e807149"]]),Yu=Object.freeze(Object.defineProperty({__proto__:null,default:vn},Symbol.toStringTag,{value:"Module"})),Ko=me(e.defineComponent({name:"FouDropdownItem",__name:"FouDropdownItem",props:{command:{default:""},disabled:{type:Boolean,default:!1},divided:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,r=e.inject(tc,null),c=d=>{o.disabled||(n("click",d),r==null||r.emitCommand(o.command))};return(d,f)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["fou-dropdown-item",{"is-disabled":t.disabled,"is-divided":t.divided}]),role:"menuitem",onClick:c},[e.renderSlot(d.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-5194d55a"]]),Ku=Object.freeze(Object.defineProperty({__proto__:null,default:Ko},Symbol.toStringTag,{value:"Module"}));function Xo(t,a=0){if(t==null||t==="")return 0;if(typeof t=="number")return Number.isFinite(t)?t:0;const o=String(t).trim();if(!o||o==="auto")return 0;if(o.endsWith("%")){const n=parseFloat(o);return!Number.isFinite(n)||a<=0?0:a*n/100}return parseFloat(o)||0}function Gn(t,a=0,o){const n=(o==null?void 0:o.minWidth)??80,r=(o==null?void 0:o.maxWidth)??Number.POSITIVE_INFINITY,c=Xo(t.width,a),d=Math.max(Xo(t.minWidth,a)||(c?0:n),48),f=Xo(t.maxWidth,a),m=f>0?f:r;return{fixedWidth:c,minWidth:c?Math.min(d||c,c)||48:d,maxWidth:Math.max(m,d||48),isFlex:c<=0}}function Xu(t,a){const{containerWidth:o,showSelection:n,showIndex:r,showRadio:c,showExpand:d,fit:f=!0,resized:m={},defaults:h}=a;let p=0;d&&(p+=48),c&&(p+=48),n&&(p+=48),r&&(p+=55);const _={},C=[];let E=0;for(const b of t){const V=m[b._key];if(V!=null&&V>0){_[b._key]=V,E+=V;continue}const k=Gn(b,o,h);if(k.isFlex)C.push(b._key),_[b._key]=k.minWidth,E+=k.minWidth;else{const S=Math.min(Math.max(k.fixedWidth,k.minWidth),k.maxWidth);_[b._key]=S,E+=S}}if(f&&C.length&&o>0){let b=o-p-E;if(b>0){const V=C.map(x=>{const N=t.find(M=>M._key===x);return Gn(N,o,h).minWidth}),k=V.reduce((x,N)=>x+N,0)||C.length;let S=0;C.forEach((x,N)=>{const M=t.find($=>$._key===x),u=Gn(M,o,h),B=N===C.length-1?b-S:Math.floor(b*V[N]/k);S+=B;const I=Math.min(Math.max(u.minWidth+B,u.minWidth),u.maxWidth);_[x]=I})}}return _}function vu(t,a,o,n){let r=0;a.showExpand&&(r+=48),a.showRadio&&(r+=48),a.showSelection&&(r+=48),a.showIndex&&(r+=55);for(const c of t){const d=o==null?void 0:o(c);if(d!=null&&d>0){r+=d;continue}const f=Gn(c,0,n);r+=f.isFlex?f.minWidth:f.fixedWidth||f.minWidth||100}return r}function oc(t,a,o,n){let r=0;o.showExpand&&(r+=48),o.showRadio&&(r+=48),o.showSelection&&(r+=48),o.showIndex&&(r+=55);for(const c of t){if(c._key===a)break;(c.fixed==="left"||c.fixed===!0)&&(r+=(n==null?void 0:n(c))||Xo(c.width)||Xo(c.minWidth)||120)}return r}function nc(t,a,o){let n=0;for(let r=t.length-1;r>=0;r--){const c=t[r];if(c._key===a)break;c.fixed==="right"&&(n+=(o==null?void 0:o(c))||Xo(c.width)||Xo(c.minWidth)||120)}return n}function Gu(t,a){const o=t.filter(n=>n.fixed==="left"||n.fixed===!0);return o.length>0&&o[o.length-1]._key===a}function Qu(t,a){const o=t.filter(n=>n.fixed==="right");return o.length>0&&o[0]._key===a}function _i(t,a,o=""){const n=t.prop||t.field||t.slot||t.type||"col";return o?`${o}.${n}#${a}`:`${n}#${a}`}function lc(t,a=""){const o=[];return t.forEach((n,r)=>{var d;const c=_i(n,r,a);if((d=n.children)!=null&&d.length){o.push(...lc(n.children,c));return}n.type&&Uu.has(n.type)&&!n.prop&&!n.field&&n.editor,o.push({...n,_key:c})}),o}function ac(t){var a;return(a=t.children)!=null&&a.length?1+Math.max(...t.children.map(ac)):1}function ic(t){var a;return(a=t.children)!=null&&a.length?t.children.reduce((o,n)=>o+ic(n),0):1}function rc(t,a=""){if(!t.length)return[[]];const o=Math.max(...t.map(ac),1),n=Array.from({length:o},()=>[]),r=(c,d,f,m)=>{let h=f;return c.forEach((p,_)=>{var k;const C=_i(p,_,m),E=ic(p),b=!((k=p.children)!=null&&k.length),V=b?o-d:1;n[d].push({column:{...p,_key:C},label:p.label||p.title||"",colspan:E,rowspan:V,isLeaf:b,colIndex:h}),!b&&p.children&&r(p.children,d+1,h,C),h+=E}),h};return r(t,0,0,a),n}function Ju(t){const a=e.ref(null),o=e.ref(null),n=()=>t.getColumns().map(b=>Yo(b)).filter(Boolean),r=(b,V)=>{const k=t.getRows(),S=n(),x=k.findIndex(M=>t.getRowId(M)===b),N=S.indexOf(V);return x<0||N<0?null:{rowId:b,prop:V,rowIndex:x,colIndex:N}},c=(b,V,k=!1)=>{const S=Yo(V);if(!S)return;const x=r(t.getRowId(b),S);x&&(k&&a.value?o.value=x:(a.value=x,o.value=null))},d=()=>{a.value=null,o.value=null},f=e.computed(()=>{const b=a.value;if(!b)return null;const V=o.value||b;return{r0:Math.min(b.rowIndex,V.rowIndex),r1:Math.max(b.rowIndex,V.rowIndex),c0:Math.min(b.colIndex,V.colIndex),c1:Math.max(b.colIndex,V.colIndex)}});return{activeCell:a,areaEnd:o,areaBounds:f,setActive:c,clearArea:d,isCellInArea:(b,V)=>{const k=f.value;if(!k){const u=a.value;return u?t.getRowId(b)===u.rowId&&Yo(V)===u.prop:!1}const S=t.getRows(),x=n(),N=S.findIndex(u=>t.getRowId(u)===t.getRowId(b)),M=x.indexOf(Yo(V)||"");return N<0||M<0?!1:N>=k.r0&&N<=k.r1&&M>=k.c0&&M<=k.c1},isActiveCell:(b,V)=>{const k=a.value;return k?t.getRowId(b)===k.rowId&&Yo(V)===k.prop:!1},moveActive:(b,V,k=!1)=>{const S=t.getRows(),x=n();if(!S.length||!x.length)return null;const N=(k?o.value:null)||a.value;let M=(N==null?void 0:N.rowIndex)??0,u=(N==null?void 0:N.colIndex)??0;N?(M=Math.max(0,Math.min(S.length-1,M+b)),u=Math.max(0,Math.min(x.length-1,u+V))):(M=b<0?S.length-1:0,u=V<0?x.length-1:0);const B=S[M],I=x[u],$={rowId:t.getRowId(B),prop:I,rowIndex:M,colIndex:u};return k&&a.value?o.value=$:(a.value=$,o.value=null),{row:B,prop:I,pos:$}},buildTsv:b=>{const V=f.value,k=t.getRows(),S=n();if(!V){const N=a.value;return N?b(k[N.rowIndex],N.prop):""}const x=[];for(let N=V.r0;N<=V.r1;N++){const M=[];for(let u=V.c0;u<=V.c1;u++){const B=b(k[N],S[u]);M.push(String(B??"").replace(/\t/g," ").replace(/\r?\n/g," "))}x.push(M.join(" "))}return x.join(`
|
|
2
2
|
`)},pasteTsv:(b,V)=>{const k=a.value;if(!k)return;const S=t.getRows(),x=n(),N=b.replace(/\r\n/g,`
|
|
3
3
|
`).replace(/\r/g,`
|
|
4
4
|
`).split(`
|