UNPKG

watercolor-ui

Version:

A modern minimalist cross-framework component library

115 lines 273 kB
(function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","vue","react","react-dom"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.WatercolorUI={},C.Vue,C.React,C.ReactDOM))})(this,function(C,e,_,Re){"use strict";const va=["default","bordered","filled"];function $a(t="default"){return va.includes(t)?t:"default"}function Va(t){return t?typeof t=="string"?t:Array.isArray(t)?t.filter(Boolean).join(" "):typeof t=="object"?Object.entries(t).filter(([,n])=>n).map(([n])=>n).join(" "):"":""}function dt(t="default",n=""){const a=$a(t),r=Va(n);return["wc-accordion",a!=="default"?`wc-accordion--${a}`:"",r].filter(Boolean).join(" ")}function ut(t=[],n,a=!1){return a?t.includes(n)?t.filter(r=>r!==n):[...t,n]:t.includes(n)?[]:[n]}const ja=["onClick"],Ta={class:"wc-accordion-title"},Da={class:"wc-accordion-content-inner"},Ia={__name:"Accordion",props:{items:{type:Array,required:!0,default:()=>[]},multiple:{type:Boolean,default:!1},variant:{type:String,default:"default",validator:t=>["default","bordered","filled"].includes(t)},class:{type:[String,Array,Object],default:""},style:{type:[String,Object],default:()=>({})}},emits:["toggle"],setup(t,{emit:n}){const a=t,r=n,l=e.ref([]),o=e.computed(()=>dt(a.variant,a.class)),s=i=>{l.value=ut(l.value,i,a.multiple),r("toggle",i,l.value.includes(i))};return(i,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),style:e.normalizeStyle(t.style)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(c,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"wc-accordion-item"},[e.createElementVNode("button",{class:e.normalizeClass(["wc-accordion-header",{"wc-accordion-header--active":l.value.includes(d)}]),type:"button",onClick:f=>s(d)},[e.createElementVNode("span",Ta,e.toDisplayString(c.title),1),e.createElementVNode("span",{class:e.normalizeClass(["wc-accordion-icon",{"wc-accordion-icon--rotated":l.value.includes(d)}])}," ▼ ",2)],10,ja),e.createElementVNode("div",{class:e.normalizeClass(["wc-accordion-content",{"wc-accordion-content--open":l.value.includes(d)}])},[e.createElementVNode("div",Da,[e.renderSlot(i.$slots,`content-${d}`,{item:c},()=>[e.createTextVNode(e.toDisplayString(c.content),1)])])],2)]))),128))],6))}};function za(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Te={exports:{}},Ne={};/**
 * @license React
 * react-jsx-runtime.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var ft;function Pa(){if(ft)return Ne;ft=1;var t=_,n=Symbol.for("react.element"),a=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,l=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(i,u,c){var d,f={},p=null,h=null;c!==void 0&&(p=""+c),u.key!==void 0&&(p=""+u.key),u.ref!==void 0&&(h=u.ref);for(d in u)r.call(u,d)&&!o.hasOwnProperty(d)&&(f[d]=u[d]);if(i&&i.defaultProps)for(d in u=i.defaultProps,u)f[d]===void 0&&(f[d]=u[d]);return{$$typeof:n,type:i,key:p,ref:h,props:f,_owner:l.current}}return Ne.Fragment=a,Ne.jsx=s,Ne.jsxs=s,Ne}var Ee={};/**
 * @license React
 * react-jsx-runtime.development.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var mt;function Ma(){return mt||(mt=1,process.env.NODE_ENV!=="production"&&function(){var t=_,n=Symbol.for("react.element"),a=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),i=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),y=Symbol.iterator,g="@@iterator";function k(b){if(b===null||typeof b!="object")return null;var j=y&&b[y]||b[g];return typeof j=="function"?j:null}var B=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function v(b){{for(var j=arguments.length,P=new Array(j>1?j-1:0),H=1;H<j;H++)P[H-1]=arguments[H];S("error",b,P)}}function S(b,j,P){{var H=B.ReactDebugCurrentFrame,oe=H.getStackAddendum();oe!==""&&(j+="%s",P=P.concat([oe]));var se=P.map(function(ne){return String(ne)});se.unshift("Warning: "+j),Function.prototype.apply.call(console[b],console,se)}}var x=!1,w=!1,E=!1,O=!1,$=!1,R;R=Symbol.for("react.module.reference");function N(b){return!!(typeof b=="string"||typeof b=="function"||b===r||b===o||$||b===l||b===c||b===d||O||b===h||x||w||E||typeof b=="object"&&b!==null&&(b.$$typeof===p||b.$$typeof===f||b.$$typeof===s||b.$$typeof===i||b.$$typeof===u||b.$$typeof===R||b.getModuleId!==void 0))}function D(b,j,P){var H=b.displayName;if(H)return H;var oe=j.displayName||j.name||"";return oe!==""?P+"("+oe+")":P}function A(b){return b.displayName||"Context"}function U(b){if(b==null)return null;if(typeof b.tag=="number"&&v("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof b=="function")return b.displayName||b.name||null;if(typeof b=="string")return b;switch(b){case r:return"Fragment";case a:return"Portal";case o:return"Profiler";case l:return"StrictMode";case c:return"Suspense";case d:return"SuspenseList"}if(typeof b=="object")switch(b.$$typeof){case i:var j=b;return A(j)+".Consumer";case s:var P=b;return A(P._context)+".Provider";case u:return D(b,b.render,"ForwardRef");case f:var H=b.displayName||null;return H!==null?H:U(b.type)||"Memo";case p:{var oe=b,se=oe._payload,ne=oe._init;try{return U(ne(se))}catch{return null}}}return null}var M=Object.assign,J=0,T,q,ie,ee,V,z,Y;function L(){}L.__reactDisabledLog=!0;function W(){{if(J===0){T=console.log,q=console.info,ie=console.warn,ee=console.error,V=console.group,z=console.groupCollapsed,Y=console.groupEnd;var b={configurable:!0,enumerable:!0,value:L,writable:!0};Object.defineProperties(console,{info:b,log:b,warn:b,error:b,group:b,groupCollapsed:b,groupEnd:b})}J++}}function X(){{if(J--,J===0){var b={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:M({},b,{value:T}),info:M({},b,{value:q}),warn:M({},b,{value:ie}),error:M({},b,{value:ee}),group:M({},b,{value:V}),groupCollapsed:M({},b,{value:z}),groupEnd:M({},b,{value:Y})})}J<0&&v("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var G=B.ReactCurrentDispatcher,K;function Q(b,j,P){{if(K===void 0)try{throw Error()}catch(oe){var H=oe.stack.trim().match(/\n( *(at )?)/);K=H&&H[1]||""}return`
`+K+b}}var F=!1,Z;{var me=typeof WeakMap=="function"?WeakMap:Map;Z=new me}function I(b,j){if(!b||F)return"";{var P=Z.get(b);if(P!==void 0)return P}var H;F=!0;var oe=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var se;se=G.current,G.current=null,W();try{if(j){var ne=function(){throw Error()};if(Object.defineProperty(ne.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ne,[])}catch(ye){H=ye}Reflect.construct(b,[],ne)}else{try{ne.call()}catch(ye){H=ye}b.call(ne.prototype)}}else{try{throw Error()}catch(ye){H=ye}b()}}catch(ye){if(ye&&H&&typeof ye.stack=="string"){for(var te=ye.stack.split(`
`),pe=H.stack.split(`
`),ue=te.length-1,fe=pe.length-1;ue>=1&&fe>=0&&te[ue]!==pe[fe];)fe--;for(;ue>=1&&fe>=0;ue--,fe--)if(te[ue]!==pe[fe]){if(ue!==1||fe!==1)do if(ue--,fe--,fe<0||te[ue]!==pe[fe]){var ke=`
`+te[ue].replace(" at new "," at ");return b.displayName&&ke.includes("<anonymous>")&&(ke=ke.replace("<anonymous>",b.displayName)),typeof b=="function"&&Z.set(b,ke),ke}while(ue>=1&&fe>=0);break}}}finally{F=!1,G.current=se,X(),Error.prepareStackTrace=oe}var _e=b?b.displayName||b.name:"",Ce=_e?Q(_e):"";return typeof b=="function"&&Z.set(b,Ce),Ce}function we(b,j,P){return I(b,!1)}function Se(b){var j=b.prototype;return!!(j&&j.isReactComponent)}function xe(b,j,P){if(b==null)return"";if(typeof b=="function")return I(b,Se(b));if(typeof b=="string")return Q(b);switch(b){case c:return Q("Suspense");case d:return Q("SuspenseList")}if(typeof b=="object")switch(b.$$typeof){case u:return we(b.render);case f:return xe(b.type,j,P);case p:{var H=b,oe=H._payload,se=H._init;try{return xe(se(oe),j,P)}catch{}}}return""}var je=Object.prototype.hasOwnProperty,pa={},ha=B.ReactDebugCurrentFrame;function Le(b){if(b){var j=b._owner,P=xe(b.type,b._source,j?j.type:null);ha.setExtraStackFrame(P)}else ha.setExtraStackFrame(null)}function Ff(b,j,P,H,oe){{var se=Function.call.bind(je);for(var ne in b)if(se(b,ne)){var te=void 0;try{if(typeof b[ne]!="function"){var pe=Error((H||"React class")+": "+P+" type `"+ne+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof b[ne]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw pe.name="Invariant Violation",pe}te=b[ne](j,ne,H,P,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(ue){te=ue}te&&!(te instanceof Error)&&(Le(oe),v("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",H||"React class",P,ne,typeof te),Le(null)),te instanceof Error&&!(te.message in pa)&&(pa[te.message]=!0,Le(oe),v("Failed %s type: %s",P,te.message),Le(null))}}}var qf=Array.isArray;function lt(b){return qf(b)}function Wf(b){{var j=typeof Symbol=="function"&&Symbol.toStringTag,P=j&&b[Symbol.toStringTag]||b.constructor.name||"Object";return P}}function Hf(b){try{return ya(b),!1}catch{return!0}}function ya(b){return""+b}function ga(b){if(Hf(b))return v("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Wf(b)),ya(b)}var ba=B.ReactCurrentOwner,Uf={key:!0,ref:!0,__self:!0,__source:!0},wa,ka;function Yf(b){if(je.call(b,"ref")){var j=Object.getOwnPropertyDescriptor(b,"ref").get;if(j&&j.isReactWarning)return!1}return b.ref!==void 0}function Gf(b){if(je.call(b,"key")){var j=Object.getOwnPropertyDescriptor(b,"key").get;if(j&&j.isReactWarning)return!1}return b.key!==void 0}function Kf(b,j){typeof b.ref=="string"&&ba.current}function Jf(b,j){{var P=function(){wa||(wa=!0,v("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",j))};P.isReactWarning=!0,Object.defineProperty(b,"key",{get:P,configurable:!0})}}function Xf(b,j){{var P=function(){ka||(ka=!0,v("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",j))};P.isReactWarning=!0,Object.defineProperty(b,"ref",{get:P,configurable:!0})}}var Qf=function(b,j,P,H,oe,se,ne){var te={$$typeof:n,type:b,key:j,ref:P,props:ne,_owner:se};return te._store={},Object.defineProperty(te._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(te,"_self",{configurable:!1,enumerable:!1,writable:!1,value:H}),Object.defineProperty(te,"_source",{configurable:!1,enumerable:!1,writable:!1,value:oe}),Object.freeze&&(Object.freeze(te.props),Object.freeze(te)),te};function Zf(b,j,P,H,oe){{var se,ne={},te=null,pe=null;P!==void 0&&(ga(P),te=""+P),Gf(j)&&(ga(j.key),te=""+j.key),Yf(j)&&(pe=j.ref,Kf(j,oe));for(se in j)je.call(j,se)&&!Uf.hasOwnProperty(se)&&(ne[se]=j[se]);if(b&&b.defaultProps){var ue=b.defaultProps;for(se in ue)ne[se]===void 0&&(ne[se]=ue[se])}if(te||pe){var fe=typeof b=="function"?b.displayName||b.name||"Unknown":b;te&&Jf(ne,fe),pe&&Xf(ne,fe)}return Qf(b,te,pe,oe,H,ba.current,ne)}}var ot=B.ReactCurrentOwner,xa=B.ReactDebugCurrentFrame;function Be(b){if(b){var j=b._owner,P=xe(b.type,b._source,j?j.type:null);xa.setExtraStackFrame(P)}else xa.setExtraStackFrame(null)}var st;st=!1;function it(b){return typeof b=="object"&&b!==null&&b.$$typeof===n}function Ca(){{if(ot.current){var b=U(ot.current.type);if(b)return`

Check the render method of \``+b+"`."}return""}}function em(b){return""}var Sa={};function tm(b){{var j=Ca();if(!j){var P=typeof b=="string"?b:b.displayName||b.name;P&&(j=`

Check the top-level render call using <`+P+">.")}return j}}function Ba(b,j){{if(!b._store||b._store.validated||b.key!=null)return;b._store.validated=!0;var P=tm(j);if(Sa[P])return;Sa[P]=!0;var H="";b&&b._owner&&b._owner!==ot.current&&(H=" It was passed a child from "+U(b._owner.type)+"."),Be(b),v('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',P,H),Be(null)}}function _a(b,j){{if(typeof b!="object")return;if(lt(b))for(var P=0;P<b.length;P++){var H=b[P];it(H)&&Ba(H,j)}else if(it(b))b._store&&(b._store.validated=!0);else if(b){var oe=k(b);if(typeof oe=="function"&&oe!==b.entries)for(var se=oe.call(b),ne;!(ne=se.next()).done;)it(ne.value)&&Ba(ne.value,j)}}}function nm(b){{var j=b.type;if(j==null||typeof j=="string")return;var P;if(typeof j=="function")P=j.propTypes;else if(typeof j=="object"&&(j.$$typeof===u||j.$$typeof===f))P=j.propTypes;else return;if(P){var H=U(j);Ff(P,b.props,"prop",H,b)}else if(j.PropTypes!==void 0&&!st){st=!0;var oe=U(j);v("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",oe||"Unknown")}typeof j.getDefaultProps=="function"&&!j.getDefaultProps.isReactClassApproved&&v("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function am(b){{for(var j=Object.keys(b.props),P=0;P<j.length;P++){var H=j[P];if(H!=="children"&&H!=="key"){Be(b),v("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",H),Be(null);break}}b.ref!==null&&(Be(b),v("Invalid attribute `ref` supplied to `React.Fragment`."),Be(null))}}var Na={};function Ea(b,j,P,H,oe,se){{var ne=N(b);if(!ne){var te="";(b===void 0||typeof b=="object"&&b!==null&&Object.keys(b).length===0)&&(te+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var pe=em();pe?te+=pe:te+=Ca();var ue;b===null?ue="null":lt(b)?ue="array":b!==void 0&&b.$$typeof===n?(ue="<"+(U(b.type)||"Unknown")+" />",te=" Did you accidentally export a JSX literal instead of a component?"):ue=typeof b,v("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",ue,te)}var fe=Zf(b,j,P,oe,se);if(fe==null)return fe;if(ne){var ke=j.children;if(ke!==void 0)if(H)if(lt(ke)){for(var _e=0;_e<ke.length;_e++)_a(ke[_e],b);Object.freeze&&Object.freeze(ke)}else v("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else _a(ke,b)}if(je.call(j,"key")){var Ce=U(b),ye=Object.keys(j).filter(function(cm){return cm!=="key"}),ct=ye.length>0?"{key: someKey, "+ye.join(": ..., ")+": ...}":"{key: someKey}";if(!Na[Ce+ct]){var im=ye.length>0?"{"+ye.join(": ..., ")+": ...}":"{}";v(`A props object containing a "key" prop is being spread into JSX:
  let props = %s;
  <%s {...props} />
React keys must be passed directly to JSX without using spread:
  let props = %s;
  <%s key={someKey} {...props} />`,ct,Ce,im,Ce),Na[Ce+ct]=!0}}return b===r?am(fe):nm(fe),fe}}function rm(b,j,P){return Ea(b,j,P,!0)}function lm(b,j,P){return Ea(b,j,P,!1)}var om=lm,sm=rm;Ee.Fragment=r,Ee.jsx=om,Ee.jsxs=sm}()),Ee}var pt;function Oa(){return pt||(pt=1,process.env.NODE_ENV==="production"?Te.exports=Pa():Te.exports=Ma()),Te.exports}var m=Oa();const ht=({items:t=[],multiple:n=!1,variant:a="default",onToggle:r,className:l="",style:o={},...s})=>{const[i,u]=_.useState([]),c=dt(a,l),d=p=>{const h=ut(i,p,n);u(h),r==null||r(p,h.includes(p))},f=p=>i.includes(p);return m.jsx("div",{className:c,style:o,...s,children:t.map((p,h)=>m.jsxs("div",{className:"wc-accordion-item",children:[m.jsxs("button",{className:`wc-accordion-header ${f(h)?"wc-accordion-header--active":""}`,onClick:()=>d(h),type:"button",children:[m.jsx("span",{className:"wc-accordion-title",children:p.title}),m.jsx("span",{className:`wc-accordion-icon ${f(h)?"wc-accordion-icon--rotated":""}`,children:"▼"})]}),m.jsx("div",{className:`wc-accordion-content ${f(h)?"wc-accordion-content--open":""}`,children:m.jsx("div",{className:"wc-accordion-content-inner",children:p.content})})]},h))})};ht.displayName="Accordion";const yt={success:"✓",info:"ⓘ",warning:"⚠",error:"✕"};function gt(t){return yt[t]||yt.info}function bt(t,n){return["wc-alert",`wc-alert--${t}`,`wc-alert--${n}`]}function Aa(t){return["success","info","warning","error"].includes(t)}function La(t){return["filled","outlined","standard"].includes(t)}const Ra={key:0,class:"wc-alert-icon"},Fa=["innerHTML"],qa={class:"wc-alert-content"},Wa={key:0,class:"wc-alert-title"},Ha={class:"wc-alert-message"},Ua={__name:"Alert",props:{type:{type:String,default:"info",validator:Aa},title:{type:String,default:""},message:{type:String,default:""},closable:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!0},variant:{type:String,default:"filled",validator:La}},emits:["close"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(!0),o=e.computed(()=>bt(a.type,a.variant)),s=e.computed(()=>gt(a.type)),i=()=>{l.value=!1,r("close")};return(u,c)=>l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.value),role:"alert"},[t.showIcon?(e.openBlock(),e.createElementBlock("div",Ra,[e.createElementVNode("span",{innerHTML:s.value},null,8,Fa)])):e.createCommentVNode("",!0),e.createElementVNode("div",qa,[t.title?(e.openBlock(),e.createElementBlock("div",Wa,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Ha,[e.renderSlot(u.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])])]),t.closable?(e.openBlock(),e.createElementBlock("button",{key:1,class:"wc-alert-close",type:"button","aria-label":"关闭",onClick:i}," × ")):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}};function Ya({type:t="info",variant:n="standard",title:a="",closable:r=!1,showIcon:l=!0,className:o="",children:s,onClose:i=()=>{}}){const[u,c]=_.useState(!0);if(!u)return null;const d=()=>{c(!1),i()},f=bt(t,n),p=gt(t),h=[...f,o].filter(Boolean).join(" ");return m.jsxs("div",{className:h,role:"alert",children:[l&&m.jsx("div",{className:"wc-alert-icon",children:m.jsx("span",{children:p})}),m.jsxs("div",{className:"wc-alert-content",children:[a&&m.jsx("div",{className:"wc-alert-title",children:a}),m.jsx("div",{className:"wc-alert-message",children:s})]}),r&&m.jsx("button",{type:"button",className:"wc-alert-close","aria-label":"关闭",onClick:d,children:"×"})]})}const Ga={__name:"AppBar",props:{position:{type:String,default:"fixed",validator:t=>["fixed","absolute","sticky","static","relative"].includes(t)},color:{type:String,default:"primary",validator:t=>["primary","secondary","transparent","inherit"].includes(t)},elevation:{type:Number,default:4},variant:{type:String,default:"elevation",validator:t=>["elevation","outlined"].includes(t)},class:{type:[String,Array,Object],default:""},style:{type:[String,Object],default:()=>({})}},setup(t){const n=t;return(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["wc-appbar",`wc-appbar--${n.position}`,`wc-appbar--${n.color}`,`wc-appbar--elevation-${n.elevation}`,`wc-appbar--${n.variant}`]),style:e.normalizeStyle(t.style)},[e.renderSlot(a.$slots,"default")],6))}},Ka=({children:t,position:n="fixed",color:a="primary",elevation:r=4,variant:l="elevation",className:o="",style:s={},...i})=>{const u=`wc-appbar wc-appbar--${n} wc-appbar--${a} wc-appbar--elevation-${r} wc-appbar--${l} ${o}`;return m.jsx("div",{className:u,style:s,...i,children:t})},Ja=["xs","sm","md","lg","xl"],Xa=["circular","rounded","square"],Qa=["default","primary","secondary","success","warning","error"];function Za(t){return typeof t=="number"?t>0:Ja.includes(t)}function er(t){return Xa.includes(t)}function tr(t){return Qa.includes(t)}function nr({size:t,variant:n,color:a,src:r,imgError:l}){const o=["wc-avatar"];return typeof t=="string"&&o.push(`wc-avatar--${t}`),o.push(`wc-avatar--${n}`),(!r||l)&&o.push(`wc-avatar--${a}`),o}function ar(t){const n={};return typeof t=="number"&&(n.width=`${t}px`,n.height=`${t}px`,n.fontSize=`${t*.4}px`),n}function rr(t){if(!t)return"";const n=t.trim(),a=n.charAt(0);if(/[\u4e00-\u9fa5]/.test(a))return a;const l=n.split(/\s+/).filter(Boolean);return l.length===1?l[0].charAt(0).toUpperCase():(l[0].charAt(0)+l[1].charAt(0)).toUpperCase()}function lr(t){t(!0)}function or(t){t(!1)}const sr=["src","alt"],ir={key:1,class:"wc-avatar-text"},cr={__name:"Avatar",props:{src:{type:String,default:""},alt:{type:String,default:""},size:{type:[String,Number],default:"md",validator:Za},variant:{type:String,default:"circular",validator:er},color:{type:String,default:"default",validator:tr},children:{type:String,default:""}},setup(t){const n=t,a=e.ref(!1),r=e.computed(()=>nr({size:n.size,variant:n.variant,color:n.color,src:n.src,imgError:a.value})),l=e.computed(()=>ar(n.size)),o=e.computed(()=>rr(n.children)),s=()=>lr(u=>{a.value=u}),i=()=>or(u=>{a.value=u});return(u,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),style:e.normalizeStyle(l.value)},[t.src&&!a.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt,onError:s,onLoad:i},null,40,sr)):!t.src&&t.children?(e.openBlock(),e.createElementBlock("span",ir,e.toDisplayString(o.value),1)):e.renderSlot(u.$slots,"default",{key:2})],6))}},wt=["primary","secondary","success","warning","error","purple","orange","cyan","pink"],dr=["sm","md","lg"];function ur(t){return wt.includes(t)}function fr(t){return ur(t)?t:"primary"}function kt({variant:t,size:n,dot:a,className:r}){const o=["wc-badge",`wc-badge--${fr(t)}`];return a?o.push(`wc-badge--dot-${n}`):o.push(`wc-badge--${n}`),r&&o.push(r),o.filter(Boolean).join(" ")}const mr={__name:"Badge",props:{variant:{type:String,default:"primary",validator:t=>wt.includes(t)},size:{type:String,default:"md",validator:t=>dr.includes(t)},dot:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>kt({variant:n.variant,size:n.size,dot:n.dot,className:""}));return(r,l)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(a.value)},[t.dot?e.createCommentVNode("",!0):e.renderSlot(r.$slots,"default",{key:0})],2))}},xt=({children:t,variant:n="primary",size:a="md",dot:r=!1,className:l="",...o})=>{const s=kt({variant:n,size:a,dot:r,className:l});return m.jsx("span",{className:s,...o,children:!r&&t})};xt.displayName="Badge";const Ct={success:"✓",info:"📢",warning:"⚠",error:"✕"},pr=["success","info","warning","error"],hr=["top","bottom"];function yr(t){return pr.includes(t)}function gr(t){return hr.includes(t)}function St(t,n,a){const r=["wc-banner",`wc-banner--${t}`,`wc-banner--${n}`];return a&&r.push("wc-banner--sticky"),r.join(" ")}function Bt(t){return Ct[t]||Ct.info}function _t(t){return{zIndex:t}}function Nt(t,n){t(!1),n&&n()}function Et(t){t&&t()}const br={class:"wc-banner-content"},wr={key:0,class:"wc-banner-icon"},kr=["innerHTML"],xr={class:"wc-banner-text"},Cr={key:0,class:"wc-banner-title"},Sr={class:"wc-banner-message"},Br={key:1,class:"wc-banner-actions"},_r={__name:"Banner",props:{type:{type:String,default:"info",validator:yr},position:{type:String,default:"top",validator:gr},title:{type:String,default:""},message:{type:String,default:""},closable:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},showDefaultAction:{type:Boolean,default:!1},actionText:{type:String,default:"立即行动"},sticky:{type:Boolean,default:!0},zIndex:{type:Number,default:1e3}},emits:["close","action"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(!0),o=e.computed(()=>St(a.type,a.position,a.sticky)),s=e.computed(()=>_t(a.zIndex)),i=e.computed(()=>Bt(a.type)),u=()=>{Nt(d=>{l.value=d},()=>r("close"))},c=()=>{Et(()=>r("action"))};return(d,f)=>l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.value),style:e.normalizeStyle(s.value)},[e.createElementVNode("div",br,[t.showIcon?(e.openBlock(),e.createElementBlock("div",wr,[e.createElementVNode("span",{innerHTML:i.value},null,8,kr)])):e.createCommentVNode("",!0),e.createElementVNode("div",xr,[t.title?(e.openBlock(),e.createElementBlock("div",Cr,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Sr,[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])])]),d.$slots.actions||t.showDefaultAction?(e.openBlock(),e.createElementBlock("div",Br,[e.renderSlot(d.$slots,"actions",{},()=>[t.showDefaultAction?(e.openBlock(),e.createElementBlock("button",{key:0,class:"wc-banner-action-btn",type:"button",onClick:c},e.toDisplayString(t.actionText),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),t.closable?(e.openBlock(),e.createElementBlock("button",{key:2,class:"wc-banner-close",type:"button","aria-label":"关闭",onClick:u}," × ")):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)}};function Nr({type:t="info",position:n="top",title:a="",message:r="",closable:l=!0,showIcon:o=!0,showDefaultAction:s=!1,actionText:i="立即行动",sticky:u=!0,zIndex:c=1e3,onClose:d,onAction:f,children:p}){const[h,y]=_.useState(!0);if(!h)return null;const g=St(t,n,u),k=_t(c),B=Bt(t),v=()=>{Nt(y,d)},S=()=>{Et(f)},x=p&&_.Children.count(p)>0;return m.jsx("div",{className:g,style:k,children:m.jsxs("div",{className:"wc-banner-content",children:[o&&m.jsx("div",{className:"wc-banner-icon",children:B}),m.jsxs("div",{className:"wc-banner-text",children:[a&&m.jsx("div",{className:"wc-banner-title",children:a}),m.jsx("div",{className:"wc-banner-message",children:r})]}),(x||s)&&m.jsx("div",{className:"wc-banner-actions",children:x?p:m.jsx("button",{onClick:S,className:"wc-banner-action-btn",children:i})}),l&&m.jsx("button",{onClick:v,className:"wc-banner-close","aria-label":"关闭",children:"×"})]})})}const Er=["filled","outlined","minimal","elevated"],vr=["default","primary","success","warning","error","info"],$r=["small","medium","large"];function vt(t="",n="filled",a="default",r="medium",l=!0,o=!0){const s=["wc-card"];return n&&n!=="filled"&&s.push(`wc-card--${n}`),a&&a!=="default"&&s.push(`wc-card--${a}`),r&&r!=="medium"&&s.push(`wc-card--${r}`),l&&s.push("wc-card--interactive"),o&&s.push("wc-card--no-border"),t&&s.push(t),s.filter(Boolean).join(" ")}const Vr={key:0,class:"wc-card-header"},jr={key:0,class:"wc-card__title"},Tr={class:"wc-card-content"},Dr={key:1,class:"wc-card-footer"},$t={__name:"Card",props:{title:{type:String,default:""},variant:{type:String,default:"filled",validator:t=>Er.includes(t)},color:{type:String,default:"default",validator:t=>vr.includes(t)},size:{type:String,default:"medium",validator:t=>$r.includes(t)},interactive:{type:Boolean,default:!0},noBorder:{type:Boolean,default:!0},className:{type:String,default:""}},setup(t){const n=t,a=e.computed(()=>vt(n.className,n.variant,n.color,n.size,n.interactive,n.noBorder));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[t.title||r.$slots.header?(e.openBlock(),e.createElementBlock("div",Vr,[e.renderSlot(r.$slots,"header",{},()=>[t.title?(e.openBlock(),e.createElementBlock("h3",jr,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Tr,[e.renderSlot(r.$slots,"default")]),r.$slots.footer?(e.openBlock(),e.createElementBlock("div",Dr,[e.renderSlot(r.$slots,"footer")])):e.createCommentVNode("",!0)],2))}};function Vt(t="",n="default",a=!0,r=!0,l="medium",o="default"){const s=["wc-blockquote"];return n&&n!=="default"&&n!=="card"&&s.push(`wc-blockquote--${n}`),a&&s.push("wc-blockquote--no-border"),r&&s.push("wc-blockquote--interactive"),l&&l!=="medium"&&s.push(`wc-blockquote--${l}`),o&&o!=="default"&&s.push(`wc-blockquote--${o}`),t&&s.push(t),s.filter(Boolean).join(" ")}const Ir={class:"quote-text"},zr={key:0,class:"quote-cite"},Pr={class:"quote-text"},Mr={key:0,class:"quote-cite"},Or={__name:"Blockquote",props:{cite:{type:String,default:""},className:{type:String,default:""},variant:{type:String,default:"default",validator:t=>["default","minimal","card"].includes(t)},noBorder:{type:Boolean,default:!0},interactive:{type:Boolean,default:!0},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},color:{type:String,default:"default",validator:t=>["default","primary","success","warning","error","info"].includes(t)}},setup(t){const n=t,a=e.computed(()=>n.variant==="card"),r=e.computed(()=>a.value?"wc-blockquote":Vt(n.className,n.variant,n.noBorder,n.interactive,n.size,n.color));return(l,o)=>a.value?(e.openBlock(),e.createBlock($t,{key:0,variant:"filled",color:n.color,size:n.size,interactive:n.interactive,noBorder:n.noBorder,class:e.normalizeClass(n.className)},{default:e.withCtx(()=>[e.createElementVNode("p",Ir,[e.renderSlot(l.$slots,"default")]),t.cite?(e.openBlock(),e.createElementBlock("footer",zr,"— "+e.toDisplayString(t.cite),1)):e.createCommentVNode("",!0)]),_:3},8,["color","size","interactive","noBorder","class"])):(e.openBlock(),e.createElementBlock("blockquote",{key:1,class:e.normalizeClass(r.value)},[e.createElementVNode("p",Pr,[e.renderSlot(l.$slots,"default")]),t.cite?(e.openBlock(),e.createElementBlock("footer",Mr,"— "+e.toDisplayString(t.cite),1)):e.createCommentVNode("",!0)],2))}},Fe=({children:t,title:n="",variant:a="filled",color:r="default",size:l="medium",interactive:o=!0,noBorder:s=!0,className:i="",header:u=null,footer:c=null,style:d={},onClick:f,onMouseEnter:p,onMouseLeave:h,...y})=>{const g=vt(i,a,r,l,o,s),k=B=>{o&&f&&f(B)};return m.jsxs("div",{className:g,style:d,onClick:k,onMouseEnter:p,onMouseLeave:h,role:f?"button":void 0,tabIndex:f?0:void 0,...y,children:[u&&m.jsx("div",{className:"wc-card-header",children:u}),n&&m.jsx("div",{className:"wc-card-header",children:m.jsx("h3",{className:"wc-card__title",children:n})}),m.jsx("div",{className:"wc-card-content",children:t}),c&&m.jsx("div",{className:"wc-card-footer",children:c})]})};Fe.displayName="Card";function Ar({cite:t="",children:n,className:a="",variant:r="default",noBorder:l=!0,interactive:o=!0,size:s="medium",color:i="default",...u}){if(r==="card")return m.jsxs(Fe,{variant:"filled",color:i,size:s,interactive:o,noBorder:l,className:a,...u,children:[m.jsx("p",{className:"quote-text",children:n}),t&&m.jsxs("footer",{className:"quote-cite",children:["— ",t]})]});const c=Vt(a,r,l,o,s,i);return m.jsxs("blockquote",{className:c,...u,children:[m.jsx("p",{className:"quote-text",children:n}),t&&m.jsxs("footer",{className:"quote-cite",children:["— ",t]})]})}const he={0:"0",1:"0.25rem",2:"0.5rem",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",8:"2rem",10:"2.5rem",12:"3rem",16:"4rem",20:"5rem",24:"6rem"},jt={flex:"flex",block:"block",inline:"inline","inline-block":"inline-block",none:"hidden",grid:"grid"},Tt={row:"flex-row",column:"flex-col","row-reverse":"flex-row-reverse","column-reverse":"flex-col-reverse"},Dt={"flex-start":"justify-start",center:"justify-center","flex-end":"justify-end","space-between":"justify-between","space-around":"justify-around","space-evenly":"justify-evenly"},It={"flex-start":"items-start",center:"items-center","flex-end":"items-end",stretch:"items-stretch",baseline:"items-baseline"},zt={wrap:"flex-wrap",nowrap:"flex-nowrap","wrap-reverse":"flex-wrap-reverse"};function de(t){return typeof t=="number"?`${t}px`:t}function Pt(t){const n=[];if(t.display&&jt[t.display]&&n.push(jt[t.display]),t.flexDirection&&Tt[t.flexDirection]&&n.push(Tt[t.flexDirection]),t.justifyContent&&Dt[t.justifyContent]&&n.push(Dt[t.justifyContent]),t.alignItems&&It[t.alignItems]&&n.push(It[t.alignItems]),t.flexWrap&&zt[t.flexWrap]&&n.push(zt[t.flexWrap]),t.gap!==void 0){const a=t.gap.toString();["0","1","2","3","4","5","6","8","10","12","16","20","24"].includes(a)&&n.push(`gap-${a}`)}return n}function Mt(t){const n={};if(t.p!==void 0&&(n.padding=he[t.p]||de(t.p)),t.pt!==void 0&&(n.paddingTop=he[t.pt]||de(t.pt)),t.pr!==void 0&&(n.paddingRight=he[t.pr]||de(t.pr)),t.pb!==void 0&&(n.paddingBottom=he[t.pb]||de(t.pb)),t.pl!==void 0&&(n.paddingLeft=he[t.pl]||de(t.pl)),t.px!==void 0){const a=he[t.px]||de(t.px);n.paddingLeft=a,n.paddingRight=a}if(t.py!==void 0){const a=he[t.py]||de(t.py);n.paddingTop=a,n.paddingBottom=a}if(t.m!==void 0&&(n.margin=he[t.m]||de(t.m)),t.mt!==void 0&&(n.marginTop=he[t.mt]||de(t.mt)),t.mr!==void 0&&(n.marginRight=he[t.mr]||de(t.mr)),t.mb!==void 0&&(n.marginBottom=he[t.mb]||de(t.mb)),t.ml!==void 0&&(n.marginLeft=he[t.ml]||de(t.ml)),t.mx!==void 0){const a=he[t.mx]||de(t.mx);n.marginLeft=a,n.marginRight=a}if(t.my!==void 0){const a=he[t.my]||de(t.my);n.marginTop=a,n.marginBottom=a}return t.display&&(n.display=t.display),t.flexDirection&&(n.flexDirection=t.flexDirection),t.justifyContent&&(n.justifyContent=t.justifyContent),t.alignItems&&(n.alignItems=t.alignItems),t.flexWrap&&(n.flexWrap=t.flexWrap),t.gap!==void 0&&(n.gap=de(t.gap)),t.bgcolor&&(n.backgroundColor=t.bgcolor),t.color&&(n.color=t.color),t.border&&(n.border=t.border),t.borderRadius!==void 0&&(n.borderRadius=typeof t.borderRadius=="number"?`${t.borderRadius}px`:t.borderRadius),t.width!==void 0&&(n.width=de(t.width)),t.height!==void 0&&(n.height=de(t.height)),t.minWidth!==void 0&&(n.minWidth=de(t.minWidth)),t.minHeight!==void 0&&(n.minHeight=de(t.minHeight)),t.maxWidth!==void 0&&(n.maxWidth=de(t.maxWidth)),t.maxHeight!==void 0&&(n.maxHeight=de(t.maxHeight)),n}const Lr={__name:"Box",props:{component:{type:String,default:"div"},p:[String,Number],pt:[String,Number],pr:[String,Number],pb:[String,Number],pl:[String,Number],px:[String,Number],py:[String,Number],m:[String,Number],mt:[String,Number],mr:[String,Number],mb:[String,Number],ml:[String,Number],mx:[String,Number],my:[String,Number],display:String,flexDirection:String,justifyContent:String,alignItems:String,flexWrap:String,gap:[String,Number],bgcolor:String,color:String,border:[String,Number],borderRadius:[String,Number],width:[String,Number],height:[String,Number],minWidth:[String,Number],minHeight:[String,Number],maxWidth:[String,Number],maxHeight:[String,Number]},setup(t){const n=t,a=e.computed(()=>Pt(n)),r=e.computed(()=>Mt(n));return(l,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),{class:e.normalizeClass(a.value),style:e.normalizeStyle(r.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class","style"]))}};function Rr({component:t="div",children:n,className:a="",p:r,pt:l,pr:o,pb:s,pl:i,px:u,py:c,m:d,mt:f,mr:p,mb:h,ml:y,mx:g,my:k,display:B,flexDirection:v,justifyContent:S,alignItems:x,flexWrap:w,gap:E,bgcolor:O,color:$,border:R,borderRadius:N,width:D,height:A,minWidth:U,minHeight:M,maxWidth:J,maxHeight:T,style:q={},...ie}){const ee=Pt({display:B,flexDirection:v,justifyContent:S,alignItems:x,flexWrap:w,gap:E}).concat(a).filter(Boolean).join(" "),V={...Mt({p:r,pt:l,pr:o,pb:s,pl:i,px:u,py:c,m:d,mt:f,mr:p,mb:h,ml:y,mx:g,my:k,display:B,flexDirection:v,justifyContent:S,alignItems:x,flexWrap:w,gap:E,bgcolor:O,color:$,border:R,borderRadius:N,width:D,height:A,minWidth:U,minHeight:M,maxWidth:J,maxHeight:T}),...q};return m.jsx(t,{className:ee,style:V,...ie,children:n})}const Fr=["default"];function qr(t){return Fr.includes(t)}function Ot(t,n,a,r){let l=[...t];if(n&&l.length&&l[0].label!=="首页"&&l.unshift({label:"首页",icon:a,href:"/"}),r>0&&l.length>r){const o=Math.max(1,r-2);l=[...l.slice(0,o),{label:"...",disabled:!0,isEllipsis:!0},...l.slice(-1)]}return l}function At(t){return`wc-breadcrumb wc-breadcrumb--${t}`}function Lt(t,n){const a=["wc-breadcrumb-item"];return t===n-1&&a.push("wc-breadcrumb-item--current"),a.join(" ")}function De(t){const n=["wc-breadcrumb-link"];return t&&n.push("wc-breadcrumb-link--disabled"),n.join(" ")}function Rt(t,n,a,r,l){return n.disabled||n.isEllipsis||a===r-1?(t.preventDefault(),!1):(l&&l(t,n,a),!0)}function qe(t,n,a,r){return t!==n-1&&!a&&!r}const Wr={class:"wc-breadcrumb-list"},Hr=["innerHTML"],Ur={key:0,class:"wc-breadcrumb-separator","aria-hidden":"true"},Yr={__name:"Breadcrumb",props:{items:{type:Array,required:!0,default:()=>[]},separator:{type:String,default:"/"},maxItems:{type:Number,default:0},showHome:{type:Boolean,default:!1},homeIcon:{type:String,default:"🏠"},variant:{type:String,default:"default",validator:qr}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,l=e.computed(()=>At(a.variant)),o=e.computed(()=>Ot(a.items,a.showHome,a.homeIcon,a.maxItems)),s=(c,d)=>qe(d,o.value.length,c.disabled,c.isEllipsis)?c.href?"a":c.to?"router-link":"button":"span",i=(c,d)=>{if(qe(d,o.value.length,c.disabled,c.isEllipsis))return c.href},u=(c,d,f)=>{Rt(c,d,f,o.value.length,(h,y,g)=>r("click",{event:h,item:y,index:g}))};return(c,d)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(l.value),"aria-label":"面包屑导航",role:"navigation"},[e.createElementVNode("ol",Wr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(f,p)=>(e.openBlock(),e.createElementBlock("li",{key:p,class:e.normalizeClass(e.unref(Lt)(p,o.value.length))},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s(f,p)),{class:e.normalizeClass(e.unref(De)(f.disabled)),href:i(f,p),"aria-current":p===o.value.length-1?"page":void 0,onClick:h=>u(h,f,p)},{default:e.withCtx(()=>[f.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:"wc-breadcrumb-icon",innerHTML:f.icon},null,8,Hr)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(f.label),1)]),_:2},1032,["class","href","aria-current","onClick"])),p<o.value.length-1?(e.openBlock(),e.createElementBlock("span",Ur,e.toDisplayString(t.separator),1)):e.createCommentVNode("",!0)],2))),128))])],2))}};function Gr({items:t=[],separator:n="/",variant:a="default",showHome:r=!1,homeIcon:l="🏠",maxItems:o=0,onItemClick:s}){const i=_.useMemo(()=>Ot(t,r,l,o),[t,r,l,o]),u=(d,f,p)=>{Rt(d,f,p,i.length,s)},c=At(a);return m.jsx("nav",{className:c,"aria-label":"面包屑导航",role:"navigation",children:m.jsx("ol",{className:"wc-breadcrumb-list",children:i.map((d,f)=>m.jsxs("li",{className:Lt(f,i.length),children:[qe(f,i.length,d.disabled,d.isEllipsis)?d.href?m.jsxs("a",{href:d.href,className:De(d.disabled),onClick:p=>u(p,d,f),children:[d.icon&&m.jsx("span",{className:"wc-breadcrumb-icon",dangerouslySetInnerHTML:{__html:d.icon}}),d.label]}):m.jsxs("button",{type:"button",onClick:p=>u(p,d,f),className:De(d.disabled),children:[d.icon&&m.jsx("span",{className:"wc-breadcrumb-icon",dangerouslySetInnerHTML:{__html:d.icon}}),d.label]}):m.jsxs("span",{className:De(!0),"aria-current":"page",children:[d.icon&&m.jsx("span",{className:"wc-breadcrumb-icon",dangerouslySetInnerHTML:{__html:d.icon}}),d.label]}),f<i.length-1&&m.jsx("span",{className:"wc-breadcrumb-separator",children:n})]},f))})})}const Kr=["primary","secondary","filled","outlined","text","success","warning","error","info","purple","orange","cyan","pink"],Jr=["default","outlined","filled"],Xr=["xs","sm","md","lg","xl"],Qr=["button","submit","reset"],Zr=["none","sm","md","lg","full"];function Ft(t){return Kr.includes(t)}function el(t){return Xr.includes(t)}function tl(t){return Qr.includes(t)}function nl(t){return typeof t=="boolean"||Zr.includes(t)}function al(t){return Jr.includes(t)}function rl(t){return Ft(t)?t:"primary"}function qt(t){const{variant:n,size:a,disabled:r,loading:l,fullWidth:o,uppercase:s,rounded:i,buttonStyle:u="filled"}=t,c=["wc-btn"];return c.push(`wc-btn--style-${u}`),c.push(`wc-btn--${rl(n)}`),c.push(`wc-btn--${a}`),(r||l)&&c.push("wc-btn--disabled"),l&&c.push("wc-btn--loading"),o&&c.push("wc-btn--full-width"),s&&c.push("wc-btn--uppercase"),i===!1||i==="none"?c.push("wc-btn--rounded-none"):typeof i=="string"?c.push(`wc-btn--rounded-${i}`):c.push("wc-btn--rounded"),c}function Wt({event:t,disabled:n,loading:a,href:r,target:l,onClick:o}){!n&&!a&&(r&&window.open(r,l),o==null||o(t))}const ll=["disabled","type"],ol={key:0,class:"wc-btn__loading"},sl={key:1,class:"wc-btn__start-icon"},il={key:2,class:"wc-btn__end-icon"},Ht={__name:"Button",props:{variant:{type:String,default:"primary",validator:Ft},buttonStyle:{type:String,default:"filled",validator:al},size:{type:String,default:"md",validator:el},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},type:{type:String,default:"button",validator:tl},href:{type:String,default:null},target:{type:String,default:"_self"},startIcon:{type:String,default:null},endIcon:{type:String,default:null},rounded:{type:[Boolean,String],default:!0,validator:nl},uppercase:{type:Boolean,default:!1},ripple:{type:Boolean,default:!0}},emits:["click","mouseover","mouseout","focus","blur"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(!1),o=e.ref(!1),s=e.computed(()=>qt(a)),i=e.computed(()=>({})),u=h=>{Wt({event:h,disabled:a.disabled,loading:a.loading,href:a.href,target:a.target,onClick:y=>r("click",y)})},c=h=>{l.value=!0,r("mouseover",h)},d=h=>{l.value=!1,r("mouseout",h)},f=h=>{o.value=!0,r("focus",h)},p=h=>{o.value=!1,r("blur",h)};return(h,y)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(s.value),disabled:t.disabled||t.loading,type:t.type,style:e.normalizeStyle(i.value),onClick:u,onMouseover:c,onMouseout:d,onFocus:f,onBlur:p},[t.loading?(e.openBlock(),e.createElementBlock("span",ol,y[0]||(y[0]=[e.createElementVNode("svg",{class:"animate-spin h-4 w-4",fill:"none",viewBox:"0 0 24 24"},[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1)]))):e.createCommentVNode("",!0),t.startIcon&&!t.loading?(e.openBlock(),e.createElementBlock("span",sl,[e.renderSlot(h.$slots,"startIcon",{},()=>[e.createTextVNode(e.toDisplayString(t.startIcon),1)])])):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(["wc-btn__content",{"opacity-0":t.loading}])},[e.renderSlot(h.$slots,"default")],2),t.endIcon&&!t.loading?(e.openBlock(),e.createElementBlock("span",il,[e.renderSlot(h.$slots,"endIcon",{},()=>[e.createTextVNode(e.toDisplayString(t.endIcon),1)])])):e.createCommentVNode("",!0)],46,ll))}},Ut=({children:t,variant:n="primary",buttonStyle:a="filled",size:r="md",disabled:l=!1,loading:o=!1,fullWidth:s=!1,type:i="button",href:u=null,target:c="_self",startIcon:d=null,endIcon:f=null,rounded:p=!0,uppercase:h=!1,ripple:y=!0,onClick:g,onMouseOver:k,onMouseOut:B,onFocus:v,onBlur:S,className:x="",style:w={},...E})=>{const[O,$]=_.useState(!1),[R,N]=_.useState(!1),D=qt({variant:n,buttonStyle:a,size:r,disabled:l,loading:o,fullWidth:s,uppercase:h,rounded:p}).concat(x).filter(Boolean).join(" "),A={...w},U=ee=>{Wt({event:ee,disabled:l,loading:o,href:u,target:c,onClick:g})},M=ee=>{$(!0),k==null||k(ee)},J=ee=>{$(!1),B==null||B(ee)},T=ee=>{N(!0),v==null||v(ee)},q=ee=>{N(!1),S==null||S(ee)},ie=()=>m.jsx("span",{className:"wc-btn__loading",children:m.jsxs("svg",{className:"animate-spin h-4 w-4",fill:"none",viewBox:"0 0 24 24",children:[m.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),m.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})});return m.jsxs("button",{className:D,disabled:l||o,type:i,style:A,onClick:U,onMouseOver:M,onMouseOut:J,onFocus:T,onBlur:q,...E,children:[o&&m.jsx(ie,{}),d&&!o&&m.jsx("span",{className:"wc-btn__start-icon",children:d}),m.jsx("span",{className:`wc-btn__content ${o?"opacity-0":""}`,children:t}),f&&!o&&m.jsx("span",{className:"wc-btn__end-icon",children:f})]})};Ut.displayName="Button";const cl={__name:"CardActions",props:{disableSpacing:{type:Boolean,default:!1},disablePadding:{type:Boolean,default:!1},justifyContent:{type:String,default:"flex-start",validator:t=>["flex-start","center","flex-end","space-between","space-around"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const l=["wc-card-actions wc-flex wc-items-center"];n.disablePadding||l.push("wc-padding-2"),n.disableSpacing||l.push("wc-gap-2");const o={"flex-start":"wc-justify-start",center:"wc-justify-center","flex-end":"wc-justify-end","space-between":"wc-justify-between","space-around":"wc-justify-around"};return l.push(o[n.justifyContent]),l});return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(r.$slots,"default")],2))}},dl={__name:"CardContent",props:{disablePadding:{type:Boolean,default:!1},padding:{type:String,default:"normal",validator:t=>["none","dense","normal","comfortable"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const l=["wc-card-content"];if(!n.disablePadding){const o={none:"",dense:"wc-padding-dense",normal:"wc-padding-normal",comfortable:"wc-padding-comfortable"};l.push(o[n.padding])}return l});return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(r.$slots,"default")],2))}},ul=["checked","disabled"],fl={key:0,class:"checkmark-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3"},ml={key:1,class:"indeterminate-icon"},pl={key:0,class:"checkbox-label"},hl={__name:"Checkbox",props:{modelValue:{type:[Boolean,Array],default:!1},value:{type:[String,Number,Boolean],default:!0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},color:{type:String,default:"primary",validator:t=>["primary","secondary","success","error","warning","info"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(!1),o=e.computed(()=>Array.isArray(a.modelValue)?a.modelValue.includes(a.value):!!a.modelValue),s=e.computed(()=>{const p=["wc-checkbox"];return p.push(`wc-checkbox--${a.size}`),a.disabled&&p.push("wc-checkbox--disabled"),l.value&&p.push("wc-checkbox--focused"),p}),i=e.computed(()=>["wc-checkbox__input"]),u=e.computed(()=>{const p=["wc-checkbox__checkmark"];return p.push(`wc-checkbox__checkmark--${a.color}`),p.push(`wc-checkbox__checkmark--${a.size}`),(o.value||a.indeterminate)&&p.push("wc-checkbox__checkmark--checked"),a.indeterminate&&p.push("wc-checkbox__checkmark--indeterminate"),p}),c=p=>{if(a.disabled)return;const h=p.target.checked;if(Array.isArray(a.modelValue)){const y=[...a.modelValue];if(h)y.includes(a.value)||y.push(a.value);else{const g=y.indexOf(a.value);g>-1&&y.splice(g,1)}r("update:modelValue",y)}else r("update:modelValue",h);r("change",h)},d=()=>{l.value=!0},f=()=>{l.value=!1};return(p,h)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(s.value)},[e.createElementVNode("input",{type:"checkbox",checked:o.value,disabled:t.disabled,class:e.normalizeClass(i.value),onChange:c,onFocus:d,onBlur:f},null,42,ul),e.createElementVNode("span",{class:e.normalizeClass(u.value)},[o.value&&!t.indeterminate?(e.openBlock(),e.createElementBlock("svg",fl,h[0]||(h[0]=[e.createElementVNode("polyline",{points:"20,6 9,17 4,12"},null,-1)]))):t.indeterminate?(e.openBlock(),e.createElementBlock("div",ml)):e.createCommentVNode("",!0)],2),p.$slots.default||t.label?(e.openBlock(),e.createElementBlock("span",pl,[e.renderSlot(p.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])])):e.createCommentVNode("",!0)],2))}},yl=["sm","md","lg"],gl=["filled","outlined"],bl=["default","primary","secondary","success","warning","error"];function wl(t){return yl.includes(t)}function kl(t){return gl.includes(t)}function xl(t){return bl.includes(t)}function Yt(t){const{size:n="md",variant:a="filled",color:r="default",clickable:l=!1,disabled:o=!1,className:s=""}=t,i=["wc-chip"];return i.push(`wc-chip--${n}`),i.push(`wc-chip--${a}`),i.push(`wc-chip--${r}`),l&&!o&&i.push("wc-chip--clickable"),o&&i.push("wc-chip--disabled"),s&&i.push(s),i.filter(Boolean).join(" ")}function Gt(t,n,a,r){n&&!a&&r&&r(t)}function Kt(t,n,a){t.stopPropagation(),!n&&a&&a(t)}function Cl(){return"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"}function Sl(){return m.jsx("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor",className:"w-4 h-4",children:m.jsx("path",{fillRule:"evenodd",d:Cl(),clipRule:"evenodd"})})}const Bl={key:0,class:"wc-chip-avatar"},_l=["src"],Nl={class:"wc-chip-label"},El=["aria-label"],vl={__name:"Chip",props:{label:{type:String,default:""},avatar:{type:String,default:""},deletable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},variant:{type:String,default:"filled",validator:kl},size:{type:String,default:"md",validator:wl},color:{type:String,default:"default",validator:xl},deleteIcon:{type:String,default:""}},emits:["click","delete"],setup(t,{emit:n}){const a=t,r=n,l=e.computed(()=>Yt(a)),o=i=>{Gt(i,a.clickable,a.disabled,u=>r("click",u))},s=i=>{Kt(i,a.disabled,u=>r("delete",u))};return(i,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value),onClick:o},[i.$slots.avatar||t.avatar?(e.openBlock(),e.createElementBlock("div",Bl,[e.renderSlot(i.$slots,"avatar",{},()=>[t.avatar?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.avatar,alt:"",class:"w-full h-full object-cover rounded-full"},null,8,_l)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("span",Nl,[e.renderSlot(i.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])]),t.deletable?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"wc-chip-delete","aria-label":t.deleteIcon||"删除",onClick:e.withModifiers(s,["stop"])},[e.renderSlot(i.$slots,"deleteIcon",{},()=>[u[0]||(u[0]=e.createElementVNode("svg",{class:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1))])],8,El)):e.createCommentVNode("",!0)],2))}};function $l({label:t="",avatar:n="",deletable:a=!1,disabled:r=!1,clickable:l=!1,variant:o="filled",size:s="md",color:i="default",deleteIcon:u=null,onClick:c,onDelete:d,children:f}){const p=Yt({size:s,variant:o,color:i,clickable:l,disabled:r}),h=g=>{Gt(g,l,r,c)},y=g=>{Kt(g,r,d)};return m.jsxs("div",{className:p,onClick:h,children:[f&&f.avatar||n?m.jsx("div",{className:"wc-chip-avatar",children:f&&f.avatar?f.avatar:m.jsx("img",{src:n,alt:"",className:"w-full h-full object-cover rounded-full"})}):null,m.jsx("span",{className:"wc-chip-label",children:(f==null?void 0:f.label)||t}),a&&m.jsx("button",{type:"button",onClick:y,className:"wc-chip-delete","aria-label":"删除",children:u||Sl()})]})}const Vl=["aria-valuenow"],jl=["width","height","viewBox"],Tl=["cx","cy","r","stroke-width"],Dl=["cx","cy","r","stroke-width","stroke-dasharray","stroke-dashoffset"],Il={key:0,class:"wc-circular-progress-value"},zl={__name:"CircularProgress",props:{value:{type:Number,default:0,validator:t=>t>=0&&t<=100},size:{type:[Number,String],default:40},thickness:{type:Number,default:3.6},variant:{type:String,default:"indeterminate",validator:t=>["determinate","indeterminate"].includes(t)},color:{type:String,default:"primary",validator:t=>["primary","secondary","success","warning","error","inherit"].includes(t)},showValue:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>typeof n.size=="string"?parseInt(n.size):n.size),r=e.computed(()=>a.value/2),l=e.computed(()=>(a.value-n.thickness)/2),o=e.computed(()=>2*Math.PI*l.value),s=e.computed(()=>`0 0 ${a.value} ${a.value}`),i=e.computed(()=>n.variant==="determinate"?o.value-n.value/100*o.value:0),u=e.computed(()=>{const p=["wc-circular-progress inline-flex relative items-center justify-center"];return p.push(`wc-circular-progress--${n.color}`),n.variant==="indeterminate"&&p.push("wc-circular-progress--indeterminate"),p}),c=e.computed(()=>n.variant==="indeterminate"?["wc-circular-progress-circle--indeterminate"]:[]),d=e.computed(()=>n.variant==="determinate"?n.value:void 0);return(f,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(u.value),role:"progressbar","aria-valuenow":d.value,"aria-valuemin":0,"aria-valuemax":100},[(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:s.value,class:"wc-circular-progress-svg"},[e.createElementVNode("circle",{cx:r.value,cy:r.value,r:l.value,"stroke-width":t.thickness,stroke:"currentColor",fill:"none",class:"wc-circular-progress-bg"},null,8,Tl),e.createElementVNode("circle",{cx:r.value,cy:r.value,r:l.value,"stroke-width":t.thickness,stroke:"currentColor",fill:"none","stroke-dasharray":o.value,"stroke-dashoffset":i.value,class:e.normalizeClass([c.value,"wc-circular-progress-circle"])},null,10,Dl)],8,jl)),t.showValue?(e.openBlock(),e.createElementBlock("div",Il,e.toDisplayString(Math.round(t.value))+"% ",1)):e.createCommentVNode("",!0)],10,Vl))}};function Pl(t,n){const a=typeof t=="string"?parseInt(t,10):t,r=a/2,l=(a-n)/2,o=2*Math.PI*l;return{sizeNumber:a,center:r,radius:l,circumference:o}}function Ml(t,n,a){return t==="determinate"?a-n/100*a:0}function Ol(t){const{color:n="primary",variant:a="indeterminate",className:r=""}=t,l=["wc-circular-progress","inline-flex","relative","items-center","justify-center"];return l.push(`wc-circular-progress--${n}`),a==="indeterminate"&&l.push("wc-circular-progress--indeterminate"),r&&l.push(r),l.filter(Boolean)}function Al(t){const n=["wc-circular-progress-circle"];return t==="indeterminate"&&n.push("wc-circular-progress-circle--indeterminate"),n.filter(Boolean)}function Ll(t){return Math.round(t)}function Rl(t){const{value:n=0,variant:a}=t,r={role:"progressbar","aria-valuemin":0,"aria-valuemax":100};return a==="determinate"&&(r["aria-valuenow"]=n),r}function Fl({value:t=0,size:n=40,thickness:a=3.6,variant:r="indeterminate",color:l="primary",showValue:o=!1,className:s="",...i}){const{sizeNumber:u,center:c,radius:d,circumference:f}=Pl(n,a),p=Ml(r,t,f),h=Ol({color:l,variant:r,className:s}).join(" "),y=Al(r).join(" "),g=Rl({value:t,variant:r});return m.jsxs("div",{className:h,...g,...i,children:[m.jsxs("svg",{width:u,height:u,viewBox:`0 0 ${u} ${u}`,className:"wc-circular-progress-svg",children:[m.jsx("circle",{cx:c,cy:c,r:d,strokeWidth:a,stroke:"currentColor",fill:"none",className:"wc-circular-progress-bg"}),m.jsx("circle",{cx:c,cy:c,r:d,strokeWidth:a,stroke:"currentColor",fill:"none",strokeDasharray:f,strokeDashoffset:p,className:y})]}),o&&m.jsxs("div",{className:"wc-circular-progress-value",children:[Ll(t),"%"]})]})}function Jt(t){const{size:n="md",shape:a="circle",disabled:r=!1,className:l=""}=t,o=["wc-color-picker"];return o.push(`wc-color-picker--${n}`),o.push(`wc-color-picker--${a}`),r&&o.push("wc-color-picker--disabled"),l&&o.push(l),o.filter(Boolean)}function ql(t,n,a){!n&&a&&a(t.target.value)}function Xt(t){return{backgroundColor:t}}const Wl=["value","disabled"],Hl=e.defineComponent({__name:"ColorPicker",props:{modelValue:{default:"#ffffff"},size:{default:"md"},shape:{default:"circle"},disabled:{type:Boolean,default:!1},className:{default:""}},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,r=n,l=e.computed(()=>Jt({size:a.size,shape:a.shape,disabled:a.disabled,className:a.className}).join(" ")),o=e.computed(()=>Xt(a.modelValue));function s(i){const u=i.target;a.disabled||r("update:modelValue",u.value)}return(i,u)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(l.value)},[e.createElementVNode("input",{class:"wc-color-picker__input",type:"color",value:i.modelValue,disabled:i.disabled,onInput:s},null,40,Wl),e.createElementVNode("span",{class:"wc-color-picker__preview",style:e.normalizeStyle(o.value)},null,4)],2))}});function Ul({value:t="#ffffff",onChange:n,size:a="md",shape:r="circle",disabled:l=!1,className:o=""}){const s=Jt({size:a,shape:r,disabled:l,className:o}).join(" "),i=Xt(t),u=c=>{ql(c,l,n)};return m.jsxs("label",{className:s,children:[m.jsx("input",{type:"color",value:t,onChange:u,disabled:l,className:"wc-color-picker__input"}),m.jsx("span",{className:"wc-color-picker__preview",style:i})]})}const Yl=["xs","sm","md","lg","xl","2xl"];function Qt(t){return Yl.includes(t)}const Zt={xs:"max-w-xs",sm:"max-w-sm",md:"max-w-md",lg:"max-w-4xl",xl:"max-w-6xl","2xl":"max-w-7xl"};function Gl(t){const{maxWidth:n="lg",fluid:a=!1,fixed:r=!1,className:l=""}=t,o=["wc-container"];return a?o.push("wc-container--fluid"):r?o.push("wc-container--fixed"):n&&Qt(n)&&o.push(`wc-container--${n}`),l&&o.push(l),o.filter(Boolean)}function Kl(t){const{maxWidth:n="lg",fluid:a=!1,fixed:r=!1,className:l=""}=t,s=["mx-auto px-4 sm:px-6 lg:px-8"];return a||r?s.push("w-full"):n&&Zt[n]&&s.push(Zt[n]),l&&s.push(l),s.filter(Boolean)}const Jl={__name:"Container",props:{maxWidth:{type:String,default:"lg",validator:Qt},fluid:{type:Boolean,default:!1},fixed:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>Gl(n).join(" "));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(r.$slots,"default")],2))}};function Xl({maxWidth:t="lg",fluid:n=!1,fixed:a=!1,className:r="",children:l}){const o=Kl({maxWidth:t,fluid:n,fixed:a,className:r}).join(" ");return m.jsx("div",{className:o,children:l})}const Ql={class:"wc-copy-text"},Zl={class:"wc-copy-action"},eo=["innerHTML"],to={key:0,class:"wc-copy-label"},no={__name:"Copy",props:{text:{type:String,required:!0},variant:{type:String,default:"default",validator:t=>["default","outlined","filled","minimal"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},showLabel:{type:Boolean,default:!0},showTooltip:{type:Boolean,default:!0},copyLabel:{type:String,default:"复制"},copiedLabel:{type:String,default:"已复制"},tooltipSuccess:{type:String,default:"复制成功!"},tooltipError:{type:String,default:"复制失败"},resetDelay:{type:Number,default:2e3}},emits:["copy","error"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(!1),o=e.ref(!1),s=e.ref(!1),i=e.computed(()=>["wc-copy",`wc-copy--${a.variant}`,`wc-copy--${a.size}`,{"wc-copy--copied":l.value,"wc-copy--error":s.value}]),u=e.computed(()=>s.value?"❌":l.value?"✓":"📋"),c=e.computed(()=>s.value?"错误":l.value?a.copiedLabel:a.copyLabel),d=e.computed(()=>s.value?a.tooltipError:l.value?a.tooltipSuccess:""),f=async()=>{try{if(navigator.clipboard&&navigator.clipboard.writeText)await navigator.clipboard.writeText(a.text);else{const p=document.createElement("textarea");p.value=a.text,p.style.position="fixed",p.style.left="-999999px",p.style.top="-999999px",document.body.appendChild(p),p.focus(),p.select(),document.execCommand("copy"),document.body.removeChild(p)}l.value=!0,s.value=!1,r("copy",a.text),a.showTooltip&&(o.value=!0,setTimeout(()=>{o.value=!1},1500)),setTimeout(()=>{l.value=!1},a.resetDelay)}catch(p){s.value=!0,l.value=!1,r("error",p),a.showTooltip&&(o.value=!0,setTimeout(()=>{o.value=!1},1500)),setTimeout(()=>{s.value=!1},a.resetDelay)}};return(p,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value),onClick:f},[e.renderSlot(p.$slots,"content",{},()=>[e.createElementVNode("span",Ql,e.toDisplayString(t.text),1)]),e.createElementVNode("div",Zl,[e.renderSlot(p.$slots,"icon",{},()=>[e.createElementVNode("span",{class:"wc-copy-icon",innerHTML:u.value},null,8,eo)]),t.showLabel?(e.openBlock(),e.createElementBlock("span",to,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)]),t.showTooltip&&o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["wc-copy-tooltip",{"wc-copy-tooltip--success":l.value}])},e.toDisplayString(d.value),3)):e.createCommentVNode("",!0)],2))}};function ao(t){const{variant:n="default",size:a="md",copied:r=!1,copyError:l=!1,className:o=""}=t,s=["wc-copy"];return s.push(`wc-copy--${n}`),s.push(`wc-copy--${a}`),r&&s.push("wc-copy--copied"),l&&s.push("wc-copy--error"),o&&s.push(o),s.filter(Boolean)}function ro(t,n){return n?"❌":t?"✓":"📋"}function lo(t,n,a,r){return n?"错误":t?r:a}function oo(t,n,a,r){return n?r:t?a:""}async function so(t){var n;try{if((n=navigator.clipboard)!=null&&n.writeText)return await navigator.clipboard.writeText(t),!0;{const a=document.createElement("textarea");a.value=t,a.style.position="fixed",a.style.left="-999999px",a.style.top="-999999px",document.body.appendChild(a),a.focus(),a.select();const r=document.execCommand("copy");return document.body.removeChild(a),r}}catch(a){return console.warn("复制失败:",a),!1}}async function io(t,n,a,r,l,o,s,i){await so(t)?(r(!0),l(!1),n(t)):(r(!1),l(!0),a(new Error("复制失败"))),s&&o&&(o(!0),setTimeout(()=>o(!1),1500)),setTimeout(()=>{r(!1),l(!1)},i)}function co(t,n){let a="wc-copy-tooltip";return t&&(a+=" wc-copy-tooltip--success"),n&&(a+=" wc-copy-tooltip--error"),a}function uo({text:t,variant:n="default",size:a="md",showLabel:r=!0,showTooltip:l=!0,copyLabel:o="复制",copiedLabel:s="已复制",tooltipSuccess:i="复制成功!",tooltipError:u="复制失败",resetDelay:c=2e3,onCopy:d=()=>{},onError:f=()=>{},className:p="",children:h,icon:y}){const[g,k]=_.useState(!1),[B,v]=_.useState(!1),[S,x]=_.useState(!1),w=ao({variant:n,size:a,copied:g,copyError:B,className:p}).join(" "),E=ro(g,B),O=lo(g,B,o,s),$=oo(g,B,i,u),R=co(g,B),N=async()=>{await io(t,d,f,k,v,x,l,c)};return m.jsxs("div",{className:w,onClick:N,children:[h??m.jsx("span",{className:"wc-copy-text",children:t}),m.jsxs("div",{className:"wc-copy-action",children:[y?m.jsx(y,{className:"wc-copy-icon"}):m.jsx("span",{className:"wc-copy-icon",dangerouslySetInnerHTML:{__html:E}}),r&&m.jsx("span",{className:"wc-copy-label",children:O})]}),l&&S&&m.jsx("div",{className:R,children:$})]})}function ve(t){return String(t).padStart(2,"0")}function en(t,n=!0){const a=Math.floor(t/3600),r=Math.floor(t%3600/60),l=t%60;return n&&a>0?`${ve(a)}:${ve(r)}:${ve(l)}`:`${ve(r)}:${ve(l)}`}function tn(t){const{size:n="md",color:a="default",format:r="simple",finished:l=!1,warningTime:o=null,remaining:s=0,className:i=""}=t,u=["wc-countdown"];return u.push(`wc-countdown--${n}`),a!=="default"&&u.push(`wc-countdown--${a}`),r==="detailed"&&u.push("wc-countdown--with-labels"),r==="card"&&(u.push("wc-countdown--card"),r==="card"&&u.push("wc-countdown--with-labels")),l||s===0?u.push("wc-countdown--finished"):o&&s<=o&&u.push("wc-countdown--warning-time"),i&&u.push(i),u.filter(Boolean)}function nn(){return document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches?"var(--wc-neutral-100)":"var(--wc-neutral-900)"}function fo(t){let n=null;return{start:()=>{n||(n=setInterval(t,1e3))},stop:()=>{n&&(clearInterval(n),n=null)},isRunning:()=>!!n}}const mo=e.defineComponent({__name:"Countdown",props:{seconds:{},autoStart:{type:Boolean,default:!0},size:{default:"md"},color:{default:"default"},customColor:{default:""},fontSize:{default:""},format:{default:"simple"},warningTime:{default:null},className:{default:""}},emits:["finish"],setup(t,{expose:n,emit:a}){const r=t,l=a,o=e.ref(r.seconds);let s=null;const i=()=>{s||(s=window.setInterval(()=>{o.value>0?o.value-=1:(u(),l("finish"))},1e3))},u=()=>{s&&(clearInterval(s),s=null)};e.onMounted(()=>{r.autoStart&&i()}),e.onBeforeUnmount(()=>{u()}),e.watch(()=>r.seconds,h=>{o.value=h,u(),r.autoStart&&i()});const c=e.computed(()=>en(o.value)),d=e.computed(()=>r.customColor||(r.fontSize?nn():void 0)),f=e.computed(()=>{const h={};return r.fontSize&&(h.fontSize=r.fontSize),d.value&&(h.color=d.value),h}),p=e.computed(()=>tn({size:r.size,color:r.color,format:r.format,finished:o.value===0,warningTime:r.warningTime,remaining:o.value,className:r.className}).join(" "));return n({start:i,clear:u}),(h,y)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(p.value),style:e.normalizeStyle(f.value)},e.toDisplayString(c.value),7))}}),po=_.forwardRef(function({seconds:n,autoStart:a=!0,size:r="md",color:l="default",format:o="simple",fontSize:s="",customColor:i="",warningTime:u=null,onFinish:c=()=>{},className:d=""},f){const[p,h]=_.useState(n);_.useRef(null);const y=fo(()=>{h(w=>w>0?w-1:(y.stop(),c(),0))}),g=()=>{y.stop()},k=()=>{y.start()};_.useEffect(()=>(h(n),g(),a&&k(),()=>g()),[n]),_.useEffect(()=>{a&&k()},[]),_.useImperativeHandle(f,()=>({start:k,clear:g}));const B=tn({size:r,color:l,format:o,finished:p===0,warningTime:u,remaining:p,className:d}).join(" "),v=en(p),S=i||(s?nn():void 0),x={};return s&&(x.fontSize=s),S&&(x.color=S),m.jsx("span",{className:B,style:x,children:v})}),ho=["value","placeholder","disabled"],yo={class:"wc-datepicker-header"},go={class:"wc-datepicker-title"},bo={class:"wc-datepicker-weekdays"},wo={class:"wc-datepicker-days"},ko=["disabled","onClick"],xo={key:0,class:"wc-datepicker-footer"},Co={__name:"DatePicker",props:{modelValue:{type:[Date,String],default:null},placeholder:{type:String,default:"请选择日期"},format:{type:String,default:"YYYY-MM-DD"},disabled:{type:Boolean,default:!1},showToday:{type:Boolean,default:!0},minDate:{type:[Date,String],default:null},maxDate:{type:[Date,String],default:null},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outlined","filled"].includes(t)}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(null),o=e.ref(null),s=e.ref(!1),i=e.ref(new Date),u=["日","一","二","三","四","五","六"],c=e.computed(()=>["wc-datepicker-wrapper",`wc-datepicker-wrapper--${a.variant}`,`wc-datepicker-wrapper--${a.size}`,{"wc-datepicker-wrapper--disabled":a.disabled,"wc-datepicker-wrapper--open":s.value}]),d=e.computed(()=>({zIndex:1e3})),f=e.computed(()=>a.modelValue?a.modelValue instanceof Date?a.modelValue:new Date(a.modelValue):null),p=e.computed(()=>f.value?S(f.value,a.format):""),h=e.computed(()=>{const N=i.value.getFullYear(),D=i.value.getMonth()+1;return`${N}年${D}月`}),y=e.computed(()=>{const N=i.value.getFullYear(),D=i.value.getMonth(),A=new Date(N,D,1),U=new Date(N,D+1,0),M=A.getDay(),J=U.getDate(),T=[],q=new Date(N,D-1,0);for(let ee=M-1;ee>=0;ee--)T.push({day:q.getDate()-ee,month:"prev",date:new Date(N,D-1,q.getDate()-ee)});for(let ee=1;ee<=J;ee++)T.push({day:ee,month:"current",date:new Date(N,D,ee)});const ie=42-T.length;for(let ee=1;ee<=ie;ee++)T.push({day:ee,month:"next",date:new Date(N,D+1,ee)});return T}),g=N=>["wc-datepicker-day",{"wc-datepicker-day--prev":N.month==="prev","wc-datepicker-day--next":N.month==="next","wc-datepicker-day--current":N.month==="current","wc-datepicker-day--selected":k(N.date),"wc-datepicker-day--today":B(N.date),"wc-datepicker-day--disabled":v(N)}],k=N=>f.value?N.toDateString()===f.value.toDateString():!1,B=N=>{const D=new Date;return N.toDateString()===D.toDateString()},v=N=>{const{date:D}=N;if(a.minDate){const A=a.minDate instanceof Date?a.minDate:new Date(a.minDate);if(D<A)return!0}if(a.maxDate){const A=a.maxDate instanceof Date?a.maxDate:new Date(a.maxDate);if(D>A)return!0}return!1},S=(N,D)=>{const A=N.getFullYear(),U=String(N.getMonth()+1).padStart(2,"0"),M=String(N.getDate()).padStart(2,"0");return D.replace("YYYY",A).replace("MM",U).replace("DD",M)},x=()=>{a.disabled||(s.value=!s.value)},w=N=>{const D=new Date(i.value);D.setMonth(D.getMonth()+N),i.value=D},E=N=>{if(v(N))return;const D=new Date(N.date);r("update:modelValue",D),r("change",D),s.value=!1},O=()=>{const N=new Date;r("update:modelValue",N),r("change",N),s.value=!1},$=()=>{r("update:modelValue",null),r("change",null),s.value=!1},R=N=>{l.value&&!l.value.contains(N.target)&&(s.value=!1)};return e.watch(()=>a.modelValue,N=>{if(N){const D=N instanceof Date?N:new Date(N);i.value=new Date(D.getFullYear(),D.getMonth(),1)}}),e.onMounted(()=>{document.addEventListener("click",R)}),e.onUnmounted(()=>{document.removeEventListener("click",R)}),(N,D)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"datePickerRef",ref:l,class:"wc-datepicker"},[e.createElementVNode("div",{class:e.normalizeClass(c.value),onClick:x},[e.createElementVNode("input",{ref_key:"inputRef",ref:o,type:"text",value:p.value,placeholder:t.placeholder,disabled:t.disabled,readonly:"",class:"wc-datepicker-input"},null,8,ho),D[2]||(D[2]=e.createElementVNode("span",{class:"wc-datepicker-icon"},"📅",-1))],2),s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"wc-datepicker-dropdown",style:e.normalizeStyle(d.value)},[e.createElementVNode("div",yo,[e.createElementVNode("button",{type:"button",class:"wc-datepicker-nav",onClick:D[0]||(D[0]=A=>w(-1))}," ‹ "),e.createElementVNode("span",go,e.toDisplayString(h.value),1),e.createElementVNode("button",{type:"button",class:"wc-datepicker-nav",onClick:D[1]||(D[1]=A=>w(1))}," › ")]),e.createElementVNode("div",bo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(u,A=>e.createElementVNode("div",{key:A,class:"wc-datepicker-weekday"},e.toDisplayString(A),1)),64))]),e.createElementVNode("div",wo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,A=>(e.openBlock(),e.createElementBlock("button",{key:`${A.month}-${A.day}`,type:"button",class:e.normalizeClass(g(A)),disabled:v(A),onClick:U=>E(A)},e.toDisplayString(A.day),11,ko))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",xo,[e.createElementVNode("button",{type:"button",class:"wc-datepicker-today",onClick:O}," 今天 "),e.createElementVNode("button",{type:"button",class:"wc-datepicker-clear",onClick:$}," 清除 ")])):e.createCommentVNode("",!0)],4)):e.createCommentVNode("",!0)],512))}};function So(t,n="YYYY-MM-DD"){if(!t||!(t instanceof Date))return"";const a=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0");return n.replace("YYYY",a).replace("MM",r).replace("DD",l)}function Bo(t){if(!t)return!1;const n=new Date;return t.toDateString()===n.toDateString()}function _o(t,n){return!t||!n?!1:t.toDateString()===n.toDateString()}function No(t){const n=t.getFullYear(),a=t.getMonth(),r=new Date(n,a,1),l=new Date(n,a+1,0),o=r.getDay(),s=l.getDate(),i=[],u=new Date(n,a-1,0);for(let d=o-1;d>=0;d--)i.push({day:u.getDate()-d,month:"prev",date:new Date(n,a-1,u.getDate()-d)});for(let d=1;d<=s;d++)i.push({day:d,month:"current",date:new Date(n,a,d)});const c=42-i.length;for(let d=1;d<=c;d++)i.push({day:d,month:"next",date:new Date(n,a+1,d)});return i}function Eo(t="md",n="default",a=!1,r=!1,l=!1){const o=["wc-datepicker-wrapper",`wc-datepicker-wrapper--${t}`,`wc-datepicker-wrapper--${n}`];return a&&o.push("wc-datepicker-wrapper--disabled"),r&&o.push("wc-datepicker-wrapper--focused"),l&&o.push("wc-datepicker-wrapper--open"),o.join(" ")}function vo(t,n){const a=["wc-datepicker-day"];return t.month==="prev"&&a.push("wc-datepicker-day--prev"),t.month==="next"&&a.push("wc-datepicker-day--next"),t.month==="current"&&a.push("wc-datepicker-day--current"),n&&_o(t.date,n)&&a.push("wc-datepicker-day--selected"),Bo(t.date)&&a.push("wc-datepicker-day--today"),a.join(" ")}function $o({value:t=null,onChange:n=()=>{},placeholder:a="请选择日期",disabled:r=!1,size:l="md",variant:o="default",format:s="YYYY-MM-DD",showToday:i=!0,minDate:u=null,maxDate:c=null,className:d="",...f}){const p=_.useRef(null),[h,y]=_.useState(!1),[g,k]=_.useState(()=>t?new Date(t):new Date),[B,v]=_.useState(t?new Date(t):null);_.useEffect(()=>{v(t?new Date(t):null)},[t]),_.useEffect(()=>{const M=J=>{p.current&&!p.current.contains(J.target)&&y(!1)};return document.addEventListener("click",M),()=>document.removeEventListener("click",M)},[]);const S=B?So(B,s):"",x=()=>{r||y(M=>!M)},w=M=>{k(J=>{const T=new Date(J);return T.setMonth(T.getMonth()+M),T})},E=M=>{if(R(M))return;const J=new Date(M.date);v(J),n(J),y(!1)},O=()=>{const M=new Date;v(M),n(M),y(!1)},$=()=>{v(null),n(null),y(!1)},R=M=>{const{date:J}=M;if(u){const T=u instanceof Date?u:new Date(u);if(J<T)return!0}if(c){const T=c instanceof Date?c:new Date(c);if(J>T)return!0}return!1},N=No(g),D=["日","一","二","三","四","五","六"],A=`${g.getFullYear()}年${g.getMonth()+1}月`,U=[Eo(l,o,r,!1,h),d].filter(Boolean).join(" ");return m.jsxs("div",{className:"wc-datepicker",ref:p,...f,children:[m.jsxs("div",{className:U,onClick:x,children:[m.jsx("input",{type:"text",className:"wc-datepicker-input",value:S,placeholder:a,disabled:r,readOnly:!0}),m.jsx("span",{className:"wc-datepicker-icon",children:"📅"})]}),h&&m.jsxs("div",{className:"wc-datepicker-dropdown",style:{zIndex:1e3},children:[m.jsxs("div",{className:"wc-datepicker-header",children:[m.jsx("button",{type:"button",className:"wc-datepicker-nav",onClick:()=>w(-1),children:"‹"}),m.jsx("span",{className:"wc-datepicker-title",children:A}),m.jsx("button",{type:"button",className:"wc-datepicker-nav",onClick:()=>w(1),children:"›"})]}),m.jsx("div",{className:"wc-datepicker-weekdays",children:D.map(M=>m.jsx("div",{className:"wc-datepicker-weekday",children:M},M))}),m.jsx("div",{className:"wc-datepicker-days",children:N.map(M=>{const J=vo(M,B),T=R(M);return m.jsx("button",{type:"button",className:J,disabled:T,onClick:()=>E(M),children:M.day},`${M.month}-${M.day}`)})}),i&&m.jsxs("div",{className:"wc-datepicker-footer",children:[m.jsx("button",{type:"button",className:"wc-datepicker-today",onClick:O,children:"今天"}),m.jsx("button",{type:"button",className:"wc-datepicker-clear",onClick:$,children:"清除"})]})]})]})}const Vo={class:"wc-dropdown__button"},jo={key:0,class:"wc-dropdown__card"},To={class:"wc-dropdown__card-illustration"},Do=["src","alt"],Io={key:1,class:"wc-dropdown__illustration-placeholder"},zo={key:0,class:"wc-dropdown__card-info"},Po={key:0,class:"wc-dropdown__card-title"},Mo={key:1,class:"wc-dropdown__card-description"},Oo={class:"wc-dropdown__card-list"},Ao=["onClick"],Lo={key:0,class:"wc-dropdown__icon"},Ro={class:"wc-dropdown__label"},Fo={key:1},qo=["onClick"],Wo={key:0,class:"wc-dropdown__icon"},Ho={class:"wc-dropdown__label"},Uo={__name:"Dropdown",props:{items:{type:Array,default:()=>[]},triggerText:{type:String,default:"选择选项"},placement:{type:String,default:"bottom-start",validator:t=>["bottom-start","bottom-end","top-start","top-end"].includes(t)},disabled:{type:Boolean,default:!1},trigger:{type:String,default:"click",validator:t=>["click","hover"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","card"].includes(t)},illustration:{type:String,default:""},illustrationAlt:{type:String,default:"示意图"},cardTitle:{type:String,default:""},cardDescription:{type:String,default:""},isDarkMode:{type:Boolean,default:!1}},emits:["select","open","close"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(!1),o=e.ref(null),s=e.ref(null),i=e.ref(null),u=e.computed(()=>{const h=["wc-dropdown__menu",`wc-dropdown__menu--${a.placement}`];return a.variant==="card"&&h.push("wc-dropdown__menu--card"),h}),c=e.computed(()=>a.variant==="card"?{minWidth:"320px",maxWidth:"450px"}:{minWidth:"120px"}),d=()=>{a.disabled||(l.value=!l.value,l.value?r("open"):r("close"))},f=(h,y)=>{h.disabled||h.divider||(r("select",h,y),l.value=!1,r("close"))},p=h=>{o.value&&!o.value.contains(h.target)&&(l.value=!1,r("close"))};return e.onMounted(()=>{document.addEventListener("click",p)}),e.onUnmounted(()=>{document.removeEventListener("click",p)}),(h,y)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:o,class:e.normalizeClass(["wc-dropdown",{dark:t.isDarkMode}]),style:{backgroundColor:"var(--wc-bg-surface)",color:"var(--wc-text-primary)"}},[e.createElementVNode("div",{ref_key:"triggerRef",ref:s,class:"wc-dropdown__trigger",onClick:d},[e.renderSlot(h.$slots,"trigger",{},()=>[e.createElementVNode("button",Vo,[e.createTextVNode(e.toDisplayString(t.triggerText)+" ",1),e.createElementVNode("span",{class:e.normalizeClass(["wc-dropdown__arrow",{"wc-dropdown__arrow--open":l.value}])}," ▼ ",2)])])],512),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:i,class:e.normalizeClass(u.value),style:e.normalizeStyle(c.value)},[e.renderSlot(h.$slots,"content",{},()=>[t.variant==="card"?(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("div",To,[e.renderSlot(h.$slots,"illustration",{},()=>[t.illustration?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.illustration,alt:t.illustrationAlt,class:"wc-dropdown__illustration-image"},null,8,Do)):(e.openBlock(),e.createElementBlock("div",Io,y[0]||(y[0]=[e.createElementVNode("span",null,"🎨",-1)])))]),t.cardTitle||t.cardDescription?(e.openBlock(),e.createElementBlock("div",zo,[t.cardTitle?(e.openBlock(),e.createElementBlock("h4",Po,e.toDisplayString(t.cardTitle),1)):e.createCommentVNode("",!0),t.cardDescription?(e.openBlock(),e.createElementBlock("p",Mo,e.toDisplayString(t.cardDescription),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(g,k)=>(e.openBlock(),e.createElementBlock("div",{key:g.key||k,class:e.normalizeClass([g.divider?"wc-dropdown__divider":"wc-dropdown__item",{"wc-dropdown__item--disabled":g.disabled&&!g.divider}]),onClick:B=>f(g,k)},[g.icon?(e.openBlock(),e.createElementBlock("span",Lo,e.toDisplayString(g.icon),1)):e.createCommentVNode("",!0),e.createElementVNode("span",Ro,e.toDisplayString(g.label),1)],10,Ao))),128))])])):(e.openBlock(),e.createElementBlock("div",Fo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(g,k)=>(e.openBlock(),e.createElementBlock("div",{key:g.key||k,class:e.normalizeClass([g.divider?"wc-dropdown__divider":"wc-dropdown__item",{"wc-dropdown__item--disabled":g.disabled&&!g.divider}]),onClick:B=>f(g,k)},[g.icon?(e.openBlock(),e.createElementBlock("span",Wo,e.toDisplayString(g.icon),1)):e.createCommentVNode("",!0),e.createElementVNode("span",Ho,e.toDisplayString(g.label),1)],10,qo))),128))]))])],6)):e.createCommentVNode("",!0)]),_:3})],2))}},ae=(t,n)=>{const a=t.__vccOpts||t;for(const[r,l]of n)a[r]=l;return a},Yo=["disabled"],Go={key:0,class:"fab-icon"},Ko=["innerHTML"],Jo={key:1,class:"fab-label"},Xo=ae({__name:"Fab",props:{variant:{type:String,default:"circular",validator:t=>["circular","extended"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},color:{type:String,default:"primary",validator:t=>["primary","secondary","inherit"].includes(t)},disabled:{type:Boolean,default:!1},label:{type:String,default:""},icon:{type:String,default:""}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(!1),o=e.computed(()=>{const c=["wc-fab"];return c.push(`wc-fab--${a.variant}`),c.push(`wc-fab--${a.size}`),c.push(`wc-fab--${a.color}`),a.disabled&&c.push("wc-fab--disabled"),l.value&&c.push("wc-fab--focused"),c}),s=c=>{a.disabled||r("click",c)},i=()=>{l.value=!0},u=()=>{l.value=!1};return(c,d)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(o.value),disabled:t.disabled,onClick:s,onFocus:i,onBlur:u},[c.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("span",Go,[e.renderSlot(c.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:t.icon},null,8,Ko)):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0),t.variant==="extended"&&(c.$slots.default||t.label)?(e.openBlock(),e.createElementBlock("span",Jo,[e.renderSlot(c.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)])):e.createCommentVNode("",!0)],42,Yo))}},[["__scopeId","data-v-520d7cb2"]]),We=e.defineComponent({name:"FeedItem",components:{},props:{item:{type:Object,required:!0},showAvatar:{type:Boolean,default:!0},variant:{type:String,default:"timeline"},color:{type:String,default:"var(--wc-primary-500)"},dotSize:{type:[String,Number],default:12},lineWidth:{type:[String,Number],default:2}},emits:["item-click"],computed:{feedItemStyles(){const t=typeof this.dotSize=="number"?`${this.dotSize}px`:this.dotSize,n=typeof this.lineWidth=="number"?`${this.lineWidth}px`:this.lineWidth;return{"--feed-color":this.color,"--feed-dot-size":t,"--feed-line-width":n}}},methods:{handleClick(){this.$emit("item-click",this.item)}},template:`
    <li 
      class="wc-feed-item" 
      :class="[variant, (item.children && item.children.length) ? 'has-children' : '']" 
      :style="feedItemStyles"
      @click="handleClick"
    >
      <div v-if="showAvatar && item.avatar" class="wc-feed-avatar"><img :src="item.avatar" alt="avatar" /></div>
      <div class="wc-feed-content">
        <div class="wc-feed-header">
          <strong class="wc-feed-author">{{ item.author }}</strong>
          <span class="wc-feed-time">{{ item.time }}</span>
        </div>
        <p class="wc-feed-text">{{ item.text }}</p>
        <ul v-if="item.children && item.children.length" class="wc-feed-children">
          <FeedItem
            v-for="child in item.children"
            :key="child.id || child.time"
            :item="child"
            :variant="variant"
            :show-avatar="showAvatar"
            :color="color"
            :dot-size="dotSize"
            :line-width="lineWidth"
            @item-click="$emit('item-click', $event)"
          />
        </ul>
      </div>
    </li>
  `});We.components={FeedItem:We};const Qo={name:"Feed",components:{FeedItem:We},props:{items:{type:Array,default:()=>[]},variant:{type:String,default:"timeline"},showAvatar:{type:Boolean,default:!0},color:{type:String,default:"var(--wc-primary-500)"},dotSize:{type:[String,Number],default:12},lineWidth:{type:[String,Number],default:3}},emits:["item-click"],setup(t){return{feedListStyles:e.computed(()=>{const a=typeof t.lineWidth=="number"?`${t.lineWidth}px`:t.lineWidth;return{"--feed-color":t.color,"--feed-line-width":a}})}}};function Zo(t,n,a,r,l,o){const s=e.resolveComponent("FeedItem");return e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass(["wc-feed-list",a.variant]),style:e.normalizeStyle(r.feedListStyles)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,i=>(e.openBlock(),e.createBlock(s,{key:i.id||i.time,item:i,"show-avatar":a.showAvatar,variant:a.variant,color:a.color,"dot-size":a.dotSize,"line-width":a.lineWidth,onItemClick:n[0]||(n[0]=u=>t.$emit("item-click",u))},null,8,["item","show-avatar","variant","color","dot-size","line-width"]))),128)),e.renderSlot(t.$slots,"default")],6)}const es=ae(Qo,[["render",Zo]]),an=({item:t,showAvatar:n=!0,variant:a="timeline",color:r="var(--wc-primary-500)",dotSize:l=12,lineWidth:o=2,onItemClick:s})=>{const i=Array.isArray(t.children)&&t.children.length,u=typeof l=="number"?`${l}px`:l,c=typeof o=="number"?`${o}px`:o,d={"--feed-color":r,"--feed-dot-size":u,"--feed-line-width":c,display:"flex",gap:12,position:"relative"};return m.jsxs("li",{className:`wc-feed-item ${a} ${i?"has-children":""}`,style:d,onClick:()=>s&&s(t),children:[n&&t.avatar&&m.jsx("div",{className:"wc-feed-avatar",style:{flexShrink:0},children:m.jsx("img",{src:t.avatar,alt:"avatar",style:{width:40,height:40,borderRadius:"50%",objectFit:"cover"}})}),m.jsxs("div",{className:"wc-feed-content",style:{flex:1},children:[m.jsxs("div",{className:"wc-feed-header",style:{display:"flex",gap:8,alignItems:"center"},children:[m.jsx("strong",{className:"wc-feed-author",style:{color:"var(--color-text,#111827)"},children:t.author}),m.jsx("span",{className:"wc-feed-time",style:{fontSize:"0.75rem",color:"var(--color-text-secondary,#6b7280)"},children:t.time})]}),m.jsx("p",{className:"wc-feed-text",style:{margin:"4px 0 0",fontSize:"0.875rem",color:"var(--color-text,#374151)"},children:t.text}),i&&m.jsx("ul",{className:"wc-feed-children",style:{listStyle:"none",margin:"12px 0 0 52px",padding:0,display:"flex",flexDirection:"column",gap:16},children:t.children.map(f=>m.jsx(an,{item:f,showAvatar:n,variant:a,color:r,dotSize:l,lineWidth:o,onItemClick:s},f.id||f.time))})]})]})},rn=({items:t=[],variant:n="timeline",showAvatar:a=!0,color:r="var(--wc-primary-500)",dotSize:l=12,lineWidth:o=2,onItemClick:s,className:i=""})=>{const u=typeof o=="number"?`${o}px`:o,c={"--feed-color":r,"--feed-line-width":u,listStyle:"none",padding:0,margin:0,display:"flex",flexDirection:"column",gap:16};return m.jsx("ul",{className:`wc-feed-list ${n} ${i}`,style:c,children:t.map(d=>m.jsx(an,{item:d,variant:n,showAvatar:a,color:r,dotSize:l,lineWidth:o,onItemClick:s},d.id||d.time))})};rn.displayName="Feed";const ts={name:"Feature",props:{title:{type:String,default:"Awesome Feature"},description:{type:String,default:"Feature description goes here."},icon:{type:String,default:""},iconSize:{type:[Number,String],default:48},align:{type:String,default:"left"},bgColor:{type:String,default:""},reverse:{type:Boolean,default:!1},ctaLabel:{type:String,default:""},ctaHref:{type:String,default:"#"},variant:{type:String,default:"default",validator:t=>["default","elevated","minimal"].includes(t)},isDarkMode:{type:Boolean,default:!1}},emits:["click","cta-click"],computed:{cardClasses(){const t=["wc-feature-card","wc-feature-card--clickable"];return this.variant!=="default"&&t.push(`wc-feature-card--${this.variant}`),this.align==="center"?t.push("wc-feature-card--center"):t.push("wc-feature-card--left"),this.reverse&&t.push("wc-feature-card--reverse"),t},cardStyle(){return this.bgColor?{background:this.bgColor}:void 0},iconStyle(){const t=typeof this.iconSize=="number"?`${this.iconSize}px`:this.iconSize;return{width:t,height:t,fontSize:`calc(${t} * 0.75)`}}}},ns=["innerHTML"],as={class:"wc-feature-content"},rs={class:"wc-feature-title"},ls={class:"wc-feature-description"},os=["href"];function ss(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([o.cardClasses,{dark:a.isDarkMode}]),style:e.normalizeStyle(o.cardStyle),onClick:n[1]||(n[1]=s=>t.$emit("click"))},[a.icon?(e.openBlock(),e.createElementBlock("div",{key:0,class:"wc-feature-icon",style:e.normalizeStyle(o.iconStyle),innerHTML:a.icon},null,12,ns)):e.createCommentVNode("",!0),e.createElementVNode("div",as,[e.createElementVNode("h3",rs,e.toDisplayString(a.title),1),e.createElementVNode("p",ls,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.description),1)])]),a.ctaLabel?(e.openBlock(),e.createElementBlock("a",{key:0,href:a.ctaHref,class:"wc-feature-cta",onClick:n[0]||(n[0]=e.withModifiers(s=>t.$emit("cta-click"),["stop"]))},e.toDisplayString(a.ctaLabel),9,os)):e.createCommentVNode("",!0)])],6)}const is=ae(ts,[["render",ss]]),cs=({align:t,size:n,background:a,reverse:r,vertical:l,clickable:o,disabled:s,className:i,isDarkMode:u})=>["wc-feature-card",o&&"wc-feature-card--clickable",s,r&&"wc-feature-card--reverse",l&&"wc-feature-card--vertical",`wc-feature-card--${n}`,`wc-feature-card--${a}`,`wc-feature-card--${t}`,i,u&&"dark"].filter(Boolean);function ds(t,n){return["wc-feature-icon",`wc-feature-icon--${t}`,n].filter(Boolean)}function us(t,n){return["wc-feature-content",`wc-feature-content--${t}`,n].filter(Boolean)}function fs(t,n){return["wc-feature-title",`wc-feature-title--${t}`,n].filter(Boolean)}const ms=(t,n)=>["wc-feature-description",`wc-feature-description--${t}`,n].filter(Boolean);function ps(t,n,a){a&&a(t)}function hs(t,n){t.stopPropagation(),n&&n(t)}function ys(t){return typeof t=="string"?()=>{const n=document.createElement("span");return n.innerHTML=t,n}:t}const ln=({title:t="Awesome Feature",description:n="Feature description goes here.",icon:a="",iconSize:r=48,size:l="md",align:o="left",background:s="default",bgColor:i="",reverse:u=!1,vertical:c=!1,ctaLabel:d="",ctaHref:f="#",onClick:p,onCtaClick:h,children:y,className:g="",style:k={},isDarkMode:B=!1})=>{const v=cs({align:o,size:l,background:s,reverse:u,vertical:c,clickable:!!p,disabled:!1,className:g}).join(" "),S=ds(r).join(" "),x=us(o).join(" "),w=fs(l).join(" "),E=ms(l).join(" "),O={...i?{background:i}:{},...k};return m.jsxs("div",{className:`${v} ${B?"dark":""}`,style:O,onClick:$=>ps($,!1,p),children:[a&&m.jsx("div",{className:S,children:ys(a)}),m.jsxs("div",{className:x,children:[m.jsx("h3",{className:w,children:t}),m.jsx("p",{className:E,children:y||n}),d&&m.jsx("a",{href:f,className:"wc-feature-cta",onClick:$=>hs($,h),children:d})]})]})};ln.displayName="Feature";const gs={name:"FileInput",props:{multiple:{type:Boolean,default:!1},variant:{type:String,default:"block"},accept:{type:String,default:""},label:{type:String,default:"选择文件"}},emits:["change","invalid"],computed:{wrapperClasses(){return["wc-file-input-wrapper",`variant-${this.variant}`]}},methods:{validateFiles(t){if(!this.accept)return!0;const n=this.accept.split(",").map(r=>r.trim()),a=[...t].filter(r=>!n.some(l=>l.startsWith(".")?r.name.endsWith(l):r.type===l));return a.length?(this.$emit("invalid",a),!1):!0},onChange(t){const n=t.target.files;this.validateFiles(n)&&this.$emit("change",n)},onDrop(t){const n=t.dataTransfer.files;this.validateFiles(n)&&this.$emit("change",n)}}},bs=["multiple","accept"],ws={key:0,class:"wc-file-input-content"},ks={key:1,class:"wc-file-button"},xs={key:2,class:"wc-file-icon"};function Cs(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(o.wrapperClasses),onDragover:n[1]||(n[1]=e.withModifiers(()=>{},["prevent"])),onDrop:n[2]||(n[2]=e.withModifiers((...s)=>o.onDrop&&o.onDrop(...s),["prevent"]))},[e.createElementVNode("input",{type:"file",class:"wc-file-input",multiple:a.multiple,accept:a.accept,onChange:n[0]||(n[0]=(...s)=>o.onChange&&o.onChange(...s))},null,40,bs),a.variant==="block"?(e.openBlock(),e.createElementBlock("div",ws,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.label),1)])])):a.variant==="button"?(e.openBlock(),e.createElementBlock("span",ks,e.toDisplayString(a.label),1)):a.variant==="icon"?(e.openBlock(),e.createElementBlock("span",xs,"⬆️")):e.createCommentVNode("",!0)],34)}const Ss=ae(gs,[["render",Cs]]),on=({multiple:t=!1,variant:n="block",accept:a="",label:r="选择文件",onChange:l,onInvalid:o,className:s="",style:i={}})=>{const u=_.useRef(null),c=y=>{if(!a)return!0;const g=a.split(",").map(B=>B.trim()),k=[...y].filter(B=>!g.some(v=>v.startsWith(".")?B.name.endsWith(v):B.type===v));return k.length?(o&&o(k),!1):!0},d=y=>{const g=y.target.files;c(g)&&l&&l(g)},f=y=>{y.preventDefault();const g=y.dataTransfer.files;c(g)&&l&&l(g)},p=()=>{var y;(y=u.current)==null||y.click()},h=()=>{switch(n){case"button":return m.jsx("span",{className:"wc-file-button",children:r});case"icon":return m.jsx("span",{className:"wc-file-icon",children:"⬆️"});default:return m.jsx("strong",{className:"wc-file-input-content__title",children:r})}};return m.jsxs("label",{className:`wc-file-input-wrapper variant-${n} ${s}`,onDragOver:y=>y.preventDefault(),onDrop:f,onClick:n!=="block"?p:void 0,children:[m.jsx("input",{ref:u,type:"file",multiple:t,accept:a,style:{display:"none"},onChange:d}),n==="block"?m.jsx("div",{className:"wc-file-input-content",children:h()}):h()]})};on.displayName="FileInput";const Bs=ae({__name:"FormControl",props:{disabled:{type:Boolean,default:!1},error:{type:Boolean,default:!1},required:{type:Boolean,default:!1},variant:{type:String,default:"outlined",validator:t=>["outlined","filled","standard"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},fullWidth:{type:Boolean,default:!1},margin:{type:String,default:"normal",validator:t=>["none","dense","normal"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const r=[];return n.fullWidth&&r.push("form-control--full-width"),n.margin==="dense"?r.push("form-control--margin-dense"):n.margin==="normal"&&r.push("form-control--margin-normal"),n.disabled&&r.push("form-control--disabled"),n.error&&r.push("form-control--error"),r});return e.provide("formControlContext",{disabled:n.disabled,error:n.error,required:n.required,variant:n.variant,size:n.size}),(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-control",a.value])},[e.renderSlot(r.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-7222714e"]]),sn=_.createContext(null),cn=({disabled:t=!1,error:n=!1,required:a=!1,variant:r="outlined",size:l="md",fullWidth:o=!1,margin:s="normal",className:i="",style:u={},children:c,...d})=>{const f=_.useMemo(()=>({disabled:t,error:n,required:a,variant:r,size:l}),[t,n,a,r,l]),p=["form-control",o&&"form-control--full-width",s==="dense"&&"form-control--margin-dense",s==="normal"&&"form-control--margin-normal",t&&"form-control--disabled",n&&"form-control--error",i].filter(Boolean).join(" ");return m.jsx(sn.Provider,{value:f,children:m.jsx("div",{className:p,style:u,...d,children:c})})};cn.displayName="FormControl";const _s={key:0,class:"form-control-label__required"},Ns={class:"form-control-label__control"},Es={key:0,class:"form-control-label__required"},vs=ae({__name:"FormControlLabel",props:{label:{type:String,required:!0},labelPlacement:{type:String,default:"end",validator:t=>["start","end","top","bottom"].includes(t)},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},checked:{type:Boolean,default:void 0},value:{type:[String,Number,Boolean],default:void 0}},emits:["change"],setup(t,{emit:n}){const a=t,r=n,l=e.computed(()=>{const i=[];return a.labelPlacement==="start"?i.push("form-control-label--placement-start"):a.labelPlacement==="end"?i.push("form-control-label--placement-end"):a.labelPlacement==="top"?i.push("form-control-label--placement-top"):a.labelPlacement==="bottom"&&i.push("form-control-label--placement-bottom"),a.disabled&&i.push("form-control-label--disabled"),i}),o=e.computed(()=>{const i=[];return a.disabled&&i.push("form-control-label__text--disabled"),i}),s=i=>{a.disabled||r("change",i)};return(i,u)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["form-control-label",l.value]),onClick:s},[t.labelPlacement==="start"?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["form-control-label__text",o.value])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",_s,"*")):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("span",Ns,[e.renderSlot(i.$slots,"default",{},void 0,!0)]),t.labelPlacement!=="start"?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["form-control-label__text",o.value])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Es,"*")):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],2))}},[["__scopeId","data-v-5c71fa97"]]),dn=({label:t,labelPlacement:n="end",disabled:a=!1,required:r=!1,checked:l,value:o,className:s="",style:i={},onChange:u,children:c,...d})=>{const f=y=>{a||u==null||u(y)},p=["form-control-label",n==="start"&&"form-control-label--placement-start",n==="end"&&"form-control-label--placement-end",n==="top"&&"form-control-label--placement-top",n==="bottom"&&"form-control-label--placement-bottom",a&&"form-control-label--disabled",s].filter(Boolean).join(" "),h=["form-control-label__text",a&&"form-control-label__text--disabled"].filter(Boolean).join(" ");return m.jsxs("label",{className:p,onClick:f,style:i,...d,children:[n==="start"&&m.jsxs("span",{className:h,children:[t,r&&m.jsx("span",{className:"form-control-label__required",children:"*"})]}),m.jsx("span",{className:"form-control-label__control",children:c}),n!=="start"&&m.jsxs("span",{className:h,children:[t,r&&m.jsx("span",{className:"form-control-label__required",children:"*"})]})]})};dn.displayName="FormControlLabel";const $s=ae({__name:"FormGroup",props:{row:{type:Boolean,default:!1},spacing:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const r=[];return n.row&&r.push("form-group--row"),n.spacing==="compact"?r.push("form-group--spacing-compact"):n.spacing==="comfortable"&&r.push("form-group--spacing-comfortable"),r});return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-group",a.value])},[e.renderSlot(r.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-1f9a4f70"]]),un=({row:t=!1,spacing:n="normal",className:a="",style:r={},children:l,...o})=>{const s=["form-group",t&&"form-group--row",n==="compact"&&"form-group--spacing-compact",n==="comfortable"&&"form-group--spacing-comfortable",a].filter(Boolean).join(" ");return m.jsx("div",{className:s,style:r,...o,children:l})};un.displayName="FormGroup";const Vs=["id"],js=ae({__name:"FormHelperText",props:{disabled:{type:Boolean,default:!1},error:{type:Boolean,default:!1},filled:{type:Boolean,default:!1},focused:{type:Boolean,default:!1},margin:{type:String,default:"normal",validator:t=>["normal","dense","none"].includes(t)},required:{type:Boolean,default:!1},variant:{type:String,default:"outlined",validator:t=>["standard","outlined","filled"].includes(t)},id:{type:String,default:void 0},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},setup(t){const n=t,a=e.inject("formControlContext",null),r=e.computed(()=>{const l=[];n.size==="sm"?l.push("form-helper-text--size-sm"):n.size==="lg"&&l.push("form-helper-text--size-lg"),n.margin==="dense"?l.push("form-helper-text--margin-dense"):n.margin==="normal"&&l.push("form-helper-text--margin-normal");const o=n.error||(a==null?void 0:a.error),s=n.disabled||(a==null?void 0:a.disabled);return o?l.push("form-helper-text--error"):s&&l.push("form-helper-text--disabled"),n.focused&&l.push("form-helper-text--focused"),l});return(l,o)=>(e.openBlock(),e.createElementBlock("p",{id:t.id,class:e.normalizeClass(["form-helper-text",r.value])},[e.renderSlot(l.$slots,"default",{},void 0,!0)],10,Vs))}},[["__scopeId","data-v-b80fac14"]]),fn=({disabled:t=!1,error:n=!1,filled:a=!1,focused:r=!1,margin:l="normal",required:o=!1,variant:s="outlined",id:i,size:u="md",className:c="",style:d={},children:f,...p})=>{const h=_.useContext(sn)||{},y=n||h.error,g=t||h.disabled,k=["form-helper-text",u==="sm"&&"form-helper-text--size-sm",u==="lg"&&"form-helper-text--size-lg",l==="dense"&&"form-helper-text--margin-dense",l==="normal"&&"form-helper-text--margin-normal",y&&"form-helper-text--error",g&&"form-helper-text--disabled",r&&"form-helper-text--focused",c].filter(Boolean).join(" ");return m.jsx("p",{id:i,className:k,style:d,...p,children:f})};fn.displayName="FormHelperText";const Ts={__name:"Grid",props:{container:{type:Boolean,default:!1},item:{type:Boolean,default:!1},xs:[Number,String],sm:[Number,String],md:[Number,String],lg:[Number,String],xl:[Number,String],spacing:{type:[Number,String],default:0},direction:{type:String,default:"row",validator:t=>["row","column","row-reverse","column-reverse"].includes(t)},justifyContent:{type:String,default:"flex-start",validator:t=>["flex-start","center","flex-end","space-between","space-around","space-evenly"].includes(t)},alignItems:{type:String,default:"stretch",validator:t=>["flex-start","center","flex-end","stretch","baseline"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const r=[];if(n.container){r.push("flex","flex-wrap");const l={row:"flex-row",column:"flex-col","row-reverse":"flex-row-reverse","column-reverse":"flex-col-reverse"};r.push(l[n.direction]);const o={"flex-start":"justify-start",center:"justify-center","flex-end":"justify-end","space-between":"justify-between","space-around":"justify-around","space-evenly":"justify-evenly"};r.push(o[n.justifyContent]);const s={"flex-start":"items-start",center:"items-center","flex-end":"items-end",stretch:"items-stretch",baseline:"items-baseline"};if(r.push(s[n.alignItems]),n.spacing>0){const i=n.spacing.toString();["1","2","3","4","5","6","8","10","12"].includes(i)?r.push(`gap-${i}`):r.push(`gap-${Math.floor(n.spacing/4)}`)}}return n.item&&(r.push("flex-shrink-0"),Object.entries({xs:"",sm:"sm:",md:"md:",lg:"lg:",xl:"xl:"}).forEach(([o,s])=>{const i=n[o];if(i!==void 0)if(i==="auto")r.push(`${s}flex-auto`);else if(i===!0)r.push(`${s}flex-1`);else{const u=Math.round(i/12*100);r.push(`${s}w-${u===100?"full":u===50?"1/2":u===25?"1/4":u===75?"3/4":`[${u}%]`}`)}})),r});return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(r.$slots,"default")],2))}},mn=({container:t=!1,item:n=!1,xs:a,sm:r,md:l,lg:o,xl:s,spacing:i=0,direction:u="row",justifyContent:c="flex-start",alignItems:d="stretch",className:f="",style:p={},children:h,...y})=>{const g=[];if(t){g.push("flex","flex-wrap");const k={row:"flex-row",column:"flex-col","row-reverse":"flex-row-reverse","column-reverse":"flex-col-reverse"};g.push(k[u]);const B={"flex-start":"justify-start",center:"justify-center","flex-end":"justify-end","space-between":"justify-between","space-around":"justify-around","space-evenly":"justify-evenly"};g.push(B[c]);const v={"flex-start":"items-start",center:"items-center","flex-end":"items-end",stretch:"items-stretch",baseline:"items-baseline"};if(g.push(v[d]),i>0){const S=i.toString();["1","2","3","4","5","6","8","10","12"].includes(S)?g.push(`gap-${S}`):g.push(`gap-${Math.floor(i/4)}`)}}return n&&(g.push("flex-shrink-0"),Object.entries({xs:"",sm:"sm:",md:"md:",lg:"lg:",xl:"xl:"}).forEach(([B,v])=>{const S={xs:a,sm:r,md:l,lg:o,xl:s}[B];if(S!==void 0)if(S==="auto")g.push(`${v}flex-auto`);else if(S===!0)g.push(`${v}flex-1`);else{const x=Math.round(S/12*100);g.push(`${v}w-${x===100?"full":x===50?"1/2":x===25?"1/4":x===75?"3/4":`[${x}%]`}`)}})),m.jsx("div",{className:[...g,f].filter(Boolean).join(" "),style:p,...y,children:h})};mn.displayName="Grid";const Ds={name:"HoverCard",props:{triggerText:{type:String,default:"Hover me"},cardData:{type:Object,default:()=>({title:"Card Title",description:"This is a preview card that appears on hover.",image:null,imageAlt:"",meta:[],actions:[]})},variant:{type:String,default:"default",validator:t=>["default","outlined","filled","minimal"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},cardSize:{type:String,default:"md",validator:t=>["sm","md","lg","xl"].includes(t)},position:{type:String,default:"top",validator:t=>["top","bottom","left","right"].includes(t)},delay:{type:Number,default:300},hideDelay:{type:Number,default:100},showArrow:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["show","hide","action"],setup(t,{emit:n}){const a=e.ref(!1),r=e.ref(null),l=e.ref(`hover-card-${Math.random().toString(36).substr(2,9)}`),o=e.ref(null),s=e.ref(null),i=e.computed(()=>({zIndex:1e3})),u=()=>{t.disabled||(clearTimeout(s.value),o.value=setTimeout(()=>{a.value=!0,n("show")},t.delay))},c=()=>{t.disabled||(clearTimeout(o.value),s.value=setTimeout(()=>{a.value=!1,n("hide")},t.hideDelay))},d=h=>{h.style.opacity="0",h.style.transform="scale(0.95)",e.nextTick(()=>{h.style.transition="opacity 0.2s ease, transform 0.2s ease",h.style.opacity="1",h.style.transform="scale(1)"})},f=h=>{h.style.transition="opacity 0.15s ease, transform 0.15s ease",h.style.opacity="0",h.style.transform="scale(0.95)"},p=h=>{n("action",h),h.onClick&&h.onClick()};return e.onBeforeUnmount(()=>{clearTimeout(o.value),clearTimeout(s.value)}),{isVisible:a,cardRef:r,triggerId:l,cardStyle:i,showCard:u,hideCard:c,onEnter:d,onLeave:f,handleAction:p}}},Is={class:"hover-card-trigger"},zs=["aria-describedby"],Ps={class:"hover-card-content"},Ms={key:0,class:"hover-card-image"},Os=["src","alt"],As={class:"hover-card-body"},Ls={key:0,class:"hover-card-title"},Rs={key:1,class:"hover-card-description"},Fs={key:2,class:"hover-card-meta"},qs={key:3,class:"hover-card-actions"},Ws=["onClick"];function Hs(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["hover-card-container",[`hover-card-${a.variant}`,`hover-card-size-${a.size}`,a.disabled&&"hover-card-disabled"]]),onMouseenter:n[0]||(n[0]=(...s)=>r.showCard&&r.showCard(...s)),onMouseleave:n[1]||(n[1]=(...s)=>r.hideCard&&r.hideCard(...s)),onTouchstart:n[2]||(n[2]=(...s)=>r.showCard&&r.showCard(...s)),onTouchend:n[3]||(n[3]=(...s)=>r.hideCard&&r.hideCard(...s))},[e.createElementVNode("span",Is,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.triggerText),1)],!0)]),e.createVNode(e.Transition,{name:"hover-card-transition",onEnter:r.onEnter,onLeave:r.onLeave},{default:e.withCtx(()=>[r.isVisible?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"cardRef",class:e.normalizeClass(["hover-card-popup",[`hover-card-position-${a.position}`,`hover-card-card-size-${a.cardSize}`]]),style:e.normalizeStyle(r.cardStyle),role:"tooltip","aria-describedby":r.triggerId},[a.showArrow?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["hover-card-arrow",`hover-card-arrow-${a.position}`])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",Ps,[e.renderSlot(t.$slots,"card",{data:a.cardData},()=>[a.cardData.image?(e.openBlock(),e.createElementBlock("div",Ms,[e.createElementVNode("img",{src:a.cardData.image,alt:a.cardData.imageAlt||a.cardData.title},null,8,Os)])):e.createCommentVNode("",!0),e.createElementVNode("div",As,[a.cardData.title?(e.openBlock(),e.createElementBlock("h3",Ls,e.toDisplayString(a.cardData.title),1)):e.createCommentVNode("",!0),a.cardData.description?(e.openBlock(),e.createElementBlock("p",Rs,e.toDisplayString(a.cardData.description),1)):e.createCommentVNode("",!0),a.cardData.meta?(e.openBlock(),e.createElementBlock("div",Fs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cardData.meta,(s,i)=>(e.openBlock(),e.createElementBlock("span",{key:i,class:"hover-card-meta-item"},e.toDisplayString(s),1))),128))])):e.createCommentVNode("",!0),a.cardData.actions?(e.openBlock(),e.createElementBlock("div",qs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cardData.actions,(s,i)=>(e.openBlock(),e.createElementBlock("button",{key:i,class:"hover-card-action-btn",onClick:u=>r.handleAction(s)},e.toDisplayString(s.label),9,Ws))),128))])):e.createCommentVNode("",!0)])],!0)])],14,zs)):e.createCommentVNode("",!0)]),_:3},8,["onEnter","onLeave"])],34)}const Us=ae(Ds,[["render",Hs],["__scopeId","data-v-1324702d"]]),pn=({triggerText:t="Hover me",cardData:n={},variant:a="default",size:r="md",cardSize:l="md",position:o="top",delay:s=300,hideDelay:i=100,showArrow:u=!0,disabled:c=!1,onShow:d,onHide:f,onAction:p,className:h="",style:y={},children:g,card:k,...B})=>{var M,J;const[v,S]=_.useState(!1),x=_.useRef(null),w=_.useRef(null),E=_.useRef(null),O=_.useRef(`hover-card-${Math.random().toString(36).substr(2,9)}`),$=()=>{clearTimeout(x.current),clearTimeout(w.current)},R=()=>{c||($(),x.current=setTimeout(()=>{S(!0),d==null||d()},s))},N=()=>{c||($(),w.current=setTimeout(()=>{S(!1),f==null||f()},i))};_.useEffect(()=>()=>$(),[]);const D=T=>{var q;p==null||p(T),(q=T==null?void 0:T.onClick)==null||q.call(T)},A=["hover-card-container",`hover-card-${a}`,`hover-card-size-${r}`,c&&"hover-card-disabled",h].filter(Boolean).join(" "),U=["hover-card-popup",`hover-card-position-${o}`,`hover-card-card-size-${l}`].join(" ");return m.jsxs("div",{className:A,onMouseEnter:R,onMouseLeave:N,onTouchStart:R,onTouchEnd:N,style:y,...B,children:[m.jsx("span",{className:"hover-card-trigger",children:g||t}),v&&m.jsxs("div",{ref:E,className:U,style:{zIndex:1e3},role:"tooltip","aria-describedby":O.current,children:[u&&m.jsx("div",{className:`hover-card-arrow hover-card-arrow-${o}`}),m.jsx("div",{className:"hover-card-content",children:k?typeof k=="function"?k(n):k:m.jsxs(m.Fragment,{children:[n.image&&m.jsx("div",{className:"hover-card-image",children:m.jsx("img",{src:n.image,alt:n.imageAlt||n.title})}),m.jsxs("div",{className:"hover-card-body",children:[n.title&&m.jsx("h3",{className:"hover-card-title",children:n.title}),n.description&&m.jsx("p",{className:"hover-card-description",children:n.description}),((M=n.meta)==null?void 0:M.length)&&m.jsx("div",{className:"hover-card-meta",children:n.meta.map((T,q)=>m.jsx("span",{className:"hover-card-meta-item",children:T},q))}),((J=n.actions)==null?void 0:J.length)&&m.jsx("div",{className:"hover-card-actions",children:n.actions.map((T,q)=>m.jsx("button",{className:"hover-card-action-btn",onClick:()=>D(T),children:T.label},q))})]})]})})]})]})};pn.displayName="HoverCard";const Ys=["innerHTML"],Gs=["innerHTML"],Ks=ae({__name:"Icon",props:{library:{type:String,default:"lucide",validator:t=>["lucide","heroicons","tabler","phosphor","feather","html"].includes(t)},name:{type:String,default:""},html:{type:String,default:""},size:{type:[String,Number],default:24},color:{type:String,default:"currentColor"},strokeWidth:{type:[String,Number],default:2},variant:{type:String,default:"outline",validator:t=>["outline","solid","mini"].includes(t)},className:{type:String,default:""}},setup(t){const n=t,a=e.computed(()=>{if(!n.name)return null;try{switch(n.library){case"lucide":return e.defineAsyncComponent(()=>import("lucide-vue-next").then(c=>{const d=n.name.charAt(0).toUpperCase()+n.name.slice(1);return c[d]||c.HelpCircle}));case"heroicons":return console.warn("Heroicons support is currently disabled due to build constraints"),null;case"tabler":return e.defineAsyncComponent(()=>import("@tabler/icons-vue").then(c=>{const d="Icon"+n.name.split("-").map(f=>f.charAt(0).toUpperCase()+f.slice(1)).join("");return c[d]||c.IconHelp}));case"phosphor":return e.defineAsyncComponent(()=>import("@phosphor-icons/vue").then(c=>{const d="Ph"+n.name.split("-").map(f=>f.charAt(0).toUpperCase()+f.slice(1)).join("");return c[d]||c.PhQuestion}));default:return null}}catch{return console.warn(`Icon "${n.name}" not found in library "${n.library}"`),null}}),r=e.computed(()=>n.library==="html"&&n.html?n.html:""),l=e.ref("");e.watchEffect(async()=>{var c;if(n.library==="feather"&&n.name)try{const d=await import("feather-icons"),f=d.default||d,p=s(n.size);l.value=((c=f.icons[n.name])==null?void 0:c.toSvg({width:p,height:p,"stroke-width":n.strokeWidth}))||""}catch{console.warn(`Feather icon "${n.name}" not found`),l.value=""}else l.value=""});const o=e.computed(()=>{const c=["wc-icon"];return n.className&&c.push(n.className),c}),s=c=>typeof c=="number"?c:{xs:16,sm:20,md:24,lg:32,xl:48}[c]||parseInt(c)||24,i=e.computed(()=>{const c={};if(n.color&&n.color!=="currentColor"&&(c.color=n.color),n.size){const d=s(n.size);c.width=`${d}px`,c.height=`${d}px`}return c}),u=e.computed(()=>{const d={size:s(n.size),color:n.color};return n.library==="lucide"&&(d.strokeWidth=n.strokeWidth),n.library==="tabler"&&(d.stroke=n.strokeWidth),d});return(c,d)=>a.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),e.mergeProps({key:0,class:o.value,style:i.value},u.value),null,16,["class","style"])):l.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(o.value),style:e.normalizeStyle(i.value),innerHTML:l.value},null,14,Ys)):r.value?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(o.value),style:e.normalizeStyle(i.value),innerHTML:r.value},null,14,Gs)):(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(o.value),style:e.normalizeStyle(i.value)},[e.renderSlot(c.$slots,"default",{},void 0,!0)],6))}},[["__scopeId","data-v-135f7b18"]]);var Ie={exports:{}},ze={exports:{}},re={};/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var hn;function Js(){if(hn)return re;hn=1;var t=typeof Symbol=="function"&&Symbol.for,n=t?Symbol.for("react.element"):60103,a=t?Symbol.for("react.portal"):60106,r=t?Symbol.for("react.fragment"):60107,l=t?Symbol.for("react.strict_mode"):60108,o=t?Symbol.for("react.profiler"):60114,s=t?Symbol.for("react.provider"):60109,i=t?Symbol.for("react.context"):60110,u=t?Symbol.for("react.async_mode"):60111,c=t?Symbol.for("react.concurrent_mode"):60111,d=t?Symbol.for("react.forward_ref"):60112,f=t?Symbol.for("react.suspense"):60113,p=t?Symbol.for("react.suspense_list"):60120,h=t?Symbol.for("react.memo"):60115,y=t?Symbol.for("react.lazy"):60116,g=t?Symbol.for("react.block"):60121,k=t?Symbol.for("react.fundamental"):60117,B=t?Symbol.for("react.responder"):60118,v=t?Symbol.for("react.scope"):60119;function S(w){if(typeof w=="object"&&w!==null){var E=w.$$typeof;switch(E){case n:switch(w=w.type,w){case u:case c:case r:case o:case l:case f:return w;default:switch(w=w&&w.$$typeof,w){case i:case d:case y:case h:case s:return w;default:return E}}case a:return E}}}function x(w){return S(w)===c}return re.AsyncMode=u,re.ConcurrentMode=c,re.ContextConsumer=i,re.ContextProvider=s,re.Element=n,re.ForwardRef=d,re.Fragment=r,re.Lazy=y,re.Memo=h,re.Portal=a,re.Profiler=o,re.StrictMode=l,re.Suspense=f,re.isAsyncMode=function(w){return x(w)||S(w)===u},re.isConcurrentMode=x,re.isContextConsumer=function(w){return S(w)===i},re.isContextProvider=function(w){return S(w)===s},re.isElement=function(w){return typeof w=="object"&&w!==null&&w.$$typeof===n},re.isForwardRef=function(w){return S(w)===d},re.isFragment=function(w){return S(w)===r},re.isLazy=function(w){return S(w)===y},re.isMemo=function(w){return S(w)===h},re.isPortal=function(w){return S(w)===a},re.isProfiler=function(w){return S(w)===o},re.isStrictMode=function(w){return S(w)===l},re.isSuspense=function(w){return S(w)===f},re.isValidElementType=function(w){return typeof w=="string"||typeof w=="function"||w===r||w===c||w===o||w===l||w===f||w===p||typeof w=="object"&&w!==null&&(w.$$typeof===y||w.$$typeof===h||w.$$typeof===s||w.$$typeof===i||w.$$typeof===d||w.$$typeof===k||w.$$typeof===B||w.$$typeof===v||w.$$typeof===g)},re.typeOf=S,re}var le={};/** @license React v16.13.1
 * react-is.development.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var yn;function Xs(){return yn||(yn=1,process.env.NODE_ENV!=="production"&&function(){var t=typeof Symbol=="function"&&Symbol.for,n=t?Symbol.for("react.element"):60103,a=t?Symbol.for("react.portal"):60106,r=t?Symbol.for("react.fragment"):60107,l=t?Symbol.for("react.strict_mode"):60108,o=t?Symbol.for("react.profiler"):60114,s=t?Symbol.for("react.provider"):60109,i=t?Symbol.for("react.context"):60110,u=t?Symbol.for("react.async_mode"):60111,c=t?Symbol.for("react.concurrent_mode"):60111,d=t?Symbol.for("react.forward_ref"):60112,f=t?Symbol.for("react.suspense"):60113,p=t?Symbol.for("react.suspense_list"):60120,h=t?Symbol.for("react.memo"):60115,y=t?Symbol.for("react.lazy"):60116,g=t?Symbol.for("react.block"):60121,k=t?Symbol.for("react.fundamental"):60117,B=t?Symbol.for("react.responder"):60118,v=t?Symbol.for("react.scope"):60119;function S(I){return typeof I=="string"||typeof I=="function"||I===r||I===c||I===o||I===l||I===f||I===p||typeof I=="object"&&I!==null&&(I.$$typeof===y||I.$$typeof===h||I.$$typeof===s||I.$$typeof===i||I.$$typeof===d||I.$$typeof===k||I.$$typeof===B||I.$$typeof===v||I.$$typeof===g)}function x(I){if(typeof I=="object"&&I!==null){var we=I.$$typeof;switch(we){case n:var Se=I.type;switch(Se){case u:case c:case r:case o:case l:case f:return Se;default:var xe=Se&&Se.$$typeof;switch(xe){case i:case d:case y:case h:case s:return xe;default:return we}}case a:return we}}}var w=u,E=c,O=i,$=s,R=n,N=d,D=r,A=y,U=h,M=a,J=o,T=l,q=f,ie=!1;function ee(I){return ie||(ie=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),V(I)||x(I)===u}function V(I){return x(I)===c}function z(I){return x(I)===i}function Y(I){return x(I)===s}function L(I){return typeof I=="object"&&I!==null&&I.$$typeof===n}function W(I){return x(I)===d}function X(I){return x(I)===r}function G(I){return x(I)===y}function K(I){return x(I)===h}function Q(I){return x(I)===a}function F(I){return x(I)===o}function Z(I){return x(I)===l}function me(I){return x(I)===f}le.AsyncMode=w,le.ConcurrentMode=E,le.ContextConsumer=O,le.ContextProvider=$,le.Element=R,le.ForwardRef=N,le.Fragment=D,le.Lazy=A,le.Memo=U,le.Portal=M,le.Profiler=J,le.StrictMode=T,le.Suspense=q,le.isAsyncMode=ee,le.isConcurrentMode=V,le.isContextConsumer=z,le.isContextProvider=Y,le.isElement=L,le.isForwardRef=W,le.isFragment=X,le.isLazy=G,le.isMemo=K,le.isPortal=Q,le.isProfiler=F,le.isStrictMode=Z,le.isSuspense=me,le.isValidElementType=S,le.typeOf=x}()),le}var gn;function bn(){return gn||(gn=1,process.env.NODE_ENV==="production"?ze.exports=Js():ze.exports=Xs()),ze.exports}/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var He,wn;function Qs(){if(wn)return He;wn=1;var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function r(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function l(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var s={},i=0;i<10;i++)s["_"+String.fromCharCode(i)]=i;var u=Object.getOwnPropertyNames(s).map(function(d){return s[d]});if(u.join("")!=="0123456789")return!1;var c={};return"abcdefghijklmnopqrst".split("").forEach(function(d){c[d]=d}),Object.keys(Object.assign({},c)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return He=l()?Object.assign:function(o,s){for(var i,u=r(o),c,d=1;d<arguments.length;d++){i=Object(arguments[d]);for(var f in i)n.call(i,f)&&(u[f]=i[f]);if(t){c=t(i);for(var p=0;p<c.length;p++)a.call(i,c[p])&&(u[c[p]]=i[c[p]])}}return u},He}var Ue,kn;function Ye(){if(kn)return Ue;kn=1;var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Ue=t,Ue}var Ge,xn;function Cn(){return xn||(xn=1,Ge=Function.call.bind(Object.prototype.hasOwnProperty)),Ge}var Ke,Sn;function Zs(){if(Sn)return Ke;Sn=1;var t=function(){};if(process.env.NODE_ENV!=="production"){var n=Ye(),a={},r=Cn();t=function(o){var s="Warning: "+o;typeof console<"u"&&console.error(s);try{throw new Error(s)}catch{}}}function l(o,s,i,u,c){if(process.env.NODE_ENV!=="production"){for(var d in o)if(r(o,d)){var f;try{if(typeof o[d]!="function"){var p=Error((u||"React class")+": "+i+" type `"+d+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[d]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw p.name="Invariant Violation",p}f=o[d](s,d,u,i,null,n)}catch(y){f=y}if(f&&!(f instanceof Error)&&t((u||"React class")+": type specification of "+i+" `"+d+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof f+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),f instanceof Error&&!(f.message in a)){a[f.message]=!0;var h=c?c():"";t("Failed "+i+" type: "+f.message+(h??""))}}}}return l.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(a={})},Ke=l,Ke}var Je,Bn;function ei(){if(Bn)return Je;Bn=1;var t=bn(),n=Qs(),a=Ye(),r=Cn(),l=Zs(),o=function(){};process.env.NODE_ENV!=="production"&&(o=function(i){var u="Warning: "+i;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}});function s(){return null}return Je=function(i,u){var c=typeof Symbol=="function"&&Symbol.iterator,d="@@iterator";function f(V){var z=V&&(c&&V[c]||V[d]);if(typeof z=="function")return z}var p="<<anonymous>>",h={array:B("array"),bigint:B("bigint"),bool:B("boolean"),func:B("function"),number:B("number"),object:B("object"),string:B("string"),symbol:B("symbol"),any:v(),arrayOf:S,element:x(),elementType:w(),instanceOf:E,node:N(),objectOf:$,oneOf:O,oneOfType:R,shape:A,exact:U};function y(V,z){return V===z?V!==0||1/V===1/z:V!==V&&z!==z}function g(V,z){this.message=V,this.data=z&&typeof z=="object"?z:{},this.stack=""}g.prototype=Error.prototype;function k(V){if(process.env.NODE_ENV!=="production")var z={},Y=0;function L(X,G,K,Q,F,Z,me){if(Q=Q||p,Z=Z||K,me!==a){if(u){var I=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw I.name="Invariant Violation",I}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var we=Q+":"+K;!z[we]&&Y<3&&(o("You are manually calling a React.PropTypes validation function for the `"+Z+"` prop on `"+Q+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),z[we]=!0,Y++)}}return G[K]==null?X?G[K]===null?new g("The "+F+" `"+Z+"` is marked as required "+("in `"+Q+"`, but its value is `null`.")):new g("The "+F+" `"+Z+"` is marked as required in "+("`"+Q+"`, but its value is `undefined`.")):null:V(G,K,Q,F,Z)}var W=L.bind(null,!1);return W.isRequired=L.bind(null,!0),W}function B(V){function z(Y,L,W,X,G,K){var Q=Y[L],F=T(Q);if(F!==V){var Z=q(Q);return new g("Invalid "+X+" `"+G+"` of type "+("`"+Z+"` supplied to `"+W+"`, expected ")+("`"+V+"`."),{expectedType:V})}return null}return k(z)}function v(){return k(s)}function S(V){function z(Y,L,W,X,G){if(typeof V!="function")return new g("Property `"+G+"` of component `"+W+"` has invalid PropType notation inside arrayOf.");var K=Y[L];if(!Array.isArray(K)){var Q=T(K);return new g("Invalid "+X+" `"+G+"` of type "+("`"+Q+"` supplied to `"+W+"`, expected an array."))}for(var F=0;F<K.length;F++){var Z=V(K,F,W,X,G+"["+F+"]",a);if(Z instanceof Error)return Z}return null}return k(z)}function x(){function V(z,Y,L,W,X){var G=z[Y];if(!i(G)){var K=T(G);return new g("Invalid "+W+" `"+X+"` of type "+("`"+K+"` supplied to `"+L+"`, expected a single ReactElement."))}return null}return k(V)}function w(){function V(z,Y,L,W,X){var G=z[Y];if(!t.isValidElementType(G)){var K=T(G);return new g("Invalid "+W+" `"+X+"` of type "+("`"+K+"` supplied to `"+L+"`, expected a single ReactElement type."))}return null}return k(V)}function E(V){function z(Y,L,W,X,G){if(!(Y[L]instanceof V)){var K=V.name||p,Q=ee(Y[L]);return new g("Invalid "+X+" `"+G+"` of type "+("`"+Q+"` supplied to `"+W+"`, expected ")+("instance of `"+K+"`."))}return null}return k(z)}function O(V){if(!Array.isArray(V))return process.env.NODE_ENV!=="production"&&(arguments.length>1?o("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):o("Invalid argument supplied to oneOf, expected an array.")),s;function z(Y,L,W,X,G){for(var K=Y[L],Q=0;Q<V.length;Q++)if(y(K,V[Q]))return null;var F=JSON.stringify(V,function(me,I){var we=q(I);return we==="symbol"?String(I):I});return new g("Invalid "+X+" `"+G+"` of value `"+String(K)+"` "+("supplied to `"+W+"`, expected one of "+F+"."))}return k(z)}function $(V){function z(Y,L,W,X,G){if(typeof V!="function")return new g("Property `"+G+"` of component `"+W+"` has invalid PropType notation inside objectOf.");var K=Y[L],Q=T(K);if(Q!=="object")return new g("Invalid "+X+" `"+G+"` of type "+("`"+Q+"` supplied to `"+W+"`, expected an object."));for(var F in K)if(r(K,F)){var Z=V(K,F,W,X,G+"."+F,a);if(Z instanceof Error)return Z}return null}return k(z)}function R(V){if(!Array.isArray(V))return process.env.NODE_ENV!=="production"&&o("Invalid argument supplied to oneOfType, expected an instance of array."),s;for(var z=0;z<V.length;z++){var Y=V[z];if(typeof Y!="function")return o("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+ie(Y)+" at index "+z+"."),s}function L(W,X,G,K,Q){for(var F=[],Z=0;Z<V.length;Z++){var me=V[Z],I=me(W,X,G,K,Q,a);if(I==null)return null;I.data&&r(I.data,"expectedType")&&F.push(I.data.expectedType)}var we=F.length>0?", expected one of type ["+F.join(", ")+"]":"";return new g("Invalid "+K+" `"+Q+"` supplied to "+("`"+G+"`"+we+"."))}return k(L)}function N(){function V(z,Y,L,W,X){return M(z[Y])?null:new g("Invalid "+W+" `"+X+"` supplied to "+("`"+L+"`, expected a ReactNode."))}return k(V)}function D(V,z,Y,L,W){return new g((V||"React class")+": "+z+" type `"+Y+"."+L+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+W+"`.")}function A(V){function z(Y,L,W,X,G){var K=Y[L],Q=T(K);if(Q!=="object")return new g("Invalid "+X+" `"+G+"` of type `"+Q+"` "+("supplied to `"+W+"`, expected `object`."));for(var F in V){var Z=V[F];if(typeof Z!="function")return D(W,X,G,F,q(Z));var me=Z(K,F,W,X,G+"."+F,a);if(me)return me}return null}return k(z)}function U(V){function z(Y,L,W,X,G){var K=Y[L],Q=T(K);if(Q!=="object")return new g("Invalid "+X+" `"+G+"` of type `"+Q+"` "+("supplied to `"+W+"`, expected `object`."));var F=n({},Y[L],V);for(var Z in F){var me=V[Z];if(r(V,Z)&&typeof me!="function")return D(W,X,G,Z,q(me));if(!me)return new g("Invalid "+X+" `"+G+"` key `"+Z+"` supplied to `"+W+"`.\nBad object: "+JSON.stringify(Y[L],null,"  ")+`
Valid keys: `+JSON.stringify(Object.keys(V),null,"  "));var I=me(K,Z,W,X,G+"."+Z,a);if(I)return I}return null}return k(z)}function M(V){switch(typeof V){case"number":case"string":case"undefined":return!0;case"boolean":return!V;case"object":if(Array.isArray(V))return V.every(M);if(V===null||i(V))return!0;var z=f(V);if(z){var Y=z.call(V),L;if(z!==V.entries){for(;!(L=Y.next()).done;)if(!M(L.value))return!1}else for(;!(L=Y.next()).done;){var W=L.value;if(W&&!M(W[1]))return!1}}else return!1;return!0;default:return!1}}function J(V,z){return V==="symbol"?!0:z?z["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&z instanceof Symbol:!1}function T(V){var z=typeof V;return Array.isArray(V)?"array":V instanceof RegExp?"object":J(z,V)?"symbol":z}function q(V){if(typeof V>"u"||V===null)return""+V;var z=T(V);if(z==="object"){if(V instanceof Date)return"date";if(V instanceof RegExp)return"regexp"}return z}function ie(V){var z=q(V);switch(z){case"array":case"object":return"an "+z;case"boolean":case"date":case"regexp":return"a "+z;default:return z}}function ee(V){return!V.constructor||!V.constructor.name?p:V.constructor.name}return h.checkPropTypes=l,h.resetWarningCache=l.resetWarningCache,h.PropTypes=h,h},Je}var Xe,_n;function ti(){if(_n)return Xe;_n=1;var t=Ye();function n(){}function a(){}return a.resetWarningCache=n,Xe=function(){function r(s,i,u,c,d,f){if(f!==t){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}r.isRequired=r;function l(){return r}var o={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:l,element:r,elementType:r,instanceOf:l,node:r,objectOf:l,oneOf:l,oneOfType:l,shape:l,exact:l,checkPropTypes:a,resetWarningCache:n};return o.PropTypes=o,o},Xe}var Nn;function ni(){if(Nn)return Ie.exports;if(Nn=1,process.env.NODE_ENV!=="production"){var t=bn(),n=!0;Ie.exports=ei()(t.isElement,n)}else Ie.exports=ti()();return Ie.exports}var ai=ni();const ge=za(ai),ri=(t,n,a)=>{switch(t){case"lucide":return _.lazy(()=>import("lucide-react").then(r=>{const l=n.charAt(0).toUpperCase()+n.slice(1);return{default:r[l]||r.HelpCircle}}));case"heroicons":return console.warn("Heroicons support is currently disabled due to build constraints"),null;case"tabler":return _.lazy(()=>import("@tabler/icons-react").then(r=>{const l="Icon"+n.split("-").map(o=>o.charAt(0).toUpperCase()+o.slice(1)).join("");return{default:r[l]||r.IconHelp}}));case"phosphor":return _.lazy(()=>import("@phosphor-icons/react").then(r=>{const l=n.split("-").map(o=>o.charAt(0).toUpperCase()+o.slice(1)).join("");return{default:r[l]||r.Question}}));default:return null}},Qe=t=>typeof t=="number"?t:{xs:16,sm:20,md:24,lg:32,xl:48}[t]||parseInt(t)||24,En=({library:t="lucide",name:n="",html:a="",size:r=24,color:l="currentColor",strokeWidth:o=2,variant:s="outline",className:i="",children:u,...c})=>{const d=_.useMemo(()=>{if(!n)return null;try{return ri(t,n,s)}catch{return console.warn(`Icon "${n}" not found in library "${t}"`),null}},[t,n,s]),f=_.useMemo(()=>t==="feather"&&n?_.lazy(async()=>{var k;try{const B=await import("feather-icons"),v=B.default||B,S=Qe(r),x=((k=v.icons[n])==null?void 0:k.toSvg({width:S,height:S,"stroke-width":o}))||"";return{default:({className:w,style:E})=>m.jsx("span",{className:w,style:E,dangerouslySetInnerHTML:{__html:x}})}}catch{return console.warn(`Feather icon "${n}" not found`),{default:()=>m.jsx("span",{})}}}):null,[t,n,r,o]),p=_.useMemo(()=>t==="html"&&a?a:"",[t,a]),h=_.useMemo(()=>{const k={};if(l&&l!=="currentColor"&&(k.color=l),r){const B=Qe(r);k.width=`${B}px`,k.height=`${B}px`}return k},[l,r]),y=_.useMemo(()=>{const B={size:Qe(r),color:l,...c};return t==="lucide"&&(B.strokeWidth=o),t==="tabler"&&(B.stroke=o),B},[t,r,l,o,c]),g=`wc-icon ${i}`.trim();return f?m.jsx(_.Suspense,{fallback:m.jsx("span",{className:g,style:h}),children:m.jsx(f,{className:g,style:h})}):d?m.jsx(_.Suspense,{fallback:m.jsx("span",{className:g,style:h}),children:m.jsx(d,{className:g,style:h,...y})}):p?m.jsx("span",{className:g,style:h,dangerouslySetInnerHTML:{__html:p}}):m.jsx("span",{className:g,style:h,children:u})};En.propTypes={library:ge.oneOf(["lucide","heroicons","tabler","phosphor","feather","html"]),name:ge.string,html:ge.string,size:ge.oneOfType([ge.string,ge.number]),color:ge.string,strokeWidth:ge.oneOfType([ge.string,ge.number]),variant:ge.oneOf(["outline","solid","mini"]),className:ge.string,children:ge.node};const li=["disabled"],oi={class:"icon-button-icon"},si=["innerHTML"],ii=ae({__name:"IconButton",props:{color:{type:String,default:"default",validator:t=>["default","primary","secondary","error","warning","info","success"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},edge:{type:String,default:!1,validator:t=>[!1,"start","end"].includes(t)},disabled:{type:Boolean,default:!1},icon:{type:String,default:""}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(!1),o=e.computed(()=>{const c=["wc-icon-button"];return c.push(`wc-icon-button--${a.color}`),c.push(`wc-icon-button--${a.size}`),a.edge&&c.push(`wc-icon-button--edge-${a.edge}`),a.disabled&&c.push("wc-icon-button--disabled"),l.value&&c.push("wc-icon-button--focused"),c}),s=c=>{a.disabled||r("click",c)},i=()=>{l.value=!0},u=()=>{l.value=!1};return(c,d)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(o.value),disabled:t.disabled,onClick:s,onFocus:i,onBlur:u},[e.createElementVNode("span",oi,[e.renderSlot(c.$slots,"default",{},()=>[t.icon?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:t.icon},null,8,si)):e.createCommentVNode("",!0)],!0)])],42,li))}},[["__scopeId","data-v-8a067fed"]]),ci={name:"ImageGallery",props:{images:{type:Array,default:()=>[]},title:{type:String,default:""},layout:{type:String,default:"grid",validator:t=>["grid","masonry","carousel"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg","xl"].includes(t)},columns:{type:Number,default:3},gap:{type:Number,default:16},showInfo:{type:Boolean,default:!0},showCount:{type:Boolean,default:!0},showDownload:{type:Boolean,default:!1},showPagination:{type:Boolean,default:!1},itemsPerPage:{type:Number,default:12},lazyLoad:{type:Boolean,default:!0},loading:{type:Boolean,default:!1}},emits:["select","download","lightbox-open","lightbox-close"],setup(t,{emit:n}){const a=e.ref(-1),r=e.ref(!1),l=e.ref(0),o=e.ref(1),s=e.ref({}),i=e.computed(()=>({gridTemplateColumns:`repeat(${t.columns}, 1fr)`,gap:`${t.gap}px`})),u=e.computed(()=>t.showPagination?Math.ceil(t.images.length/t.itemsPerPage):1),c=e.computed(()=>{if(!t.showPagination)return t.images;const w=(o.value-1)*t.itemsPerPage,E=w+t.itemsPerPage;return t.images.slice(w,E)}),d=e.computed(()=>t.images[l.value]),f=w=>{a.value=w,n("select",{index:w,image:t.images[w]})},p=w=>{l.value=w,r.value=!0,n("lightbox-open",{index:w,image:t.images[w]}),document.body.style.overflow="hidden"},h=()=>{r.value=!1,n("lightbox-close"),document.body.style.overflow=""},y=()=>{l.value>0&&l.value--},g=()=>{l.value<t.images.length-1&&l.value++},k=w=>{n("download",w);const E=document.createElement("a");E.href=w.src,E.download=w.title||"image",document.body.appendChild(E),E.click(),document.body.removeChild(E)},B=w=>{o.value=w},v=w=>{s.value[w]=!0},S=w=>{console.warn(`Failed to load image at index ${w}`)},x=w=>{if(r.value)switch(w.key){case"ArrowLeft":y();break;case"ArrowRight":g();break;case"Escape":h();break}};return e.onMounted(()=>{document.addEventListener("keydown",x)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",x),document.body.style.overflow=""}),{selectedIndex:a,lightboxVisible:r,lightboxIndex:l,currentPage:o,loadedImages:s,gridStyle:i,totalPages:u,paginatedImages:c,currentLightboxImage:d,selectImage:f,openLightbox:p,closeLightbox:h,previousImage:y,nextImage:g,downloadImage:k,goToPage:B,onImageLoad:v,onImageError:S}}},di={key:0,class:"gallery-header"},ui={class:"gallery-title"},fi={key:0,class:"gallery-count"},mi=["aria-label","onClick","onKeydown"],pi={class:"gallery-image-container"},hi=["src","alt","loading","onLoad","onError"],yi={key:0,class:"gallery-image-placeholder"},gi={class:"gallery-overlay"},bi={class:"gallery-overlay-content"},wi=["aria-label","onClick"],ki=["aria-label","onClick"],xi={key:1,class:"gallery-info"},Ci={key:0,class:"gallery-info-title"},Si={key:1,class:"gallery-info-description"},Bi={key:1,class:"gallery-pagination"},_i=["disabled"],Ni={class:"gallery-page-info"},Ei=["disabled"],vi={class:"gallery-lightbox-image-container"},$i=["src","alt"],Vi={class:"gallery-lightbox-info"},ji={key:0,class:"gallery-lightbox-title"},Ti={key:1,class:"gallery-lightbox-description"},Di={class:"gallery-lightbox-navigation"},Ii=["disabled"],zi={class:"gallery-lightbox-counter"},Pi=["disabled"];function Mi(t,n,a,r,l,o){var s,i,u,c;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["image-gallery",[`gallery-layout-${a.layout}`,`gallery-size-${a.size}`,a.loading&&"gallery-loading"]])},[a.title||t.$slots.title?(e.openBlock(),e.createElementBlock("div",di,[e.renderSlot(t.$slots,"title",{},()=>[e.createElementVNode("h2",ui,e.toDisplayString(a.title),1)],!0),a.showCount?(e.openBlock(),e.createElementBlock("div",fi,e.toDisplayString(a.images.length)+" 张图片 ",1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"gallery-grid",style:e.normalizeStyle(r.gridStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.paginatedImages,(d,f)=>(e.openBlock(),e.createElementBlock("div",{key:d.id||f,class:e.normalizeClass(["gallery-item",{"gallery-item-selected":r.selectedIndex===f}]),tabindex:0,role:"button","aria-label":`查看图片 ${f+1}: ${d.alt||d.title||"无描述"}`,onClick:p=>r.selectImage(f),onKeydown:[e.withKeys(p=>r.selectImage(f),["enter"]),e.withKeys(e.withModifiers(p=>r.selectImage(f),["prevent"]),["space"])]},[e.createElementVNode("div",pi,[e.createElementVNode("img",{src:d.thumbnail||d.src,alt:d.alt||d.title,class:"gallery-image",loading:a.lazyLoad?"lazy":"eager",onLoad:p=>r.onImageLoad(f),onError:p=>r.onImageError(f)},null,40,hi),!r.loadedImages[f]&&a.loading?(e.openBlock(),e.createElementBlock("div",yi,n[8]||(n[8]=[e.createElementVNode("div",{class:"gallery-loading-spinner"},null,-1)]))):e.createCommentVNode("",!0),e.createElementVNode("div",gi,[e.createElementVNode("div",bi,[e.createElementVNode("button",{class:"gallery-action-btn gallery-view-btn","aria-label":`在灯箱中查看图片 ${f+1}`,onClick:e.withModifiers(p=>r.openLightbox(f),["stop"])}," 👁️ ",8,wi),a.showDownload?(e.openBlock(),e.createElementBlock("button",{key:0,class:"gallery-action-btn gallery-download-btn","aria-label":`下载图片 ${f+1}`,onClick:e.withModifiers(p=>r.downloadImage(d),["stop"])}," 📥 ",8,ki)):e.createCommentVNode("",!0)])]),a.showInfo?(e.openBlock(),e.createElementBlock("div",xi,[d.title?(e.openBlock(),e.createElementBlock("div",Ci,e.toDisplayString(d.title),1)):e.createCommentVNode("",!0),d.description?(e.openBlock(),e.createElementBlock("div",Si,e.toDisplayString(d.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])],42,mi))),128))],4),a.showPagination&&r.totalPages>1?(e.openBlock(),e.createElementBlock("div",Bi,[e.createElementVNode("button",{class:"gallery-page-btn",disabled:r.currentPage===1,onClick:n[0]||(n[0]=d=>r.goToPage(r.currentPage-1))}," 上一页 ",8,_i),e.createElementVNode("span",Ni," 第 "+e.toDisplayString(r.currentPage)+" 页,共 "+e.toDisplayString(r.totalPages)+" 页 ",1),e.createElementVNode("button",{class:"gallery-page-btn",disabled:r.currentPage===r.totalPages,onClick:n[1]||(n[1]=d=>r.goToPage(r.currentPage+1))}," 下一页 ",8,Ei)])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[r.lightboxVisible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"gallery-lightbox",tabindex:"-1",onClick:n[6]||(n[6]=(...d)=>r.closeLightbox&&r.closeLightbox(...d)),onKeydown:n[7]||(n[7]=e.withKeys((...d)=>r.closeLightbox&&r.closeLightbox(...d),["esc"]))},[e.createElementVNode("div",{class:"gallery-lightbox-content",onClick:n[5]||(n[5]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("button",{class:"gallery-lightbox-close","aria-label":"关闭灯箱",onClick:n[2]||(n[2]=(...d)=>r.closeLightbox&&r.closeLightbox(...d))}," ✕ "),e.createElementVNode("div",vi,[e.createElementVNode("img",{src:(s=r.currentLightboxImage)==null?void 0:s.src,alt:(i=r.currentLightboxImage)==null?void 0:i.alt,class:"gallery-lightbox-image"},null,8,$i)]),e.createElementVNode("div",Vi,[(u=r.currentLightboxImage)!=null&&u.title?(e.openBlock(),e.createElementBlock("h3",ji,e.toDisplayString(r.currentLightboxImage.title),1)):e.createCommentVNode("",!0),(c=r.currentLightboxImage)!=null&&c.description?(e.openBlock(),e.createElementBlock("p",Ti,e.toDisplayString(r.currentLightboxImage.description),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Di,[e.createElementVNode("button",{class:"gallery-lightbox-nav gallery-lightbox-prev",disabled:r.lightboxIndex===0,"aria-label":"上一张图片",onClick:n[3]||(n[3]=(...d)=>r.previousImage&&r.previousImage(...d))}," ‹ ",8,Ii),e.createElementVNode("span",zi,e.toDisplayString(r.lightboxIndex+1)+" / "+e.toDisplayString(a.images.length),1),e.createElementVNode("button",{class:"gallery-lightbox-nav gallery-lightbox-next",disabled:r.lightboxIndex===a.images.length-1,"aria-label":"下一张图片",onClick:n[4]||(n[4]=(...d)=>r.nextImage&&r.nextImage(...d))}," › ",8,Pi)])])],32)):e.createCommentVNode("",!0)]))],2)}const Oi=ae(ci,[["render",Mi],["__scopeId","data-v-7a2ed0bf"]]),vn=({images:t=[],title:n="",layout:a="grid",size:r="md",columns:l=3,gap:o=16,showInfo:s=!0,showCount:i=!0,showDownload:u=!1,showPagination:c=!1,itemsPerPage:d=12,lazyLoad:f=!0,loading:p=!1,className:h="",style:y={},onSelect:g,onDownload:k,onLightboxOpen:B,onLightboxClose:v,...S})=>{const[x,w]=_.useState(-1),[E,O]=_.useState(1),$=c?Math.ceil(t.length/d):1,R={sm:"75%",md:"66.67%",lg:"56.25%",xl:"50%"},N=c?t.slice((E-1)*d,E*d):t,D=T=>{const q=c?(E-1)*d+T:T;w(q);const ie=t[q];g==null||g({index:q,image:ie}),B==null||B({index:q,image:ie})},A=T=>{k==null||k(T);const q=document.createElement("a");q.href=T.src,q.download=T.title||"image",document.body.appendChild(q),q.click(),document.body.removeChild(q)},U=()=>{w(-1),v==null||v()},M=()=>w(T=>T>0?T-1:T),J=()=>w(T=>T<t.length-1?T+1:T);return _.useEffect(()=>{const T=q=>{q.key==="Escape"&&U(),x!==-1&&(q.key==="ArrowLeft"&&M(),q.key==="ArrowRight"&&J())};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[x]),m.jsxs("div",{className:["image-gallery",`gallery-layout-${a}`,`gallery-size-${r}`,p&&"gallery-loading",h].filter(Boolean).join(" "),style:y,...S,children:[(n||i)&&m.jsxs("div",{className:"gallery-header",children:[n&&m.jsx("h2",{className:"gallery-title",children:n}),i&&m.jsxs("div",{className:"gallery-count",children:[t.length," 张图片"]})]}),m.jsx("div",{className:"gallery-grid",style:a==="grid"?{gridTemplateColumns:`repeat(${l},1fr)`,gap:o}:a==="masonry"?{columnCount:l,columnGap:o}:{gap:o},children:N.map((T,q)=>m.jsxs("div",{className:"gallery-item",onClick:()=>D(q),tabIndex:0,role:"button","aria-label":`查看图片 ${q+1}`,children:[m.jsxs("div",{className:"gallery-image-container",style:{paddingBottom:R[r]},children:[m.jsx("img",{src:T.thumbnail||T.src,alt:T.alt||T.title,className:"gallery-image",loading:f?"lazy":"eager"}),m.jsx("div",{className:"gallery-overlay",children:m.jsxs("div",{className:"gallery-overlay-content",children:[m.jsx("button",{className:"gallery-action-btn gallery-view-btn","aria-label":`在灯箱中查看图片 ${q+1}`,onClick:ie=>{ie.stopPropagation(),D(q)},children:"👁️"}),u&&m.jsx("button",{className:"gallery-action-btn gallery-download-btn","aria-label":`下载图片 ${q+1}`,onClick:ie=>{ie.stopPropagation(),A(T)},children:"📥"})]})})]}),s&&(T.title||T.description)&&m.jsxs("div",{className:"gallery-info",children:[T.title&&m.jsx("div",{className:"gallery-info-title",children:T.title}),T.description&&m.jsx("div",{className:"gallery-info-description",children:T.description})]})]},T.id||q))}),c&&$>1&&m.jsxs("div",{className:"gallery-pagination",children:[m.jsx("button",{className:"gallery-page-btn",disabled:E===1,onClick:()=>O(T=>T-1),children:"上一页"}),m.jsxs("span",{className:"gallery-page-info",children:["第 ",E," 页,共 ",$," 页"]}),m.jsx("button",{className:"gallery-page-btn",disabled:E===$,onClick:()=>O(T=>T+1),children:"下一页"})]}),x!==-1&&m.jsx("div",{className:"gallery-lightbox",onClick:U,role:"dialog","aria-modal":"true","aria-labelledby":"lightbox-title",children:m.jsxs("div",{className:"gallery-lightbox-content",onClick:T=>T.stopPropagation(),children:[m.jsx("button",{className:"gallery-lightbox-close",onClick:U,children:"✕"}),m.jsx("div",{className:"gallery-lightbox-image-container",children:m.jsx("img",{src:t[x].src,alt:t[x].alt,className:"gallery-lightbox-image"})}),(t[x].title||t[x].description)&&m.jsxs("div",{className:"gallery-lightbox-info",children:[t[x].title&&m.jsx("h3",{id:"lightbox-title",className:"gallery-lightbox-title",children:t[x].title}),t[x].description&&m.jsx("p",{className:"gallery-lightbox-description",children:t[x].description})]}),m.jsxs("div",{className:"gallery-lightbox-navigation",children:[m.jsx("button",{className:"gallery-lightbox-nav gallery-lightbox-prev",disabled:x===0,"aria-label":"上一张图片",onClick:M,children:"‹"}),m.jsxs("span",{className:"gallery-lightbox-counter",children:[x+1," / ",t.length]}),m.jsx("button",{className:"gallery-lightbox-nav gallery-lightbox-next",disabled:x===t.length-1,"aria-label":"下一张图片",onClick:J,children:"›"})]}),u&&m.jsx("button",{className:"gallery-action-btn gallery-download-btn",onClick:()=>A(t[x]),children:"下载"})]})})]})};vn.displayName="ImageGallery";const Ai=["for"],Li={key:0,class:"text-error-500 ml-1"},Ri={class:"wc-input-wrapper"},Fi=["id","type","placeholder","disabled","readonly","required","value"],qi={key:0,class:"absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"},Wi={key:1,class:"mt-2 text-sm text-error-500"},Hi={key:2,class:"mt-2 text-sm text-neutral-500 dark:text-neutral-400"},Ui={__name:"Input",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text"},label:{type:String,default:""},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{type:String,default:""},helpText:{type:String,default:""},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},emits:["update:modelValue","focus","blur"],setup(t,{emit:n}){const a=t,r=n,l=e.getCurrentInstance(),o=e.ref(`input-${(l==null?void 0:l.uid)||Math.random().toString(36).substr(2,9)}`),s=e.computed(()=>{const f=["wc-input-container"];return a.disabled&&f.push("opacity-50","cursor-not-allowed"),f}),i=e.computed(()=>{const f=["wc-input",`wc-input--${a.size}`,"wc-input--filled"],p={sm:["px-2","py-1","text-sm"],md:["px-3","py-2","text-sm"],lg:["px-4","py-3","text-base"]};return f.push(...p[a.size]),a.error&&f.push("wc-input--error"),a.disabled&&f.push("wc-input--disabled"),f}),u=f=>{r("update:modelValue",f.target.value)},c=f=>{r("focus",f)},d=f=>{r("blur",f)};return(f,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.value)},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:o.value,class:"block text-sm font-medium text-neutral-700 dark:text-neutral-300 mb-2"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Li,"*")):e.createCommentVNode("",!0)],8,Ai)):e.createCommentVNode("",!0),e.createElementVNode("div",Ri,[e.createElementVNode("input",e.mergeProps({id:o.value,class:i.value,type:t.type,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,value:t.modelValue},f.$attrs,{onInput:u,onFocus:c,onBlur:d}),null,16,Fi),t.error?(e.openBlock(),e.createElementBlock("div",qi,p[0]||(p[0]=[e.createElementVNode("svg",{class:"h-5 w-5 text-error-500",fill:"currentColor",viewBox:"0 0 20 20"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1)]))):e.createCommentVNode("",!0)]),t.error?(e.openBlock(),e.createElementBlock("p",Wi,e.toDisplayString(t.error),1)):t.helpText?(e.openBlock(),e.createElementBlock("p",Hi,e.toDisplayString(t.helpText),1)):e.createCommentVNode("",!0)],2))}},$n=({value:t="",onChange:n,type:a="text",placeholder:r="",disabled:l=!1,readonly:o=!1,required:s=!1,autoFocus:i=!1,maxLength:u,minLength:c,size:d="md",variant:f="filled",color:p="primary",error:h=!1,helperText:y="",label:g="",startAdornment:k=null,endAdornment:B=null,fullWidth:v=!1,multiline:S=!1,rows:x=4,autoComplete:w="off",name:E="",id:O="",className:$="",style:R={},onFocus:N,onBlur:D,onKeyDown:A,onKeyUp:U,onKeyPress:M,...J})=>{const[T,q]=_.useState(!1),[ie,ee]=_.useState(!!t),V=_.useRef(null),z=_.useId(),Y=O||z;_.useEffect(()=>{ee(!!t)},[t]),_.useEffect(()=>{i&&V.current&&V.current.focus()},[i]);const L=F=>{const Z=F.target.value;ee(!!Z),n==null||n(F)},W=F=>{q(!0),N==null||N(F)},X=F=>{q(!1),D==null||D(F)},G=()=>{const F=["wc-input"];return F.push(`wc-input--${d}`),F.push(`wc-input--${f}`),h&&F.push("wc-input--error"),l&&F.push("wc-input--disabled"),o&&F.push("wc-input--readonly"),T&&F.push("wc-input--focused"),ie&&F.push("wc-input--has-value"),v&&F.push("wc-input--full-width"),k&&F.push("wc-input--has-start-adornment"),B&&F.push("wc-input--has-end-adornment"),F.concat($).filter(Boolean).join(" ")},K=()=>({...R}),Q=S?"textarea":"input";return m.jsxs("div",{className:"wc-input-container",children:[g&&m.jsxs("label",{htmlFor:Y,className:`wc-input-label ${T||ie?"wc-input-label--active":""} ${h?"wc-input-label--error":""}`,children:[g,s&&m.jsx("span",{className:"wc-input-label__required",children:"*"})]}),m.jsxs("div",{className:"wc-input-wrapper",children:[k&&m.jsx("div",{className:"wc-input-adornment wc-input-adornment--start",children:k}),m.jsx(Q,{ref:V,className:G(),style:K(),type:S?void 0:a,value:t,onChange:L,onFocus:W,onBlur:X,onKeyDown:A,onKeyUp:U,onKeyPress:M,placeholder:r,disabled:l,readOnly:o,required:s,maxLength:u,minLength:c,rows:S?x:void 0,autoComplete:w,name:E,id:Y,...J}),B&&m.jsx("div",{className:"wc-input-adornment wc-input-adornment--end",children:B})]}),(y||h)&&m.jsx("div",{className:`wc-input-helper-text ${h?"wc-input-helper-text--error":""}`,children:h||y})]})};$n.displayName="Input";const Yi={class:"wc-list-subheader"},Gi=Object.assign({inheritAttrs:!1},{__name:"List",props:{dense:{type:Boolean,default:!1},disablePadding:{type:Boolean,default:!1},subheader:{type:String,default:""},component:{type:String,default:"ul"},nav:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>{const r=["wc-list","w-full"];return n.dense&&r.push("wc-list--dense"),n.disablePadding?r.push("wc-list--no-padding"):r.push("py-2"),n.nav&&r.push("wc-list--nav"),r});return e.provide("listContext",{dense:n.dense}),(r,l)=>t.subheader?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Yi,e.toDisplayString(t.subheader),1),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),{class:e.normalizeClass(a.value),role:"list"},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["class"]))],64)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),e.mergeProps({key:1,class:a.value,role:"list"},r.$attrs),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),Pe=_.createContext({dense:!1}),Ki=({children:t,dense:n=!1,disablePadding:a=!1,subheader:r="",className:l="",...o})=>{const s=["w-full",!a&&"py-2",l].filter(Boolean).join(" ");return m.jsx(Pe.Provider,{value:{dense:n},children:m.jsx("ul",{role:"list",className:s,...o,children:t})})},Ji=["tabindex","disabled"],Xi={key:0,class:"flex-shrink-0 mr-3"},Qi={class:"flex-1 min-w-0"},Zi={key:1,class:"flex-shrink-0 ml-3"},ec={__name:"ListItem",props:{button:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},divider:{type:Boolean,default:!1},dense:{type:Boolean,default:void 0},selected:{type:Boolean,default:!1},disableGutters:{type:Boolean,default:!1},alignItems:{type:String,default:"center",validator:t=>["flex-start","center","flex-end"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,l=e.inject("listContext",{dense:!1}),o=e.computed(()=>a.dense!==void 0?a.dense:l.dense),s=e.computed(()=>{const u=["wc-list-item","flex","w-full","transition-colors","duration-150"];return a.alignItems==="flex-start"?u.push("items-start","wc-list-item--align-start"):a.alignItems==="flex-end"?u.push("items-end","wc-list-item--align-end"):u.push("items-center"),a.disableGutters||(o.value?u.push("px-4","py-1"):u.push("px-4","py-2")),a.button&&(u.push("wc-list-item--button","cursor-pointer","focus:outline-none"),a.disabled||(a.selected?u.push("bg-primary-50","dark:bg-primary-900/20","text-primary-600","dark:text-primary-400"):u.push("hover:bg-neutral-50","dark:hover:bg-neutral-800","focus:bg-neutral-100","dark:focus:bg-neutral-700"))),a.selected&&u.push("wc-list-item--selected"),o.value&&u.push("wc-list-item--dense"),a.disabled&&u.push("wc-list-item--disabled","opacity-50","cursor-not-allowed"),a.divider&&u.push("wc-list-item--divider","border-b","border-neutral-200","dark:border-neutral-700"),u}),i=u=>{a.button&&!a.disabled&&r("click",u)};return(u,c)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(s.value),role:"listitem",tabindex:t.button?0:-1,disabled:t.disabled,onClick:i,onKeydown:[e.withKeys(i,["enter"]),e.withKeys(i,["space"])]},[u.$slots.icon?(e.openBlock(),e.createElementBlock("div",Xi,[e.renderSlot(u.$slots,"icon")])):e.createCommentVNode("",!0),e.createElementVNode("div",Qi,[e.renderSlot(u.$slots,"default")]),u.$slots.action?(e.openBlock(),e.createElementBlock("div",Zi,[e.renderSlot(u.$slots,"action")])):e.createCommentVNode("",!0)],42,Ji))}},tc=({children:t,button:n=!1,disabled:a=!1,divider:r=!1,dense:l,selected:o=!1,disableGutters:s=!1,className:i="",onClick:u,...c})=>{const{dense:d}=_.useContext(Pe),p=["flex items-center w-full transition-colors duration-150",!s&&((l!==void 0?l:d)?"px-4 py-1":"px-4 py-2"),n&&!a&&"cursor-pointer focus:outline-none",a&&"opacity-50 cursor-not-allowed",r&&"border-b border-neutral-200 dark:border-neutral-700",o&&n&&!a&&"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400",!o&&n&&!a&&"hover:bg-neutral-50 dark:hover:bg-neutral-800 focus:bg-neutral-100 dark:focus:bg-neutral-700",i].filter(Boolean).join(" "),h=y=>{n&&!a&&(u==null||u(y))};return m.jsx("li",{role:"listitem",tabIndex:n?0:-1,className:p,onClick:h,onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&n&&!a&&h(y)},...c,children:t})},nc=ae({__name:"ListItemIcon",setup(t){const n=e.inject("listContext",{dense:!1,disablePadding:!1}),a=e.computed(()=>{const l=["wc-list-item-icon inline-flex items-center justify-center flex-shrink-0"];return n.dense?l.push("w-4 h-4 mr-4 text-base"):l.push("w-5 h-5 mr-4 text-lg"),l.push("text-neutral-600"),l.push("dark:text-neutral-400"),l});return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(r.$slots,"default",{},void 0,!0)],2))}},[["__scopeId","data-v-9ea8b8e9"]]),ac=({children:t,className:n="",...a})=>{const{dense:r}=_.useContext(Pe),l=["wc-list-item-icon inline-flex items-center justify-center flex-shrink-0",r?"w-4 h-4 mr-4 text-base":"w-5 h-5 mr-4 text-lg","text-neutral-600 dark:text-neutral-400",n].filter(Boolean).join(" ");return m.jsx("div",{className:l,...a,children:t})},rc={class:"flex-1 min-w-0"},lc={__name:"ListItemText",props:{primary:{type:String,default:""},secondary:{type:String,default:""},inset:{type:Boolean,default:!1},disableTypography:{type:Boolean,default:!1}},setup(t){const n=t,a=e.inject("listContext",{dense:!1}),r=e.computed(()=>{const o=["text-neutral-900 dark:text-neutral-100"];return n.disableTypography||(a.dense?o.push("text-sm font-medium"):o.push("text-base font-medium")),n.inset&&o.push("ml-14"),o}),l=e.computed(()=>{const o=["text-neutral-600 dark:text-neutral-400 mt-1"];return n.disableTypography||(a.dense?o.push("text-xs"):o.push("text-sm")),n.inset&&o.push("ml-14"),o});return(o,s)=>(e.openBlock(),e.createElementBlock("div",rc,[e.createElementVNode("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.primary),1)])],2),t.secondary||o.$slots.secondary?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(l.value)},[e.renderSlot(o.$slots,"secondary",{},()=>[e.createTextVNode(e.toDisplayString(t.secondary),1)])],2)):e.createCommentVNode("",!0)]))}},oc=({primary:t="",secondary:n="",inset:a=!1,disableTypography:r=!1,children:l,className:o="",...s})=>{const{dense:i}=_.useContext(Pe),u=["text-neutral-900 dark:text-neutral-100",!r&&(i?"text-sm font-medium":"text-base font-medium"),a&&"ml-14",o].filter(Boolean).join(" "),c=["text-neutral-600 dark:text-neutral-400 mt-1",!r&&(i?"text-xs":"text-sm"),a&&"ml-14"].filter(Boolean).join(" ");return m.jsxs("div",{className:"flex-1 min-w-0",...s,children:[m.jsx("div",{className:u,children:l||t}),(n||null)&&m.jsx("div",{className:c,children:n})]})},sc={name:"Marquee",props:{text:{type:String,default:"This is a scrolling marquee text"},speed:{type:Number,default:50,validator:t=>t>0&&t<=200},direction:{type:String,default:"left",validator:t=>["left","right","up","down"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outlined","filled","gradient"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg","xl"].includes(t)},pauseOnHover:{type:Boolean,default:!1},loop:{type:Boolean,default:!0},showGradient:{type:Boolean,default:!0},showControls:{type:Boolean,default:!1},allowReverse:{type:Boolean,default:!0},allowSpeedControl:{type:Boolean,default:!0},autoStart:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},height:{type:[String,Number],default:"auto"},backgroundColor:{type:String,default:""},textColor:{type:String,default:""}},emits:["start","pause","resume","complete","direction-change","speed-change"],setup(t,{emit:n}){const a=e.ref(null),r=e.ref(!t.autoStart),l=e.ref(t.direction),o=e.ref(t.speed),s=e.ref(1),i=e.ref(null),u=e.ref(!1),c=[5,25,50],d=e.computed(()=>{const $={};return t.height!=="auto"&&($.height=typeof t.height=="number"?`${t.height}px`:t.height),t.backgroundColor&&($.backgroundColor=t.backgroundColor),t.textColor&&($.color=t.textColor),$}),f=e.computed(()=>{const $=["up","down"].includes(l.value),R=100/o.value;let N;switch(l.value){case"left":N="marquee-scroll-left";break;case"right":N="marquee-scroll-right";break;case"up":N="marquee-scroll-up";break;case"down":N="marquee-scroll-down";break}return{animationName:r.value||t.loading?"none":N,animationDuration:`${R}s`,animationTimingFunction:"linear",animationIterationCount:t.loop?"infinite":"1",flexDirection:$?"column":"row"}}),p=e.computed(()=>{const $=t.pauseOnHover&&!t.showControls&&u.value;return r.value||$||t.loading}),h=()=>{u.value=!0},y=()=>{u.value=!1},g=()=>{r.value=!r.value,r.value?n("pause"):n("resume")},k=()=>{const $=["left","right","up","down"],N=($.indexOf(l.value)+1)%$.length;l.value=$[N],n("direction-change",l.value)},B=()=>{s.value=(s.value+1)%c.length,o.value=c[s.value],n("speed-change",{speed:o.value,level:["slow","normal","fast"][s.value]})},v=()=>{r.value=!1,n("start")},S=()=>{r.value=!0,n("pause")},x=()=>{r.value=!1,n("resume")},w=$=>{o.value=Math.max(1,Math.min(200,$))},E=$=>{["left","right","up","down"].includes($)&&(l.value=$)},O=()=>{t.loop||n("complete")};return e.onMounted(()=>{a.value&&a.value.addEventListener("animationend",O),t.autoStart&&n("start")}),e.onBeforeUnmount(()=>{a.value&&a.value.removeEventListener("animationend",O),i.value&&cancelAnimationFrame(i.value)}),{marqueeRef:a,isPaused:r,currentDirection:l,currentSpeed:o,isHovered:u,containerStyle:d,contentStyle:f,paused:p,handleMouseEnter:h,handleMouseLeave:y,togglePause:g,toggleDirection:k,toggleSpeed:B,start:v,pause:S,resume:x,setSpeed:w,setDirection:E}}},ic={class:"marquee-item"},cc={key:0,class:"marquee-item marquee-clone"},dc={key:0,class:"marquee-gradient marquee-gradient-left"},uc={key:1,class:"marquee-gradient marquee-gradient-right"},fc={key:2,class:"marquee-controls"},mc=["aria-label"],pc={key:3,class:"marquee-loading-overlay"};function hc(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["marquee-container",[`marquee-${a.variant}`,`marquee-size-${a.size}`,`marquee-direction-${r.currentDirection}`,r.paused&&"marquee-paused",a.loading&&"marquee-loading"]]),style:e.normalizeStyle(r.containerStyle),onMouseenter:n[3]||(n[3]=(...s)=>r.handleMouseEnter&&r.handleMouseEnter(...s)),onMouseleave:n[4]||(n[4]=(...s)=>r.handleMouseLeave&&r.handleMouseLeave(...s))},[e.createElementVNode("div",{ref:"marqueeRef",class:"marquee-content",style:e.normalizeStyle(r.contentStyle)},[e.createElementVNode("div",ic,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.text),1)])]),a.loop?(e.openBlock(),e.createElementBlock("div",cc,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.text),1)])])):e.createCommentVNode("",!0)],4),a.showGradient?(e.openBlock(),e.createElementBlock("div",dc)):e.createCommentVNode("",!0),a.showGradient?(e.openBlock(),e.createElementBlock("div",uc)):e.createCommentVNode("",!0),a.showControls?(e.openBlock(),e.createElementBlock("div",fc,[e.createElementVNode("button",{class:"marquee-control-btn","aria-label":r.isPaused?"播放":"暂停",onClick:n[0]||(n[0]=(...s)=>r.togglePause&&r.togglePause(...s))},e.toDisplayString(r.isPaused?"▶️":"⏸️"),9,mc),a.allowReverse?(e.openBlock(),e.createElementBlock("button",{key:0,class:"marquee-control-btn","aria-label":"改变方向",onClick:n[1]||(n[1]=(...s)=>r.toggleDirection&&r.toggleDirection(...s))}," 🔄 ")):e.createCommentVNode("",!0),a.allowSpeedControl?(e.openBlock(),e.createElementBlock("button",{key:1,class:"marquee-control-btn","aria-label":"改变速度",onClick:n[2]||(n[2]=(...s)=>r.toggleSpeed&&r.toggleSpeed(...s))}," ⚡ ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),a.loading?(e.openBlock(),e.createElementBlock("div",pc,n[5]||(n[5]=[e.createElementVNode("div",{class:"marquee-loading-spinner"},null,-1),e.createElementVNode("span",{class:"marquee-loading-text"},"加载中...",-1)]))):e.createCommentVNode("",!0)],38)}const yc=ae(sc,[["render",hc]]),gc={slow:25,normal:50,fast:100},bc={left:"marquee-scroll-left",right:"marquee-scroll-right",up:"marquee-scroll-up",down:"marquee-scroll-down"},wc=t=>{const{variant:n="default",size:a="md",direction:r="left",paused:l=!1,loading:o=!1,className:s=""}=t,i=["marquee-container",`marquee-${n}`,`marquee-size-${a}`,`marquee-direction-${r}`];return l&&i.push("marquee-paused"),o&&i.push("marquee-loading"),s&&i.push(s),i},kc=t=>{const{direction:n="left",speed:a=50,paused:r=!1,loading:l=!1}=t,o=Cc(a),s=bc[n];return{animationName:r||l?"none":s,animationDuration:`${o}s`,animationTimingFunction:"linear",animationIterationCount:"infinite",animationPlayState:r||l?"paused":"running"}},xc=t=>{var o;const{height:n="auto",backgroundColor:a,textColor:r}=t,l={};return n!=="auto"&&(l.height=typeof n=="number"?`${n}px`:n),a&&(l.backgroundColor=a,(o=l.setProperty)==null||o.call(l,"--marquee-bg",a)),r&&(l.color=r),l},Cc=t=>Math.max(1,100/Math.max(1,Math.min(200,t))),Sc=t=>{const n=Object.values(gc),a=n.findIndex(r=>r>=t);return a===-1||a===n.length-1?n[0]:n[a+1]},Bc=({text:t="This is a scrolling marquee text",speed:n=50,direction:a="left",variant:r="default",size:l="md",pauseOnHover:o=!1,loop:s=!0,showGradient:i=!0,showControls:u=!1,allowReverse:c=!0,allowSpeedControl:d=!0,autoStart:f=!0,loading:p=!1,height:h="auto",backgroundColor:y="",textColor:g="",className:k="",children:B,onStart:v,onPause:S,onResume:x,onComplete:w,onDirectionChange:E,onSpeedChange:O,...$})=>{const R=_.useRef(null),[N,D]=_.useState(!f),[A,U]=_.useState(a),[M,J]=_.useState(n),T=(L,...W)=>typeof L=="function"&&L(...W);_.useEffect(()=>{f&&T(v)},[]),_.useEffect(()=>{const L=R.current;if(!L||!o)return;const W=()=>D(!0),X=()=>D(!1);return L.addEventListener("mouseenter",W),L.addEventListener("mouseleave",X),()=>{L.removeEventListener("mouseenter",W),L.removeEventListener("mouseleave",X)}},[o]),_.useEffect(()=>{T(N?S:x)},[N]);const q=wc({variant:r,size:l,direction:A,paused:N,loading:p,className:k}).join(" "),ie={...xc({height:h,backgroundColor:y,textColor:g})},ee=kc({direction:A,speed:M,paused:N,loading:p}),V=()=>D(L=>!L),z=()=>{if(!c)return;const L={left:"right",right:"left",up:"down",down:"up"}[A];U(L),T(E,L)},Y=()=>{if(!d)return;const L=Sc(M);J(L),T(O,L)};return m.jsxs("div",{ref:R,className:q,style:ie,...$,children:[m.jsxs("div",{className:"marquee-content",style:ee,children:[m.jsx("div",{className:"marquee-item",children:B||t}),s&&m.jsx("div",{className:"marquee-item marquee-clone",children:B||t})]}),i&&m.jsx("div",{className:"marquee-gradient marquee-gradient-left"}),i&&m.jsx("div",{className:"marquee-gradient marquee-gradient-right"}),u&&m.jsxs("div",{className:"marquee-controls",children:[m.jsx("button",{className:"marquee-control-btn","aria-label":N?"播放":"暂停",onClick:V,children:N?"▶️":"⏸️"}),c&&m.jsx("button",{className:"marquee-control-btn","aria-label":"改变方向",onClick:z,children:"🔄"}),d&&m.jsx("button",{className:"marquee-control-btn","aria-label":"改变速度",onClick:Y,children:"⚡"})]}),p&&m.jsxs("div",{className:"marquee-loading-overlay",children:[m.jsx("div",{className:"marquee-loading-spinner"}),m.jsx("span",{className:"marquee-loading-text",children:"加载中..."})]})]})},_c={key:0,class:"wc-modal__overlay"},Nc=["aria-labelledby"],Ec={key:1,class:"wc-modal__header"},vc={class:"wc-modal__body"},$c={key:2,class:"wc-modal__footer"},Vc=ae({__name:"Modal",props:{visible:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},modelValue:{type:Boolean,default:void 0},title:{type:String,default:""},size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},maxWidth:{type:String,default:null,validator:t=>t===null||["xs","sm","md","lg","xl"].includes(t)},closable:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnOverlay:{type:Boolean,default:!0},disableBackdropClick:{type:Boolean,default:!1},disableEscapeKeyDown:{type:Boolean,default:!1},centered:{type:Boolean,default:!0},fullWidth:{type:Boolean,default:!1},fullScreen:{type:Boolean,default:!1},position:{type:String,default:"center",validator:t=>["center","top","bottom"].includes(t)},scroll:{type:String,default:"paper",validator:t=>["paper","body"].includes(t)},lockScroll:{type:Boolean,default:!0},zIndex:{type:Number,default:1e3},showOverlay:{type:Boolean,default:!0}},emits:["close","update:modelValue"],setup(t,{emit:n}){const a=t,r=n,l=e.getCurrentInstance(),o=`modal-title-${(l==null?void 0:l.uid)||Math.random().toString(36).substr(2,9)}`,s=e.ref(null),i=e.ref(null),u=e.computed({get(){return a.modelValue!==void 0?a.modelValue:a.visible!==void 0?a.visible:a.open!==void 0?a.open:!1},set($){r("update:modelValue",$),r("close")}}),c=e.computed(()=>a.maxWidth||a.size),d=e.computed(()=>{const $=["wc-modal-overlay"];return a.position==="center"&&a.centered?$.push("wc-modal-overlay--centered"):a.position&&a.position!=="center"&&$.push(`wc-modal-overlay--${a.position}`),$}),f=e.computed(()=>{const $=["wc-modal"];return c.value&&!a.fullScreen&&$.push(`wc-modal--${c.value}`),a.fullScreen&&$.push("wc-modal--fullscreen"),a.fullWidth&&!a.fullScreen&&$.push("wc-modal--full-width"),a.scroll==="body"?$.push("wc-modal--scroll-body"):$.push("wc-modal--scroll-paper"),$}),p=e.computed(()=>({zIndex:a.zIndex})),h=e.computed(()=>{const $={};return a.fullScreen&&($.width="100vw",$.height="100vh",$.maxWidth="none",$.maxHeight="none"),$}),y=e.computed(()=>a.closable&&a.showCloseButton),g=()=>{r("close"),r("update:modelValue",!1)},k=()=>{a.maskClosable&&a.closeOnOverlay&&!a.disableBackdropClick&&g()},B=$=>{$.key==="Escape"&&a.closable&&!a.disableEscapeKeyDown&&g()},v=$=>{if($){const R=$.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');R.length>0?R[0].focus():$.focus()}},S=$=>{if(!$)return()=>{};const R=$.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),N=R[0],D=R[R.length-1],A=U=>{U.key==="Tab"&&(U.shiftKey?document.activeElement===N&&(U.preventDefault(),D==null||D.focus()):document.activeElement===D&&(U.preventDefault(),N==null||N.focus()))};return $.addEventListener("keydown",A),()=>{$.removeEventListener("keydown",A)}};let x="";const w=()=>{a.lockScroll&&(x=document.body.style.overflow,document.body.style.overflow="hidden")},E=()=>{a.lockScroll&&(document.body.style.overflow=x)};let O=null;return e.watch(u,async $=>{$?(i.value=document.activeElement,w(),await e.nextTick(),setTimeout(()=>{s.value&&(v(s.value),O=S(s.value))},100),document.addEventListener("keydown",B)):(document.removeEventListener("keydown",B),O&&(O(),O=null),i.value&&i.value.focus&&i.value.focus(),E())},{immediate:!0}),e.onUnmounted(()=>{document.removeEventListener("keydown",B),O&&O(),E()}),($,R)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"modal",appear:""},{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(d.value),style:e.normalizeStyle(p.value),onClick:k},[t.showOverlay?(e.openBlock(),e.createElementBlock("div",_c)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"modalRef",ref:s,class:e.normalizeClass(f.value),style:e.normalizeStyle(h.value),role:"dialog","aria-modal":"true","aria-labelledby":t.title?o:void 0,tabindex:"-1",onClick:R[0]||(R[0]=e.withModifiers(()=>{},["stop"]))},[y.value?(e.openBlock(),e.createBlock(Ht,{key:0,variant:"text",size:"sm",class:"wc-modal__close","aria-label":"关闭",onClick:g},{default:e.withCtx(()=>R[1]||(R[1]=[e.createTextVNode(" × ")])),_:1,__:[1]})):e.createCommentVNode("",!0),t.title||$.$slots.header?(e.openBlock(),e.createElementBlock("div",Ec,[e.renderSlot($.$slots,"header",{},()=>[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,id:o,class:"wc-modal__title"},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",vc,[e.renderSlot($.$slots,"default",{},void 0,!0)]),$.$slots.footer?(e.openBlock(),e.createElementBlock("div",$c,[e.renderSlot($.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],14,Nc)],6)):e.createCommentVNode("",!0)]),_:3})]))}},[["__scopeId","data-v-4ded9ee1"]]),jc=ae({__name:"NumberAnimation",props:{value:{type:Number,required:!1,default:void 0},from:{type:Number,default:0},duration:{type:Number,default:2e3},decimals:{type:Number,default:0},separator:{type:String,default:""},prefix:{type:String,default:""},suffix:{type:String,default:""},formatter:{type:Function,default:null},easing:{type:String,default:"linear",validator:t=>["linear","ease-in","ease-out","ease-in-out"].includes(t)},autoPlay:{type:Boolean,default:!0},active:{type:Boolean,default:void 0},to:{type:Number,default:void 0},precision:{type:Number,default:void 0},showSeparator:{type:Boolean,default:!1},locale:{type:String,default:""}},emits:["complete"],setup(t,{expose:n,emit:a}){const r=t,l=a,o=e.ref(r.from),s=e.ref(!1);let i=null;const u=e.computed(()=>r.active!==void 0?r.active:r.autoPlay),c=e.computed(()=>{const k=["wc-number-animation"];return r.easing&&k.push(`wc-number-animation--${r.easing}`),(s.value||u.value)&&k.push("wc-number-animation--playing"),k}),d=e.computed(()=>r.to!==void 0?r.to:r.value),f=e.computed(()=>r.precision!==void 0?r.precision:r.decimals),p=e.computed(()=>r.showSeparator?r.separator||",":r.separator),h=e.computed(()=>{let k=o.value;if(r.formatter)return r.formatter(k);if(f.value>0?k=k.toFixed(f.value):k=Math.round(k).toString(),p.value){const B=k.toString().split(".");B[0]=B[0].replace(/\B(?=(\d{3})+(?!\d))/g,p.value),k=B.join(".")}return`${r.prefix}${k}${r.suffix}`}),y=()=>{const k=Date.now(),B=o.value,v=d.value,S=v-B;s.value=!0;const x=()=>{const w=Date.now()-k,E=Math.min(w/r.duration,1);let O=E;switch(r.easing){case"ease-in":O=E*E;break;case"ease-out":O=1-(1-E)*(1-E);break;case"ease-in-out":O=E<.5?2*E*E:1-Math.pow(-2*E+2,2)/2;break;default:O=E}o.value=B+S*O,E<1?typeof window<"u"&&window.requestAnimationFrame&&!window.vi?i=requestAnimationFrame(x):i=setTimeout(x,16):(o.value=v,s.value=!1,l("complete"))};x()},g=()=>{i&&(typeof window<"u"&&window.requestAnimationFrame&&!window.vi?cancelAnimationFrame(i):clearTimeout(i),i=null),s.value=!1};return e.watch(()=>d.value,()=>{g(),u.value?y():o.value=d.value}),e.onMounted(()=>{u.value?y():o.value=d.value}),e.onUnmounted(()=>{g()}),n({start:y,stop:g}),(k,B)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(c.value)},e.toDisplayString(h.value),3))}},[["__scopeId","data-v-d929cdcb"]]),Tc=({active:t=!0,duration:n=3e3,from:a=0,to:r,locale:l="",precision:o=0,showSeparator:s=!1,prefix:i="",suffix:u="",separator:c="",formatter:d=null,easing:f="linear",onFinish:p,className:h="",style:y={},...g})=>{const[k,B]=_.useState(a),[v,S]=_.useState(!1),x=_.useRef(null),w=_.useRef(null),E=D=>{x.current===null&&(x.current=D);const A=Math.min((D-x.current)/n,1);B(a+(r-a)*A),A<1&&t?w.current=requestAnimationFrame(E):(B(r),S(!1),p==null||p())},O=()=>{$(),x.current=null,t?(S(!0),w.current=requestAnimationFrame(E)):(B(r),S(!1))},$=()=>{w.current&&(cancelAnimationFrame(w.current),w.current=null)};_.useEffect(()=>(O(),$),[t,a,r,n]);const R=D=>{if(d)return d(D);const A=D.toFixed(o);let U=A;if(s||c)if(c){const M=A.split(".");M[0]=M[0].replace(/\B(?=(\d{3})+(?!\d))/g,c),U=M.join(".")}else U=Number(A).toLocaleString(l||void 0,{minimumFractionDigits:o,maximumFractionDigits:o});return`${i}${U}${u}`},N=["wc-number-animation",v?"wc-number-animation--playing":"",f&&["ease-in","ease-out","ease-in-out"].includes(f)?`wc-number-animation--${f}`:"",h].filter(Boolean).join(" ");return m.jsx("span",{className:N,style:y,...g,children:R(k)})},Dc={name:"Pagination",props:{modelValue:{type:Number,default:1},currentPage:{type:Number,default:1},total:{type:Number,required:!0},pageSize:{type:Number,default:10},siblingCount:{type:Number,default:1},boundaryCount:{type:Number,default:1},showSizeChanger:{type:Boolean,default:!1},showQuickJumper:{type:Boolean,default:!1},pageSizeOptions:{type:Array,default:()=>[10,20,50,100]},size:{type:String,default:"md",validator:t=>["sm","md","lg","xl"].includes(t)}},emits:["update:modelValue","change","page-change","size-change"],setup(t,{emit:n}){const a=e.ref(t.currentPage||t.modelValue);e.watch(()=>t.modelValue,d=>{a.value=d}),e.watch(()=>t.currentPage,d=>{a.value=d});const r=e.computed(()=>{const d=["pagination","wc-pagination"];return t.size!=="md"&&d.push(`wc-pagination--${t.size}`),d}),l=e.computed(()=>Math.max(1,Math.ceil(t.total/t.pageSize))),o=(d,f)=>{const p=[];for(let h=d;h<=f;h++)p.push(h);return p},s=e.computed(()=>{const d=l.value,f=a.value,{siblingCount:p,boundaryCount:h}=t,y=p*2+3+h*2;if(d<=y)return o(1,d).map(x=>({key:x,num:x}));const g=Math.max(f-p,h+2),k=Math.min(f+p,d-h-1),B=g>h+2,v=k<d-h-1,S=[];for(let x=1;x<=h;x++)S.push({key:"b"+x,num:x});B&&S.push({key:"l-ellipsis",ellipsis:!0});for(let x=g;x<=k;x++)S.push({key:"m"+x,num:x});v&&S.push({key:"r-ellipsis",ellipsis:!0});for(let x=d-h+1;x<=d;x++)S.push({key:"e"+x,num:x});return S}),i=d=>{d<1||d>l.value||d===a.value||(a.value=d,n("update:modelValue",d),n("change",d),n("page-change",d))};return{currentPageInternal:a,pageCount:l,pageItems:s,select:i,paginationClasses:r,handleSizeChange:d=>{const f=parseInt(d.target.value);n("size-change",f)},handleQuickJump:d=>{const f=parseInt(d.target.value);f>=1&&f<=l.value&&(i(f),d.target.value="")}}}},Ic=["disabled"],zc=["onClick"],Pc={key:1,class:"page-ellipsis wc-page-ellipsis"},Mc=["disabled"],Oc={key:0,class:"wc-pagination-size-selector"},Ac=["value","selected"],Lc={key:1,class:"wc-pagination-quick-jumper"},Rc=["max"];function Fc(t,n,a,r,l,o){return r.pageCount>1?(e.openBlock(),e.createElementBlock("nav",{key:0,class:e.normalizeClass(r.paginationClasses),"aria-label":"分页导航"},[e.createElementVNode("button",{class:"page-btn wc-page-btn wc-page-btn--prev wc-page-btn--nav",disabled:r.currentPageInternal===1,"aria-label":"上一页",onClick:n[0]||(n[0]=s=>r.select(r.currentPageInternal-1))}," ‹ ",8,Ic),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.pageItems,s=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s.key},[s.ellipsis?(e.openBlock(),e.createElementBlock("span",Pc,"…")):(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["page-btn","wc-page-btn",{active:s.num===r.currentPageInternal,"wc-page-btn--active":s.num===r.currentPageInternal}]),onClick:i=>r.select(s.num)},e.toDisplayString(s.num),11,zc))],64))),128)),e.createElementVNode("button",{class:"page-btn wc-page-btn wc-page-btn--next wc-page-btn--nav",disabled:r.currentPageInternal===r.pageCount,"aria-label":"下一页",onClick:n[1]||(n[1]=s=>r.select(r.currentPageInternal+1))}," › ",8,Mc),a.showSizeChanger?(e.openBlock(),e.createElementBlock("div",Oc,[e.createElementVNode("select",{onChange:n[2]||(n[2]=(...s)=>r.handleSizeChange&&r.handleSizeChange(...s))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.pageSizeOptions,s=>(e.openBlock(),e.createElementBlock("option",{key:s,value:s,selected:s===a.pageSize},e.toDisplayString(s)+" / 页 ",9,Ac))),128))],32)])):e.createCommentVNode("",!0),a.showQuickJumper?(e.openBlock(),e.createElementBlock("div",Lc,[n[4]||(n[4]=e.createElementVNode("span",null,"跳转到",-1)),e.createElementVNode("input",{type:"number",min:1,max:r.pageCount,placeholder:"页码",onKeyup:n[3]||(n[3]=e.withKeys((...s)=>r.handleQuickJump&&r.handleQuickJump(...s),["enter"]))},null,40,Rc)])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}const qc=ae(Dc,[["render",Fc]]);function Wc({value:t=1,onChange:n,total:a,pageSize:r=10,siblingCount:l=1,boundaryCount:o=1,size:s="md",className:i="",...u}){const[c,d]=_.useState(t);_.useEffect(()=>{d(t)},[t]);const f=_.useMemo(()=>Math.max(1,Math.ceil(a/r)),[a,r]),p=(k,B)=>{const v=[];for(let S=k;S<=B;S++)v.push(S);return v},h=_.useMemo(()=>{const k=l*2+3+o*2;if(f<=k)return p(1,f).map(E=>({key:E,num:E}));const B=Math.max(c-l,o+2),v=Math.min(c+l,f-o-1),S=B>o+2,x=v<f-o-1,w=[];for(let E=1;E<=o;E++)w.push({key:"b"+E,num:E});S&&w.push({key:"l-ellipsis",ellipsis:!0});for(let E=B;E<=v;E++)w.push({key:"m"+E,num:E});x&&w.push({key:"r-ellipsis",ellipsis:!0});for(let E=f-o+1;E<=f;E++)w.push({key:"e"+E,num:E});return w},[c,f,l,o]),y=_.useCallback(k=>{k<1||k>f||k===c||(d(k),n==null||n(k))},[c,f,n]);if(f<=1)return null;const g=["pagination","wc-pagination",s!=="md"?`wc-pagination--${s}`:"",i].filter(Boolean).join(" ");return m.jsxs("nav",{className:g,"aria-label":"分页导航",...u,children:[m.jsx("button",{className:"page-btn wc-page-btn wc-page-btn--prev wc-page-btn--nav",disabled:c===1,onClick:()=>y(c-1),"aria-label":"上一页",children:"‹"}),h.map(k=>k.ellipsis?m.jsx("span",{className:"page-ellipsis",children:"…"},k.key):m.jsx("button",{className:`page-btn wc-page-btn${k.num===c?" active wc-page-btn--active":""}`,onClick:()=>y(k.num),children:k.num},k.key)),m.jsx("button",{className:"page-btn wc-page-btn wc-page-btn--next wc-page-btn--nav",disabled:c===f,onClick:()=>y(c+1),"aria-label":"下一页",children:"›"})]})}const Hc={__name:"Paper",props:{elevation:{type:Number,default:1,validator:t=>t>=0&&t<=24},variant:{type:String,default:"elevation",validator:t=>["elevation","outlined"].includes(t)},square:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},component:{type:String,default:"div"}},setup(t){const n=t,a=e.computed(()=>{const l=["wc-paper transition-all duration-250 bg-[var(--wc-neutral-0)] dark:bg-[var(--wc-neutral-800)]"];return n.variant==="outlined"?(l.push("wc-paper--outlined"),l.push("border border-[var(--wc-neutral-200)] dark:border-[var(--wc-neutral-700)]")):n.elevation>0&&(l.push(`wc-paper--elevation-${n.elevation}`),l.push("border border-[var(--wc-neutral-200)] dark:border-[var(--wc-neutral-700)]")),n.rounded&&l.push("wc-paper--rounded"),!n.square&&!n.rounded&&l.push("rounded-lg"),l});return(r,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),{class:e.normalizeClass(a.value)},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["class"]))}},Vn={ELEVATION:"elevation",OUTLINED:"outlined"},Uc={SQUARE:"square",ROUNDED_SM:"rounded-sm",ROUNDED_LG:"rounded-lg",ROUNDED_XL:"rounded-xl",ROUNDED_2XL:"rounded-2xl",ROUNDED_FULL:"rounded-full"},Yc={SM:"sm",MD:"md",LG:"lg",XL:"xl"},Ze={DEFAULT:"default",PRIMARY:"primary",SUCCESS:"success",WARNING:"warning",ERROR:"error",INFO:"info"};function Gc(t={}){const{variant:n=Vn.ELEVATION,elevation:a=1,square:r=!1,shape:l=null,size:o=null,color:s=Ze.DEFAULT,hoverable:i=!1,clickable:u=!1,gradient:c=!1,frosted:d=!1,textured:f=!1,className:p=""}=t,h=["wc-paper"];if(n===Vn.OUTLINED)h.push("wc-paper--outlined");else{h.push("wc-paper--elevation");const y=Math.max(0,Math.min(24,Math.floor(Number(a)||0)));h.push(`wc-paper--elevation-${y}`)}return r?h.push("wc-paper--square"):l&&Uc[l.toUpperCase()]&&h.push(`wc-paper--${l}`),o&&Yc[o.toUpperCase()]&&h.push(`wc-paper--${o}`),s!==Ze.DEFAULT&&Ze[s.toUpperCase()]&&h.push(`wc-paper--${s}`),i&&h.push("wc-paper--hoverable"),u&&h.push("wc-paper--clickable"),c&&h.push("wc-paper--gradient"),d&&h.push("wc-paper--frosted"),f&&h.push("wc-paper--textured"),p&&h.push(p),h.join(" ")}function Kc({variant:t="elevation",elevation:n=1,square:a=!1,hoverable:r=!1,clickable:l=!1,color:o="default",size:s=null,className:i="",children:u,onClick:c,onMouseEnter:d,onMouseLeave:f,...p}){const h=Math.max(0,Math.min(24,Math.floor(Number(n)||0))),y=Gc({variant:t,elevation:h,square:a,hoverable:r,clickable:l,color:o,size:s,className:i}),g=k=>{l&&c&&c(k)};return m.jsx("div",{className:y,onClick:g,onMouseEnter:d,onMouseLeave:f,style:{cursor:l?"pointer":"default",...p.style},...p,children:u})}const Jc=["title"],Xc=e.defineComponent({__name:"Paradox",props:{content:{type:String,default:"这句话是假。"},tooltip:{type:String,default:"若此句为真,则为假;若此句为假,则为真。"},animated:{type:Boolean,default:!1},transform:{type:String,default:"none",validator:t=>["none","rotate","scale","skew"].includes(t)},speed:{type:String,default:"normal",validator:t=>["slow","normal","fast"].includes(t)},hoverEffect:{type:Boolean,default:!1},infinite:{type:Boolean,default:!1}},setup(t,{expose:n}){const a=t,r=e.ref(!1),l=e.ref(!1),o=e.ref(0);let s=null;const i=e.computed(()=>{const y=["wc-paradox"];return a.animated&&y.push("wc-paradox--animated"),a.transform!=="none"&&y.push(`wc-paradox--${a.transform}`),a.speed!=="normal"&&y.push(`wc-paradox--${a.speed}`),a.hoverEffect&&r.value&&y.push("wc-paradox--hover"),y}),u=()=>{a.hoverEffect&&(r.value=!0)},c=()=>{a.hoverEffect&&(r.value=!1)},d=()=>{if(a.animated&&!l.value&&a.infinite){const y=()=>{o.value=(o.value+1)%360,l.value||(s=requestAnimationFrame(y))};s=requestAnimationFrame(y)}};return n({pause:()=>{l.value=!0,s&&(cancelAnimationFrame(s),s=null)},resume:()=>{l.value=!1,d()},reset:()=>{o.value=0,s&&(cancelAnimationFrame(s),s=null)},isPaused:l,currentFrame:o,infinite:e.computed(()=>a.infinite)}),e.onMounted(()=>{a.animated&&a.infinite&&d()}),e.onUnmounted(()=>{s&&cancelAnimationFrame(s)}),(y,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value),title:t.tooltip,onMouseenter:u,onMouseleave:c},[e.renderSlot(y.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.content),1)])],42,Jc))}});function Qc({content:t="这句话是假。",tooltip:n="若此句为真,则为假;若此句为假,则为真。",className:a=""}){return m.jsx("blockquote",{className:`wc-paradox ${a}`.trim(),title:n,children:t})}const Zc={name:"Popover",directives:{outside:{beforeMount(t,n){t.__clickOutside__=a=>{t.contains(a.target)||n.value(a)},document.addEventListener("mousedown",t.__clickOutside__)},unmounted(t){document.removeEventListener("mousedown",t.__clickOutside__)}}},props:{modelValue:{type:Boolean,default:!1},triggerText:{type:String,default:"打开弹窗"},placement:{type:String,default:"bottom",validator:t=>["top","bottom","left","right"].includes(t)},offset:{type:Number,default:8}},emits:["update:modelValue","open","close"],setup(t,{emit:n}){const a=e.ref(t.modelValue),r=e.ref(null),l=e.ref(null),o=()=>{a.value||(a.value=!0,n("update:modelValue",!0),n("open"),e.nextTick(u))},s=()=>{a.value&&(a.value=!1,n("update:modelValue",!1),n("close"))},i=()=>{a.value?s():o()},u=()=>{const c=r.value,d=l.value;if(!c||!d)return;const f=c.getBoundingClientRect(),p=d.getBoundingClientRect(),{placement:h,offset:y}=t;let g=0,k=0;switch(h){case"top":g=f.top-p.height-y,k=f.left+(f.width-p.width)/2;break;case"bottom":g=f.bottom+y,k=f.left+(f.width-p.width)/2;break;case"left":g=f.top+(f.height-p.height)/2,k=f.left-p.width-y;break;case"right":g=f.top+(f.height-p.height)/2,k=f.right+y;break}d.style.top=`${g+window.scrollY}px`,d.style.left=`${k+window.scrollX}px`};return e.onMounted(()=>{a.value&&e.nextTick(u),window.addEventListener("resize",u),window.addEventListener("scroll",u)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",u),window.removeEventListener("scroll",u)}),{isOpen:a,open:o,close:s,toggle:i,triggerWrapper:r,popoverRef:l}}},ed={ref:"triggerWrapper",class:"popover-container"},td=["aria-expanded"];function nd(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("div",ed,[e.renderSlot(t.$slots,"trigger",{open:r.open,close:r.close},()=>[e.createElementVNode("button",{class:"popover-trigger","aria-expanded":r.isOpen.toString(),onClick:n[0]||(n[0]=(...s)=>r.toggle&&r.toggle(...s))},e.toDisplayString(a.triggerText),9,td)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"popover-fade"},{default:e.withCtx(()=>[r.isOpen?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"popoverRef",class:e.normalizeClass(["popover-content",[`popover-${a.placement}`]]),role:"dialog",onClick:n[1]||(n[1]=(...s)=>r.close&&r.close(...s))},[e.renderSlot(t.$slots,"default",{},()=>[n[2]||(n[2]=e.createTextVNode(" 这是默认的弹出内容。 "))])],2)):e.createCommentVNode("",!0)]),_:3})]))],512)}const ad=ae(Zc,[["render",nd]]);function rd({open:t,onOpenChange:n,triggerText:a="打开弹窗",trigger:r,placement:l="bottom",offset:o=8,children:s,className:i=""}){const[u,c]=_.useState(t??!1),d=t!==void 0,f=_.useRef(null),p=_.useRef(null),h=d?t:u,y=x=>{d||c(x),n==null||n(x)},g=()=>y(!1),k=()=>y(!h),B=_.useCallback(()=>{const x=f.current,w=p.current;if(!x||!w)return;const E=x.getBoundingClientRect(),O=w.getBoundingClientRect();let $=0,R=0;switch(l){case"top":$=E.top-O.height-o,R=E.left+(E.width-O.width)/2;break;case"bottom":$=E.bottom+o,R=E.left+(E.width-O.width)/2;break;case"left":$=E.top+(E.height-O.height)/2,R=E.left-O.width-o;break;case"right":$=E.top+(E.height-O.height)/2,R=E.right+o;break}w.style.top=`${$+window.scrollY}px`,w.style.left=`${R+window.scrollX}px`},[l,o]);_.useEffect(()=>(h&&(B(),window.addEventListener("resize",B),window.addEventListener("scroll",B),document.addEventListener("mousedown",v)),()=>{window.removeEventListener("resize",B),window.removeEventListener("scroll",B),document.removeEventListener("mousedown",v)}),[h,B]);const v=x=>{p.current&&!p.current.contains(x.target)&&!f.current.contains(x.target)&&g()},S=r?_.cloneElement(r,{ref:f,onClick:k,"aria-expanded":h}):m.jsx("button",{ref:f,className:"popover-trigger",onClick:k,"aria-expanded":h,children:a});return m.jsxs("div",{className:i,style:{display:"inline-block"},children:[S,h&&Re.createPortal(m.jsx("div",{ref:p,className:`popover-content popover-${l}`.trim(),role:"dialog",children:s}),document.body)]})}const ld={name:"PricingTable",props:{plans:{type:Array,default:()=>[]},columns:{type:Number,default:3}},computed:{gridStyle(){return{gridTemplateColumns:`repeat(${this.columns}, minmax(0,1fr))`}}}},od={class:"plan-name"},sd={class:"plan-price"},id={class:"plan-features"},cd={class:"plan-btn"};function dd(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("div",{class:"pricing-grid",style:e.normalizeStyle(o.gridStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.plans,s=>(e.openBlock(),e.createElementBlock("div",{key:s.name,class:e.normalizeClass(["plan-card",{popular:s.popular}])},[e.createElementVNode("h3",od,e.toDisplayString(s.name),1),e.createElementVNode("p",sd,e.toDisplayString(s.price),1),e.createElementVNode("ul",id,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.features,i=>(e.openBlock(),e.createElementBlock("li",{key:i},e.toDisplayString(i),1))),128))]),e.createElementVNode("button",cd,e.toDisplayString(s.button||"选择"),1)],2))),128))],4)}const ud=ae(ld,[["render",dd]]);function fd({plans:t=[],columns:n=3,className:a=""}){const r={gridTemplateColumns:`repeat(${n}, minmax(0,1fr))`};return m.jsx("div",{className:`pricing-grid ${a}`.trim(),style:r,children:t.map(l=>{var o;return m.jsxs("div",{className:`plan-card${l.popular?" popular":""}`,children:[m.jsx("h3",{className:"plan-name",children:l.name}),m.jsx("p",{className:"plan-price",children:l.price}),m.jsx("ul",{className:"plan-features",children:(o=l.features)==null?void 0:o.map(s=>m.jsx("li",{children:s},s))}),m.jsx("button",{className:"plan-btn",children:l.button||"选择"})]},l.name)})})}const md={class:"wc-progress-wrapper"},pd={key:0,class:"wc-progress-header"},hd={key:0,class:"wc-progress-label"},yd={key:1,class:"wc-progress-percent"},gd=ae({__name:"Progress",props:{value:{type:Number,default:0,validator:t=>t>=0&&t<=100},label:{type:String,default:""},showPercent:{type:Boolean,default:!1},color:{type:String,default:"primary",validator:t=>["primary","success","warning","error","purple","orange","cyan","pink"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},animated:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>["wc-progress",`wc-progress--${n.size}`]),r=e.computed(()=>["wc-progress__bar",`wc-progress__bar--${n.color}`,n.animated&&"wc-progress__bar--animated"].filter(Boolean)),l=e.computed(()=>({width:`${Math.max(0,Math.min(100,n.value))}%`}));return(o,s)=>(e.openBlock(),e.createElementBlock("div",md,[t.label||t.showPercent?(e.openBlock(),e.createElementBlock("div",pd,[t.label?(e.openBlock(),e.createElementBlock("label",hd,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.showPercent?(e.openBlock(),e.createElementBlock("span",yd,e.toDisplayString(Math.round(t.value))+"% ",1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(a.value)},[e.createElementVNode("div",{class:e.normalizeClass(r.value),style:e.normalizeStyle(l.value)},null,6)],2)]))}},[["__scopeId","data-v-3a9eaee4"]]),jn=({value:t=0,label:n="",showPercent:a=!1,color:r="primary",size:l="md",animated:o=!1,className:s="",...i})=>{const c=["primary","success","warning","error","purple","orange","cyan","pink"].includes(r)?r:"primary",d=Math.max(0,Math.min(100,t)),f=["wc-progress",`wc-progress--${l}`],p=["wc-progress__bar",`wc-progress__bar--${c}`,o&&"wc-progress__bar--animated"].filter(Boolean).join(" "),h={width:`${d}%`};return m.jsxs("div",{className:`wc-progress-wrapper ${s}`,...i,children:[(n||a)&&m.jsxs("div",{className:"wc-progress-header",children:[n&&m.jsx("label",{className:"wc-progress-label",children:n}),a&&m.jsxs("span",{className:"wc-progress-percent",children:[Math.round(d),"%"]})]}),m.jsx("div",{className:f.join(" "),children:m.jsx("div",{className:p,style:h})})]})};jn.displayName="Progress";const bd=["name","value","checked","disabled"],wd={key:0,class:"radio-dot"},kd={key:0,class:"radio-label"},xd={__name:"Radio",props:{modelValue:{type:[String,Number,Boolean],default:null},value:{type:[String,Number,Boolean],required:!0},name:{type:String,default:""},label:{type:String,default:""},disabled:{type:Boolean,default:!1},color:{type:String,default:"primary",validator:t=>["primary","secondary","success","error","warning","info"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=t,r=n,l=e.inject("radioGroup",null),o=e.ref(!1),s=e.computed(()=>l?l.modelValue.value===a.value:a.modelValue===a.value);e.computed(()=>l?l.name.value:a.name);const i=e.computed(()=>l&&l.disabled.value||a.disabled),u=e.computed(()=>{const y=["wc-radio"];return y.push(`wc-radio--${a.size}`),i.value&&y.push("wc-radio--disabled"),o.value&&y.push("wc-radio--focused"),y}),c=e.computed(()=>["wc-radio__input"]),d=e.computed(()=>{const y=["wc-radio__button"];return y.push(`wc-radio__button--${a.color}`),y.push(`wc-radio__button--${a.size}`),s.value&&y.push("wc-radio__button--checked"),y}),f=y=>{if(i.value)return;const g=a.value;l?l.updateValue(g):r("update:modelValue",g),r("change",g)},p=()=>{o.value=!0},h=()=>{o.value=!1};return(y,g)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(u.value)},[e.createElementVNode("input",{type:"radio",name:t.name,value:t.value,checked:s.value,disabled:t.disabled,class:e.normalizeClass(c.value),onChange:f,onFocus:p,onBlur:h},null,42,bd),e.createElementVNode("span",{class:e.normalizeClass(d.value)},[s.value?(e.openBlock(),e.createElementBlock("span",wd)):e.createCommentVNode("",!0)],2),y.$slots.default||t.label?(e.openBlock(),e.createElementBlock("span",kd,[e.renderSlot(y.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])])):e.createCommentVNode("",!0)],2))}},Tn=_.createContext(null);function Cd({value:t,onChange:n,name:a,disabled:r=!1,children:l,className:o=""}){const[s,i]=_.useState(t),u=t!==void 0,c=u?t:s,d=_.useCallback(f=>{r||(u||i(f),n==null||n(f))},[r,u,n]);return m.jsx(Tn.Provider,{value:{value:c,updateValue:d,name:a,disabled:r},children:m.jsx("div",{className:o,children:l})})}function Sd({value:t,checked:n,onChange:a,label:r,name:l,disabled:o=!1,color:s="primary",size:i="md",className:u="",children:c,...d}){const f=_.useContext(Tn),p=f?f.value===t:n!==void 0?n:void 0,h=f?f.name:l,y=f&&f.disabled||o,g=k=>{y||(f?f.updateValue(t):a==null||a(t))};return m.jsxs("label",{className:`wc-radio wc-radio--${i}${y?" wc-radio--disabled":""} ${u}`.trim(),children:[m.jsx("input",{type:"radio",className:"wc-radio__input",name:h,value:t,checked:p,disabled:y,onChange:g,...d}),m.jsx("span",{className:`wc-radio__button wc-radio__button--${s} wc-radio__button--${i}${p?" wc-radio__button--checked":""}`}),(c||r)&&m.jsx("span",{className:"radio-label",children:c||r})]})}const Bd={class:"wc-radio-group"},_d={key:0,class:"wc-radio-group-label"},Nd={key:0,class:"text-error-500"},Ed={key:1,class:"mt-2"},vd={key:0,class:"text-sm text-error-500"},$d={key:1,class:"text-sm text-neutral-500"},Vd={__name:"RadioGroup",props:{modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,required:!0},label:{type:String,default:""},row:{type:Boolean,default:!1},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},error:{type:String,default:""},helperText:{type:String,default:""},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},color:{type:String,default:"primary",validator:t=>["primary","secondary","success","warning","error"].includes(t)}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=t,r=n,l=e.computed(()=>{const s=["wc-radio-group-content"];return a.row?s.push("flex flex-wrap gap-4"):s.push("space-y-2"),s});return e.provide("radioGroupContext",{modelValue:a.modelValue,name:a.name,disabled:a.disabled,size:a.size,color:a.color,updateValue:o=>{r("update:modelValue",o),r("change",o)}}),(o,s)=>(e.openBlock(),e.createElementBlock("div",Bd,[t.label?(e.openBlock(),e.createElementBlock("label",_d,[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Nd,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(l.value)},[e.renderSlot(o.$slots,"default")],2),t.error||t.helperText?(e.openBlock(),e.createElementBlock("div",Ed,[t.error?(e.openBlock(),e.createElementBlock("p",vd,e.toDisplayString(t.error),1)):t.helperText?(e.openBlock(),e.createElementBlock("p",$d,e.toDisplayString(t.helperText),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}},jd={name:"Rating",props:{modelValue:{type:Number,default:0},max:{type:Number,default:5},readonly:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=e.ref(t.modelValue),r=e.ref(0);return e.watch(()=>t.modelValue,s=>a.value=s),{internalValue:a,hovered:r,select:s=>{if(t.readonly)return;const i=s===a.value?0:s;a.value=i,n("update:modelValue",i),n("change",i)},hover:s=>{t.readonly||(r.value=s)}}}},Td={class:"rating",role:"radiogroup","aria-label":"评分组件"},Dd=["aria-checked","disabled","onMouseenter","onClick"];function Id(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("div",Td,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.max,s=>(e.openBlock(),e.createElementBlock("button",{key:s,class:e.normalizeClass(["rating-item",s<=r.hovered||s<=r.internalValue?"active":""]),"aria-checked":s===r.internalValue?"true":"false",role:"radio",disabled:a.readonly,onMouseenter:i=>r.hover(s),onMouseleave:n[0]||(n[0]=i=>r.hover(0)),onClick:i=>r.select(s)}," ★ ",42,Dd))),128))])}const zd=ae(jd,[["render",Id]]),Pd=({value:t=0,max:n=5,readOnly:a=!1,onChange:r=()=>{},className:l="",style:o={},...s})=>{const[i,u]=_.useState(0),[c,d]=_.useState(t);_.useEffect(()=>d(t),[t]),_.useEffect(()=>{if(document.getElementById("wc-rating-style"))return;const y=document.createElement("style");y.id="wc-rating-style",y.innerHTML=`
      .wc-rating{display:inline-flex;gap:4px;}
      .wc-rating-item{background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;color:var(--wc-neutral-300);transition:color 0.2s ease;}
      .wc-rating-item.active{color:var(--wc-warning-500);}
      .wc-rating-item:hover{transform:scale(1.1);}
      .wc-rating-item:disabled{cursor:default;}
      .dark .wc-rating-item{color:var(--wc-neutral-500);}
      .dark .wc-rating-item.active{color:var(--wc-warning-400);}
    `,document.head.appendChild(y)},[]);const f=y=>{if(a)return;const g=y===c?0:y;d(g),r(g)},p=y=>{a||u(y)},h=[];for(let y=1;y<=n;y++){const g=y<=i||y<=c;h.push(m.jsx("button",{type:"button",className:`wc-rating-item ${g?"active":""}`,onMouseEnter:()=>p(y),onMouseLeave:()=>p(0),onClick:()=>f(y),disabled:a,"aria-checked":y===c,role:"radio",children:g?"★":"☆"},y))}return m.jsx("div",{className:`wc-rating ${l}`,role:"radiogroup","aria-label":"评分组件",style:o,...s,children:h})},Md={class:"wc-select"},Od=["for"],Ad={key:0,class:"wc-select__required"},Ld={class:"wc-select__value"},Rd={key:0},Fd={key:1,class:"wc-select__placeholder"},qd={class:"wc-select__indicators"},Wd={key:1,class:"wc-select__dropdown"},Hd={key:0,class:"wc-select__search"},Ud={class:"wc-select__options"},Yd=["onClick"],Gd={class:"wc-select__option-text"},Kd={key:0,class:"wc-select__option-check",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Jd={key:0,class:"wc-select__no-options"},Xd={key:2},Qd={key:0,class:"wc-select__error"},Zd={key:1,class:"wc-select__helper"},eu={__name:"Select",props:{modelValue:{type:[String,Number,Array],default:null},options:{type:Array,default:()=>[]},label:{type:String,default:""},placeholder:{type:String,default:"请选择..."},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{type:String,default:""},helperText:{type:String,default:""},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"outlined",validator:t=>["outlined","filled","standard"].includes(t)},multiple:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=t,r=n,l=e.getCurrentInstance(),o=e.ref(`select-${(l==null?void 0:l.uid)||Math.random().toString(36).substr(2,9)}`),s=e.ref(!1),i=e.ref(""),u=e.computed(()=>{const S=["wc-select__label"];return S.push(`wc-select__label--${a.size}`),a.error&&S.push("wc-select__label--error"),S}),c=e.computed(()=>{const S=["wc-select__container"];return S.push(`wc-select__container--${a.variant}`),S.push(`wc-select__container--${a.size}`),a.disabled&&S.push("wc-select__container--disabled"),a.error&&S.push("wc-select__container--error"),s.value&&S.push("wc-select__container--open"),S}),d=e.computed(()=>!a.searchable||!i.value?a.options:a.options.filter(S=>h(S).toLowerCase().includes(i.value.toLowerCase()))),f=e.computed(()=>{if(a.multiple&&Array.isArray(a.modelValue)){if(a.modelValue.length===0)return"";if(a.modelValue.length===1){const S=a.options.find(x=>p(x)===a.modelValue[0]);return S?h(S):""}return`已选择 ${a.modelValue.length} 项`}else{const S=a.options.find(x=>p(x)===a.modelValue);return S?h(S):""}}),p=S=>typeof S=="object"?S[a.valueKey]:S,h=S=>typeof S=="object"?S[a.labelKey]:S,y=S=>{const x=p(S);return a.multiple&&Array.isArray(a.modelValue)?a.modelValue.includes(x):a.modelValue===x},g=S=>{const x=["wc-select__option"];return y(S)&&x.push("wc-select__option--selected"),x},k=()=>{a.disabled||(s.value=!s.value,s.value&&(i.value=""))},B=S=>{const x=p(S);if(a.multiple){const w=Array.isArray(a.modelValue)?[...a.modelValue]:[],E=w.indexOf(x);E>-1?w.splice(E,1):w.push(x),r("update:modelValue",w),r("change",w)}else r("update:modelValue",x),r("change",x),s.value=!1},v=S=>{S.target.closest(".wc-select")||(s.value=!1)};return e.onMounted(()=>{document.addEventListener("click",v)}),e.onUnmounted(()=>{document.removeEventListener("click",v)}),(S,x)=>(e.openBlock(),e.createElementBlock("div",Md,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:o.value,class:e.normalizeClass(u.value)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Ad,"*")):e.createCommentVNode("",!0)],10,Od)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(c.value),onClick:k},[e.createElementVNode("div",Ld,[f.value?(e.openBlock(),e.createElementBlock("span",Rd,e.toDisplayString(f.value),1)):(e.openBlock(),e.createElementBlock("span",Fd,e.toDisplayString(t.placeholder),1))]),e.createElementVNode("div",qd,[e.createElementVNode("div",{class:e.normalizeClass(["wc-select__arrow",{"wc-select__arrow--open":s.value}])},x[2]||(x[2]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"6,9 12,15 18,9"})],-1)]),2)])],2),s.value?(e.openBlock(),e.createElementBlock("div",Wd,[t.searchable?(e.openBlock(),e.createElementBlock("div",Hd,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":x[0]||(x[0]=w=>i.value=w),class:"wc-select__search-input",placeholder:"搜索...",onClick:x[1]||(x[1]=e.withModifiers(()=>{},["stop"]))},null,512),[[e.vModelText,i.value]])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ud,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,w=>(e.openBlock(),e.createElementBlock("div",{key:p(w),class:e.normalizeClass(g(w)),onClick:E=>B(w)},[e.createElementVNode("span",Gd,e.toDisplayString(h(w)),1),y(w)?(e.openBlock(),e.createElementBlock("svg",Kd,x[3]||(x[3]=[e.createElementVNode("polyline",{points:"20,6 9,17 4,12"},null,-1)]))):e.createCommentVNode("",!0)],10,Yd))),128)),d.value.length===0?(e.openBlock(),e.createElementBlock("div",Jd," 没有找到选项 ")):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),t.error||t.helperText?(e.openBlock(),e.createElementBlock("div",Xd,[t.error?(e.openBlock(),e.createElementBlock("p",Qd,e.toDisplayString(t.error),1)):t.helperText?(e.openBlock(),e.createElementBlock("p",Zd,e.toDisplayString(t.helperText),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}},tu=ae(e.defineComponent({__name:"Skeleton",props:{loading:{type:Boolean,default:!0},animation:{type:[String,Boolean],default:"pulse",validator:t=>[!1,"pulse","wave"].includes(t)},component:{type:String,default:"div"},height:{type:[String,Number],default:void 0},width:{type:[String,Number],default:void 0},variant:{type:String,default:"text",validator:t=>["text","rectangular","rounded","circular"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const l=["wc-skeleton"];return l.push(`wc-skeleton--${n.variant}`),n.animation==="pulse"?l.push("wc-skeleton--pulse"):n.animation==="wave"&&l.push("wc-skeleton--wave"),l.join(" ")}),r=e.computed(()=>{const l={};return n.width!==void 0&&(l.width=typeof n.width=="number"?`${n.width}px`:n.width),n.height!==void 0&&(l.height=typeof n.height=="number"?`${n.height}px`:n.height),!n.width&&!n.height&&(n.variant==="circular"?(l.width="40px",l.height="40px"):n.variant==="text"?(l.width="100%",l.height="16px"):(l.width="100%",l.height="128px")),l});return(l,o)=>t.loading?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),{key:0,class:e.normalizeClass(a.value),style:e.normalizeStyle(r.value),role:"status","aria-live":"polite"},null,8,["class","style"])):e.renderSlot(l.$slots,"default",{key:1},void 0,!0)}}),[["__scopeId","data-v-d5fa7567"]]),Dn={text:"wc-skeleton--text",rectangular:"wc-skeleton--rectangular",rounded:"wc-skeleton--rounded",circular:"wc-skeleton--circular"},nu=({animation:t="pulse",component:n="div",height:a,width:r,variant:l="text",style:o={},className:s="",...i})=>{const u=_.useMemo(()=>{const d=["wc-skeleton",Dn[l]||Dn.text];return t==="pulse"&&d.push("wc-skeleton--pulse"),t==="wave"&&d.push("wc-skeleton--wave"),d.join(" ")},[t,l]);_.useEffect(()=>{if(!document.getElementById("wc-skeleton-style")){const d=document.createElement("style");d.id="wc-skeleton-style",d.innerHTML=`
      .wc-skeleton{background-color:var(--wc-neutral-200);display:block;position:relative;overflow:hidden;}
      .wc-skeleton--text{border-radius:4px;}
      .wc-skeleton--rectangular{border-radius:4px;}
      .wc-skeleton--rounded{border-radius:8px;}
      .wc-skeleton--circular{border-radius:50%;}
      .wc-skeleton--pulse{animation:wc-skeleton-pulse 1.5s ease-in-out infinite;}
      @keyframes wc-skeleton-pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}
      .wc-skeleton--wave::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation:wc-skeleton-wave 1.6s linear infinite;}
      @keyframes wc-skeleton-wave{0%{transform:translateX(-100%);}50%{transform:translateX(100%);}100%{transform:translateX(100%);}}
      .dark .wc-skeleton{background-color:var(--wc-neutral-700);}
      `,document.head.appendChild(d)}},[]);const c={...o};return r!==void 0&&(c.width=typeof r=="number"?`${r}px`:r),a!==void 0&&(c.height=typeof a=="number"?`${a}px`:a),!r&&!a&&(l==="circular"?(c.width="40px",c.height="40px"):l==="text"?(c.width="100%",c.height="16px"):(c.width="100%",c.height="128px")),m.jsx(n,{className:`${u} ${s}`,style:c,role:"status","aria-live":"polite",...i})},au={class:"wc-slider"},ru={key:0,class:"wc-slider__label"},lu=["tabindex","aria-valuemin","aria-valuemax","aria-valuenow"],ou={key:1,class:"wc-slider__value"},su=ae({__name:"Slider",props:{modelValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},disabled:{type:Boolean,default:!1},label:{type:String,default:""},valueLabelDisplay:{type:String,default:"off"}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(null),o=e.ref(!1),s=e.computed(()=>(a.modelValue-a.min)/(a.max-a.min)*100),i=y=>{if(a.disabled)return;const g=Math.round(y/a.step)*a.step,k=Math.min(Math.max(g,a.min),a.max);r("update:modelValue",k),r("change",k)},u=y=>{const g=l.value.getBoundingClientRect(),k=Math.max(0,Math.min(1,(y-g.left)/g.width));return a.min+k*(a.max-a.min)},c=y=>{if(a.disabled||o.value)return;const g=u(y.clientX);i(g)},d=y=>{a.disabled||(y.preventDefault(),y.stopPropagation(),o.value=!0,document.addEventListener("mousemove",f),document.addEventListener("mouseup",p),document.body.style.userSelect="none")},f=y=>{if(!o.value||a.disabled)return;const g=u(y.clientX);i(g)},p=()=>{o.value=!1,document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p),document.body.style.userSelect=""},h=y=>{if(a.disabled)return;let g=a.modelValue;switch(y.key){case"ArrowRight":case"ArrowUp":g+=a.step;break;case"ArrowLeft":case"ArrowDown":g-=a.step;break;case"Home":g=a.min;break;case"End":g=a.max;break;default:return}y.preventDefault(),i(g)};return e.onUnmounted(()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p),document.body.style.userSelect=""}),(y,g)=>(e.openBlock(),e.createElementBlock("div",au,[t.label?(e.openBlock(),e.createElementBlock("div",ru,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"sliderTrack",ref:l,class:"wc-slider__track",onClick:c},[g[1]||(g[1]=e.createElementVNode("div",{class:"wc-slider__rail"},null,-1)),e.createElementVNode("div",{class:"wc-slider__track-active",style:e.normalizeStyle({width:s.value+"%"})},null,4),e.createElementVNode("div",{class:"wc-slider__thumb",style:e.normalizeStyle({left:s.value+"%"}),tabindex:t.disabled?-1:0,role:"slider","aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":t.modelValue,onKeydown:h,onMousedown:d},g[0]||(g[0]=[e.createElementVNode("div",{class:"wc-slider__thumb-inner"},null,-1)]),44,lu)],512),t.valueLabelDisplay!=="off"?(e.openBlock(),e.createElementBlock("div",ou,e.toDisplayString(t.modelValue),1)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-950e7a9e"]]),iu=({value:t,defaultValue:n=0,min:a=0,max:r=100,step:l=1,disabled:o=!1,label:s="",valueLabelDisplay:i="off",onChange:u=()=>{},className:c="",style:d={},...f})=>{const[p,h]=_.useState(t!==void 0?t:n);_.useEffect(()=>{t!==void 0&&h(t)},[t]);const y=B=>{const v=Number(B.target.value);t===void 0&&h(v),u(v)};_.useEffect(()=>{if(document.getElementById("wc-slider-style"))return;const B=document.createElement("style");B.id="wc-slider-style",B.innerHTML=`
      .wc-slider{display:flex;flex-direction:column;gap:8px;width:100%;}
      .wc-slider__label{font-size:0.875rem;font-weight:500;color:var(--wc-neutral-700);}
      .wc-slider__input{appearance:none;width:100%;height:4px;background:var(--wc-neutral-300);border-radius:2px;outline:none;cursor:pointer;}
      .wc-slider__input::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:var(--wc-primary-500);border:2px solid var(--wc-neutral-0);cursor:pointer;}
      .wc-slider__input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--wc-primary-500);border:2px solid var(--wc-neutral-0);cursor:pointer;}
      .wc-slider__value{font-size:0.875rem;text-align:center;color:var(--wc-neutral-700);} 
    `,document.head.appendChild(B)},[]);const g=_.useMemo(()=>(p-a)/(r-a)*100,[p,a,r]),k={background:`linear-gradient(to right, var(--wc-primary-500) 0%, var(--wc-primary-500) ${g}%, var(--wc-neutral-300) ${g}%, var(--wc-neutral-300) 100%)`};return m.jsxs("div",{className:`wc-slider ${c}`,style:d,...f,children:[s&&m.jsx("div",{className:"wc-slider__label",children:s}),m.jsx("input",{type:"range",className:"wc-slider__input",min:a,max:r,step:l,value:p,onChange:y,disabled:o,style:k,"aria-valuemin":a,"aria-valuemax":r,"aria-valuenow":p,role:"slider"}),i!=="off"&&m.jsx("div",{className:"wc-slider__value",children:p})]})},cu={name:"SlideOver",props:{modelValue:{type:Boolean,default:!1},placement:{type:String,default:"right",validator:t=>["left","right"].includes(t)},width:{type:[String,Number],default:"400px"}},emits:["update:modelValue","open","close"],setup(t,{emit:n}){const a=e.computed({get:()=>t.modelValue,set:o=>n("update:modelValue",o)}),r=()=>{a.value=!1,n("close")},l=e.computed(()=>({width:typeof t.width=="number"?t.width+"px":t.width}));return{model:a,close:r,panelStyle:l}}},du={key:0,class:"slideover-header"},uu={class:"slideover-body"},fu={key:1,class:"slideover-footer"};function mu(t,n,a,r,l,o){return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"slideover"},{default:e.withCtx(()=>[r.model?(e.openBlock(),e.createElementBlock("div",{key:0,class:"slideover-wrapper",tabindex:"-1",onKeydown:n[2]||(n[2]=e.withKeys((...s)=>r.close&&r.close(...s),["esc"]))},[e.createElementVNode("div",{class:"slideover-overlay",onClick:n[0]||(n[0]=(...s)=>r.close&&r.close(...s))}),e.createElementVNode("div",{class:e.normalizeClass(["slideover-panel",[`slideover-${a.placement}`]]),style:e.normalizeStyle(r.panelStyle)},[t.$slots.header?(e.openBlock(),e.createElementBlock("header",du,[e.renderSlot(t.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",uu,[e.renderSlot(t.$slots,"default",{},void 0,!0)]),t.$slots.footer?(e.openBlock(),e.createElementBlock("footer",fu,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"slideover-close","aria-label":"关闭",onClick:n[1]||(n[1]=(...s)=>r.close&&r.close(...s))}," ✕ ")],6)],32)):e.createCommentVNode("",!0)]),_:3})])}const pu=ae(cu,[["render",mu],["__scopeId","data-v-a1e76874"]]),hu=({open:t=!1,onClose:n=()=>{},placement:a="right",width:r=400,children:l,header:o,footer:s})=>(_.useEffect(()=>{if(!t)return;const i=u=>{u.key==="Escape"&&n()};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[t,n]),typeof document>"u"?null:Re.createPortal(t?m.jsxs("div",{className:"slideover-wrapper",role:"dialog","aria-modal":"true",children:[m.jsx("div",{className:"slideover-overlay",onClick:n}),m.jsxs("div",{className:`slideover-panel slideover-${a}`,style:{width:typeof r=="number"?`${r}px`:r},children:[o&&m.jsx("header",{className:"slideover-header",children:o}),m.jsx("div",{className:"slideover-body",children:l}),s&&m.jsx("footer",{className:"slideover-footer",children:s}),m.jsx("button",{className:"slideover-close",onClick:n,"aria-label":"关闭",children:"✕"})]}),m.jsx("style",{children:`
          .slideover-wrapper{position:fixed;inset:0;z-index:3000;display:flex;}
          .slideover-overlay{flex:1 1 auto;background:rgba(0,0,0,0.4);backdrop-filter:blur(2px);} 
          .slideover-panel{position:relative;background:var(--wc-neutral-0);max-height:100vh;overflow-y:auto;display:flex;flex-direction:column;}
          .slideover-left{order:0;} .slideover-right{order:1;}
          .slideover-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.25rem;cursor:pointer;}
          .slideover-header,.slideover-footer{padding:16px;border-bottom:1px solid var(--wc-neutral-200);} 
          .slideover-footer{border-top:1px solid var(--wc-neutral-200);border-bottom:none;}
          .slideover-body{padding:16px;flex:1 1 auto;}
          .slideover-enter{opacity:0;transform:translateX(${a==="right"?"100%":"-100%"});}
        `})]}):null,document.body)),yu={class:"flex items-start gap-3 w-full"},gu={class:"flex-1 min-w-0"},bu={key:0,class:"font-semibold text-sm mb-1 leading-tight"},wu={class:"text-sm"},ku={key:1,class:"flex-shrink-0"},xu={key:2,class:"flex-shrink-0"},Cu={key:0,class:"mt-3 w-full bg-gray-200 dark:bg-gray-700 rounded-full h-1"},Su={__name:"Snackbar",props:{open:{type:Boolean,default:!1},modelValue:{type:Boolean,default:void 0},message:{type:String,default:""},title:{type:String,default:""},autoHideDuration:{type:Number,default:6e3},anchorOrigin:{type:Object,default:()=>({vertical:"bottom",horizontal:"left"})},severity:{type:String,default:"info",validator:t=>["success","info","warning","error"].includes(t)},variant:{type:String,default:"filled",validator:t=>["filled","outlined","standard"].includes(t)},action:{type:String,default:""},closable:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},showProgress:{type:Boolean,default:!1}},emits:["close","action","update:modelValue"],setup(t,{emit:n}){const a=t,r=n,l=e.computed(()=>a.modelValue!==void 0?a.modelValue:a.open),o={success:"✓",info:"ℹ",warning:"⚠",error:"✕"};let s=null,i=null;const u=e.ref(100),c=e.computed(()=>{const x=["fixed z-50 w-full max-w-sm bg-white dark:bg-neutral-800 rounded-lg shadow-lg border border-neutral-200 dark:border-neutral-700 p-4 transition-all duration-300 ease-in-out"],{vertical:w,horizontal:E}=a.anchorOrigin;if(w==="top"?x.push("top-4"):x.push("bottom-4"),E==="left"?x.push("left-4"):E==="right"?x.push("right-4"):x.push("left-1/2 transform -translate-x-1/2"),a.variant==="filled"){const O={success:"bg-success-500 border-success-500",info:"bg-primary-500 border-primary-500",warning:"bg-warning-500 border-warning-500",error:"bg-error-500 border-error-500"};x.push(O[a.severity])}else if(a.variant==="outlined"){const O={success:"border-success-500 text-success-600 dark:text-success-400 border-l-4",info:"border-primary-500 text-primary-600 dark:text-primary-400 border-l-4",warning:"border-warning-500 text-warning-600 dark:text-warning-400 border-l-4",error:"border-error-500 text-error-600 dark:text-error-400 border-l-4"};x.push(O[a.severity])}else x.push("text-neutral-900 dark:text-neutral-100");return x}),d=e.computed(()=>{const x=["text-sm font-medium px-3 py-1 rounded-md transition-colors duration-150 focus:outline-none focus:ring-2 focus:ring-offset-2"];if(a.variant==="filled")x.push("hover:bg-white hover:bg-opacity-20 focus:ring-white");else{const w={success:"text-success-600 dark:text-success-400 hover:bg-success-50 dark:hover:bg-success-900/20 focus:ring-success-500",info:"text-primary-600 dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-900/20 focus:ring-primary-500",warning:"text-warning-600 dark:text-warning-400 hover:bg-warning-50 dark:hover:bg-warning-900/20 focus:ring-warning-500",error:"text-error-600 dark:text-error-400 hover:bg-error-50 dark:hover:bg-error-900/20 focus:ring-error-500"};x.push(w[a.severity])}return x}),f=e.computed(()=>{const x=["inline-flex rounded-md p-1 focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors duration-150"];if(a.variant==="filled")x.push("hover:bg-white hover:bg-opacity-20 focus:ring-white");else{const w={success:"text-success-400 hover:text-success-500 focus:ring-success-500",info:"text-primary-400 hover:text-primary-500 focus:ring-primary-500",warning:"text-warning-400 hover:text-warning-500 focus:ring-warning-500",error:"text-error-400 hover:text-error-500 focus:ring-error-500"};x.push(w[a.severity]||"text-neutral-400 hover:text-neutral-500 focus:ring-neutral-500")}return x}),p=e.computed(()=>a.variant==="filled"?"text-gray":{success:"text-success-500",info:"text-primary-500",warning:"text-warning-500",error:"text-error-500"}[a.severity]),h=e.computed(()=>a.variant==="filled"?"bg-white bg-opacity-30":{success:"bg-success-500",info:"bg-primary-500",warning:"bg-warning-500",error:"bg-error-500"}[a.severity]),y=e.computed(()=>o[a.severity]||o.info),g=()=>{r("close"),a.modelValue!==void 0&&r("update:modelValue",!1)},k=()=>r("action"),B=()=>{if(a.autoHideDuration>0){u.value=100;const S=Date.now();s=setTimeout(()=>{g()},a.autoHideDuration),a.showProgress&&(i=setInterval(()=>{const x=Date.now()-S,w=Math.max(0,100-x/a.autoHideDuration*100);u.value=w,w<=0&&clearInterval(i)},50))}},v=()=>{s&&(clearTimeout(s),s=null),i&&(clearInterval(i),i=null)};return e.watch(l,S=>{S?B():v()}),e.onMounted(()=>{l.value&&B()}),e.onUnmounted(()=>v()),(S,x)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"snackbar","enter-active-class":"transition ease-out duration-300","enter-from-class":"opacity-0 translate-y-2","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition ease-in duration-200","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 translate-y-2"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(c.value),role:"alert","aria-live":"assertive","aria-atomic":"true"},[e.createElementVNode("div",yu,[t.showIcon?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([p.value,"flex-shrink-0 w-5 h-5 flex items-center justify-center font-bold text-lg"])},e.toDisplayString(y.value),3)):e.createCommentVNode("",!0),e.createElementVNode("div",gu,[t.title?(e.openBlock(),e.createElementBlock("div",bu,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(S.$slots,"default",{},()=>[e.createElementVNode("div",wu,e.toDisplayString(t.message),1)])]),S.$slots.action||t.action?(e.openBlock(),e.createElementBlock("div",ku,[e.renderSlot(S.$slots,"action",{},()=>[t.action?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(d.value),onClick:k},e.toDisplayString(t.action),3)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),t.closable?(e.openBlock(),e.createElementBlock("div",xu,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(f.value),"aria-label":"关闭",onClick:g},x[0]||(x[0]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1)]),2)])):e.createCommentVNode("",!0)]),t.showProgress&&t.autoHideDuration>0?(e.openBlock(),e.createElementBlock("div",Cu,[e.createElementVNode("div",{class:e.normalizeClass([h.value,"h-1 rounded-full transition-all duration-100"]),style:e.normalizeStyle({width:`${u.value}%`})},null,6)])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})]))}},Bu={success:"✓",info:"ℹ",warning:"⚠",error:"✕"};function _u({open:t=!1,message:n="",title:a="",severity:r="info",variant:l="filled",autoHideDuration:o=6e3,anchorOrigin:s={vertical:"bottom",horizontal:"left"},action:i="",closable:u=!0,showIcon:c=!0,showProgress:d=!1,onClose:f=()=>{},onAction:p=()=>{},children:h}){const[y,g]=_.useState(t),[k,B]=_.useState(100);_.useEffect(()=>{g(t),t&&B(100)},[t]),_.useEffect(()=>{if(!y||o<=0)return;const A=Date.now(),U=setTimeout(()=>{v()},o);if(d){const M=setInterval(()=>{const J=Date.now()-A,T=Math.max(0,100-J/o*100);B(T),T<=0&&clearInterval(M)},50);return()=>{clearTimeout(U),clearInterval(M)}}return()=>clearTimeout(U)},[y,o,d]);const v=()=>{g(!1),f()},S=()=>{p()};if(!y)return null;const w=["fixed z-50 w-full max-w-sm bg-white dark:bg-neutral-800 rounded-lg shadow-lg border border-neutral-200 dark:border-neutral-700 p-4 transition-all duration-300 ease-in-out"],{vertical:E,horizontal:O}=s;if(w.push(E==="top"?"top-4":"bottom-4"),O==="left"?w.push("left-4"):O==="right"?w.push("right-4"):w.push("left-1/2 transform -translate-x-1/2"),l==="filled"){const A={success:"bg-success-500 border-success-500",info:"bg-primary-500 border-primary-500",warning:"bg-warning-500 border-warning-500",error:"bg-error-500 border-error-500"};w.push(A[r])}else if(l==="outlined"){const A={success:"border-success-500 text-success-600 dark:text-success-400 border-l-4",info:"border-primary-500 text-primary-600 dark:text-primary-400 border-l-4",warning:"border-warning-500 text-warning-600 dark:text-warning-400 border-l-4",error:"border-error-500 text-error-600 dark:text-error-400 border-l-4"};w.push(A[r])}else w.push("text-neutral-900 dark:text-neutral-100");const $=l==="filled"?"hover:bg-white hover:bg-opacity-20 focus:ring-white text-sm font-medium px-3 py-1 rounded-md transition-colors":{success:"text-success-600 dark:text-success-400 hover:bg-success-50 dark:hover:bg-success-900/20",info:"text-primary-600 dark:text-primary-400 hover:bg-primary-50 dark:hover:bg-primary-900/20",warning:"text-warning-600 dark:text-warning-400 hover:bg-warning-50 dark:hover:bg-warning-900/20",error:"text-error-600 dark:text-error-400 hover:bg-error-50 dark:hover:bg-error-900/20"}[r]+" text-sm font-medium px-3 py-1 rounded-md transition-colors",R=l==="filled"?"inline-flex rounded-md p-1 hover:bg-white hover:bg-opacity-20 transition-colors":"inline-flex rounded-md p-1 text-neutral-400 hover:text-neutral-500 transition-colors",N=l==="filled"?"text-gray":{success:"text-success-500",info:"text-primary-500",warning:"text-warning-500",error:"text-error-500"}[r],D=m.jsxs("div",{className:w.join(" "),role:"alert","aria-live":"assertive","aria-atomic":"true",children:[m.jsxs("div",{className:"flex items-start gap-3 w-full",children:[c&&m.jsx("div",{className:`flex-shrink-0 w-5 h-5 flex items-center justify-center font-bold text-lg ${N}`,children:Bu[r]}),m.jsxs("div",{className:"flex-1 min-w-0",children:[a&&m.jsx("div",{className:"font-semibold text-sm mb-1 leading-tight",children:a}),h||m.jsx("div",{className:"text-sm",children:n})]}),(i||(h==null?void 0:h.action))&&m.jsx("div",{className:"flex-shrink-0",children:(h==null?void 0:h.action)||m.jsx("button",{className:$,onClick:S,type:"button",children:i})}),u&&m.jsx("div",{className:"flex-shrink-0",children:m.jsx("button",{className:R,onClick:v,"aria-label":"关闭",type:"button",children:m.jsx("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:m.jsx("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})})})]}),d&&o>0&&m.jsx("div",{className:"mt-3 w-full bg-gray-200 dark:bg-gray-700 rounded-full h-1",children:m.jsx("div",{className:`h-1 rounded-full transition-all duration-100 ${l==="filled"?"bg-white bg-opacity-30":{success:"bg-success-500",info:"bg-primary-500",warning:"bg-warning-500",error:"bg-error-500"}[r]}`,style:{width:`${k}%`}})})]});return Re.createPortal(D,document.body)}const Nu={key:0,class:"wc-spinner__text"},Eu=ae({__name:"Spinner",props:{size:{type:Number,default:40},color:{type:String,default:"var(--wc-primary-500)"},thickness:{type:Number,default:4},variant:{type:String,default:"default",validator:t=>["default","dots","pulse"].includes(t)},text:{type:String,default:""},speed:{type:String,default:"1s"},overlay:{type:Boolean,default:!1},centered:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},visible:{type:Boolean,default:!0}},setup(t){const n=t,a=e.computed(()=>{const l=["wc-spinner"];return n.variant!=="default"&&l.push(`wc-spinner--${n.variant}`),n.overlay&&l.push("wc-spinner--overlay"),n.centered&&l.push("wc-spinner--centered"),n.inline&&l.push("wc-spinner--inline"),l}),r=e.computed(()=>{const l={width:n.size+"px",height:n.size+"px",borderWidth:n.thickness+"px",borderTopColor:n.color};return n.speed!=="1s"&&(l["--spinner-speed"]=n.speed),l});return(l,o)=>t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(a.value),style:e.normalizeStyle(r.value)},[t.text||l.$slots.default?(e.openBlock(),e.createElementBlock("div",Nu,[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.text),1)],!0)])):e.createCommentVNode("",!0)],6)):e.createCommentVNode("",!0)}},[["__scopeId","data-v-9b0facd8"]]),vu=({size:t=40,thickness:n=4,color:a="var(--wc-primary-500)",style:r={},className:l="",...o})=>{_.useEffect(()=>{if(!document.getElementById("wc-spinner-keyframes")){const i=document.createElement("style");i.id="wc-spinner-keyframes",i.innerHTML="@keyframes wc-spin { to { transform: rotate(360deg); } }",document.head.appendChild(i)}},[]);const s={width:t,height:t,borderWidth:n,borderStyle:"solid",borderColor:"var(--wc-neutral-200)",borderTopColor:a,borderRadius:"50%",animation:"wc-spin 1s linear infinite",...r};return m.jsx("div",{className:`wc-spinner ${l}`,style:s,...o})},$u={class:"switch-wrapper"},Vu={key:0,class:"switch-label"},ju={key:0,class:"switch-required"},Tu={class:"switch-container"},Du=["disabled","aria-checked"],Iu={key:0,class:"switch-description"},zu=ae({__name:"Switch",props:{modelValue:{type:Boolean,default:!1},label:{type:String,default:""},description:{type:String,default:""},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},color:{type:String,default:"primary",validator:t=>["primary","success","warning","error","purple","orange","cyan","pink"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=t,r=n,l=e.getCurrentInstance(),o=`switch-label-${(l==null?void 0:l.uid)||Math.random().toString(36).substr(2,9)}`,s=e.computed(()=>{const c=[];return a.size==="sm"?c.push("switch--size-sm"):a.size==="lg"&&c.push("switch--size-lg"),a.modelValue&&(c.push("switch--checked"),c.push(`switch--color-${a.color}`)),a.disabled&&c.push("switch--disabled"),c}),i=e.computed(()=>{const c=[];return a.modelValue&&c.push("switch__thumb--checked"),a.size==="sm"?c.push("switch__thumb--size-sm"):a.size==="lg"&&c.push("switch__thumb--size-lg"),c}),u=()=>{if(a.disabled)return;const c=!a.modelValue;r("update:modelValue",c),r("change",c)};return(c,d)=>(e.openBlock(),e.createElementBlock("div",$u,[t.label?(e.openBlock(),e.createElementBlock("label",Vu,[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ju,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Tu,[e.createElementVNode("button",{class:e.normalizeClass(["switch",s.value]),disabled:t.disabled,type:"button",role:"switch","aria-checked":t.modelValue,"aria-labelledby":o,onClick:u},[d[0]||(d[0]=e.createElementVNode("span",{class:"switch__track"},null,-1)),e.createElementVNode("span",{class:e.normalizeClass(["switch__thumb",i.value])},null,2)],10,Du),t.description?(e.openBlock(),e.createElementBlock("span",Iu,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},[["__scopeId","data-v-f5e06078"]]),In=({checked:t=!1,onChange:n,label:a="",description:r="",disabled:l=!1,required:o=!1,color:s="primary",size:i="md",className:u="",...c})=>{const d=_.useId(),p=["primary","success","warning","error","purple","orange","cyan","pink"].includes(s)?s:"primary",y=["sm","md","lg"].includes(i)?i:"md",g=["wc-switch",`wc-switch--${p}`,y!=="md"&&`wc-switch--${y}`,l&&"wc-switch--disabled",u].filter(Boolean).join(" "),k=B=>{l||!n||n(B.target.checked)};return m.jsxs("div",{className:"wc-switch-wrapper",children:[a&&m.jsxs("label",{id:d,className:"block text-sm font-medium text-neutral-700 dark:text-neutral-300 mb-2",children:[a,o&&m.jsx("span",{className:"text-error-500 ml-1",children:"*"})]}),m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsxs("label",{className:g,"aria-disabled":l,children:[m.jsx("input",{type:"checkbox",className:"wc-switch__input",checked:t,disabled:l,"aria-labelledby":d,role:"switch",onChange:k,...c}),m.jsx("span",{className:"wc-switch__track",children:m.jsx("span",{className:"wc-switch__thumb"})})]}),r&&m.jsx("span",{className:"text-sm text-neutral-500 dark:text-neutral-400",children:r})]})]})};In.displayName="Switch";const Pu={__name:"Table",props:{size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},stickyHeader:{type:Boolean,default:!1},dense:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},striped:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>{const l=["wc-table-container"];return n.stickyHeader&&l.push("wc-table-container--sticky"),l}),r=e.computed(()=>{const l=["wc-table"];return l.push(`wc-table--${n.size}`),n.hover&&l.push("wc-table--hover"),n.striped&&l.push("wc-table--striped"),n.dense&&l.push("wc-table--dense"),l});return e.provide("tableContext",{size:n.size,dense:n.dense,hover:n.hover,striped:n.striped,stickyHeader:n.stickyHeader}),(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.createElementVNode("table",{class:e.normalizeClass(r.value)},[e.renderSlot(l.$slots,"default")],2)],2))}},Me=_.createContext({size:"md",dense:!1,hover:!1,striped:!1}),zn=({size:t="md",stickyHeader:n=!1,dense:a=!1,hover:r=!1,striped:l=!1,children:o,className:s="",...i})=>m.jsx("div",{className:`wc-table-container${n?" wc-table-container--sticky":""} ${s}`,...i,children:m.jsx("table",{className:`wc-table wc-table--${t}${r?" wc-table--hover":""}${l?" wc-table--striped":""}${a?" wc-table--dense":""}`,children:m.jsx(Me.Provider,{value:{size:t,dense:a,hover:r,striped:l,stickyHeader:n},children:o})})});zn.displayName="Table";const Pn=({children:t,className:n="",...a})=>{const{stickyHeader:r}=_.useContext(Me);return m.jsx("thead",{className:`wc-table-head${r?" wc-table-head--sticky":""} ${n}`,...a,children:t})};Pn.displayName="TableHead";const Mn=({children:t,className:n="",...a})=>m.jsx("tbody",{className:`wc-table-body ${n}`,...a,children:t});Mn.displayName="TableBody";const On=({hover:t,selected:n=!1,clickable:a=!1,children:r,className:l="",onClick:o,...s})=>{const i=_.useContext(Me),c=["wc-table-row",(t!==void 0?t:i.hover)||a?"wc-table-row--hover":"",n?"wc-table-row--selected":"",a?"wc-table-row--clickable":"",l].filter(Boolean).join(" ");return m.jsx("tr",{className:c,onClick:a?o:void 0,...s,children:r})};On.displayName="TableRow";const An=({component:t="td",align:n="inherit",padding:a="normal",size:r,sortDirection:l=!1,variant:o="body",scope:s,children:i,className:u="",...c})=>{const d=_.useContext(Me),f=r||(d.dense?"small":"medium"),p=["wc-table-cell",`wc-table-cell--${o}`,`wc-table-cell--${f}`,`wc-table-cell--padding-${a}`,n!=="inherit"?`wc-table-cell--align-${n}`:"",l?"wc-table-cell--sortable":"",l?`wc-table-cell--sort-${l}`:"",u].filter(Boolean).join(" ");return m.jsx(t,{className:p,scope:t==="th"||o==="head"?s:void 0,...c,children:i})};An.displayName="TableCell";const Mu=Object.assign(zn,{Head:Pn,Body:Mn,Row:On,Cell:An}),Ou={__name:"TableBody",setup(t){e.inject("tableContext",{size:"md",dense:!1,hover:!1,striped:!1});const n=e.computed(()=>["wc-table-body"]);return(a,r)=>(e.openBlock(),e.createElementBlock("tbody",{class:e.normalizeClass(n.value)},[e.renderSlot(a.$slots,"default")],2))}},Au={__name:"TableCell",props:{component:{type:String,default:"td"},align:{type:String,default:"inherit",validator:t=>["inherit","left","center","right","justify"].includes(t)},padding:{type:String,default:"normal",validator:t=>["normal","checkbox","none"].includes(t)},size:{type:String,default:void 0,validator:t=>!t||["small","medium"].includes(t)},sortDirection:{type:[String,Boolean],default:!1,validator:t=>[!1,"asc","desc"].includes(t)},variant:{type:String,default:"body",validator:t=>["head","body","footer"].includes(t)},scope:{type:String,default:void 0}},setup(t){const n=t,a=e.inject("tableContext",{size:"md",dense:!1}),r=e.computed(()=>n.component==="th"||n.variant==="head"),l=e.computed(()=>{const s=["wc-table-cell"];s.push(`wc-table-cell--${n.variant}`);const i=n.size||(a.dense?"small":"medium");return s.push(`wc-table-cell--${i}`),s.push(`wc-table-cell--padding-${n.padding}`),n.align!=="inherit"&&s.push(`wc-table-cell--align-${n.align}`),n.sortDirection&&(s.push("wc-table-cell--sortable"),s.push(`wc-table-cell--sort-${n.sortDirection}`)),s}),o=e.computed(()=>({}));return(s,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),{class:e.normalizeClass(l.value),style:e.normalizeStyle(o.value),scope:r.value?t.scope:void 0},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},8,["class","style","scope"]))}},Lu={__name:"TableHead",setup(t){const n=e.inject("tableContext",{size:"md",dense:!1,hover:!1,striped:!1,stickyHeader:!1}),a=e.computed(()=>{const r=["wc-table-head"];return n.stickyHeader&&r.push("wc-table-head--sticky"),r});return(r,l)=>(e.openBlock(),e.createElementBlock("thead",{class:e.normalizeClass(a.value)},[e.renderSlot(r.$slots,"default")],2))}},Ru={__name:"TableRow",props:{hover:{type:Boolean,default:void 0},selected:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,l=e.inject("tableContext",{size:"md",dense:!1,hover:!1,striped:!1}),o=e.computed(()=>{const i=["wc-table-row"];return((a.hover!==void 0?a.hover:l.hover)||a.clickable)&&i.push("wc-table-row--hover"),a.selected&&i.push("wc-table-row--selected"),a.clickable&&i.push("wc-table-row--clickable"),i}),s=i=>{a.clickable&&r("click",i)};return(i,u)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(o.value),onClick:s},[e.renderSlot(i.$slots,"default")],2))}},Fu={class:"wc-tabs-wrapper"},qu=["disabled","onClick"],Wu={class:"wc-tab-content mt-6"},Hu={__name:"Tabs",props:{tabs:{type:Array,required:!0,validator:t=>t.every(n=>n.title)},modelValue:{type:Number,default:0},variant:{type:String,default:"default",validator:t=>["default","pills","underline"].includes(t)}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(a.modelValue),o=e.computed(()=>a.tabs[l.value]),s=e.computed(()=>{const c=["wc-tabs"];switch(a.variant){case"pills":c.push("wc-tabs--pills");break;case"underline":c.push("wc-tabs--underline");break;default:c.push("wc-tabs--default")}return c}),i=c=>{var y;const d="wc-tab",f=l.value===c?"wc-tab--active":"",p=(y=a.tabs[c])!=null&&y.disabled?"opacity-50 cursor-not-allowed":"";let h="";return a.variant==="underline"&&(h="border-b-2 border-transparent rounded-none px-4 py-2 -mb-px",l.value===c&&(h+=" border-primary-500 bg-transparent text-primary-600 dark:text-primary-400")),[d,f,p,h]},u=c=>{var d;(d=a.tabs[c])!=null&&d.disabled||(l.value=c,r("update:modelValue",c),r("change",c,a.tabs[c]))};return e.watch(()=>a.modelValue,c=>{l.value=c}),(c,d)=>(e.openBlock(),e.createElementBlock("div",Fu,[e.createElementVNode("div",{class:e.normalizeClass(s.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(f,p)=>(e.openBlock(),e.createElementBlock("button",{key:f.key||p,class:e.normalizeClass(i(p)),disabled:f.disabled,type:"button",onClick:h=>u(p)},e.toDisplayString(f.title),11,qu))),128))],2),e.createElementVNode("div",Wu,[e.renderSlot(c.$slots,"default",{activeTab:o.value,activeIndex:l.value})])]))}},Ln=({tabs:t=[],activeIndex:n,onChange:a,variant:r="default",children:l,className:o="",...s})=>{const[i,u]=_.useState(n||0),c=n!==void 0,d=c?n:i;_.useEffect(()=>{c&&u(n)},[n,c]);const f=["wc-tabs",r==="pills"&&"wc-tabs--pills",r==="underline"&&"wc-tabs--underline",(r==="default"||!["pills","underline"].includes(r))&&"wc-tabs--default",o].filter(Boolean).join(" "),p=(g,k)=>{const B=["wc-tab"];return d===g&&B.push("wc-tab--active"),k&&B.push("opacity-50 cursor-not-allowed"),B.join(" ")},h=(g,k)=>{k.disabled||(c||u(g),a&&a(g,k))},y=t[d];return m.jsxs("div",{className:"wc-tabs-wrapper",...s,children:[m.jsx("div",{className:f,children:t.map((g,k)=>m.jsx("button",{className:p(k,g.disabled),onClick:()=>h(k,g),disabled:g.disabled,type:"button",children:g.title},g.key||k))}),m.jsx("div",{className:"wc-tab-content mt-6",children:typeof l=="function"?l({activeTab:y,activeIndex:d}):l})]})};Ln.displayName="Tabs";const Uu=["for"],Yu={key:0,class:"wc-textfield__required required-indicator"},Gu={key:0,class:"wc-textfield__adornment wc-textfield__adornment--start adornment start-adornment"},Ku=["id","type","placeholder","disabled","readonly","required","value","autocomplete"],Ju=["id","placeholder","disabled","readonly","required","rows","value"],Xu={key:3,class:"wc-textfield__adornment wc-textfield__adornment--end adornment end-adornment"},Qu={key:0,class:"wc-textfield__error-icon",fill:"currentColor",viewBox:"0 0 20 20"},Zu={key:0},ef=ae({__name:"TextField",props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},type:{type:String,default:"text"},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{type:String,default:""},helperText:{type:String,default:""},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"outlined",validator:t=>["outlined","filled","standard"].includes(t)},fullWidth:{type:Boolean,default:!1},multiline:{type:Boolean,default:!1},rows:{type:Number,default:4},startAdornment:String,endAdornment:String,autocomplete:String},emits:["update:modelValue","focus","blur","keydown"],setup(t,{emit:n}){const a=t,r=n,l=e.getCurrentInstance(),o=e.ref(`textfield-${(l==null?void 0:l.uid)||Math.random().toString(36).substr(2,9)}`),s=e.ref(!1),i=e.computed(()=>{const y=["wc-textfield__label"];return y.push(`wc-textfield__label--${a.size}`),a.error&&y.push("wc-textfield__label--error"),y}),u=e.computed(()=>{const y=["wc-textfield__container"];return y.push(`wc-textfield__container--${a.variant}`),y.push(`wc-textfield__container--${a.size}`),a.fullWidth&&y.push("wc-textfield__container--full-width"),a.disabled&&y.push("wc-textfield__container--disabled"),a.error&&y.push("wc-textfield__container--error"),s.value&&y.push("wc-textfield__container--focused"),y}),c=e.computed(()=>{const y=["wc-textfield__input"];return y.push(`wc-textfield__input--${a.size}`),a.multiline&&y.push("wc-textfield__textarea"),y}),d=y=>{r("update:modelValue",y.target.value)},f=y=>{s.value=!0,r("focus",y)},p=y=>{s.value=!1,r("blur",y)},h=y=>{r("keydown",y)};return(y,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["wc-textfield",{"wc-textfield--full-width":t.fullWidth,"wc-textfield--multiline":t.multiline}])},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:o.value,class:e.normalizeClass(i.value)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Yu,"*")):e.createCommentVNode("",!0)],10,Uu)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(u.value)},[y.$slots.startAdornment||t.startAdornment?(e.openBlock(),e.createElementBlock("div",Gu,[e.renderSlot(y.$slots,"startAdornment",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.startAdornment),1)],!0)])):e.createCommentVNode("",!0),t.multiline?(e.openBlock(),e.createElementBlock("textarea",e.mergeProps({key:2,id:o.value,class:c.value,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,rows:t.rows,value:t.modelValue},y.$attrs,{onInput:d,onFocus:f,onBlur:p}),null,16,Ju)):(e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,id:o.value,class:c.value,type:t.type,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,value:t.modelValue,autocomplete:t.autocomplete},y.$attrs,{onInput:d,onFocus:f,onBlur:p,onKeydown:h}),null,16,Ku)),y.$slots.endAdornment||t.endAdornment||t.error?(e.openBlock(),e.createElementBlock("div",Xu,[t.error?(e.openBlock(),e.createElementBlock("svg",Qu,g[0]||(g[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"},null,-1)]))):e.createCommentVNode("",!0),e.renderSlot(y.$slots,"endAdornment",{},()=>[t.endAdornment?(e.openBlock(),e.createElementBlock("span",Zu,e.toDisplayString(t.endAdornment),1)):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)],2),t.error||t.helperText?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["wc-textfield__helper-text helper-text helper-text-content",{"wc-textfield__helper-text--error error-text":t.error}])},e.toDisplayString(t.error||t.helperText),3)):e.createCommentVNode("",!0)],2))}},[["__scopeId","data-v-59d034dc"]]),Rn=(t,n,a="")=>{const l=["flex items-center w-full"];return t==="dense"?l.push("min-h-12 py-2"):l.push("min-h-16 py-3"),n||l.push("px-4 sm:px-6 lg:px-8"),a&&l.push(a),l.join(" ")},tf={__name:"Toolbar",props:{variant:{type:String,default:"regular",validator:t=>["regular","dense"].includes(t)},disableGutters:{type:Boolean,default:!1},class:{type:[String,Array,Object],default:""},style:{type:[String,Object],default:()=>({})}},setup(t){const n=t;function a(l){return l?typeof l=="string"?l:Array.isArray(l)?l.filter(Boolean).join(" "):typeof l=="object"?Object.entries(l).filter(([,o])=>o).map(([o])=>o).join(" "):"":""}const r=e.computed(()=>{const l=a(n.class);return Rn(n.variant,n.disableGutters,l)});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),style:e.normalizeStyle(t.style)},[e.renderSlot(l.$slots,"default")],6))}},nf=({children:t,variant:n="regular",disableGutters:a=!1,className:r="",style:l={},...o})=>{const s=Rn(n,a,r);return m.jsx("div",{className:s,style:l,...o,children:t})},Fn={top:"wc-tooltip--top",bottom:"wc-tooltip--bottom",left:"wc-tooltip--left",right:"wc-tooltip--right"},af=["top","bottom","left","right"];function qn(t){return af.includes(t)}function Wn(t){return Fn[t]||Fn.top}const rf=e.defineComponent({__name:"Tooltip",props:{text:{},placement:{default:"top"},className:{default:""}},setup(t){const n=t;qn(n.placement)||console.warn(`Invalid tooltip placement: ${n.placement}. Using 'top' as default.`);const a=e.ref(!1),r=e.computed(()=>Wn(n.placement));return(l,o)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["wc-tooltip-wrapper relative inline-block",l.className]),onMouseenter:o[0]||(o[0]=s=>a.value=!0),onMouseleave:o[1]||(o[1]=s=>a.value=!1)},[e.renderSlot(l.$slots,"default"),e.createVNode(e.Transition,{name:"tooltip-fade"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["wc-tooltip absolute z-50 px-2 py-1 rounded text-xs whitespace-nowrap",r.value])},e.toDisplayString(l.text),3)):e.createCommentVNode("",!0)]),_:1})],34))}});function lf({text:t,placement:n="top",children:a,className:r=""}){qn(n)||console.warn(`Invalid tooltip placement: ${n}. Using 'top' as default.`);const[l,o]=_.useState(!1),[s,i]=_.useState(!1),u=Wn(n),c=()=>{o(!0),i(!0)},d=()=>{o(!1),setTimeout(()=>i(!1),150)};return m.jsxs("span",{className:`wc-tooltip-wrapper relative inline-block ${r}`,onMouseEnter:c,onMouseLeave:d,children:[a,(l||s)&&m.jsx("div",{className:`wc-tooltip absolute z-50 px-2 py-1 rounded text-xs whitespace-nowrap ${u} ${l?"tooltip-fade-enter-to":"tooltip-fade-leave-to"}`,children:t})]})}const of={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",caption:"span",overline:"span",button:"span"},sf={h1:"text-6xl font-light tracking-tight",h2:"text-5xl font-light tracking-tight",h3:"text-4xl font-normal",h4:"text-3xl font-normal",h5:"text-2xl font-normal",h6:"text-xl font-medium",subtitle1:"text-base font-normal",subtitle2:"text-sm font-medium",body1:"text-base font-normal",body2:"text-sm font-normal",caption:"text-xs font-normal",overline:"text-xs font-medium uppercase tracking-wide",button:"text-sm font-medium uppercase tracking-wide"},cf={inherit:"text-inherit",primary:"text-primary-600 dark:text-primary-400",secondary:"text-neutral-600 dark:text-neutral-400",success:"text-success-600 dark:text-success-400",warning:"text-warning-600 dark:text-warning-400",error:"text-error-600 dark:text-error-400",textPrimary:"text-neutral-900 dark:text-neutral-100",textSecondary:"text-neutral-600 dark:text-neutral-400",textDisabled:"text-neutral-400 dark:text-neutral-600"},df={left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"},Hn={h1:"1.2",h2:"1.2",h3:"1.3",h4:"1.3",h5:"1.4",h6:"1.4",subtitle1:"1.5",subtitle2:"1.5",body1:"1.6",body2:"1.6",caption:"1.4",overline:"1.4",button:"1.4"};function Un(t,n){return n||of[t]||"p"}function Yn(t,n,a,r,l,o=""){return[sf[t],cf[n],a!=="inherit"?df[a]:null,r?"mb-4":null,l?"truncate":null,o].filter(Boolean).join(" ")}const uf={__name:"Typography",props:{variant:{type:String,default:"body1",validator:t=>["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","overline","button"].includes(t)},component:{type:String,default:""},color:{type:String,default:"inherit",validator:t=>["inherit","primary","secondary","success","warning","error","textPrimary","textSecondary","textDisabled"].includes(t)},align:{type:String,default:"inherit",validator:t=>["inherit","left","center","right","justify"].includes(t)},gutterBottom:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>Un(n.variant,n.component)),r=e.computed(()=>Yn(n.variant,n.color,n.align,n.gutterBottom,n.noWrap)),l=e.computed(()=>({lineHeight:Hn[n.variant]}));return(o,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),{class:e.normalizeClass(r.value),style:e.normalizeStyle(l.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class","style"]))}},Gn=({variant:t="body1",component:n,color:a="inherit",align:r="inherit",gutterBottom:l=!1,noWrap:o=!1,children:s,className:i="",style:u={},...c})=>{const d=Un(t,n),f=Yn(t,a,r,l,o,i),p={lineHeight:Hn[t],...u};return m.jsx(d,{className:f,style:p,...c,children:s})};Gn.displayName="Typography";class Kn{constructor(n,a={}){this.text=n,this.speed=a.speed||100,this.pause=a.pause||1500,this.loop=a.loop||!1,this.erase=a.erase||!1,this.index=0,this.direction=1,this.timer=null,this.onUpdate=a.onUpdate||(()=>{})}step(){this.direction===1?this.index<this.text.length?(this.index+=1,this.onUpdate(this.text.slice(0,this.index))):this.loop?this.erase?this.direction=-1:(this.stop(),setTimeout(()=>{this.index=0,this.onUpdate(""),this.start()},this.pause)):this.stop():this.index>0?(this.index-=1,this.onUpdate(this.text.slice(0,this.index))):this.direction=1}start(){this.stop(),this.timer=setInterval(()=>this.step(),this.speed)}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}reset(){this.stop(),this.index=0,this.direction=1,this.onUpdate("")}updateText(n){this.text=n,this.reset(),this.start()}}const ff={name:"TypingText",props:{text:{type:String,default:"Hello, Watercolor UI!"},speed:{type:Number,default:100},pause:{type:Number,default:1500},loop:{type:Boolean,default:!1},erase:{type:Boolean,default:!1},showCursor:{type:Boolean,default:!0}},setup(t){const n=e.ref("");let a=null;const r=()=>{a&&a.stop(),a=new Kn(t.text,{speed:t.speed,pause:t.pause,loop:t.loop,erase:t.erase,onUpdate:l=>{n.value=l}}),a.start()};return e.onMounted(r),e.onBeforeUnmount(()=>{a&&a.stop()}),e.watch(()=>[t.text,t.speed,t.pause,t.loop,t.erase],r),{displayText:n}}},mf={class:"typing-wrapper"},pf={class:"typing-text"},hf={key:0,class:"typing-cursor"};function yf(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("span",mf,[e.createElementVNode("span",pf,e.toDisplayString(r.displayText),1),a.showCursor?(e.openBlock(),e.createElementBlock("span",hf)):e.createCommentVNode("",!0)])}const gf=ae(ff,[["render",yf],["__scopeId","data-v-e1549f69"]]),Jn=({text:t="Hello, Watercolor UI!",speed:n=100,pause:a=1500,loop:r=!1,erase:l=!1,showCursor:o=!0,className:s="",style:i={},...u})=>{const[c,d]=_.useState(""),f=_.useRef(null);return _.useEffect(()=>(f.current=new Kn(t,{speed:n,pause:a,loop:r,erase:l,onUpdate:d}),f.current.start(),()=>{f.current&&f.current.stop()}),[t,n,a,r,l]),m.jsxs("span",{className:`typing-wrapper ${s}`,style:i,...u,children:[m.jsx("span",{className:"typing-text",children:c}),o&&m.jsx("span",{className:"typing-cursor"})]})};Jn.displayName="TypingText";const bf=["id","name","onInput","onKeydown"],wf=e.defineComponent({__name:"VerificationCodeInput",props:{length:{type:Number,default:6},modelValue:{type:String,default:""},autoFocus:{type:Boolean,default:!1}},emits:["update:modelValue","complete"],setup(t,{emit:n}){const a=t,r=n,l=e.ref(Array.from({length:a.length})),o=e.ref([]);e.watch(()=>a.modelValue,f=>{f.length===a.length&&r("complete",f),l.value.forEach((p,h)=>{o.value[h]&&(o.value[h].value=f[h]||"")})},{immediate:!0});function s(f){e.nextTick(()=>{const p=o.value[f];p&&p.focus()})}function i(f,p){const h=p.target,y=h.value.replace(/[^0-9a-zA-Z]/g,"");h.value=y.toUpperCase();const g=o.value.map(k=>k.value).join("");r("update:modelValue",g),y&&f<a.length-1&&s(f+1),g.length===a.length&&r("complete",g)}function u(f,p){!p.target.value&&f>0&&s(f-1)}function c(f){f.target.select()}function d(f){var h;const p=(((h=f.clipboardData)==null?void 0:h.getData("text"))||"").trim().slice(0,a.length);p&&(p.split("").forEach((y,g)=>{o.value[g]&&(o.value[g].value=y)}),r("update:modelValue",p),p.length===a.length&&r("complete",p))}return e.onMounted(()=>{a.autoFocus&&s(0)}),(f,p)=>(e.openBlock(),e.createElementBlock("div",{class:"wc-input-code",onPaste:e.withModifiers(d,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(h,y)=>(e.openBlock(),e.createElementBlock("input",{key:y,ref_for:!0,ref_key:"inputs",ref:o,id:`wc-input-code-${y}`,name:`wc-input-code-${y}`,class:"wc-input-code__box",type:"text",maxlength:"1",autocomplete:"one-time-code",inputmode:"numeric",onInput:g=>i(y,g),onKeydown:e.withKeys(e.withModifiers(g=>u(y,g),["prevent"]),["backspace"]),onFocus:p[0]||(p[0]=g=>c(g))},null,40,bf))),128))],32))}});function Oe(t){const n=Math.floor(t/60),a=Math.floor(t%60).toString().padStart(2,"0");return`${n}:${a}`}function Xn(t,n){const a=t.currentTarget.getBoundingClientRect();return(t.clientX-a.left)/a.width*n}function Qn(t){var n,a;t&&(document.fullscreenElement?(a=document.exitFullscreen)==null||a.call(document):(n=t.requestFullscreen)==null||n.call(t))}const kf={name:"VideoPlayer",props:{src:{type:String,required:!0},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!1}},setup(t){const n=e.ref(null),a=e.ref(!1),r=e.ref(0),l=e.ref(.7),o=e.ref(!1),s=e.ref(0),i=e.ref(0),u=e.computed(()=>Oe(i.value)),c=e.computed(()=>Oe(s.value)),d=()=>{n.value&&(n.value.paused?n.value.play():n.value.pause())},f=()=>{n.value&&(s.value=n.value.duration||0,i.value=n.value.currentTime,r.value=s.value?i.value/s.value*100:0,a.value=!n.value.paused)},p=k=>{n.value&&(n.value.currentTime=Xn(k,s.value))},h=()=>{o.value=!o.value,n.value&&(n.value.muted=o.value)},y=()=>{var k;Qn((k=n.value)==null?void 0:k.parentElement)};e.watch(l,k=>{n.value&&(n.value.volume=k)});const g=()=>{a.value=!1};return e.onMounted(()=>{n.value&&(n.value.volume=l.value,n.value.muted=o.value,n.value.loop=t.loop,t.autoplay&&n.value.play())}),{video:n,playing:a,progress:r,togglePlay:d,updateProgress:f,seek:p,volume:l,muted:o,toggleMute:h,handleFullscreen:y,formattedCurrent:u,formattedDuration:c,onEnded:g}}},xf={class:"video-wrapper"},Cf=["src"],Sf={class:"controls"},Bf={class:"time"};function _f(t,n,a,r,l,o){return e.openBlock(),e.createElementBlock("div",xf,[e.createElementVNode("video",{ref:"video",class:"video-el",src:a.src,onTimeupdate:n[0]||(n[0]=(...s)=>r.updateProgress&&r.updateProgress(...s)),onEnded:n[1]||(n[1]=(...s)=>r.onEnded&&r.onEnded(...s))},null,40,Cf),e.createElementVNode("div",Sf,[e.createElementVNode("button",{class:"ctrl-btn",onClick:n[2]||(n[2]=(...s)=>r.togglePlay&&r.togglePlay(...s))},e.toDisplayString(r.playing?"❚❚":"▶️"),1),e.createElementVNode("div",{class:"progress",onClick:n[3]||(n[3]=s=>r.seek(s))},[e.createElementVNode("div",{class:"progress-bar",style:e.normalizeStyle({width:r.progress+"%"})},null,4)]),e.createElementVNode("span",Bf,e.toDisplayString(r.formattedCurrent)+" / "+e.toDisplayString(r.formattedDuration),1),e.createElementVNode("button",{class:"ctrl-btn",onClick:n[4]||(n[4]=(...s)=>r.toggleMute&&r.toggleMute(...s))},e.toDisplayString(r.muted?"🔇":"🔊"),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[5]||(n[5]=s=>r.volume=s),class:"volume",type:"range",min:"0",max:"1",step:"0.05"},null,512),[[e.vModelText,r.volume,void 0,{number:!0}]]),e.createElementVNode("button",{class:"ctrl-btn",onClick:n[6]||(n[6]=(...s)=>r.handleFullscreen&&r.handleFullscreen(...s))}," ⛶ ")])])}const Nf=ae(kf,[["render",_f],["__scopeId","data-v-f494d003"]]),Zn=({src:t,autoplay:n=!1,loop:a=!1,className:r="",style:l={},...o})=>{const s=_.useRef(null),[i,u]=_.useState(!1),[c,d]=_.useState(0),[f,p]=_.useState(.7),[h,y]=_.useState(!1),[g,k]=_.useState(0),[B,v]=_.useState(0),S=Oe(B),x=Oe(g),w=()=>{const N=s.current;N&&(N.paused?N.play():N.pause())},E=()=>{const N=s.current;N&&(k(N.duration||0),v(N.currentTime),d(N.duration?N.currentTime/N.duration*100:0),u(!N.paused))},O=N=>{const D=s.current;D&&(D.currentTime=Xn(N,g))},$=()=>{y(N=>{const D=!N;return s.current&&(s.current.muted=D),D})},R=()=>{var N;Qn((N=s.current)==null?void 0:N.parentElement)};return _.useEffect(()=>{s.current&&(s.current.volume=f)},[f]),_.useEffect(()=>{const N=s.current;N&&(N.muted=h,N.loop=a,n&&N.play())},[n,a,h]),m.jsxs("div",{className:`video-wrapper ${r}`,style:l,...o,children:[m.jsx("video",{ref:s,className:"video-el",src:t,onTimeUpdate:E,onEnded:()=>u(!1)}),m.jsxs("div",{className:"controls",children:[m.jsx("button",{className:"ctrl-btn",onClick:w,children:i?"❚❚":"▶️"}),m.jsx("div",{className:"progress",onClick:O,children:m.jsx("div",{className:"progress-bar",style:{width:`${c}%`}})}),m.jsxs("span",{className:"time",children:[S," / ",x]}),m.jsx("button",{className:"ctrl-btn",onClick:$,children:h?"🔇":"🔊"}),m.jsx("input",{className:"volume",type:"range",min:"0",max:"1",step:"0.05",value:f,onChange:N=>p(Number(N.target.value))}),m.jsx("button",{className:"ctrl-btn",onClick:R,children:"⛶"})]})]})};Zn.displayName="VideoPlayer";const ce={content:"",cross:!1,debug:!1,fontSize:14,fontFamily:"sans-serif",fontStyle:"normal",fontVariant:"",fontWeight:400,fontColor:"var(--wc-neutral-500, rgba(128,128,128,.3))",fullscreen:!1,globalRotate:0,lineHeight:14,height:64,width:200,image:void 0,imageHeight:void 0,imageWidth:void 0,imageOpacity:1,rotate:0,selectable:!0,textAlign:"center",xGap:48,yGap:48,xOffset:0,yOffset:0,zIndex:10};function Ef(t){if(typeof t=="string"&&t.startsWith("var(")){const n=t.match(/--[^, )]+/);if(n)return getComputedStyle(document.documentElement).getPropertyValue(n[0]).trim()||t}return t}function ea(t){const n=document.createElement("canvas"),a=n.getContext("2d");let r=t.width,l=t.height;if(!t.image&&t.content){a.font=`${t.fontStyle} ${t.fontVariant} ${t.fontWeight} ${t.fontSize}px ${t.fontFamily}`;const u=t.content.split(/\n/),c=Math.max(...u.map(f=>a.measureText(f).width)),d=t.lineHeight*u.length;r=Math.max(r,Math.ceil(c)),l=Math.max(l,Math.ceil(d))}if(r+=t.xGap,l+=t.yGap,n.width=r,n.height=l,t.image)return new Promise(u=>{const c=new Image;c.crossOrigin="anonymous",c.onload=()=>{n.width=(t.imageWidth||c.width)+t.xGap,n.height=(t.imageHeight||c.height)+t.yGap,a.clearRect(0,0,n.width,n.height),a.globalAlpha=t.imageOpacity,a.translate(n.width/2,n.height/2),a.rotate(t.rotate*Math.PI/180);const d=t.imageWidth||c.width,f=t.imageHeight||c.height;a.drawImage(c,-d/2,-f/2,d,f),u(n.toDataURL())},c.src=t.image});const o=(t.content||"").split(/\n/);a.textAlign=t.textAlign||"center",a.textBaseline="middle";const s=t.fontColor.startsWith("var(")?Ef(t.fontColor):t.fontColor;a.fillStyle=s,a.font=`${t.fontStyle} ${t.fontVariant} ${t.fontWeight} ${t.fontSize}px ${t.fontFamily}`,a.translate(r/2,l/2),a.rotate(t.rotate*Math.PI/180);const i=-(o.length-1)*t.lineHeight/2;return o.forEach((u,c)=>{const d=i+c*t.lineHeight;a.fillText(u,0,d)}),Promise.resolve(n.toDataURL())}function ta(t,n){const a={position:t.fullscreen?"fixed":"absolute",top:0,left:0,width:t.fullscreen?"100vw":"100%",height:t.fullscreen?"100vh":"100%",pointerEvents:t.selectable?"none":"auto",backgroundImage:`url(${n})`,backgroundRepeat:"repeat",backgroundPosition:`${t.xOffset}px ${t.yOffset}px`,zIndex:t.zIndex,transform:`rotate(${t.globalRotate}deg)`,mixBlendMode:"multiply"};return t.debug&&(a.outline="1px dashed red"),t.cross||(a.overflow="hidden"),a}const vf=e.defineComponent({__name:"Watermark",props:{content:String,cross:{type:Boolean,default:ce.cross},debug:{type:Boolean,default:ce.debug},fontSize:{type:Number,default:ce.fontSize},fontFamily:{type:String,default:ce.fontFamily},fontStyle:{type:String,default:ce.fontStyle},fontVariant:{type:String,default:ce.fontVariant},fontWeight:{type:Number,default:ce.fontWeight},fontColor:{type:String,default:"var(--wc-neutral-500, rgba(128,128,128,.3))"},fullscreen:{type:Boolean,default:ce.fullscreen},globalRotate:{type:Number,default:ce.globalRotate},lineHeight:{type:Number,default:ce.lineHeight},height:{type:Number,default:ce.height},width:{type:Number,default:ce.width},image:String,imageHeight:Number,imageWidth:Number,imageOpacity:{type:Number,default:ce.imageOpacity},rotate:{type:Number,default:ce.rotate},selectable:{type:Boolean,default:ce.selectable},textAlign:{type:String,default:ce.textAlign},xGap:{type:Number,default:ce.xGap},yGap:{type:Number,default:ce.yGap},xOffset:{type:Number,default:ce.xOffset},yOffset:{type:Number,default:ce.yOffset},zIndex:{type:Number,default:ce.zIndex}},setup(t){const n=t,a=e.ref(""),r=e.computed(()=>!!n.content||!!n.image);async function l(){r.value&&(a.value=await ea(n))}e.watch(()=>({...n}),l,{immediate:!0,deep:!0});const o=e.computed(()=>ta(n,a.value));return(s,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"wc-watermark",style:e.normalizeStyle(o.value)},null,4)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default",{},void 0,!0)],64))}}),$f=ae(vf,[["__scopeId","data-v-91ae1756"]]),na=t=>{const n={...ce,...t},[a,r]=_.useState(""),l=!!n.content||!!n.image,o=_.useMemo(()=>{const{children:i,...u}=n;return JSON.stringify(u)},[n]);_.useEffect(()=>{if(!l)return;let i=!0;return ea(n).then(u=>{i&&r(u)}),()=>{i=!1}},[o,l]);const s=_.useMemo(()=>l?ta(n,a):{},[a,l,n]);return l?m.jsxs(m.Fragment,{children:[m.jsx("div",{className:"wc-watermark",style:s}),n.children]}):n.children||null};na.displayName="Watermark";function et(t){const n=document.documentElement;t.primary&&Object.entries(t.primary).forEach(([a,r])=>{n.style.setProperty(`--wc-primary-${a}`,r)}),t.secondary&&Object.entries(t.secondary).forEach(([a,r])=>{n.style.setProperty(`--wc-secondary-${a}`,r)}),t.neutral&&Object.entries(t.neutral).forEach(([a,r])=>{n.style.setProperty(`--wc-neutral-${a}`,r)}),t.success&&Object.entries(t.success).forEach(([a,r])=>{n.style.setProperty(`--wc-success-${a}`,r)}),t.warning&&Object.entries(t.warning).forEach(([a,r])=>{n.style.setProperty(`--wc-warning-${a}`,r)}),t.error&&Object.entries(t.error).forEach(([a,r])=>{n.style.setProperty(`--wc-error-${a}`,r)}),t.info&&Object.entries(t.info).forEach(([a,r])=>{n.style.setProperty(`--wc-info-${a}`,r)}),t.danger&&Object.entries(t.danger).forEach(([a,r])=>{n.style.setProperty(`--wc-danger-${a}`,r)}),t.purple&&Object.entries(t.purple).forEach(([a,r])=>{n.style.setProperty(`--wc-purple-${a}`,r)}),t.pink&&Object.entries(t.pink).forEach(([a,r])=>{n.style.setProperty(`--wc-pink-${a}`,r)}),t.teal&&Object.entries(t.teal).forEach(([a,r])=>{n.style.setProperty(`--wc-teal-${a}`,r)}),t.indigo&&Object.entries(t.indigo).forEach(([a,r])=>{n.style.setProperty(`--wc-indigo-${a}`,r)}),t.fonts&&Ae(t.fonts),t.radius&&Object.entries(t.radius).forEach(([a,r])=>{const l=`--wc-radius-${a}`;n.style.setProperty(l,r)})}function Vf(t){console.warn("applyCSSTheme is deprecated. Use loadThemeConfig() for file-based themes.")}function Ae(t){const n=document.documentElement,a=[];t.chinese&&a.push(`"${t.chinese}"`),t.english&&a.push(`"${t.english}"`);const r=t.fallback||'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"';a.push(r);const l=a.join(", ");n.style.setProperty("--wc-font-family",l),n.style.setProperty("--wc-font-chinese",t.chinese||""),n.style.setProperty("--wc-font-english",t.english||""),document.body.style.fontFamily=l}function tt(t){const n=document.documentElement;t?n.classList.add("dark"):n.classList.remove("dark")}function jf(){return document.documentElement.classList.contains("dark")}const aa={default:{primary:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},secondary:{50:"#f3f4ff",100:"#e5e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"}}};function nt(t){if(console.warn("applyTheme is deprecated. Use loadThemeConfig() for file-based themes."),t==="default"){const n=aa[t];et({primary:n.primary,secondary:n.secondary})}else console.warn(`Theme "${t}" is no longer supported. Please use theme.config.json file.`)}const ra={system:{english:"system-ui",chinese:"system-ui",fallback:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'},chinese:{chinese:"PingFang SC",english:"SF Pro Display",fallback:'"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif'},modern:{english:"Inter",chinese:"Noto Sans SC",fallback:'"Inter", "Noto Sans SC", sans-serif'},elegant:{english:"Poppins",chinese:"Source Han Sans",fallback:'"Poppins", "Source Han Sans", "Noto Sans CJK SC", sans-serif'},readable:{english:"IBM Plex Sans",chinese:"IBM Plex Sans SC",fallback:'"IBM Plex Sans", "IBM Plex Sans SC", sans-serif'},apple:{english:"SF Pro Display",chinese:"PingFang SC",fallback:'"SF Pro Display", "PingFang SC", -apple-system, BlinkMacSystemFont, sans-serif'},google:{english:"Roboto",chinese:"Noto Sans SC",fallback:'"Roboto", "Noto Sans SC", sans-serif'}};function Tf(t){Ae(ra[t])}function Df(){const t=document.documentElement;return{chinese:t.style.getPropertyValue("--wc-font-chinese")||void 0,english:t.style.getPropertyValue("--wc-font-english")||void 0,fallback:t.style.getPropertyValue("--wc-font-family")||void 0}}async function la(t="/theme.config.json"){if(!(typeof window>"u"||typeof fetch>"u"))try{const n=await fetch(t,{cache:"no-store"});if(!n.ok){console.info("[Watercolor UI] theme.config.json not found, using default theme");return}const a=await n.json();et(a),a.fonts&&Ae(a.fonts),console.info("[Watercolor UI] Theme loaded from theme.config.json")}catch(n){console.warn("[Watercolor UI] 无法加载自定义 theme.config.json:",n),console.info("[Watercolor UI] Using default theme")}}typeof window<"u"&&la();const at={heart:"heart",star:"star",user:"user",home:"home",search:"search",menu:"menu",close:"x",check:"check",plus:"plus",minus:"minus",arrowUp:"arrow-up",arrowDown:"arrow-down",arrowLeft:"arrow-left",arrowRight:"arrow-right",chevronUp:"chevron-up",chevronDown:"chevron-down",chevronLeft:"chevron-left",chevronRight:"chevron-right",info:"info",warning:"alert-triangle",error:"alert-circle",success:"check-circle",help:"help-circle",edit:"edit",delete:"trash-2",copy:"copy",download:"download",upload:"upload",share:"share",save:"save",print:"printer",play:"play",pause:"pause",stop:"square",volume:"volume-2",volumeOff:"volume-x",mail:"mail",phone:"phone",message:"message-circle",settings:"settings",gear:"cog",lock:"lock",unlock:"unlock",file:"file",folder:"folder",image:"image",video:"video",github:"github",twitter:"twitter",facebook:"facebook",linkedin:"linkedin",loader:"loader",refresh:"refresh-cw",external:"external-link",link:"link",bookmark:"bookmark",cart:"shopping-cart",bag:"shopping-bag",credit:"credit-card",clock:"clock",calendar:"calendar",map:"map",location:"map-pin",sun:"sun",moon:"moon",cloud:"cloud",tool:"wrench",filter:"filter",sort:"arrow-up-down"},oa={heart:"heart",star:"star",user:"user-circle",home:"home",search:"magnifying-glass",menu:"bars-3",close:"x-mark",check:"check",plus:"plus",minus:"minus",arrowUp:"arrow-up",arrowDown:"arrow-down",arrowLeft:"arrow-left",arrowRight:"arrow-right",chevronUp:"chevron-up",chevronDown:"chevron-down",chevronLeft:"chevron-left",chevronRight:"chevron-right",info:"information-circle",warning:"exclamation-triangle",error:"x-circle",success:"check-circle",edit:"pencil",delete:"trash",copy:"document-duplicate",download:"arrow-down-tray",upload:"arrow-up-tray",share:"share",settings:"cog-6-tooth",lock:"lock-closed",unlock:"lock-open"},sa={heart:"heart",star:"star",user:"user",home:"home",search:"search",menu:"menu",close:"x",check:"check",plus:"plus",minus:"minus",arrowUp:"arrow-up",arrowDown:"arrow-down",arrowLeft:"arrow-left",arrowRight:"arrow-right",chevronUp:"chevron-up",chevronDown:"chevron-down",chevronLeft:"chevron-left",chevronRight:"chevron-right",info:"info",warning:"alert-triangle",error:"alert-circle",success:"check-circle",help:"help-circle",edit:"edit",delete:"trash-2",copy:"copy",download:"download",upload:"upload",share:"share",save:"save",print:"printer",play:"play",pause:"pause",stop:"square",volume:"volume-2",volumeOff:"volume-x",mail:"mail",phone:"phone",message:"message-circle",settings:"settings",lock:"lock",file:"file",folder:"folder",image:"image",video:"video",github:"github",twitter:"twitter",facebook:"facebook",loader:"loader",refresh:"refresh-cw",external:"external-link",link:"link",bookmark:"bookmark",cart:"shopping-cart",bag:"shopping-bag",clock:"clock",calendar:"calendar",map:"map",location:"map-pin",sun:"sun",moon:"moon",cloud:"cloud"};function ia(t){return{library:"lucide",variant:"outline",size:"md",color:"currentColor",strokeWidth:2,...t}}function If(t,n="lucide"){switch(n){case"lucide":return at[t]||t;case"heroicons":return oa[t]||t;case"feather":return sa[t]||t;default:return t}}const rt={xs:16,sm:20,md:24,lg:32,xl:48};function zf(t){return typeof t=="string"&&t in rt?rt[t]:t}function be(t,n={}){return ia({name:at[t],...n})}const Pf={loading:be("loader",{className:"wc-icon--spinning"}),success:be("success",{color:"var(--wc-success-500)"}),warning:be("warning",{color:"var(--wc-warning-500)"}),error:be("error",{color:"var(--wc-error-500)"}),info:be("info",{color:"var(--wc-info-500)"}),close:be("close",{className:"wc-icon--clickable"}),menu:be("menu",{className:"wc-icon--clickable"}),search:be("search",{className:"wc-icon--clickable"}),back:be("arrowLeft",{className:"wc-icon--clickable"}),forward:be("arrowRight",{className:"wc-icon--clickable"}),up:be("chevronUp",{className:"wc-icon--clickable"}),down:be("chevronDown",{className:"wc-icon--clickable"})},ca={light:{primary:"#3b82f6",secondary:"#6b7280",success:"#10b981",warning:"#f59e0b",error:"#ef4444",info:"#06b6d4",muted:"#9ca3af"},dark:{primary:"#60a5fa",secondary:"#9ca3af",success:"#34d399",warning:"#fbbf24",error:"#f87171",info:"#22d3ee",muted:"#6b7280"}};function Mf(t,n="light"){return ca[n][t]||t}function da(t="default",n=!1){const a=localStorage.getItem("wc-color"),r=localStorage.getItem("wc-scheme");let l=a||t,o=r?r==="dark":n;return nt(l),tt(o),{get color(){return l},get dark(){return o},setColor:u=>{u!==l&&(l=u,nt(u),localStorage.setItem("wc-color",u))},toggleDark:()=>{o=!o,tt(o),localStorage.setItem("wc-scheme",o?"dark":"light")}}}const ua=Symbol("Water_ColorTheme"),$e=da();function Of(){const t=e.ref($e.color),n=e.ref($e.dark);return{color:t,dark:n,setColor:l=>{$e.setColor(l),t.value=l},toggleDark:()=>{$e.toggleDark(),n.value=$e.dark}}}function fa(){const t=Of();e.provide(ua,t)}function Af(){const t=e.inject(ua);if(!t)throw new Error("No theme store provided. Call provideTheme() in root component.");return t}e.defineComponent({name:"ThemeProvider",setup(t,{slots:n}){return fa(),()=>n.default?n.default():null}});const ma=_.createContext(void 0),Ve=da(),Lf=({children:t})=>{const[n,a]=_.useState(Ve.color),[r,l]=_.useState(Ve.dark),o=i=>{Ve.setColor(i),a(i)},s=()=>{Ve.toggleDark(),l(Ve.dark)};return m.jsx(ma.Provider,{value:{color:n,setColor:o,dark:r,toggleDark:s},children:t})};function Rf(){const t=_.useContext(ma);if(!t)throw new Error("useTheme must be used within ThemeProvider");return t}C.AccordionReact=ht,C.AccordionVue=Ia,C.AlertReact=Ya,C.AlertVue=Ua,C.AppBarReact=Ka,C.AppBarVue=Ga,C.AvatarVue=cr,C.BadgeReact=xt,C.BadgeVue=mr,C.BannerReact=Nr,C.BannerVue=_r,C.Blockquote=Or,C.BlockquoteReact=Ar,C.BoxReact=Rr,C.BoxVue=Lr,C.BreadcrumbReact=Gr,C.BreadcrumbVue=Yr,C.ButtonReact=Ut,C.ButtonVue=Ht,C.CardActionsVue=cl,C.CardContentVue=dl,C.CardReact=Fe,C.CardVue=$t,C.CheckboxVue=hl,C.ChipReact=$l,C.ChipVue=vl,C.CircularProgressReact=Fl,C.CircularProgressVue=zl,C.ColorPicker=Hl,C.ColorPickerReact=Ul,C.ContainerReact=Xl,C.ContainerVue=Jl,C.CopyReact=uo,C.CopyVue=no,C.Countdown=mo,C.CountdownReact=po,C.DatePickerReact=$o,C.DatePickerVue=Co,C.DropdownVue=Uo,C.FEATHER_ICONS=sa,C.FabVue=Xo,C.Feature=is,C.FeatureReact=ln,C.Feed=es,C.FeedReact=rn,C.FileInput=Ss,C.FileInputReact=on,C.FormControlLabelReact=dn,C.FormControlLabelVue=vs,C.FormControlReact=cn,C.FormControlVue=Bs,C.FormGroupReact=un,C.FormGroupVue=$s,C.FormHelperTextReact=fn,C.FormHelperTextVue=js,C.GridReact=mn,C.GridVue=Ts,C.HEROICONS=oa,C.HoverCard=Us,C.HoverCardReact=pn,C.ICON_PRESETS=Pf,C.ICON_SIZES=rt,C.ICON_THEMES=ca,C.IconButtonVue=ii,C.IconReact=En,C.IconVue=Ks,C.ImageGallery=Oi,C.ImageGalleryReact=vn,C.InputReact=$n,C.InputVue=Ui,C.LUCIDE_ICONS=at,C.ListItemIconReact=ac,C.ListItemIconVue=nc,C.ListItemReact=tc,C.ListItemTextReact=oc,C.ListItemTextVue=lc,C.ListItemVue=ec,C.ListReact=Ki,C.ListVue=Gi,C.Marquee=yc,C.MarqueeReact=Bc,C.ModalVue=Vc,C.NumberAnimation=jc,C.NumberAnimationReact=Tc,C.Pagination=qc,C.PaginationReact=Wc,C.PaperReact=Kc,C.PaperVue=Hc,C.Paradox=Xc,C.ParadoxReact=Qc,C.Popover=ad,C.PopoverReact=rd,C.PricingTable=ud,C.PricingTableReact=fd,C.ProgressReact=jn,C.ProgressVue=gd,C.RadioGroupReact=Cd,C.RadioGroupVue=Vd,C.RadioReact=Sd,C.RadioVue=xd,C.Rating=zd,C.RatingReact=Pd,C.SelectVue=eu,C.SkeletonReact=nu,C.SkeletonVue=tu,C.SlideOver=pu,C.SlideOverReact=hu,C.SliderReact=iu,C.SliderVue=su,C.SnackbarReact=_u,C.SnackbarVue=Su,C.Spinner=Eu,C.SpinnerReact=vu,C.SwitchReact=In,C.SwitchVue=zu,C.TableBodyVue=Ou,C.TableCellVue=Au,C.TableHeadVue=Lu,C.TableReact=Mu,C.TableRowVue=Ru,C.TableVue=Pu,C.TabsReact=Ln,C.TabsVue=Hu,C.TextFieldVue=ef,C.ThemeProvider=Lf,C.ToolbarReact=nf,C.ToolbarVue=tf,C.TooltipReact=lf,C.TooltipVue=rf,C.TypingText=gf,C.TypingTextReact=Jn,C.TypographyReact=Gn,C.TypographyVue=uf,C.VerificationCodeInput=wf,C.VideoPlayer=Nf,C.VideoPlayerReact=Zn,C.Watermark=$f,C.WatermarkReact=na,C.applyCSSTheme=Vf,C.applyFontTheme=Tf,C.applyTheme=nt,C.createIconConfig=ia,C.createPresetIcon=be,C.fontThemes=ra,C.getCurrentFonts=Df,C.getIconName=If,C.getIconSize=zf,C.getThemeColor=Mf,C.isDarkMode=jf,C.loadThemeConfig=la,C.provideTheme=fa,C.setFonts=Ae,C.setTheme=et,C.themes=aa,C.toggleDarkMode=tt,C.useReactTheme=Rf,C.useVueTheme=Af,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});