fantasia-ui 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(d,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@vicons/ionicons5"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@vicons/ionicons5","@vueuse/core"],e):(d=typeof globalThis!="undefined"?globalThis:d||self,e(d.FantasiaUI={},d.Vue,d.IconsIonicons5,d.VueUse))})(this,function(d,e,g,A){"use strict";var pt=Object.defineProperty,ft=Object.defineProperties;var mt=Object.getOwnPropertyDescriptors;var H=Object.getOwnPropertySymbols;var _t=Object.prototype.hasOwnProperty,ht=Object.prototype.propertyIsEnumerable;var O=(d,e,g)=>e in d?pt(d,e,{enumerable:!0,configurable:!0,writable:!0,value:g}):d[e]=g,U=(d,e)=>{for(var g in e||(e={}))_t.call(e,g)&&O(d,g,e[g]);if(H)for(var g of H(e))ht.call(e,g)&&O(d,g,e[g]);return d},q=(d,e)=>ft(d,mt(e));var G=(d,e,g)=>new Promise((A,R)=>{var P=V=>{try{x(g.next(V))}catch(D){R(D)}},h=V=>{try{x(g.throw(V))}catch(D){R(D)}},x=V=>V.done?A(V.value):Promise.resolve(V.value).then(P,h);x((g=g.apply(d,e)).next())});const R=(c,t,l)=>{const n=c[t];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((o,s)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(s.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==l?". Note that variables only represent file names one level deep.":""))))})},P=e.defineComponent({__name:"FIcon",props:{color:{},size:{default:"1em"}},setup(c){const t=c,l=e.computed(()=>({width:typeof t.size=="number"?`${t.size}px`:t.size,height:typeof t.size=="number"?`${t.size}px`:t.size,color:t.color}));return(n,o)=>(e.openBlock(),e.createElementBlock("span",{role:"img",class:"f-icon",style:e.normalizeStyle(e.unref(l))},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4))}}),h=(c,t)=>{const l=c.__vccOpts||c;for(const[n,o]of t)l[n]=o;return l},x=h(P,[["__scopeId","data-v-524b7dbb"]]),V="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1780285609860'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='12961'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M894.4%20281.504a39.36%2039.36%200%200%200-27.104-11.808l-293.888-10.976-22.016%2046.88%2030.592%2087.2-55.2%2099.008%2022.4%2079.904%2056%2068.48%2081.024-70.496c7.808-6.88%2020.288-6.496%2027.104%201.216l103.904%20106.4c7.296%207.296%206.88%2019.2-0.928%2026.112a18.944%2018.944%200%200%201-13.76%204.896l-284.8-10.624-14.24%2038.72%2015.52%2034.592%20327.488%2011.808c21.504%200.8%2039.616-15.104%2040.096-35.52l18.208-439.296a34.368%2034.368%200%200%200-10.4-26.496zM684.096%20483.2c-32.32-1.184-57.28-26.88-56-57.088%201.28-30.592%2028.416-54.208%2060.288-52.992%2031.904%201.184%2057.312%2026.88%2056%2057.088-1.184%2030.208-28.384%2054.304-60.288%2052.992z%20m-211.104%20253.6l9.92-40.8-231.424%2015.104c-10.784%200.8-19.776-6.496-20.672-16.704a17.856%2017.856%200%200%201%204.672-13.504l171.52-186.272a18.048%2018.048%200%200%201%2014.208-6.112c5.184%200%2010.272%201.984%2014.176%205.696l57.28%2056.704-24.576-60.32%2044-104.288L472%20302.72l16.384-48.096-315.392%2020.8c-21.504%201.184-37.504%2018.784-36.192%2039.072l31.904%20439.424c0.384%209.792%205.184%2018.688%2013.408%2024.896%207.776%206.496%2017.696%209.792%2028%208.992l281.792-18.304-18.88-32.704z'%20p-id='12962'%3e%3c/path%3e%3c/svg%3e",D={class:"f-image"},X={key:0,class:"f-image__placeholder"},Y={key:0,class:"f-image__error"},J=["src","loading"],K=h(e.defineComponent({__name:"FImage",props:{src:{},alt:{},fit:{default:"cover"},lazy:{type:Boolean,default:!0}},setup(c){const t=c,l=e.ref("loading");e.watch(()=>t.src,()=>{l.value="loading"},{immediate:!1});const n=()=>l.value="loaded",o=()=>l.value="error";return(s,i)=>{const r=e.resolveComponent("f-loading"),a=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",D,[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(l)==="loading"?(e.openBlock(),e.createElementBlock("div",X,[e.createVNode(r,{type:"classic first"})])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(l)==="error"?(e.openBlock(),e.createElementBlock("div",Y,[e.renderSlot(s.$slots,"error",{},()=>[e.createVNode(a,{size:"48px"},{default:e.withCtx(()=>[e.createVNode(e.unref(V))]),_:1})],!0)])):e.createCommentVNode("",!0)]),_:3}),e.withDirectives(e.createElementVNode("img",{src:t.src,loading:s.lazy?"lazy":"eager",style:e.normalizeStyle({objectFit:t.fit}),class:"f-image__img",onLoad:n,onError:o},null,44,J),[[e.vShow,e.unref(l)==="loaded"]])])}}}),[["__scopeId","data-v-2948108d"]]),Q=["type","placeholder","disabled","readonly","name","id"],Z=h(e.defineComponent({__name:"FInput",props:e.mergeModels({placeholder:{default:"输入..."},type:{default:"text"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},name:{default:""},id:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["input","change","focus","blur"],["update:modelValue"]),setup(c,{emit:t}){const l=e.useModel(c,"modelValue"),n=t,o=a=>{const _=a.target.value;n("input",_)},s=a=>{const _=a.target.value;n("change",_)},i=a=>{n("focus",a)},r=a=>{n("blur",a)};return(a,_)=>{const p=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-input",{"is-disabled":a.disabled,"is-readonly":"readonly"in a?a.readonly:e.unref(e.readonly)}])},[e.createVNode(p,{class:"f-input__icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.Search))]),_:1}),e.withDirectives(e.createElementVNode("input",{class:"f-input__text","onUpdate:modelValue":_[0]||(_[0]=f=>l.value=f),type:a.type,placeholder:a.placeholder,disabled:a.disabled,readonly:"readonly"in a?a.readonly:e.unref(e.readonly),name:a.name,id:a.id,onInput:o,onChange:s,onFocus:i,onBlur:r},null,40,Q),[[e.vModelDynamic,l.value]])],2)}}}),[["__scopeId","data-v-6c6d7c63"]]),v={key:0,class:"loop cubes"},ee={key:2,class:"msg"},te=h(e.defineComponent({__name:"FLoading",props:{type:{default:"dots"},text:{},mask:{type:Boolean,default:!1}},setup(c){const t=c;return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex-center-col size-full loading-container",{"global-mask":l.mask}])},[l.type==="cubes"?(e.openBlock(),e.createElementBlock("div",v,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(6,o=>e.createElementVNode("div",{class:"item cubes",key:o})),64))])):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["loader",l.type])},null,2)),t.text?(e.openBlock(),e.createElementBlock("p",ee,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-26005e98"]]),oe=["onMousemove"],ne={key:0,class:"f-rate__score"},le=h(e.defineComponent({__name:"FRate",props:e.mergeModels({modelValue:{},count:{default:5},readonly:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1},color:{default:"#f5a623"},voidColor:{default:"#c0c4cc"},showText:{type:Boolean,default:!1},scoreTemplate:{default:"{value} 分"},size:{default:"normal"}},{modelValue:{default:0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(c,{emit:t}){const l=e.useModel(c,"modelValue"),n=c,o=t,s=e.ref(null),i=e.computed(()=>{var y;return(y=s.value)!=null?y:l.value}),r=e.computed(()=>n.scoreTemplate.replace("{value}",String(l.value))),a=e.computed(()=>n.size==="normal"?16:n.size==="small"?12:20),_=y=>{const C=i.value;return C>=y?"full":n.allowHalf&&C>=y-.5?"half":"empty"},p=y=>_(y)==="full"?n.voidColor:n.color,f=(y,C)=>{if(!n.readonly)if(n.allowHalf){const w=y.currentTarget,{left:u,width:E}=w.getBoundingClientRect();s.value=(y.clientX-u)/E<.5?C-.5:C}else s.value=C},$=()=>{n.readonly||(s.value=null)},b=()=>{var C;if(n.readonly)return;const y=(C=s.value)!=null?C:l.value;l.value=y,o("change",y)};return(y,C)=>{const w=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-rate",{"f-rate--readonly":n.readonly}]),onMouseleave:$},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.count,u=>(e.openBlock(),e.createElementBlock("span",{key:u,class:"f-rate__item",onMousemove:E=>f(E,u),onClick:b},[e.createVNode(w,{color:p(u),size:e.unref(a)},{default:e.withCtx(()=>[_(u)==="full"?(e.openBlock(),e.createBlock(e.unref(g.StarOutline),{key:0})):_(u)==="half"?(e.openBlock(),e.createBlock(e.unref(g.StarHalf),{key:1})):(e.openBlock(),e.createBlock(e.unref(g.Star),{key:2}))]),_:2},1032,["color","size"])],40,oe))),128)),n.showText?(e.openBlock(),e.createElementBlock("span",ne,e.toDisplayString(e.unref(r)),1)):e.createCommentVNode("",!0)],34)}}}),[["__scopeId","data-v-d68cd0e3"]]),ae={class:"f-dropdown-wrapper"},re={class:"f-dropdown-content"},se=["onClick"],ce={key:0,class:"opt-icon"},ie={class:"opt-label"},de=h(e.defineComponent({__name:"FDropdown",props:{placement:{default:"right-start"},offset:{default:12},zIndex:{default:2e3},trigger:{default:"hover"},options:{default:()=>[]}},emits:["select"],setup(c,{emit:t}){const l=c,n=t,o=e.ref(!1),s=e.ref(null),i=e.ref(null),r=e.ref(null),a=e.ref(0),_=e.ref(0),p=e.computed(()=>{const[m]=l.placement.split("-"),k=(Array.isArray(l.offset)?l.offset[0]:l.offset)+4,B={position:"absolute"};return m==="right"?(B.width=`${k}px`,B.left=`-${k}px`,B.top=0,B.bottom=0):m==="left"?(B.width=`${k}px`,B.right=`-${k}px`,B.top=0,B.bottom=0):m==="bottom"?(B.height=`${k}px`,B.top=`-${k}px`,B.left=0,B.right=0):m==="top"&&(B.height=`${k}px`,B.bottom=`-${k}px`,B.left=0,B.right=0),B}),f=e.computed(()=>{if(!s.value)return{};const m=s.value,{placement:N}=l,k=Array.isArray(l.offset)?l.offset[0]:l.offset,[B,T]=N.split("-"),W=window.innerWidth,j=window.innerHeight,M=_.value||160,I=a.value||200;let F=0,S=0,z=B;B==="right"?(S=m.right+k,S+M>W&&(S=m.left-M-k,z="left")):B==="left"?(S=m.left-M-k,S<0&&(S=m.right+k,z="right")):B==="bottom"?(F=m.bottom+k,F+I>j&&(F=m.top-I-k,z="top")):B==="top"&&(F=m.top-I-k,F<0&&(F=m.bottom+k,z="bottom")),z==="top"||z==="bottom"?(T==="start"?S=m.left:T==="end"?S=m.right-M:S=m.left+(m.width-M)/2,S=Math.max(8,Math.min(S,W-M-8))):(T==="start"?F=m.top:T==="end"?F=m.bottom-I:F=m.top+(m.height-I)/2,F=Math.max(8,Math.min(F,j-I-8)));const it=z==="right"?"left":z==="left"?"right":T==="start"?"left":T==="end"?"right":"center",dt=z==="bottom"?"top":z==="top"?"bottom":T==="start"?"top":T==="end"?"bottom":"center";return{top:`${F}px`,left:`${S}px`,transformOrigin:`${dt} ${it}`}});let $=null,b=null;const y=()=>{$&&(clearTimeout($),$=null)},C=m=>{l.trigger==="click"&&(m.stopPropagation(),o.value?o.value=!1:(s.value=i.value.getBoundingClientRect(),o.value=!0))},w=()=>{l.trigger==="hover"&&(y(),b=setTimeout(()=>{i.value&&(s.value=i.value.getBoundingClientRect()),o.value=!0},400))},u=()=>{l.trigger==="hover"&&(b&&(clearTimeout(b),b=null),$=setTimeout(()=>{o.value=!1},400))},E=m=>{l.trigger!=="click"||!o.value||(o.value=!1)},L=m=>{m.disabled||(n("select",m.key,m),m.children||(o.value=!1))};return e.watch(o,m=>G(null,null,function*(){var N,k;m?(s.value=i.value.getBoundingClientRect(),yield e.nextTick(),a.value=((N=r.value)==null?void 0:N.offsetHeight)||200,_.value=((k=r.value)==null?void 0:k.offsetWidth)||160):(a.value=0,_.value=0)})),e.onUnmounted(()=>{y(),b&&clearTimeout(b)}),A.useEventListener(window,"click",E),(m,N)=>(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",{ref_key:"triggerRef",ref:i,class:"f-dropdown-trigger-wrapper",onMouseenter:w,onMouseleave:u,onClick:C},[e.renderSlot(m.$slots,"default",{},void 0,!0)],544),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"f-dropdown-motion"},{default:e.withCtx(()=>[e.unref(o)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:r,class:"f-dropdown-item",style:e.normalizeStyle([e.unref(f),{zIndex:m.zIndex}]),onMouseenter:y,onMouseleave:u,onClick:N[0]||(N[0]=e.withModifiers(()=>{},["stop"]))},[m.trigger==="hover"?(e.openBlock(),e.createElementBlock("div",{key:0,class:"f-dropdown-bridge",style:e.normalizeStyle(e.unref(p))},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",re,[m.options&&m.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.options,k=>(e.openBlock(),e.createElementBlock("div",{key:k.key,class:e.normalizeClass(["f-dropdown-option",{"is-disabled":k.disabled}]),onClick:B=>L(k)},[k.icon?(e.openBlock(),e.createElementBlock("span",ce,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon)))])):e.createCommentVNode("",!0),e.createElementVNode("span",ie,e.toDisplayString(k.label),1)],10,se))),128)):e.renderSlot(m.$slots,"content",{key:1},void 0,!0)])],36)):e.createCommentVNode("",!0)]),_:3})]))]))}}),[["__scopeId","data-v-addb3a3b"]]),pe=h(e.defineComponent({__name:"FSelect",props:e.mergeModels({options:{},placeholder:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["select"],["update:modelValue"]),setup(c,{emit:t}){const l=c,n=t,o=e.useModel(c,"modelValue"),s=e.ref(!1),i=e.computed(()=>{var p,f,$;return($=(p=l.options.find(b=>b.key===o.value))==null?void 0:p.label)!=null?$:(f=l.placeholder)!=null?f:"请选择"}),r=e.computed(()=>o.value!==void 0&&o.value!==""),a=(p,f)=>{o.value=p,n("select",p,f),s.value=!1},_=p=>{s.value=p};return(p,f)=>{const $=e.resolveComponent("f-icon"),b=e.resolveComponent("f-dropdown");return e.openBlock(),e.createBlock(b,{options:p.options,trigger:"click",onSelect:a,onShow:f[0]||(f[0]=y=>_(!0)),onHide:f[1]||(f[1]=y=>_(!1)),placement:"bottom",offset:4},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["f-select",{"is-active":e.unref(r),"is-open":e.unref(s)}])},[e.createElementVNode("span",{class:e.normalizeClass(["f-select__label",{"is-placeholder":!e.unref(r)}])},e.toDisplayString(e.unref(i)),3),e.createVNode($,{class:"f-select__arrow"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ChevronDownOutline))]),_:1})],2)]),_:1},8,["options"])}}}),[["__scopeId","data-v-25e7d03d"]]),fe={class:"f-pagination"},me={class:"f-pagination__list"},_e={key:0,class:"page-btn ellipsis"},he=["onClick"],ge=h(e.defineComponent({__name:"FPagination",props:e.mergeModels({total:{},pageSize:{default:10},hideOnSingle:{type:Boolean}},{modelValue:{default:1},modelModifiers:{}}),emits:e.mergeModels(["update:currentPage"],["update:modelValue"]),setup(c,{emit:t}){const l=c,n=e.useModel(c,"modelValue"),o=e.computed(()=>Math.ceil(l.total/l.pageSize)||1),s=e.computed(()=>{const r=o.value,a=n.value;return!r||r<=0?[]:r<=7?Array.from({length:r},(_,p)=>p+1):a<=4?[1,2,3,4,5,"...",r]:a>=r-3?[1,"...",r-4,r-3,r-2,r-1,r]:[1,"...",a-1,a,a+1,"...",r]}),i=r=>{typeof r=="number"&&(r<1||r>o.value||r===n.value||(n.value=r))};return(r,a)=>{const _=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",fe,[e.createElementVNode("button",{class:e.normalizeClass(["page-btn",{disabled:n.value===1}]),onClick:a[0]||(a[0]=p=>i(n.value-1))},[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(e.unref(g.ChevronBackOutline))]),_:1})],2),e.createElementVNode("ul",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(p,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f},[p==="..."?(e.openBlock(),e.createElementBlock("li",_e,[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(e.unref(g.EllipsisHorizontal))]),_:1})])):(e.openBlock(),e.createElementBlock("li",{key:1,class:e.normalizeClass(["page-btn",{active:n.value===p}]),onClick:$=>i(p)},e.toDisplayString(p),11,he))],64))),128))]),e.createElementVNode("button",{class:e.normalizeClass(["page-btn",{disabled:n.value===e.unref(o)}]),onClick:a[1]||(a[1]=p=>i(n.value+1))},[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(e.unref(g.ChevronForwardOutline))]),_:1})],2)])}}}),[["__scopeId","data-v-e58f1ac9"]]),ke={key:0,class:"f-card__header"},ye={key:0,class:"f-card__header-extra"},Be={key:1,class:"f-card__cover"},$e={key:2,class:"f-card__body"},ue={key:3,class:"f-card__footer"},be={key:0,class:"f-card__header"},Ce={key:0,class:"f-card__header-extra"},we={key:1,class:"f-card__cover"},Fe={class:"f-card__content"},Se={key:0,class:"f-card__body"},Ee={key:1,class:"f-card__footer"},ze=h(e.defineComponent({__name:"FCard",props:{hoverable:{type:Boolean,default:!0},direction:{default:"vertical"}},setup(c){return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-card",[`f-card--${t.direction}`,{"is-hoverable":t.hoverable}]])},[t.direction==="vertical"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.$slots.header||t.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("div",ke,[e.renderSlot(t.$slots,"header",{},void 0,!0),t.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"header-extra",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.$slots.cover?(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(t.$slots,"cover",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.default?(e.openBlock(),e.createElementBlock("div",$e,[e.renderSlot(t.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",ue,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.$slots.header||t.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(t.$slots,"header",{},void 0,!0),t.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("div",Ce,[e.renderSlot(t.$slots,"header-extra",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.$slots.cover?(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(t.$slots,"cover",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Fe,[t.$slots.default?(e.openBlock(),e.createElementBlock("div",Se,[e.renderSlot(t.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ee,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)])],64))],2))}}),[["__scopeId","data-v-a66fa373"]]),Ve={key:0,class:"f-tag__dot"},Ne=h(e.defineComponent({__name:"FTag",props:{color:{},type:{default:"round"},effect:{},closable:{type:Boolean},size:{default:"normal"}},emits:["close"],setup(c,{emit:t}){const l=t,n=e.ref(!1);return(o,s)=>{var r,a,_;const i=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["f-tag",[`f-tag--${(r=o.type)!=null?r:"round"}`,`f-tag--${(a=o.effect)!=null?a:"light"}`,(_=o.color)!=null?_:"default"]]),onMouseenter:s[1]||(s[1]=p=>n.value=!0),onMouseleave:s[2]||(s[2]=p=>n.value=!1)},[o.type==="dot"?(e.openBlock(),e.createElementBlock("span",Ve)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},void 0,!0),o.closable?(e.openBlock(),e.createBlock(i,{key:1,class:"f-tag__close",onClick:s[0]||(s[0]=e.withModifiers(p=>l("close"),["stop"]))},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)?e.unref(g.CloseCircle):e.unref(g.Close))))]),_:1})):e.createCommentVNode("",!0)],34)}}}),[["__scopeId","data-v-9f7974a7"]]),Te=h(e.defineComponent({__name:"FTooltip",props:{content:{},placement:{default:"top"},disabled:{type:Boolean,default:!1},delay:{default:100},offset:{default:6},maxWidth:{default:240}},setup(c){const t=c,l=e.ref(null),n=e.ref(null),o=e.ref(!1),s=e.ref({top:0,left:0});let i=null;const r=()=>{t.disabled||(i=setTimeout(()=>{o.value=!0,e.nextTick(_)},t.delay))},a=()=>{i&&clearTimeout(i),o.value=!1},_=()=>{var L,m;if(!n.value)return;const p=(m=(L=l.value)==null?void 0:L.firstElementChild)!=null?m:l.value;if(!p)return;const f=p.getBoundingClientRect(),$=n.value.getBoundingClientRect(),b=t.offset,[y,C]=t.placement.split("-");let w=0,u=0;switch(y){case"top":w=f.top-$.height-b;break;case"bottom":w=f.bottom+b;break;case"left":u=f.left-$.width-b;break;case"right":u=f.right+b;break}y==="top"||y==="bottom"?C==="start"?u=f.left:C==="end"?u=f.right-$.width:u=f.left+(f.width-$.width)/2:C==="start"?w=f.top:C==="end"?w=f.bottom-$.height:w=f.top+(f.height-$.height)/2;const E=8;u=Math.max(E,Math.min(u,window.innerWidth-$.width-E)),w=Math.max(E,Math.min(w,window.innerHeight-$.height-E)),s.value={top:w+window.scrollY,left:u+window.scrollX}};return e.onUnmounted(a),(p,f)=>(e.openBlock(),e.createElementBlock("div",{class:"f-tooltip",ref_key:"triggerRef",ref:l,onMouseenter:r,onMouseleave:a},[e.renderSlot(p.$slots,"default",{},void 0,!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"f-tooltip"},{default:e.withCtx(()=>[e.unref(o)&&(p.content||p.$slots.content)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tooltipRef",ref:n,class:e.normalizeClass(["f-tooltip-wrapper",`is-${p.placement.split("-")[0]}`]),style:e.normalizeStyle({top:`${e.unref(s).top}px`,left:`${e.unref(s).left}px`,maxWidth:`${p.maxWidth}px`})},[e.renderSlot(p.$slots,"content",{},()=>[e.createTextVNode(e.toDisplayString(p.content),1)],!0),f[0]||(f[0]=e.createElementVNode("span",{class:"f-tooltip-arrow"},null,-1))],6)):e.createCommentVNode("",!0)]),_:3})]))],544))}}),[["__scopeId","data-v-be9acca7"]]),Me={class:"f-progress"},Ie={key:0,class:"f-progress__text"},xe=h(e.defineComponent({__name:"FProgress",props:{percent:{},color:{},showText:{type:Boolean,default:!1},height:{default:5}},setup(c){const t=c,l=e.computed(()=>Math.min(100,Math.max(0,t.percent)));return(n,o)=>(e.openBlock(),e.createElementBlock("div",Me,[e.createElementVNode("div",{class:"f-progress__track",style:e.normalizeStyle({height:`${n.height}px`})},[e.createElementVNode("div",{class:"f-progress__fill",style:e.normalizeStyle({width:`${e.unref(l)}%`,background:n.color})},null,4)],4),n.showText?(e.openBlock(),e.createElementBlock("span",Ie,e.toDisplayString(e.unref(l))+"%",1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-c2164d6e"]]),De={class:"f-tabs__nav-container"},Re={class:"f-tabs__nav"},Le=["onClick"],Ae={class:"f-tabs__label"},Pe=h(e.defineComponent({__name:"FTabs",props:{tabs:{},active:{},type:{default:"line"}},emits:["update:active","change"],setup(c,{emit:t}){const l=c,n=t,o=e.computed({get:()=>{var r;if(l.active&&l.tabs.some(a=>a.name===l.active&&!a.disabled))return l.active;const i=l.tabs.find(a=>!a.disabled);return(r=i==null?void 0:i.name)!=null?r:""},set:i=>{n("update:active",i),n("change",i)}}),s=(i,r)=>{r||(o.value=i)};return(i,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-tabs",[`f-tabs--${i.type}`]])},[e.createElementVNode("div",De,[e.createElementVNode("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tabs,a=>(e.openBlock(),e.createElementBlock("div",{key:a.name,class:e.normalizeClass(["f-tabs__tab",{active:e.unref(o)===a.name,disabled:a.disabled}]),onClick:_=>s(a.name,a.disabled)},[e.createElementVNode("span",Ae,e.toDisplayString(a.label),1)],10,Le))),128))])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tabs,a=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:a.name,class:"f-tabs__panel"},[e.renderSlot(i.$slots,a.name,{},void 0,!0)])),[[e.vShow,e.unref(o)===a.name]])),128))],2))}}),[["__scopeId","data-v-268fc654"]]),We={class:"f-breadcrumb__current","aria-current":"page"},je=["href"],He={key:3,class:"f-breadcrumb__text"},Oe=h(e.defineComponent({__name:"FBreadcrumb",props:{items:{default:()=>[]},separator:{default:"/"},animated:{type:Boolean,default:!1}},setup(c){return(t,l)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["f-breadcrumb",{"f-breadcrumb--animated":t.animated}]),"aria-label":"breadcrumb"},[e.createVNode(e.TransitionGroup,{name:"breadcrumb"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(n,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n.label},[o>0?(e.openBlock(),e.createElementBlock("span",{key:`sep-${n.label}`,class:"f-breadcrumb__sep","aria-hidden":"true"},e.toDisplayString(t.separator),1)):e.createCommentVNode("",!0),o===t.items.length-1?e.renderSlot(t.$slots,"default",{key:1,item:n},()=>[e.createElementVNode("span",We,e.toDisplayString(n.label),1)],!0):n.href?(e.openBlock(),e.createElementBlock("a",{key:2,href:n.href,class:"f-breadcrumb__link"},e.toDisplayString(n.label),9,je)):(e.openBlock(),e.createElementBlock("span",He,e.toDisplayString(n.label),1))],64))),128))]),_:3})],2))}}),[["__scopeId","data-v-bb787dcc"]]),Ue=h(e.defineComponent({__name:"FCol",props:{span:{default:24},offset:{default:0},order:{default:0},xs:{},sm:{},md:{},lg:{}},setup(c){const t=c,l=s=>typeof s=="number"?{span:s}:s,n=e.computed(()=>({"--col-span":t.span,"--col-offset":t.offset,"--col-order":t.order})),o=e.computed(()=>{const s=[],i={xs:t.xs,sm:t.sm,md:t.md,lg:t.lg};for(const[r,a]of Object.entries(i)){if(a===void 0)continue;const{span:_,offset:p,order:f}=l(a);_!==void 0&&s.push(`f-col--${r}-${_}`),p!==void 0&&s.push(`f-col--${r}-offset-${p}`),f!==void 0&&s.push(`f-col--${r}-order-${f}`)}return s});return(s,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-col",e.unref(o)]),style:e.normalizeStyle(e.unref(n))},[e.renderSlot(s.$slots,"default",{},void 0,!0)],6))}}),[["__scopeId","data-v-5a8b0cb4"]]),qe=h(e.defineComponent({__name:"FRow",props:{gutter:{default:0},justify:{default:"start"},align:{default:"top"},wrap:{default:"wrap"},tag:{default:"div"}},setup(c){const t=c,l=e.computed(()=>Array.isArray(t.gutter)?t.gutter[0]:t.gutter),n=e.computed(()=>Array.isArray(t.gutter)?t.gutter[1]:0),o={start:"flex-start",end:"flex-end",center:"center","space-between":"space-between","space-around":"space-around","space-evenly":"space-evenly"},s={top:"flex-start",middle:"center",bottom:"flex-end",stretch:"stretch"},i=e.computed(()=>({marginLeft:l.value?`-${l.value/2}px`:void 0,marginRight:l.value?`-${l.value/2}px`:void 0,rowGap:n.value?`${n.value}px`:void 0,justifyContent:o[t.justify],alignItems:s[t.align],flexWrap:t.wrap,"--row-gutter-h":l.value?`${l.value/2}px`:"0px"}));return(r,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.tag),{class:"f-row",style:e.normalizeStyle(e.unref(i))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{},void 0,!0)]),_:3},8,["style"]))}}),[["__scopeId","data-v-72f62339"]]),Ge={class:"f-space__item"},Xe={key:0,class:"f-space__split","aria-hidden":"true"},Ye=h(e.defineComponent({__name:"FSpace",props:{direction:{default:"horizontal"},size:{default:"normal"},align:{default:"center"},justify:{default:"start"},wrap:{type:Boolean,default:!1},split:{}},setup(c){const t=c,l={small:6,normal:12,large:18},n=a=>typeof a=="number"?a:l[a],o=e.computed(()=>{const a=t.size;return Array.isArray(a)?`${n(a[1])}px ${n(a[0])}px`:`${n(a)}px`}),s=e.computed(()=>({flexDirection:t.direction==="vertical"?"column":"row",alignItems:t.align,justifyContent:t.justify,flexWrap:t.wrap?"wrap":"nowrap",gap:o.value})),i=e.useSlots(),r=e.computed(()=>{var p;const a=(p=i.default)==null?void 0:p.call(i);if(!a)return[];const _=[];for(const f of a)f.type===e.Fragment?_.push(...f.children):_.push(f);return _.filter(f=>f.type!==Comment)});return(a,_)=>(e.openBlock(),e.createElementBlock("div",{class:"f-space",style:e.normalizeStyle(e.unref(s))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(p,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f},[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p)))]),a.split&&f<e.unref(r).length-1?(e.openBlock(),e.createElementBlock("span",Xe,e.toDisplayString(a.split),1)):e.createCommentVNode("",!0)],64))),128))],4))}}),[["__scopeId","data-v-5fb3b1a0"]]),Je=h(e.defineComponent({__name:"FContainer",props:{gap:{default:12}},setup(c){const t=c,l=e.computed(()=>({gap:typeof t.gap=="number"?`${t.gap}px`:t.gap}));return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"f-container",style:e.normalizeStyle(e.unref(l))},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-08450ddf"]]),Ke=h(e.defineComponent({__name:"FDivider",props:{color:{},direction:{default:"horizontal"},line:{default:"solid"}},setup(c){const t=c,l=e.computed(()=>{const n=t.color||"var(--el-color-primary)",o=t.direction==="horizontal";return{borderTop:o?`${t.line} ${n}`:"none",borderLeft:o?"none":`${t.line} ${n}`,height:o?"0":"100%",width:o?"100%":"0",margin:o?"24px 0":"0"}});return(n,o)=>(e.openBlock(),e.createElementBlock("hr",{style:e.normalizeStyle(l.value)},null,4))}}),[["__scopeId","data-v-512ee743"]]),Qe=["src","alt"],Ze=h(e.defineComponent({__name:"FAvatar",props:{src:{},alt:{},size:{default:"normal"},shape:{default:"circle"},icon:{}},setup(c){const t=c,l={small:"32px",normal:"48px",large:"64px"},n=e.computed(()=>({width:typeof t.size=="string"?l[t.size]:`${t.size}px`,height:typeof t.size=="string"?l[t.size]:`${t.size}px`,borderRadius:t.shape==="circle"?"50%":"8px"}));return(o,s)=>{const i=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",{class:"f-avatar",style:e.normalizeStyle(e.unref(n))},[o.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:o.src,alt:o.alt},null,8,Qe)):(e.openBlock(),e.createBlock(i,{key:1,size:24},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.icon?o.icon:e.unref(g.Person))))]),_:1}))],4)}}}),[["__scopeId","data-v-799350d0"]]),ve=["disabled"],et=h(e.defineComponent({__name:"FButton",props:{size:{default:"normal"},round:{type:[Boolean,Number],default:!1},disabled:{type:Boolean},bgColor:{},variant:{}},setup(c){const t=c,l={small:{height:"24px",minWidth:"24px",padding:"0 8px",fontSize:"11px"},normal:{height:"32px",minWidth:"32px",padding:"0 12px",fontSize:"12px"},large:{height:"40px",minWidth:"40px",padding:"0 16px",fontSize:"13px"}},n=e.computed(()=>{var o;return q(U({},(o=l[t.size])!=null?o:l.normal),{borderRadius:t.round===!0?"999px":typeof t.round=="number"?`${t.round}px`:"6px",backgroundColor:t.bgColor})});return(o,s)=>{var i;return e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["f-button",[`f-button--${(i=o.variant)!=null?i:"default"}`,{"is-disabled":o.disabled}]]),style:e.normalizeStyle(e.unref(n)),disabled:o.disabled},[e.renderSlot(o.$slots,"default",{},void 0,!0)],14,ve)}}}),[["__scopeId","data-v-eeff7101"]]),tt=h(e.defineComponent({__name:"FTypography",props:{color:{default:""}},setup(c){const t=c,l=e.computed(()=>({color:t.color}));return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"f-typography",style:e.normalizeStyle(e.unref(l))},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-54c9aca5"]]),ot=h(e.defineComponent({__name:"FText",props:{tag:{default:"span"},heading:{},size:{default:"normal"},weight:{default:"normal"},color:{},truncate:{type:Boolean},italic:{type:Boolean}},setup(c){const t=c,l={1:"3xl",2:"2xl",3:"xl",4:"lg",5:"normal",6:"sm"},n={1:"bolder",2:"bold",3:"bold",4:"medium",5:"medium",6:"normal"},o=e.computed(()=>{var r;return t.heading?`h${t.heading}`:(r=t.tag)!=null?r:"span"}),s=e.computed(()=>{var r;return(r=t.size)!=null?r:t.heading?l[t.heading]:"normal"}),i=e.computed(()=>{var r;return(r=t.weight)!=null?r:t.heading?n[t.heading]:"normal"});return(r,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),{class:e.normalizeClass(["f-text",[`f-text--${e.unref(s)}`,`f-text--${e.unref(i)}`,r.color&&`f-text--${r.color}`,{"f-text--truncate":r.truncate,"f-text--italic":r.italic}]])},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}}),[["__scopeId","data-v-8bcfc6b3"]]),nt=["href","target","rel"],lt=h(e.defineComponent({__name:"FLink",props:{href:{},target:{default:"_self"},underline:{default:"hover"},color:{},disabled:{type:Boolean}},setup(c){const t=c;return(l,n)=>(e.openBlock(),e.createElementBlock("a",{class:e.normalizeClass(["f-link",[t.color&&`f-link--${t.color}`,`f-link--underline-${t.underline}`,{"f-link--disabled":t.disabled}]]),href:t.disabled?void 0:t.href,target:t.target,rel:t.target==="_blank"?"noopener noreferrer":void 0},[e.renderSlot(l.$slots,"default",{},void 0,!0)],10,nt))}}),[["__scopeId","data-v-daaa3e25"]]),at={class:"f-badge"},rt=h(e.defineComponent({__name:"FBadge",props:{value:{},max:{default:99},dot:{type:Boolean,default:!1},type:{default:"danger"},placement:{default:"top-right"},offset:{default:()=>[0,0]}},setup(c){const t=c,l=e.computed(()=>{var o;return t.dot?"":typeof t.value=="number"&&t.value>t.max?`${t.max}+`:(o=t.value)!=null?o:""}),n=e.computed(()=>{const[o,s]=t.offset;return{"top-right":{top:0,right:0,transform:`translate(calc(50% + ${o}px), calc(-50% + ${s}px))`},"top-left":{top:0,left:0,transform:`translate(calc(-50% + ${o}px), calc(-50% + ${s}px))`},"bottom-right":{bottom:0,right:0,transform:`translate(calc(50% + ${o}px), calc(50% + ${s}px))`},"bottom-left":{bottom:0,left:0,transform:`translate(calc(-50% + ${o}px), calc(50% + ${s}px))`}}[t.placement]});return(o,s)=>(e.openBlock(),e.createElementBlock("div",at,[e.renderSlot(o.$slots,"default",{},void 0,!0),o.dot||o.value!==void 0&&o.value!==""?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["f-badge__content",[`f-badge--${o.type}`,{"f-badge--dot":o.dot}]]),style:e.normalizeStyle(e.unref(n))},e.toDisplayString(e.unref(l)),7)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-be6947ff"]]),st=h(e.defineComponent({__name:"FAffix",props:{placement:{default:"top-right"},offset:{default:()=>[8,8]}},setup(c){const t=c,l=e.computed(()=>{const[n,o]=t.offset;return{"top-left":{top:`${o}px`,left:`${n}px`},"top-right":{top:`${o}px`,right:`${n}px`},"bottom-left":{bottom:`${o}px`,left:`${n}px`},"bottom-right":{bottom:`${o}px`,right:`${n}px`}}[t.placement]});return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"f-affix",style:e.normalizeStyle(e.unref(l))},[e.renderSlot(n.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-8506d679"]]),ct=c=>{["FInput","FImage","FLoading","FIcon","FRate","FDropdown","FSelect","FPagination","FCard","FTag","FTooltip","FProgress","FTabs","FBreadcrumb","FCol","FRow","FSpace","FContainer","FDivider","FAvatar","FButton","FTypography","FText","FLink","FBadge","FAffix"].forEach(l=>{c.component(l,e.defineAsyncComponent(()=>R(Object.assign({}),`./common/${l}.vue`,3)))})};d.FAffix=st,d.FAvatar=Ze,d.FBadge=rt,d.FBreadcrumb=Oe,d.FButton=et,d.FCard=ze,d.FCol=Ue,d.FContainer=Je,d.FDivider=Ke,d.FDropdown=de,d.FIcon=x,d.FImage=K,d.FInput=Z,d.FLink=lt,d.FLoading=te,d.FPagination=ge,d.FProgress=xe,d.FRate=le,d.FRow=qe,d.FSelect=pe,d.FSpace=Ye,d.FTabs=Pe,d.FTag=Ne,d.FText=ot,d.FTooltip=Te,d.FTypography=tt,d.install=ct,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
1
+ (function(p,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@vicons/ionicons5"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@vicons/ionicons5","@vueuse/core"],e):(p=typeof globalThis!="undefined"?globalThis:p||self,e(p.FantasiaUI={},p.Vue,p.IconsIonicons5,p.VueUse))})(this,function(p,e,g,W){"use strict";var Ct=Object.defineProperty,wt=Object.defineProperties;var Ft=Object.getOwnPropertyDescriptors;var ke=Object.getOwnPropertySymbols;var St=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable;var ye=(p,e,g)=>e in p?Ct(p,e,{enumerable:!0,configurable:!0,writable:!0,value:g}):p[e]=g,be=(p,e)=>{for(var g in e||(e={}))St.call(e,g)&&ye(p,g,e[g]);if(ke)for(var g of ke(e))Et.call(e,g)&&ye(p,g,e[g]);return p},ue=(p,e)=>wt(p,Ft(e));var R=(p,e,g)=>new Promise((W,A)=>{var h=V=>{try{x(g.next(V))}catch(D){A(D)}},P=V=>{try{x(g.throw(V))}catch(D){A(D)}},x=V=>V.done?W(V.value):Promise.resolve(V.value).then(h,P);x((g=g.apply(p,e)).next())});const A=e.defineComponent({__name:"FIcon",props:{color:{},size:{default:"1em"}},setup(r){const t=r,l=e.computed(()=>({width:typeof t.size=="number"?`${t.size}px`:t.size,height:typeof t.size=="number"?`${t.size}px`:t.size,color:t.color}));return(o,n)=>(e.openBlock(),e.createElementBlock("span",{role:"img",class:"f-icon",style:e.normalizeStyle(e.unref(l))},[e.renderSlot(o.$slots,"default",{},void 0,!0)],4))}}),h=(r,t)=>{const l=r.__vccOpts||r;for(const[o,n]of t)l[o]=n;return l},P=h(A,[["__scopeId","data-v-524b7dbb"]]),x="data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1780285609860'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='12961'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath%20d='M894.4%20281.504a39.36%2039.36%200%200%200-27.104-11.808l-293.888-10.976-22.016%2046.88%2030.592%2087.2-55.2%2099.008%2022.4%2079.904%2056%2068.48%2081.024-70.496c7.808-6.88%2020.288-6.496%2027.104%201.216l103.904%20106.4c7.296%207.296%206.88%2019.2-0.928%2026.112a18.944%2018.944%200%200%201-13.76%204.896l-284.8-10.624-14.24%2038.72%2015.52%2034.592%20327.488%2011.808c21.504%200.8%2039.616-15.104%2040.096-35.52l18.208-439.296a34.368%2034.368%200%200%200-10.4-26.496zM684.096%20483.2c-32.32-1.184-57.28-26.88-56-57.088%201.28-30.592%2028.416-54.208%2060.288-52.992%2031.904%201.184%2057.312%2026.88%2056%2057.088-1.184%2030.208-28.384%2054.304-60.288%2052.992z%20m-211.104%20253.6l9.92-40.8-231.424%2015.104c-10.784%200.8-19.776-6.496-20.672-16.704a17.856%2017.856%200%200%201%204.672-13.504l171.52-186.272a18.048%2018.048%200%200%201%2014.208-6.112c5.184%200%2010.272%201.984%2014.176%205.696l57.28%2056.704-24.576-60.32%2044-104.288L472%20302.72l16.384-48.096-315.392%2020.8c-21.504%201.184-37.504%2018.784-36.192%2039.072l31.904%20439.424c0.384%209.792%205.184%2018.688%2013.408%2024.896%207.776%206.496%2017.696%209.792%2028%208.992l281.792-18.304-18.88-32.704z'%20p-id='12962'%3e%3c/path%3e%3c/svg%3e",V={class:"f-image"},D={key:0,class:"f-image__placeholder"},$e={key:0,class:"f-image__error"},Be=["src","loading"],j=h(e.defineComponent({__name:"FImage",props:{src:{},alt:{},fit:{default:"cover"},lazy:{type:Boolean,default:!0}},setup(r){const t=r,l=e.ref("loading");e.watch(()=>t.src,()=>{l.value="loading"},{immediate:!1});const o=()=>l.value="loaded",n=()=>l.value="error";return(c,d)=>{const s=e.resolveComponent("f-loading"),a=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",V,[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(l)==="loading"?(e.openBlock(),e.createElementBlock("div",D,[e.createVNode(s,{type:"classic first"})])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(l)==="error"?(e.openBlock(),e.createElementBlock("div",$e,[e.renderSlot(c.$slots,"error",{},()=>[e.createVNode(a,{size:"48px"},{default:e.withCtx(()=>[e.createVNode(e.unref(x))]),_:1})],!0)])):e.createCommentVNode("",!0)]),_:3}),e.withDirectives(e.createElementVNode("img",{src:t.src,loading:c.lazy?"lazy":"eager",style:e.normalizeStyle({objectFit:t.fit}),class:"f-image__img",onLoad:o,onError:n},null,44,Be),[[e.vShow,e.unref(l)==="loaded"]])])}}}),[["__scopeId","data-v-2948108d"]]),Ce=["type","placeholder","disabled","readonly","name","id"],O=h(e.defineComponent({__name:"FInput",props:e.mergeModels({placeholder:{default:"输入..."},type:{default:"text"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},name:{default:""},id:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["input","change","focus","blur"],["update:modelValue"]),setup(r,{emit:t}){const l=e.useModel(r,"modelValue"),o=t,n=a=>{const m=a.target.value;o("input",m)},c=a=>{const m=a.target.value;o("change",m)},d=a=>{o("focus",a)},s=a=>{o("blur",a)};return(a,m)=>{const f=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-input",{"is-disabled":a.disabled,"is-readonly":"readonly"in a?a.readonly:e.unref(e.readonly)}])},[e.createVNode(f,{class:"f-input__icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.Search))]),_:1}),e.withDirectives(e.createElementVNode("input",{class:"f-input__text","onUpdate:modelValue":m[0]||(m[0]=i=>l.value=i),type:a.type,placeholder:a.placeholder,disabled:a.disabled,readonly:"readonly"in a?a.readonly:e.unref(e.readonly),name:a.name,id:a.id,onInput:n,onChange:c,onFocus:d,onBlur:s},null,40,Ce),[[e.vModelDynamic,l.value]])],2)}}}),[["__scopeId","data-v-6c6d7c63"]]),we={key:0,class:"loop cubes"},Fe={key:2,class:"msg"},H=h(e.defineComponent({__name:"FLoading",props:{type:{default:"dots"},text:{},mask:{type:Boolean,default:!1}},setup(r){const t=r;return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex-center-col size-full loading-container",{"global-mask":l.mask}])},[l.type==="cubes"?(e.openBlock(),e.createElementBlock("div",we,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(6,n=>e.createElementVNode("div",{class:"item cubes",key:n})),64))])):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["loader",l.type])},null,2)),t.text?(e.openBlock(),e.createElementBlock("p",Fe,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-20f58a50"]]),Se=["onMousemove"],Ee={key:0,class:"f-rate__score"},q=h(e.defineComponent({__name:"FRate",props:e.mergeModels({modelValue:{},count:{default:5},readonly:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1},color:{default:"#f5a623"},voidColor:{default:"#c0c4cc"},showText:{type:Boolean,default:!1},scoreTemplate:{default:"{value} 分"},size:{default:"normal"}},{modelValue:{default:0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(r,{emit:t}){const l=e.useModel(r,"modelValue"),o=r,n=t,c=e.ref(null),d=e.computed(()=>{var b;return(b=c.value)!=null?b:l.value}),s=e.computed(()=>o.scoreTemplate.replace("{value}",String(l.value))),a=e.computed(()=>o.size==="normal"?16:o.size==="small"?12:20),m=b=>{const C=d.value;return C>=b?"full":o.allowHalf&&C>=b-.5?"half":"empty"},f=b=>m(b)==="full"?o.voidColor:o.color,i=(b,C)=>{if(!o.readonly)if(o.allowHalf){const w=b.currentTarget,{left:B,width:E}=w.getBoundingClientRect();c.value=(b.clientX-B)/E<.5?C-.5:C}else c.value=C},y=()=>{o.readonly||(c.value=null)},$=()=>{var C;if(o.readonly)return;const b=(C=c.value)!=null?C:l.value;l.value=b,n("change",b)};return(b,C)=>{const w=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-rate",{"f-rate--readonly":o.readonly}]),onMouseleave:y},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.count,B=>(e.openBlock(),e.createElementBlock("span",{key:B,class:"f-rate__item",onMousemove:E=>i(E,B),onClick:$},[e.createVNode(w,{color:f(B),size:e.unref(a)},{default:e.withCtx(()=>[m(B)==="full"?(e.openBlock(),e.createBlock(e.unref(g.StarOutline),{key:0})):m(B)==="half"?(e.openBlock(),e.createBlock(e.unref(g.StarHalf),{key:1})):(e.openBlock(),e.createBlock(e.unref(g.Star),{key:2}))]),_:2},1032,["color","size"])],40,Se))),128)),o.showText?(e.openBlock(),e.createElementBlock("span",Ee,e.toDisplayString(e.unref(s)),1)):e.createCommentVNode("",!0)],34)}}}),[["__scopeId","data-v-d68cd0e3"]]),ze={class:"f-dropdown-wrapper"},Ve={class:"f-dropdown-content"},Ne=["onClick"],Me={key:0,class:"opt-icon"},Te={class:"opt-label"},U=h(e.defineComponent({__name:"FDropdown",props:{placement:{default:"right-start"},offset:{default:12},zIndex:{default:2e3},trigger:{default:"hover"},options:{default:()=>[]}},emits:["select"],setup(r,{emit:t}){const l=r,o=t,n=e.ref(!1),c=e.ref(null),d=e.ref(null),s=e.ref(null),a=e.ref(0),m=e.ref(0),f=e.computed(()=>{const[_]=l.placement.split("-"),k=(Array.isArray(l.offset)?l.offset[0]:l.offset)+4,u={position:"absolute"};return _==="right"?(u.width=`${k}px`,u.left=`-${k}px`,u.top=0,u.bottom=0):_==="left"?(u.width=`${k}px`,u.right=`-${k}px`,u.top=0,u.bottom=0):_==="bottom"?(u.height=`${k}px`,u.top=`-${k}px`,u.left=0,u.right=0):_==="top"&&(u.height=`${k}px`,u.bottom=`-${k}px`,u.left=0,u.right=0),u}),i=e.computed(()=>{if(!c.value)return{};const _=c.value,{placement:N}=l,k=Array.isArray(l.offset)?l.offset[0]:l.offset,[u,M]=N.split("-"),he=window.innerWidth,ge=window.innerHeight,T=m.value||160,I=a.value||200;let F=0,S=0,z=u;u==="right"?(S=_.right+k,S+T>he&&(S=_.left-T-k,z="left")):u==="left"?(S=_.left-T-k,S<0&&(S=_.right+k,z="right")):u==="bottom"?(F=_.bottom+k,F+I>ge&&(F=_.top-I-k,z="top")):u==="top"&&(F=_.top-I-k,F<0&&(F=_.bottom+k,z="bottom")),z==="top"||z==="bottom"?(M==="start"?S=_.left:M==="end"?S=_.right-T:S=_.left+(_.width-T)/2,S=Math.max(8,Math.min(S,he-T-8))):(M==="start"?F=_.top:M==="end"?F=_.bottom-I:F=_.top+(_.height-I)/2,F=Math.max(8,Math.min(F,ge-I-8)));const $t=z==="right"?"left":z==="left"?"right":M==="start"?"left":M==="end"?"right":"center",Bt=z==="bottom"?"top":z==="top"?"bottom":M==="start"?"top":M==="end"?"bottom":"center";return{top:`${F}px`,left:`${S}px`,transformOrigin:`${Bt} ${$t}`}});let y=null,$=null;const b=()=>{y&&(clearTimeout(y),y=null)},C=_=>{l.trigger==="click"&&(_.stopPropagation(),n.value?n.value=!1:(c.value=d.value.getBoundingClientRect(),n.value=!0))},w=()=>{l.trigger==="hover"&&(b(),$=setTimeout(()=>{d.value&&(c.value=d.value.getBoundingClientRect()),n.value=!0},400))},B=()=>{l.trigger==="hover"&&($&&(clearTimeout($),$=null),y=setTimeout(()=>{n.value=!1},400))},E=_=>{l.trigger!=="click"||!n.value||(n.value=!1)},L=_=>{_.disabled||(o("select",_.key,_),_.children||(n.value=!1))};return e.watch(n,_=>R(null,null,function*(){var N,k;_?(c.value=d.value.getBoundingClientRect(),yield e.nextTick(),a.value=((N=s.value)==null?void 0:N.offsetHeight)||200,m.value=((k=s.value)==null?void 0:k.offsetWidth)||160):(a.value=0,m.value=0)})),e.onUnmounted(()=>{b(),$&&clearTimeout($)}),W.useEventListener(window,"click",E),(_,N)=>(e.openBlock(),e.createElementBlock("div",ze,[e.createElementVNode("div",{ref_key:"triggerRef",ref:d,class:"f-dropdown-trigger-wrapper",onMouseenter:w,onMouseleave:B,onClick:C},[e.renderSlot(_.$slots,"default",{},void 0,!0)],544),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"f-dropdown-motion"},{default:e.withCtx(()=>[e.unref(n)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:s,class:"f-dropdown-item",style:e.normalizeStyle([e.unref(i),{zIndex:_.zIndex}]),onMouseenter:b,onMouseleave:B,onClick:N[0]||(N[0]=e.withModifiers(()=>{},["stop"]))},[_.trigger==="hover"?(e.openBlock(),e.createElementBlock("div",{key:0,class:"f-dropdown-bridge",style:e.normalizeStyle(e.unref(f))},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",Ve,[_.options&&_.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(_.options,k=>(e.openBlock(),e.createElementBlock("div",{key:k.key,class:e.normalizeClass(["f-dropdown-option",{"is-disabled":k.disabled}]),onClick:u=>L(k)},[k.icon?(e.openBlock(),e.createElementBlock("span",Me,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon)))])):e.createCommentVNode("",!0),e.createElementVNode("span",Te,e.toDisplayString(k.label),1)],10,Ne))),128)):e.renderSlot(_.$slots,"content",{key:1},void 0,!0)])],36)):e.createCommentVNode("",!0)]),_:3})]))]))}}),[["__scopeId","data-v-addb3a3b"]]),G=h(e.defineComponent({__name:"FSelect",props:e.mergeModels({options:{},placeholder:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["select"],["update:modelValue"]),setup(r,{emit:t}){const l=r,o=t,n=e.useModel(r,"modelValue"),c=e.ref(!1),d=e.computed(()=>{var f,i,y;return(y=(f=l.options.find($=>$.key===n.value))==null?void 0:f.label)!=null?y:(i=l.placeholder)!=null?i:"请选择"}),s=e.computed(()=>n.value!==void 0&&n.value!==""),a=(f,i)=>{n.value=f,o("select",f,i),c.value=!1},m=f=>{c.value=f};return(f,i)=>{const y=e.resolveComponent("f-icon"),$=e.resolveComponent("f-dropdown");return e.openBlock(),e.createBlock($,{options:f.options,trigger:"click",onSelect:a,onShow:i[0]||(i[0]=b=>m(!0)),onHide:i[1]||(i[1]=b=>m(!1)),placement:"bottom",offset:4},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["f-select",{"is-active":e.unref(s),"is-open":e.unref(c)}])},[e.createElementVNode("span",{class:e.normalizeClass(["f-select__label",{"is-placeholder":!e.unref(s)}])},e.toDisplayString(e.unref(d)),3),e.createVNode(y,{class:"f-select__arrow"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ChevronDownOutline))]),_:1})],2)]),_:1},8,["options"])}}}),[["__scopeId","data-v-25e7d03d"]]),Ie={class:"f-pagination"},xe={class:"f-pagination__list"},De={key:0,class:"page-btn ellipsis"},Re=["onClick"],X=h(e.defineComponent({__name:"FPagination",props:e.mergeModels({total:{},pageSize:{default:10},hideOnSingle:{type:Boolean}},{modelValue:{default:1},modelModifiers:{}}),emits:e.mergeModels(["update:currentPage"],["update:modelValue"]),setup(r,{emit:t}){const l=r,o=e.useModel(r,"modelValue"),n=e.computed(()=>Math.ceil(l.total/l.pageSize)||1),c=e.computed(()=>{const s=n.value,a=o.value;return!s||s<=0?[]:s<=7?Array.from({length:s},(m,f)=>f+1):a<=4?[1,2,3,4,5,"...",s]:a>=s-3?[1,"...",s-4,s-3,s-2,s-1,s]:[1,"...",a-1,a,a+1,"...",s]}),d=s=>{typeof s=="number"&&(s<1||s>n.value||s===o.value||(o.value=s))};return(s,a)=>{const m=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("button",{class:e.normalizeClass(["page-btn",{disabled:o.value===1}]),onClick:a[0]||(a[0]=f=>d(o.value-1))},[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(e.unref(g.ChevronBackOutline))]),_:1})],2),e.createElementVNode("ul",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),(f,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[f==="..."?(e.openBlock(),e.createElementBlock("li",De,[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(e.unref(g.EllipsisHorizontal))]),_:1})])):(e.openBlock(),e.createElementBlock("li",{key:1,class:e.normalizeClass(["page-btn",{active:o.value===f}]),onClick:y=>d(f)},e.toDisplayString(f),11,Re))],64))),128))]),e.createElementVNode("button",{class:e.normalizeClass(["page-btn",{disabled:o.value===e.unref(n)}]),onClick:a[1]||(a[1]=f=>d(o.value+1))},[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(e.unref(g.ChevronForwardOutline))]),_:1})],2)])}}}),[["__scopeId","data-v-e58f1ac9"]]),Ae={key:0,class:"f-card__header"},Pe={key:0,class:"f-card__header-extra"},Le={key:1,class:"f-card__cover"},We={key:2,class:"f-card__body"},je={key:3,class:"f-card__footer"},Oe={key:0,class:"f-card__header"},He={key:0,class:"f-card__header-extra"},qe={key:1,class:"f-card__cover"},Ue={class:"f-card__content"},Ge={key:0,class:"f-card__body"},Xe={key:1,class:"f-card__footer"},Y=h(e.defineComponent({__name:"FCard",props:{hoverable:{type:Boolean,default:!0},direction:{default:"vertical"}},setup(r){return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-card",[`f-card--${t.direction}`,{"is-hoverable":t.hoverable}]])},[t.direction==="vertical"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.$slots.header||t.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("div",Ae,[e.renderSlot(t.$slots,"header",{},void 0,!0),t.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("div",Pe,[e.renderSlot(t.$slots,"header-extra",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.$slots.cover?(e.openBlock(),e.createElementBlock("div",Le,[e.renderSlot(t.$slots,"cover",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.default?(e.openBlock(),e.createElementBlock("div",We,[e.renderSlot(t.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",je,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.$slots.header||t.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("div",Oe,[e.renderSlot(t.$slots,"header",{},void 0,!0),t.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("div",He,[e.renderSlot(t.$slots,"header-extra",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.$slots.cover?(e.openBlock(),e.createElementBlock("div",qe,[e.renderSlot(t.$slots,"cover",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Ue,[t.$slots.default?(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(t.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",Xe,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)])],64))],2))}}),[["__scopeId","data-v-a66fa373"]]),Ye={key:0,class:"f-tag__dot"},J=h(e.defineComponent({__name:"FTag",props:{color:{},type:{default:"round"},effect:{},closable:{type:Boolean},size:{default:"normal"}},emits:["close"],setup(r,{emit:t}){const l=t,o=e.ref(!1);return(n,c)=>{var s,a,m;const d=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["f-tag",[`f-tag--${(s=n.type)!=null?s:"round"}`,`f-tag--${(a=n.effect)!=null?a:"light"}`,(m=n.color)!=null?m:"default"]]),onMouseenter:c[1]||(c[1]=f=>o.value=!0),onMouseleave:c[2]||(c[2]=f=>o.value=!1)},[n.type==="dot"?(e.openBlock(),e.createElementBlock("span",Ye)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},void 0,!0),n.closable?(e.openBlock(),e.createBlock(d,{key:1,class:"f-tag__close",onClick:c[0]||(c[0]=e.withModifiers(f=>l("close"),["stop"]))},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)?e.unref(g.CloseCircle):e.unref(g.Close))))]),_:1})):e.createCommentVNode("",!0)],34)}}}),[["__scopeId","data-v-9f7974a7"]]),K=h(e.defineComponent({__name:"FTooltip",props:{content:{},placement:{default:"top"},disabled:{type:Boolean,default:!1},delay:{default:100},offset:{default:6},maxWidth:{default:240}},setup(r){const t=r,l=e.ref(null),o=e.ref(null),n=e.ref(!1),c=e.ref({top:0,left:0});let d=null;const s=()=>{t.disabled||(d=setTimeout(()=>{n.value=!0,e.nextTick(m)},t.delay))},a=()=>{d&&clearTimeout(d),n.value=!1},m=()=>{var L,_;if(!o.value)return;const f=(_=(L=l.value)==null?void 0:L.firstElementChild)!=null?_:l.value;if(!f)return;const i=f.getBoundingClientRect(),y=o.value.getBoundingClientRect(),$=t.offset,[b,C]=t.placement.split("-");let w=0,B=0;switch(b){case"top":w=i.top-y.height-$;break;case"bottom":w=i.bottom+$;break;case"left":B=i.left-y.width-$;break;case"right":B=i.right+$;break}b==="top"||b==="bottom"?C==="start"?B=i.left:C==="end"?B=i.right-y.width:B=i.left+(i.width-y.width)/2:C==="start"?w=i.top:C==="end"?w=i.bottom-y.height:w=i.top+(i.height-y.height)/2;const E=8;B=Math.max(E,Math.min(B,window.innerWidth-y.width-E)),w=Math.max(E,Math.min(w,window.innerHeight-y.height-E)),c.value={top:w+window.scrollY,left:B+window.scrollX}};return e.onUnmounted(a),(f,i)=>(e.openBlock(),e.createElementBlock("div",{class:"f-tooltip",ref_key:"triggerRef",ref:l,onMouseenter:s,onMouseleave:a},[e.renderSlot(f.$slots,"default",{},void 0,!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"f-tooltip"},{default:e.withCtx(()=>[e.unref(n)&&(f.content||f.$slots.content)?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tooltipRef",ref:o,class:e.normalizeClass(["f-tooltip-wrapper",`is-${f.placement.split("-")[0]}`]),style:e.normalizeStyle({top:`${e.unref(c).top}px`,left:`${e.unref(c).left}px`,maxWidth:`${f.maxWidth}px`})},[e.renderSlot(f.$slots,"content",{},()=>[e.createTextVNode(e.toDisplayString(f.content),1)],!0),i[0]||(i[0]=e.createElementVNode("span",{class:"f-tooltip-arrow"},null,-1))],6)):e.createCommentVNode("",!0)]),_:3})]))],544))}}),[["__scopeId","data-v-be9acca7"]]),Je={class:"f-progress"},Ke={key:0,class:"f-progress__text"},Q=h(e.defineComponent({__name:"FProgress",props:{percent:{},color:{},showText:{type:Boolean,default:!1},height:{default:5}},setup(r){const t=r,l=e.computed(()=>Math.min(100,Math.max(0,t.percent)));return(o,n)=>(e.openBlock(),e.createElementBlock("div",Je,[e.createElementVNode("div",{class:"f-progress__track",style:e.normalizeStyle({height:`${o.height}px`})},[e.createElementVNode("div",{class:"f-progress__fill",style:e.normalizeStyle({width:`${e.unref(l)}%`,background:o.color})},null,4)],4),o.showText?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(e.unref(l))+"%",1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-c2164d6e"]]),Qe={class:"f-tabs__nav-container"},Ze={class:"f-tabs__nav"},ve=["onClick"],et={class:"f-tabs__label"},Z=h(e.defineComponent({__name:"FTabs",props:{tabs:{},active:{},type:{default:"line"}},emits:["update:active","change"],setup(r,{emit:t}){const l=r,o=t,n=e.computed({get:()=>{var s;if(l.active&&l.tabs.some(a=>a.name===l.active&&!a.disabled))return l.active;const d=l.tabs.find(a=>!a.disabled);return(s=d==null?void 0:d.name)!=null?s:""},set:d=>{o("update:active",d),o("change",d)}}),c=(d,s)=>{s||(n.value=d)};return(d,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-tabs",[`f-tabs--${d.type}`]])},[e.createElementVNode("div",Qe,[e.createElementVNode("div",Ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.tabs,a=>(e.openBlock(),e.createElementBlock("div",{key:a.name,class:e.normalizeClass(["f-tabs__tab",{active:e.unref(n)===a.name,disabled:a.disabled}]),onClick:m=>c(a.name,a.disabled)},[e.createElementVNode("span",et,e.toDisplayString(a.label),1)],10,ve))),128))])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.tabs,a=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:a.name,class:"f-tabs__panel"},[e.renderSlot(d.$slots,a.name,{},void 0,!0)])),[[e.vShow,e.unref(n)===a.name]])),128))],2))}}),[["__scopeId","data-v-268fc654"]]),tt={class:"f-breadcrumb__current","aria-current":"page"},ot=["href"],nt={key:3,class:"f-breadcrumb__text"},v=h(e.defineComponent({__name:"FBreadcrumb",props:{items:{default:()=>[]},separator:{default:"/"},animated:{type:Boolean,default:!1}},setup(r){return(t,l)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["f-breadcrumb",{"f-breadcrumb--animated":t.animated}]),"aria-label":"breadcrumb"},[e.createVNode(e.TransitionGroup,{name:"breadcrumb"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.label},[n>0?(e.openBlock(),e.createElementBlock("span",{key:`sep-${o.label}`,class:"f-breadcrumb__sep","aria-hidden":"true"},e.toDisplayString(t.separator),1)):e.createCommentVNode("",!0),n===t.items.length-1?e.renderSlot(t.$slots,"default",{key:1,item:o},()=>[e.createElementVNode("span",tt,e.toDisplayString(o.label),1)],!0):o.href?(e.openBlock(),e.createElementBlock("a",{key:2,href:o.href,class:"f-breadcrumb__link"},e.toDisplayString(o.label),9,ot)):(e.openBlock(),e.createElementBlock("span",nt,e.toDisplayString(o.label),1))],64))),128))]),_:3})],2))}}),[["__scopeId","data-v-bb787dcc"]]),ee=h(e.defineComponent({__name:"FCol",props:{span:{default:24},offset:{default:0},order:{default:0},xs:{},sm:{},md:{},lg:{}},setup(r){const t=r,l=c=>typeof c=="number"?{span:c}:c,o=e.computed(()=>({"--col-span":t.span,"--col-offset":t.offset,"--col-order":t.order})),n=e.computed(()=>{const c=[],d={xs:t.xs,sm:t.sm,md:t.md,lg:t.lg};for(const[s,a]of Object.entries(d)){if(a===void 0)continue;const{span:m,offset:f,order:i}=l(a);m!==void 0&&c.push(`f-col--${s}-${m}`),f!==void 0&&c.push(`f-col--${s}-offset-${f}`),i!==void 0&&c.push(`f-col--${s}-order-${i}`)}return c});return(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-col",e.unref(n)]),style:e.normalizeStyle(e.unref(o))},[e.renderSlot(c.$slots,"default",{},void 0,!0)],6))}}),[["__scopeId","data-v-5a8b0cb4"]]),te=h(e.defineComponent({__name:"FRow",props:{gutter:{default:0},justify:{default:"start"},align:{default:"top"},wrap:{default:"wrap"},tag:{default:"div"}},setup(r){const t=r,l=e.computed(()=>Array.isArray(t.gutter)?t.gutter[0]:t.gutter),o=e.computed(()=>Array.isArray(t.gutter)?t.gutter[1]:0),n={start:"flex-start",end:"flex-end",center:"center","space-between":"space-between","space-around":"space-around","space-evenly":"space-evenly"},c={top:"flex-start",middle:"center",bottom:"flex-end",stretch:"stretch"},d=e.computed(()=>({marginLeft:l.value?`-${l.value/2}px`:void 0,marginRight:l.value?`-${l.value/2}px`:void 0,rowGap:o.value?`${o.value}px`:void 0,justifyContent:n[t.justify],alignItems:c[t.align],flexWrap:t.wrap,"--row-gutter-h":l.value?`${l.value/2}px`:"0px"}));return(s,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.tag),{class:"f-row",style:e.normalizeStyle(e.unref(d))},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default",{},void 0,!0)]),_:3},8,["style"]))}}),[["__scopeId","data-v-72f62339"]]),lt={class:"f-space__item"},at={key:0,class:"f-space__split","aria-hidden":"true"},oe=h(e.defineComponent({__name:"FSpace",props:{direction:{default:"horizontal"},size:{default:"normal"},align:{default:"center"},justify:{default:"start"},wrap:{type:Boolean,default:!1},split:{}},setup(r){const t=r,l={small:6,normal:12,large:18},o=a=>typeof a=="number"?a:l[a],n=e.computed(()=>{const a=t.size;return Array.isArray(a)?`${o(a[1])}px ${o(a[0])}px`:`${o(a)}px`}),c=e.computed(()=>({flexDirection:t.direction==="vertical"?"column":"row",alignItems:t.align,justifyContent:t.justify,flexWrap:t.wrap?"wrap":"nowrap",gap:n.value})),d=e.useSlots(),s=e.computed(()=>{var f;const a=(f=d.default)==null?void 0:f.call(d);if(!a)return[];const m=[];for(const i of a)i.type===e.Fragment?m.push(...i.children):m.push(i);return m.filter(i=>i.type!==Comment)});return(a,m)=>(e.openBlock(),e.createElementBlock("div",{class:"f-space",style:e.normalizeStyle(e.unref(c))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(f,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[e.createElementVNode("div",lt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f)))]),a.split&&i<e.unref(s).length-1?(e.openBlock(),e.createElementBlock("span",at,e.toDisplayString(a.split),1)):e.createCommentVNode("",!0)],64))),128))],4))}}),[["__scopeId","data-v-5fb3b1a0"]]),ne=h(e.defineComponent({__name:"FContainer",props:{gap:{default:12}},setup(r){const t=r,l=e.computed(()=>({gap:typeof t.gap=="number"?`${t.gap}px`:t.gap}));return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:"f-container",style:e.normalizeStyle(e.unref(l))},[e.renderSlot(o.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-08450ddf"]]),le=h(e.defineComponent({__name:"FDivider",props:{color:{},direction:{default:"horizontal"},line:{default:"solid"}},setup(r){const t=r,l=e.computed(()=>{const o=t.color||"var(--el-color-primary)",n=t.direction==="horizontal";return{borderTop:n?`${t.line} ${o}`:"none",borderLeft:n?"none":`${t.line} ${o}`,height:n?"0":"100%",width:n?"100%":"0",margin:n?"24px 0":"0"}});return(o,n)=>(e.openBlock(),e.createElementBlock("hr",{style:e.normalizeStyle(l.value)},null,4))}}),[["__scopeId","data-v-512ee743"]]),rt=["src","alt"],ae=h(e.defineComponent({__name:"FAvatar",props:{src:{},alt:{},size:{default:"normal"},shape:{default:"circle"},icon:{}},setup(r){const t=r,l={small:"32px",normal:"48px",large:"64px"},o=e.computed(()=>({width:typeof t.size=="string"?l[t.size]:`${t.size}px`,height:typeof t.size=="string"?l[t.size]:`${t.size}px`,borderRadius:t.shape==="circle"?"50%":"8px"}));return(n,c)=>{const d=e.resolveComponent("f-icon");return e.openBlock(),e.createElementBlock("div",{class:"f-avatar",style:e.normalizeStyle(e.unref(o))},[n.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.src,alt:n.alt},null,8,rt)):(e.openBlock(),e.createBlock(d,{key:1,size:24},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.icon?n.icon:e.unref(g.Person))))]),_:1}))],4)}}}),[["__scopeId","data-v-799350d0"]]),st=["disabled"],re=h(e.defineComponent({__name:"FButton",props:{size:{default:"normal"},round:{type:[Boolean,Number],default:!1},disabled:{type:Boolean},bgColor:{},variant:{}},setup(r){const t=r,l={small:{height:"24px",minWidth:"24px",padding:"0 8px",fontSize:"11px"},normal:{height:"32px",minWidth:"32px",padding:"0 12px",fontSize:"12px"},large:{height:"40px",minWidth:"40px",padding:"0 16px",fontSize:"13px"}},o=e.computed(()=>{var n;return ue(be({},(n=l[t.size])!=null?n:l.normal),{borderRadius:t.round===!0?"999px":typeof t.round=="number"?`${t.round}px`:"6px",backgroundColor:t.bgColor})});return(n,c)=>{var d;return e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["f-button",[`f-button--${(d=n.variant)!=null?d:"default"}`,{"is-disabled":n.disabled}]]),style:e.normalizeStyle(e.unref(o)),disabled:n.disabled},[e.renderSlot(n.$slots,"default",{},void 0,!0)],14,st)}}}),[["__scopeId","data-v-eeff7101"]]),se=h(e.defineComponent({__name:"FTypography",props:{color:{default:""}},setup(r){const t=r,l=e.computed(()=>({color:t.color}));return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:"f-typography",style:e.normalizeStyle(e.unref(l))},[e.renderSlot(o.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-54c9aca5"]]),ce=h(e.defineComponent({__name:"FText",props:{tag:{default:"span"},heading:{},size:{default:"normal"},weight:{default:"normal"},color:{},truncate:{type:Boolean},italic:{type:Boolean}},setup(r){const t=r,l={1:"3xl",2:"2xl",3:"xl",4:"lg",5:"normal",6:"sm"},o={1:"bolder",2:"bold",3:"bold",4:"medium",5:"medium",6:"normal"},n=e.computed(()=>{var s;return t.heading?`h${t.heading}`:(s=t.tag)!=null?s:"span"}),c=e.computed(()=>{var s;return(s=t.size)!=null?s:t.heading?l[t.heading]:"normal"}),d=e.computed(()=>{var s;return(s=t.weight)!=null?s:t.heading?o[t.heading]:"normal"});return(s,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)),{class:e.normalizeClass(["f-text",[`f-text--${e.unref(c)}`,`f-text--${e.unref(d)}`,s.color&&`f-text--${s.color}`,{"f-text--truncate":s.truncate,"f-text--italic":s.italic}]])},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}}),[["__scopeId","data-v-8bcfc6b3"]]),ct=["href","target","rel"],ie=h(e.defineComponent({__name:"FLink",props:{href:{},target:{default:"_self"},underline:{default:"hover"},color:{},disabled:{type:Boolean}},setup(r){const t=r;return(l,o)=>(e.openBlock(),e.createElementBlock("a",{class:e.normalizeClass(["f-link",[t.color&&`f-link--${t.color}`,`f-link--underline-${t.underline}`,{"f-link--disabled":t.disabled}]]),href:t.disabled?void 0:t.href,target:t.target,rel:t.target==="_blank"?"noopener noreferrer":void 0},[e.renderSlot(l.$slots,"default",{},void 0,!0)],10,ct))}}),[["__scopeId","data-v-daaa3e25"]]),it={class:"f-badge"},de=h(e.defineComponent({__name:"FBadge",props:{value:{},max:{default:99},dot:{type:Boolean,default:!1},type:{default:"danger"},placement:{default:"top-right"},offset:{default:()=>[0,0]}},setup(r){const t=r,l=e.computed(()=>{var n;return t.dot?"":typeof t.value=="number"&&t.value>t.max?`${t.max}+`:(n=t.value)!=null?n:""}),o=e.computed(()=>{const[n,c]=t.offset;return{"top-right":{top:0,right:0,transform:`translate(calc(50% + ${n}px), calc(-50% + ${c}px))`},"top-left":{top:0,left:0,transform:`translate(calc(-50% + ${n}px), calc(-50% + ${c}px))`},"bottom-right":{bottom:0,right:0,transform:`translate(calc(50% + ${n}px), calc(50% + ${c}px))`},"bottom-left":{bottom:0,left:0,transform:`translate(calc(-50% + ${n}px), calc(50% + ${c}px))`}}[t.placement]});return(n,c)=>(e.openBlock(),e.createElementBlock("div",it,[e.renderSlot(n.$slots,"default",{},void 0,!0),n.dot||n.value!==void 0&&n.value!==""?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["f-badge__content",[`f-badge--${n.type}`,{"f-badge--dot":n.dot}]]),style:e.normalizeStyle(e.unref(o))},e.toDisplayString(e.unref(l)),7)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-be6947ff"]]),pe=h(e.defineComponent({__name:"FAffix",props:{placement:{default:"top-right"},offset:{default:()=>[8,8]}},setup(r){const t=r,l=e.computed(()=>{const[o,n]=t.offset;return{"top-left":{top:`${n}px`,left:`${o}px`},"top-right":{top:`${n}px`,right:`${o}px`},"bottom-left":{bottom:`${n}px`,left:`${o}px`},"bottom-right":{bottom:`${n}px`,right:`${o}px`}}[t.placement]});return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:"f-affix",style:e.normalizeStyle(e.unref(l))},[e.renderSlot(o.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-8506d679"]]),fe=h(e.defineComponent({__name:"FForm",props:{model:{},rules:{default:()=>({})},labelWidth:{default:"80px"},labelPosition:{default:"right"},size:{default:"normal"}},setup(r,{expose:t}){const l=r,o=e.ref([]),n=a=>{o.value.push(a)},c=a=>{o.value=o.value.filter(m=>m.prop!==a)};return e.provide("FFormContext",{model:l.model,rules:l.rules,labelWidth:l.labelWidth,labelPosition:e.computed(()=>l.labelPosition),size:e.computed(()=>l.size),registerField:n,unregisterField:c}),t({validate:()=>R(null,null,function*(){const a=o.value.map(i=>i.validate());if((yield Promise.all(a)).filter(i=>i!==void 0).length>0)throw new Error("表单校验失败");return!0}),resetFields:()=>{o.value.forEach(a=>a.clearValidate())}}),(a,m)=>(e.openBlock(),e.createElementBlock("form",{class:e.normalizeClass(["f-form",[`f-form--label-${a.labelPosition}`,`f-form--size-${a.size}`]]),onSubmit:m[0]||(m[0]=e.withModifiers(()=>{},["prevent"]))},[e.renderSlot(a.$slots,"default",{},void 0,!0)],34))}}),[["__scopeId","data-v-21f7de9b"]]),dt=(r,t)=>R(null,null,function*(){const l=Array.isArray(t)?t:[t];for(let o of l){o.transform&&(r=o.transform(r));const n=r==null||r==="",c=o.whitespace&&typeof r=="string"&&r.trim()==="";if(o.required&&(n||c))return o.message||"此字段为必填项";if(!o.required&&n)continue;if(o.type){const s=pt(r,o);if(s)return s}const d=ft(r,o);if(d)return d;if(o.pattern&&!o.pattern.test(String(r)))return o.message||"格式不匹配";if(o.enum&&!o.enum.includes(r))return o.message||"不在指定的枚举范围内";if(o.validator){const s=yield Promise.resolve(o.validator(r,o));if(typeof s=="string")return s;if(s===!1)return o.message||"校验失败"}}}),pt=(r,t)=>{const{type:l,message:o}=t;switch(l){case"string":if(typeof r!="string")return o||"必须是字符串";break;case"number":if(typeof r!="number"||isNaN(r))return o||"必须是数字";break;case"integer":if(!Number.isInteger(r))return o||"必须是整数";break;case"boolean":if(typeof r!="boolean")return o||"必须是布尔值";break;case"array":if(!Array.isArray(r))return o||"必须是数组";break;case"object":if(typeof r!="object"||r===null)return o||"必须是对象";break;case"email":if(!/^[^\s@]+@([^\s@]+\.)+[^\s@]+$/.test(r))return o||"邮箱格式不正确";break;case"regexp":if(t.pattern&&!t.pattern.test(String(r)))return t.message||"格式不匹配";break}},ft=(r,t)=>{const{min:l,max:o,len:n,message:c,type:d}=t,s=d==="number"||d==="integer"||d==="float",a=s&&typeof r=="number"?r:r==null?void 0:r.length;if(a!==void 0){if(n!==void 0&&a!==n)return c||(s?`值必须等于 ${n}`:`长度必须为 ${n}`);if(l!==void 0&&a<l)return c||(s?`最小值不能小于 ${l}`:`长度不能小于 ${l}`);if(o!==void 0&&a>o)return c||(s?`最大值不能大于 ${o}`:`长度不能大于 ${o}`)}},mt={key:0,class:"star"},_t={class:"f-form-item__content"},ht={key:0,class:"f-form-item__error"},me=h(e.defineComponent({__name:"FFormItem",props:{label:{},prop:{}},setup(r,{expose:t}){const l=r,o=e.inject("FFormContext"),n=e.ref(""),c=e.computed(()=>{var i;return((i=o==null?void 0:o.labelPosition)==null?void 0:i.value)||"right"}),d=e.computed(()=>{var i;return((i=o==null?void 0:o.size)==null?void 0:i.value)||"default"}),s=e.computed(()=>{if(!(o!=null&&o.rules)||!l.prop)return[];const i=o.rules[l.prop]||[];return Array.isArray(i)?i:[i]}),a=e.computed(()=>s.value.some(i=>i.required)),m=()=>R(null,null,function*(){if(!l.prop||!o)return;const i=o.model[l.prop],y=yield dt(i,s.value);return n.value=y||"",y}),f=()=>{n.value=""};return e.provide("FFormItemContext",{errorMsg:n,validate:m}),e.onMounted(()=>{l.prop&&(o!=null&&o.registerField)&&o.registerField({prop:l.prop,validate:m,clearValidate:f})}),e.onUnmounted(()=>{l.prop&&(o!=null&&o.unregisterField)&&o.unregisterField(l.prop)}),e.watch(()=>o==null?void 0:o.model[l.prop],()=>{n.value&&m()}),t({validate:m,clearValidate:f}),(i,y)=>{var $;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["f-form-item",[`is-label-${e.unref(c)}`,`is-size-${e.unref(d)}`,{"is-error":e.unref(n)}]])},[i.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:"f-form-item__label",style:e.normalizeStyle({width:e.unref(c)==="top"?"100%":($=e.unref(o))==null?void 0:$.labelWidth,textAlign:e.unref(c)==="top"?"left":e.unref(c)})},[e.unref(a)?(e.openBlock(),e.createElementBlock("span",mt,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(i.label)+": ",1)],4)):e.createCommentVNode("",!0),e.createElementVNode("div",_t,[e.renderSlot(i.$slots,"default",{},void 0,!0),e.createVNode(e.Transition,{name:"err-slide"},{default:e.withCtx(()=>[e.unref(n)?(e.openBlock(),e.createElementBlock("p",ht,e.toDisplayString(e.unref(n)),1)):e.createCommentVNode("",!0)]),_:1})])],2)}}}),[["__scopeId","data-v-c3d6ec01"]]),gt={class:"f-checkbox__wrapper"},kt=["checked","disabled"],yt={key:0,class:"f-checkbox__label"},_e=h(e.defineComponent({__name:"FCheckbox",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=e.useModel(r,"modelValue"),l=r,o=n=>{if(l.disabled)return;const c=n.target;t.value=c.checked};return(n,c)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["f-checkbox",{"is-disabled":n.disabled}])},[e.createElementVNode("span",gt,[e.createElementVNode("input",{type:"checkbox",checked:t.value,disabled:n.disabled,onChange:o},null,40,kt),c[0]||(c[0]=e.createElementVNode("span",{class:"f-checkbox__checkmark"},null,-1))]),n.label?(e.openBlock(),e.createElementBlock("span",yt,e.toDisplayString(n.label),1)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-633b283a"]]),bt=Object.freeze(Object.defineProperty({__proto__:null,FAffix:pe,FAvatar:ae,FBadge:de,FBreadcrumb:v,FButton:re,FCard:Y,FCheckbox:_e,FCol:ee,FContainer:ne,FDivider:le,FDropdown:U,FForm:fe,FFormItem:me,FIcon:P,FImage:j,FInput:O,FLink:ie,FLoading:H,FPagination:X,FProgress:Q,FRate:q,FRow:te,FSelect:G,FSpace:oe,FTabs:Z,FTag:J,FText:ce,FTooltip:K,FTypography:se},Symbol.toStringTag,{value:"Module"})),ut=r=>{Object.entries(bt).forEach(([t,l])=>{r.component(t,l)})};p.FAffix=pe,p.FAvatar=ae,p.FBadge=de,p.FBreadcrumb=v,p.FButton=re,p.FCard=Y,p.FCheckbox=_e,p.FCol=ee,p.FContainer=ne,p.FDivider=le,p.FDropdown=U,p.FForm=fe,p.FFormItem=me,p.FIcon=P,p.FImage=j,p.FInput=O,p.FLink=ie,p.FLoading=H,p.FPagination=X,p.FProgress=Q,p.FRate=q,p.FRow=te,p.FSelect=G,p.FSpace=oe,p.FTabs=Z,p.FTag=J,p.FText=ce,p.FTooltip=K,p.FTypography=se,p.default=ut,Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,27 +1,29 @@
1
- import FIcon from "./modules/FIcon.vue";
2
- import FImage from "./modules/FImage.vue";
3
- import FInput from "./modules/FInput.vue";
4
- import FLoading from "./modules/FLoading.vue";
5
- import FRate from './modules/FRate.vue';
6
- import FDropdown from "./modules/FDropdown.vue";
7
- import FSelect from "./modules/FSelect.vue";
8
- import FPagination from "./modules/FPagination.vue";
9
- import FCard from "./modules/FCard.vue";
10
- import FTag from "./modules/FTag.vue";
11
- import FTooltip from "./modules/FTooltip.vue";
12
- import FProgress from "./modules/FProgress.vue";
13
- import FTabs from './modules/FTabs.vue';
14
- import FBreadcrumb from "./modules/FBreadcrumb.vue";
15
- import FCol from "./modules/FCol.vue";
16
- import FRow from "./modules/FRow.vue";
17
- import FSpace from "./modules/FSpace.vue";
18
- import FContainer from "./modules/FContainer.vue";
19
- import FDivider from "./modules/FDivider.vue";
20
- import FAvatar from "./modules/FAvatar.vue";
21
- import FButton from "./modules/FButton.vue";
22
- import FTypography from './modules/FTypography.vue';
23
- import FText from "./modules/FText.vue";
24
- import FLink from "./modules/FLink.vue";
25
- import FBadge from "./modules/FBadge.vue";
26
- import FAffix from "./modules/FAffix.vue";
27
- export { FInput, FIcon, FLoading, FImage, FRate, FDropdown, FSelect, FPagination, FCard, FTag, FTooltip, FProgress, FTabs, FBreadcrumb, FCol, FRow, FSpace, FContainer, FDivider, FAvatar, FButton, FTypography, FText, FLink, FBadge, FAffix };
1
+ export { default as FIcon } from "./modules/FIcon.vue";
2
+ export { default as FImage } from "./modules/FImage.vue";
3
+ export { default as FInput } from "./modules/FInput.vue";
4
+ export { default as FLoading } from "./modules/FLoading.vue";
5
+ export { default as FRate } from './modules/FRate.vue';
6
+ export { default as FDropdown } from "./modules/FDropdown.vue";
7
+ export { default as FSelect } from "./modules/FSelect.vue";
8
+ export { default as FPagination } from "./modules/FPagination.vue";
9
+ export { default as FCard } from "./modules/FCard.vue";
10
+ export { default as FTag } from "./modules/FTag.vue";
11
+ export { default as FTooltip } from "./modules/FTooltip.vue";
12
+ export { default as FProgress } from "./modules/FProgress.vue";
13
+ export { default as FTabs } from './modules/FTabs.vue';
14
+ export { default as FBreadcrumb } from "./modules/FBreadcrumb.vue";
15
+ export { default as FCol } from "./modules/FCol.vue";
16
+ export { default as FRow } from "./modules/FRow.vue";
17
+ export { default as FSpace } from "./modules/FSpace.vue";
18
+ export { default as FContainer } from "./modules/FContainer.vue";
19
+ export { default as FDivider } from "./modules/FDivider.vue";
20
+ export { default as FAvatar } from "./modules/FAvatar.vue";
21
+ export { default as FButton } from "./modules/FButton.vue";
22
+ export { default as FTypography } from './modules/FTypography.vue';
23
+ export { default as FText } from "./modules/FText.vue";
24
+ export { default as FLink } from "./modules/FLink.vue";
25
+ export { default as FBadge } from "./modules/FBadge.vue";
26
+ export { default as FAffix } from "./modules/FAffix.vue";
27
+ export { default as FForm } from "./modules/FForm.vue";
28
+ export { default as FFormItem } from "./modules/FFormItem.vue";
29
+ export { default as FCheckbox } from "./modules/FCheckbox.vue";
@@ -1,27 +1,29 @@
1
- import FIcon from "./modules/FIcon.vue";
2
- import FImage from "./modules/FImage.vue";
3
- import FInput from "./modules/FInput.vue";
4
- import FLoading from "./modules/FLoading.vue";
5
- import FRate from './modules/FRate.vue';
6
- import FDropdown from "./modules/FDropdown.vue";
7
- import FSelect from "./modules/FSelect.vue";
8
- import FPagination from "./modules/FPagination.vue";
9
- import FCard from "./modules/FCard.vue";
10
- import FTag from "./modules/FTag.vue";
11
- import FTooltip from "./modules/FTooltip.vue";
12
- import FProgress from "./modules/FProgress.vue";
13
- import FTabs from './modules/FTabs.vue';
14
- import FBreadcrumb from "./modules/FBreadcrumb.vue";
15
- import FCol from "./modules/FCol.vue";
16
- import FRow from "./modules/FRow.vue";
17
- import FSpace from "./modules/FSpace.vue";
18
- import FContainer from "./modules/FContainer.vue";
19
- import FDivider from "./modules/FDivider.vue";
20
- import FAvatar from "./modules/FAvatar.vue";
21
- import FButton from "./modules/FButton.vue";
22
- import FTypography from './modules/FTypography.vue';
23
- import FText from "./modules/FText.vue";
24
- import FLink from "./modules/FLink.vue";
25
- import FBadge from "./modules/FBadge.vue";
26
- import FAffix from "./modules/FAffix.vue";
27
- export { FInput, FIcon, FLoading, FImage, FRate, FDropdown, FSelect, FPagination, FCard, FTag, FTooltip, FProgress, FTabs, FBreadcrumb, FCol, FRow, FSpace, FContainer, FDivider, FAvatar, FButton, FTypography, FText, FLink, FBadge, FAffix };
1
+ export { default as FIcon } from "./modules/FIcon.vue";
2
+ export { default as FImage } from "./modules/FImage.vue";
3
+ export { default as FInput } from "./modules/FInput.vue";
4
+ export { default as FLoading } from "./modules/FLoading.vue";
5
+ export { default as FRate } from './modules/FRate.vue';
6
+ export { default as FDropdown } from "./modules/FDropdown.vue";
7
+ export { default as FSelect } from "./modules/FSelect.vue";
8
+ export { default as FPagination } from "./modules/FPagination.vue";
9
+ export { default as FCard } from "./modules/FCard.vue";
10
+ export { default as FTag } from "./modules/FTag.vue";
11
+ export { default as FTooltip } from "./modules/FTooltip.vue";
12
+ export { default as FProgress } from "./modules/FProgress.vue";
13
+ export { default as FTabs } from './modules/FTabs.vue';
14
+ export { default as FBreadcrumb } from "./modules/FBreadcrumb.vue";
15
+ export { default as FCol } from "./modules/FCol.vue";
16
+ export { default as FRow } from "./modules/FRow.vue";
17
+ export { default as FSpace } from "./modules/FSpace.vue";
18
+ export { default as FContainer } from "./modules/FContainer.vue";
19
+ export { default as FDivider } from "./modules/FDivider.vue";
20
+ export { default as FAvatar } from "./modules/FAvatar.vue";
21
+ export { default as FButton } from "./modules/FButton.vue";
22
+ export { default as FTypography } from './modules/FTypography.vue';
23
+ export { default as FText } from "./modules/FText.vue";
24
+ export { default as FLink } from "./modules/FLink.vue";
25
+ export { default as FBadge } from "./modules/FBadge.vue";
26
+ export { default as FAffix } from "./modules/FAffix.vue";
27
+ export { default as FForm } from "./modules/FForm.vue";
28
+ export { default as FFormItem } from "./modules/FFormItem.vue";
29
+ export { default as FCheckbox } from "./modules/FCheckbox.vue";
@@ -1,4 +1,5 @@
1
- import type { App } from 'vue';
1
+ import type { Plugin } from 'vue';
2
2
  import './styles/base.scss';
3
+ declare const install: Plugin;
4
+ export default install;
3
5
  export * from './components';
4
- export declare const install: (app: App) => void;
@@ -1,15 +1,9 @@
1
- import { defineAsyncComponent } from 'vue';
2
1
  import './styles/base.scss';
3
- // 导出类型
4
- export * from './components';
5
- export const install = (app) => {
6
- const componentNames = [
7
- 'FInput', 'FImage', 'FLoading', 'FIcon', 'FRate', 'FDropdown', 'FSelect',
8
- 'FPagination', 'FCard', 'FTag', 'FTooltip', 'FProgress', 'FTabs', 'FBreadcrumb',
9
- 'FCol', 'FRow', 'FSpace', 'FContainer', 'FDivider', 'FAvatar', 'FButton', 'FTypography',
10
- 'FText', 'FLink', 'FBadge', 'FAffix'
11
- ];
12
- componentNames.forEach((name) => {
13
- app.component(name, defineAsyncComponent(() => import(`./common/${name}.vue`)));
2
+ import * as components from './components';
3
+ const install = (app) => {
4
+ Object.entries(components).forEach(([name, component]) => {
5
+ app.component(name, component);
14
6
  });
15
7
  };
8
+ export default install;
9
+ export * from './components';
@@ -30,3 +30,6 @@ export * from './modules/f-link';
30
30
  export * from './modules/f-badge';
31
31
  export * from './modules/f-affix';
32
32
  export * from './modules/f-breadcrumb';
33
+ export * from './modules/f-form';
34
+ export * from './modules/f-form-item';
35
+ export * from './modules/f-checkbox';
@@ -30,3 +30,6 @@ export * from './modules/f-link';
30
30
  export * from './modules/f-badge';
31
31
  export * from './modules/f-affix';
32
32
  export * from './modules/f-breadcrumb';
33
+ export * from './modules/f-form';
34
+ export * from './modules/f-form-item';
35
+ export * from './modules/f-checkbox';
@@ -0,0 +1,5 @@
1
+ interface FCheckboxProps {
2
+ label?: string;
3
+ disabled?: boolean;
4
+ }
5
+ export type { FCheckboxProps };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface FFormItemProps {
2
+ label?: string;
3
+ prop?: string;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,83 +1,26 @@
1
- type SizeType = '' | 'small' | 'default' | 'large';
2
- interface OptionsType {
3
- label: string;
4
- value: string | number;
1
+ import { Size } from "./base";
2
+ type LabelPosition = 'left' | 'right' | 'top';
3
+ type RuleType = 'string' | 'number' | 'boolean' | 'method' | 'regexp' | 'integer' | 'float' | 'array' | 'object' | 'enum' | 'date' | 'url' | 'email' | 'hex';
4
+ interface FFormProps {
5
+ model: Record<string, any>;
6
+ rules?: Rules;
7
+ labelWidth?: string;
8
+ labelPosition?: LabelPosition;
9
+ size?: Size;
5
10
  }
6
- interface FormItemRule {
11
+ interface Rule {
7
12
  required?: boolean;
13
+ type?: RuleType;
14
+ min?: number;
15
+ max?: number;
16
+ len?: number;
17
+ enum?: any[];
18
+ pattern?: RegExp;
19
+ whitespace?: boolean;
20
+ transform?: (value: any) => any;
8
21
  message?: string;
22
+ validator?: (value: any, rule: Rule) => boolean | string | Promise<boolean | string>;
9
23
  trigger?: string | string[];
10
- [key: string]: any;
11
24
  }
12
- interface CascaderOption {
13
- label: string;
14
- value: string | number;
15
- children?: CascaderOption[];
16
- [key: string]: any;
17
- }
18
- interface BaseConfig {
19
- id: number;
20
- schema_id: number;
21
- prop: string;
22
- label: string;
23
- placeholder?: string;
24
- size?: SizeType;
25
- sort_order: number;
26
- default_val?: string;
27
- status?: boolean;
28
- is_hidden?: boolean;
29
- is_disabled?: boolean;
30
- is_readonly?: boolean;
31
- props?: {
32
- value: string;
33
- label: string;
34
- children: string;
35
- };
36
- option_id: number;
37
- options?: OptionsType[];
38
- rules?: FormItemRule[];
39
- }
40
- type SpecificConfig = {
41
- 'input': object;
42
- 'input-number': object;
43
- 'input-textarea': object;
44
- 'date-picker': object;
45
- 'cascader': {
46
- options: CascaderOption[];
47
- };
48
- 'radio-group': {
49
- options: OptionsType[];
50
- };
51
- 'checkbox-group': {
52
- options: OptionsType[];
53
- };
54
- 'select': {
55
- option_id: number;
56
- options: CascaderOption[];
57
- };
58
- 'select-v2': {
59
- options: OptionsType[];
60
- };
61
- 'select-multiple': {
62
- option_id: number;
63
- options: CascaderOption[];
64
- };
65
- 'upload': {
66
- placeholder: string;
67
- tip: string;
68
- };
69
- 'input-autocomplete': {
70
- placeholder: string;
71
- };
72
- 'date-time-range': object;
73
- };
74
- export type GroupForm = BaseConfig & {
75
- [K in keyof SpecificConfig]: {
76
- component: K;
77
- } & SpecificConfig[K];
78
- }[keyof SpecificConfig];
79
- export interface Forms {
80
- modal: GroupForm;
81
- search_form: GroupForm;
82
- }
83
- export {};
25
+ type Rules = Record<string, Rule | Rule[]>;
26
+ export type { FFormProps, Rule, Rules };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * #### 反序列化工具
3
+ */
4
+ export declare const serializeArray: (arr: string[] | number[] | object | string | number) => string;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * #### 反序列化工具
3
+ */
4
+ export const serializeArray = (arr) => JSON.stringify(arr);
@@ -0,0 +1,2 @@
1
+ export * from './validator';
2
+ export * from './general';
@@ -0,0 +1,2 @@
1
+ export * from './validator';
2
+ export * from './general';
@@ -0,0 +1,23 @@
1
+ import type { Rule, Rules } from "@/types";
2
+ /**
3
+ * 校验单个值是否符合规则列表(异步,支持 validator 返回 Promise)
4
+ * @param value 字段值
5
+ * @param rules 规则数组
6
+ * @returns 校验通过返回 undefined,失败返回错误信息字符串
7
+ */
8
+ export declare const validateSingleField: (value: any, rules: Rule | Rule[]) => Promise<string | undefined>;
9
+ /**
10
+ * 批量校验整个 model(同步版本,不支持异步 validator,但调用单个异步校验实现)
11
+ * @param model 数据对象
12
+ * @param rules 规则集
13
+ * @returns 返回错误对象 { fieldName: errorMessage },无错误时返回空对象
14
+ */
15
+ export declare const validateModel: (model: Record<string, any>, rules: Rules) => Promise<{
16
+ isValid: boolean;
17
+ errors: Record<string, string>;
18
+ }>;
19
+ /**
20
+ * 同步版本的单个校验(不处理异步 validator,如果有异步会警告并跳过)
21
+ * 用于简单场景,不推荐在复杂表单中使用
22
+ */
23
+ export declare const validateSingleFieldSync: (value: any, rules: Rule[]) => string | undefined;