@cghbcf/xp-ui 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),h=(t,a)=>{const l=t.__vccOpts||t;for(const[o,n]of a)l[o]=n;return l},re={class:"xp-alert__icon"},se={class:"xp-alert__content"},ce={class:"xp-alert__title"},de={key:0,class:"xp-alert__description"},ie={__name:"Alert",props:{title:{type:String,default:""},type:{type:String,default:"info",validator:t=>["success","warning","danger","info"].includes(t)},effect:{type:String,default:"light",validator:t=>["light","dark","plain"].includes(t)},closable:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0}},emits:["close"],setup(t,{emit:a}){const l=a,o=e.ref(!0),n={success:"✓",warning:"!",danger:"×",info:"i"},s=()=>{o.value=!1,l("close")};return(r,d)=>(e.openBlock(),e.createBlock(e.Transition,{name:"xp-alert-fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["xp-alert",[`xp-alert--${t.type}`,`xp-alert--${t.effect}`,{"xp-alert--plain":t.effect==="plain"}]]),role:"alert"},[e.createElementVNode("span",re,e.toDisplayString(n[t.type]),1),e.createElementVNode("div",se,[e.createElementVNode("span",ce,[e.renderSlot(r.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)]),r.$slots.default?(e.openBlock(),e.createElementBlock("p",de,[e.renderSlot(r.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)]),t.closable?(e.openBlock(),e.createElementBlock("i",{key:0,class:"xp-alert__close-btn",onClick:s},"×")):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3}))}},z=h(ie,[["__scopeId","data-v-91d792bd"]]),ue=["src","alt"],pe={key:1,class:"xp-avatar__slot"},fe={key:2,class:"xp-avatar__text"},me={__name:"Avatar",props:{src:{type:String,default:""},alt:{type:String,default:""},shape:{type:String,default:"circle",validator:t=>["circle","square"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},icon:{type:String,default:""}},emits:["error"],setup(t,{emit:a}){const l=t,o=a,n=e.ref(!1),s=e.computed(()=>({backgroundColor:l.src?"transparent":"var(--xp-color-primary-bg)",color:l.src?void 0:"var(--xp-color-primary)"})),r=()=>{n.value=!0,o("error")};return(d,u)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["xp-avatar",[`xp-avatar--${t.shape}`,`xp-avatar--${t.size}`,{"xp-avatar--fit":t.src}]]),style:e.normalizeStyle(s.value)},[t.src&&!n.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt,onError:r},null,40,ue)):d.$slots.default?(e.openBlock(),e.createElementBlock("span",pe,[e.renderSlot(d.$slots,"default",{},void 0,!0)])):(e.openBlock(),e.createElementBlock("span",fe,e.toDisplayString(t.alt||"A"),1))],6))}},M=h(me,[["__scopeId","data-v-a9a54bc5"]]),he={key:0},ge={__name:"Badge",props:{value:{type:[String,Number],default:0},max:{type:Number,default:99},type:{type:String,default:"danger",validator:t=>["primary","success","warning","danger","info"].includes(t)},isDot:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1}},setup(t){const a=t,l=e.computed(()=>typeof a.value=="number"&&a.value>a.max?`${a.max}+`:a.value),o=e.computed(()=>a.value!==0&&a.value!==""&&a.value!==null&&a.value!==void 0);return(n,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["xp-badge",{"xp-badge--dot":t.isDot,"xp-badge--hidden":t.hidden}])},[e.renderSlot(n.$slots,"default",{},void 0,!0),!t.hidden&&(t.isDot||o.value)?(e.openBlock(),e.createElementBlock("sup",{key:0,class:e.normalizeClass(["xp-badge__content",[`xp-badge__content--${t.type}`,{"xp-badge__content--dot":t.isDot}]])},[t.isDot?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",he,e.toDisplayString(l.value),1))],2)):e.createCommentVNode("",!0)],2))}},R=h(ge,[["__scopeId","data-v-207db6dd"]]),xe=["disabled"],be={key:0,class:"xp-button__loading"},ke={class:"xp-button__text"},ye={__name:"Button",props:{type:{type:String,default:"default",validator:t=>["primary","default","success","warning","danger","info"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},plain:{type:Boolean,default:!1},text:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:a}){const l=t,o=a,n=s=>{!l.disabled&&!l.loading&&o("click",s)};return(s,r)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["xp-button",[`xp-button--${t.type}`,`xp-button--${t.size}`,{"xp-button--disabled":t.disabled,"xp-button--loading":t.loading,"xp-button--plain":t.plain,"xp-button--text":t.text}]]),disabled:t.disabled||t.loading,onClick:n},[t.loading?(e.openBlock(),e.createElementBlock("span",be)):e.createCommentVNode("",!0),e.createElementVNode("span",ke,[e.renderSlot(s.$slots,"default",{},void 0,!0)])],10,xe))}},S=h(ye,[["__scopeId","data-v-a768661d"]]),ve={key:0,class:"xp-card__header"},_e={class:"xp-card__title"},Be={key:0,class:"xp-card__extra"},$e={class:"xp-card__body"},Ce={key:1,class:"xp-card__footer"},Ve={__name:"Card",props:{title:{type:String,default:""},shadow:{type:String,default:"always",validator:t=>["always","hover","never"].includes(t)},bordered:{type:Boolean,default:!0},hover:{type:Boolean,default:!1}},setup(t){return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["xp-card",[`xp-card--${t.shadow}`,{"xp-card--bordered":t.bordered,"xp-card--hover":t.hover}]])},[t.title||a.$slots.header?(e.openBlock(),e.createElementBlock("div",ve,[e.renderSlot(a.$slots,"header",{},()=>[e.createElementVNode("h3",_e,e.toDisplayString(t.title),1)],!0),a.$slots.extra?(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(a.$slots,"extra",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",$e,[e.renderSlot(a.$slots,"default",{},void 0,!0)]),a.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ce,[e.renderSlot(a.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}},A=h(Ve,[["__scopeId","data-v-e65cbe05"]]),Se={class:"xp-checkbox__input"},we=["checked","disabled",".indeterminate"],Ee={class:"xp-checkbox__label"},Ne={__name:"Checkbox",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const l=t,o=a,n=s=>{if(l.disabled)return;const r=s.target.checked;o("update:modelValue",r),o("change",r)};return(s,r)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["xp-checkbox",[{"xp-checkbox--checked":t.modelValue,"xp-checkbox--disabled":t.disabled,"xp-checkbox--indeterminate":t.indeterminate}]])},[e.createElementVNode("span",Se,[r[0]||(r[0]=e.createElementVNode("span",{class:"xp-checkbox__inner"},null,-1)),e.createElementVNode("input",{type:"checkbox",class:"xp-checkbox__original",checked:t.modelValue,disabled:t.disabled,onChange:n,".indeterminate":t.indeterminate},null,40,we)]),e.createElementVNode("span",Ee,[e.renderSlot(s.$slots,"default",{},void 0,!0)])],2))}},O=h(Ne,[["__scopeId","data-v-7c078f46"]]),Te={class:"xp-dialog__header"},Ie={class:"xp-dialog__title"},Xe={class:"xp-dialog__body"},De={key:0,class:"xp-dialog__footer"},ze={__name:"Dialog",props:{visible:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:String,default:"500px"},confirmButtonText:{type:String,default:"确定"},cancelButtonText:{type:String,default:"取消"},closeOnClickModal:{type:Boolean,default:!0},showDefaultFooter:{type:Boolean,default:!0}},emits:["confirm","cancel","update:visible","close"],setup(t,{emit:a}){const l=t,o=a,n=()=>{o("update:visible",!1),o("close")},s=()=>{l.closeOnClickModal&&n()},r=()=>{o("confirm"),n()},d=()=>{o("cancel"),n()};return(u,i)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"xp-dialog-fade"},{default:e.withCtx(()=>[t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"xp-dialog__wrapper",onClick:e.withModifiers(s,["self"])},[i[0]||(i[0]=e.createElementVNode("div",{class:"xp-dialog__mask"},null,-1)),e.createVNode(e.Transition,{name:"xp-dialog-slide",appear:""},{default:e.withCtx(()=>[t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"xp-dialog",style:e.normalizeStyle({width:t.width})},[e.createElementVNode("div",Te,[e.createElementVNode("h3",Ie,e.toDisplayString(t.title),1),e.createElementVNode("button",{class:"xp-dialog__close",onClick:n},"×")]),e.createElementVNode("div",Xe,[e.renderSlot(u.$slots,"default",{},void 0,!0)]),u.$slots.footer||t.showDefaultFooter?(e.openBlock(),e.createElementBlock("div",De,[e.renderSlot(u.$slots,"footer",{},()=>[e.createVNode(S,{onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelButtonText),1)]),_:1}),e.createVNode(S,{type:"primary",onClick:r},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmButtonText),1)]),_:1})],!0)])):e.createCommentVNode("",!0)],4)):e.createCommentVNode("",!0)]),_:3})])):e.createCommentVNode("",!0)]),_:3})]))}},j=h(ze,[["__scopeId","data-v-ef43d114"]]),Me=["onClick"],Re={key:0},Ae={key:1,class:"xp-dropdown__divider"},Oe={__name:"Dropdown",props:{items:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["select","command","open","close"],setup(t,{emit:a}){const l=t,o=a,n=e.ref(!1),s=e.ref({}),r=e.ref(null),d=e.ref(null),u=()=>{e.nextTick(()=>{if(!r.value||!d.value)return;const c=r.value.getBoundingClientRect(),g=d.value.getBoundingClientRect();let m=c.bottom+6,_=c.left;_+g.width>window.innerWidth-10&&(_=window.innerWidth-g.width-10),m+g.height>window.innerHeight-10&&(m=c.top-g.height-6),s.value={top:`${m+window.scrollY}px`,left:`${_+window.scrollX}px`}})},i=()=>{l.disabled||(n.value=!n.value,n.value?(u(),o("open")):o("close"))},f=c=>{c.disabled||c.divider||(o("select",c),c.command!==void 0&&o("command",c.command,c),n.value=!1,o("close"))},p=c=>{var g;n.value&&r.value&&!r.value.contains(c.target)&&!((g=d.value)!=null&&g.contains(c.target))&&(n.value=!1,o("close"))};return e.onMounted(()=>{document.addEventListener("click",p)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",p)}),(c,g)=>(e.openBlock(),e.createElementBlock("div",{class:"xp-dropdown",ref_key:"dropdownRef",ref:r},[e.createElementVNode("div",{class:"xp-dropdown__trigger",onClick:i},[e.renderSlot(c.$slots,"default",{},void 0,!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"xp-dropdown-fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"xp-dropdown__menu",style:e.normalizeStyle(s.value),ref_key:"menuRef",ref:d},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(m,_)=>(e.openBlock(),e.createElementBlock("div",{key:_,class:e.normalizeClass(["xp-dropdown__item",{"xp-dropdown__item--disabled":m.disabled,"xp-dropdown__item--divider":m.divider}]),onClick:Vt=>f(m)},[m.divider?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Re,e.toDisplayString(m.label),1)),m.divider?(e.openBlock(),e.createElementBlock("span",Ae)):e.createCommentVNode("",!0)],10,Me))),128))],4)):e.createCommentVNode("",!0)]),_:1})]))],512))}},F=h(Oe,[["__scopeId","data-v-ad741cd8"]]),je={key:0,class:"xp-input__prefix"},Fe=["type","value","placeholder","disabled","maxlength"],Pe={key:2,class:"xp-input__suffix"},Le={__name:"Input",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text",validator:t=>["text","password","number","email","tel","url"].includes(t)},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},maxlength:{type:[String,Number],default:null},showClear:{type:Boolean,default:!1}},emits:["update:modelValue","focus","blur","clear"],setup(t,{emit:a}){const l=a,o=e.ref(null),n=e.ref(!1),s=i=>{l("update:modelValue",i.target.value)},r=i=>{n.value=!0,l("focus",i)},d=i=>{n.value=!1,l("blur",i)},u=()=>{l("update:modelValue",""),l("clear"),o.value&&o.value.focus()};return(i,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["xp-input",[`xp-input--${t.size}`,{"xp-input--disabled":t.disabled,"xp-input--prefix":i.$slots.prefix,"xp-input--suffix":i.$slots.suffix||t.showClear,"xp-input--focus":n.value}]])},[i.$slots.prefix?(e.openBlock(),e.createElementBlock("span",je,[e.renderSlot(i.$slots,"prefix",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("input",{ref_key:"inputRef",ref:o,class:"xp-input__inner",type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,maxlength:t.maxlength,onInput:s,onFocus:r,onBlur:d},null,40,Fe),t.showClear&&t.modelValue&&!t.disabled?(e.openBlock(),e.createElementBlock("span",{key:1,class:"xp-input__clear",onClick:u},"×")):e.createCommentVNode("",!0),i.$slots.suffix&&!t.showClear?(e.openBlock(),e.createElementBlock("span",Pe,[e.renderSlot(i.$slots,"suffix",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}},P=h(Le,[["__scopeId","data-v-f671ef9a"]]),Ue={class:"xp-progress__bar"},qe={key:0,class:"xp-progress__text"},He={__name:"Progress",props:{percentage:{type:Number,default:0,validator:t=>t>=0&&t<=100},color:{type:String,default:""},showText:{type:Boolean,default:!0},type:{type:String,default:"line",validator:t=>["line","circle"].includes(t)},status:{type:String,default:"",validator:t=>["","success","warning","exception"].includes(t)}},setup(t){const a=t,l=e.computed(()=>a.color?a.color:a.status==="success"?"var(--xp-color-success)":a.status==="warning"?"var(--xp-color-warning)":a.status==="exception"?"var(--xp-color-danger)":"var(--xp-color-primary)");return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["xp-progress",[`xp-progress--${t.type}`]])},[e.createElementVNode("div",Ue,[e.createElementVNode("div",{class:"xp-progress__inner",style:e.normalizeStyle({width:`${t.percentage}%`,backgroundColor:l.value})},null,4)]),t.showText?(e.openBlock(),e.createElementBlock("span",qe,[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.percentage)+"%",1)],!0)])):e.createCommentVNode("",!0)],2))}},L=h(He,[["__scopeId","data-v-a95933c8"]]),Je={class:"xp-radio__input"},We=["checked","disabled"],Ye={class:"xp-radio__label"},Ke={__name:"Radio",props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const l=t,o=a,n=()=>{l.disabled||(o("update:modelValue",l.value),o("change",l.value))};return(s,r)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["xp-radio",[{"xp-radio--checked":t.modelValue===t.value,"xp-radio--disabled":t.disabled}]])},[e.createElementVNode("span",Je,[r[0]||(r[0]=e.createElementVNode("span",{class:"xp-radio__inner"},null,-1)),e.createElementVNode("input",{type:"radio",class:"xp-radio__original",checked:t.modelValue===t.value,disabled:t.disabled,onChange:n},null,40,We)]),e.createElementVNode("span",Ye,[e.renderSlot(s.$slots,"default",{},void 0,!0)])],2))}},U=h(Ke,[["__scopeId","data-v-02a0d80d"]]),Ge={class:"xp-rate"},Qe=["onClick","onMouseenter"],Ze={class:"xp-rate__star"},et={key:0,class:"xp-rate__text"},tt={__name:"Rate",props:{modelValue:{type:Number,default:0},max:{type:Number,default:5},color:{type:String,default:"#f7ba2a"},disabled:{type:Boolean,default:!1},showText:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const l=t,o=a,n=e.ref(0),s=e.computed(()=>n.value||l.modelValue),r=u=>{const i=s.value-u+1;return i>=1?100:i>0?i*100:0},d=u=>{l.disabled||(o("update:modelValue",u),o("change",u))};return(u,i)=>(e.openBlock(),e.createElementBlock("div",Ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.max,f=>(e.openBlock(),e.createElementBlock("span",{key:f,class:e.normalizeClass(["xp-rate__item",{"xp-rate__item--disabled":t.disabled}]),style:e.normalizeStyle({cursor:t.disabled?"default":"pointer"}),onClick:p=>d(f),onMouseenter:p=>n.value=f,onMouseleave:i[0]||(i[0]=p=>n.value=0)},[e.createElementVNode("span",Ze,[e.createElementVNode("span",{class:"xp-rate__star-inner",style:e.normalizeStyle({width:r(f)+"%",color:t.color})}," ★ ",4),i[1]||(i[1]=e.createElementVNode("span",{class:"xp-rate__star-outer"},"★",-1))])],46,Qe))),128)),t.showText&&!t.disabled?(e.openBlock(),e.createElementBlock("span",et,e.toDisplayString(t.modelValue)+" / "+e.toDisplayString(t.max),1)):e.createCommentVNode("",!0)]))}},q=h(tt,[["__scopeId","data-v-17bb0933"]]),at=["aria-checked"],lt={key:0,class:"xp-switch__label"},ot={__name:"Switch",props:{modelValue:{type:Boolean,default:!1},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:a}){const l=t,o=a,n=()=>{if(l.disabled)return;const s=!l.modelValue;o("update:modelValue",s),o("change",s)};return(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["xp-switch",[`xp-switch--${t.size}`,{"xp-switch--checked":t.modelValue,"xp-switch--disabled":t.disabled}]]),role:"switch","aria-checked":t.modelValue,onClick:n},[r[0]||(r[0]=e.createElementVNode("span",{class:"xp-switch__core"},[e.createElementVNode("span",{class:"xp-switch__action"})],-1)),s.$slots.default?(e.openBlock(),e.createElementBlock("span",lt,[e.renderSlot(s.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)],10,at))}},H=h(ot,[["__scopeId","data-v-5a5e33c5"]]),nt={key:0,class:"xp-tab-pane"},rt={__name:"TabPane",props:{name:{type:[String,Number],required:!0},title:{type:String,default:""},disabled:{type:Boolean,default:!1}},setup(t){const a=t,l=e.inject("xpTabs",null),o=e.computed(()=>l?l.currentValue.value===a.name:!0);return e.onMounted(()=>{l&&l.addTab&&l.addTab({name:a.name,title:a.title,disabled:a.disabled})}),e.onBeforeUnmount(()=>{l&&l.removeTab&&l.removeTab(a.name)}),(n,s)=>o.value?(e.openBlock(),e.createElementBlock("div",nt,[e.renderSlot(n.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)}},J=h(rt,[["__scopeId","data-v-6fe7943a"]]),st={class:"xp-tabs"},ct={class:"xp-tabs__nav",role:"tablist"},dt=["onClick"],it={class:"xp-tabs__content"},ut={__name:"Tabs",props:{modelValue:{type:[String,Number],default:null}},emits:["update:modelValue","change"],setup(t,{emit:a}){const l=t,o=a,n=e.ref([]),s=e.computed(()=>{var f;return l.modelValue!==null&&l.modelValue!==void 0&&l.modelValue!==""?l.modelValue:((f=n.value[0])==null?void 0:f.name)??null}),r=e.computed(()=>{const f=n.value.findIndex(c=>c.name===s.value);return{transform:`translateX(${(f>=0?f:0)*100}%)`,width:`${n.value.length?100/n.value.length:0}%`}}),d=f=>{f.disabled||(o("update:modelValue",f.name),o("change",f.name))},u=f=>{n.value.find(p=>p.name===f.name)||n.value.push(f)},i=f=>{const p=n.value.findIndex(c=>c.name===f);p>=0&&n.value.splice(p,1)};return e.provide("xpTabs",{addTab:u,removeTab:i,currentValue:s}),(f,p)=>(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(c,g)=>(e.openBlock(),e.createElementBlock("div",{key:c.name||g,class:e.normalizeClass(["xp-tabs__item",[{"xp-tabs__item--active":s.value===c.name,"xp-tabs__item--disabled":c.disabled}]]),role:"tab",onClick:m=>d(c)},e.toDisplayString(c.title),11,dt))),128)),e.createElementVNode("div",{class:"xp-tabs__active-bar",style:e.normalizeStyle(r.value)},null,4)]),e.createElementVNode("div",it,[e.renderSlot(f.$slots,"default",{},void 0,!0)])]))}},W=h(ut,[["__scopeId","data-v-3e658dba"]]),pt={__name:"Tag",props:{type:{type:String,default:"default",validator:t=>["primary","default","success","warning","danger","info"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},color:{type:String,default:""},plain:{type:Boolean,default:!1},round:{type:Boolean,default:!1},closable:{type:Boolean,default:!1}},emits:["click","close"],setup(t,{emit:a}){const l=t,o=a,n=e.computed(()=>l.color?l.color.startsWith("#")||l.color.startsWith("rgb")?{backgroundColor:l.color,borderColor:l.color,color:"#fff"}:{}:{}),s=d=>{o("click",d)},r=d=>{o("close",d)};return(d,u)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["xp-tag",[`xp-tag--${t.type}`,`xp-tag--${t.size}`,{"xp-tag--plain":t.plain,"xp-tag--round":t.round,"xp-tag--closable":t.closable}]]),style:e.normalizeStyle(n.value),onClick:s},[e.renderSlot(d.$slots,"default",{},void 0,!0),t.closable?(e.openBlock(),e.createElementBlock("span",{key:0,class:"xp-tag__close",onClick:e.withModifiers(r,["stop"])},"×")):e.createCommentVNode("",!0)],6))}},Y=h(pt,[["__scopeId","data-v-903813de"]]),ft={class:"xp-tooltip__content"},mt={__name:"Tooltip",props:{content:{type:String,default:""},placement:{type:String,default:"top",validator:t=>["top","bottom","left","right"].includes(t)},trigger:{type:String,default:"hover",validator:t=>["hover","click","manual"].includes(t)},disabled:{type:Boolean,default:!1}},setup(t){const a=t,l=e.ref(!1),o=e.ref({}),n=e.ref(null),s=e.ref(null);let r=null;const d=()=>{e.nextTick(()=>{if(!n.value||!s.value)return;const p=n.value.getBoundingClientRect(),c=s.value.getBoundingClientRect();let g=0,m=0;switch(a.placement){case"top":g=p.top-c.height-8,m=p.left+p.width/2-c.width/2;break;case"bottom":g=p.bottom+8,m=p.left+p.width/2-c.width/2;break;case"left":g=p.top+p.height/2-c.height/2,m=p.left-c.width-8;break;case"right":g=p.top+p.height/2-c.height/2,m=p.right+8;break}o.value={top:`${g+window.scrollY}px`,left:`${m+window.scrollX}px`}})},u=()=>{a.disabled||(clearTimeout(r),r=setTimeout(()=>{l.value=!0,d()},100))},i=()=>{clearTimeout(r),r=setTimeout(()=>{l.value=!1},150)},f=()=>{a.trigger!=="click"||a.disabled||(l.value=!l.value,l.value&&d())};return e.onBeforeUnmount(()=>{clearTimeout(r)}),(p,c)=>(e.openBlock(),e.createElementBlock("div",{class:"xp-tooltip",ref_key:"tooltipRef",ref:n},[e.createElementVNode("div",{class:"xp-tooltip__trigger",onMouseenter:u,onMouseleave:i,onClick:f},[e.renderSlot(p.$slots,"default",{},void 0,!0)],32),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"xp-tooltip-fade"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["xp-tooltip__popper",[`xp-tooltip__popper--${t.placement}`]]),style:e.normalizeStyle(o.value),ref_key:"popperRef",ref:s},[e.createElementVNode("div",ft,[e.renderSlot(p.$slots,"content",{},()=>[e.createTextVNode(e.toDisplayString(t.content),1)],!0)]),c[0]||(c[0]=e.createElementVNode("div",{class:"xp-tooltip__arrow"},null,-1))],6)):e.createCommentVNode("",!0)]),_:3})]))],512))}},K=h(mt,[["__scopeId","data-v-6d9af40b"]]),ht=/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,gt=/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*([\d.]+))?\s*\)$/;function C(t){if(typeof t!="string")return null;const a=t.trim(),l=a.match(ht);if(l){let n=l[1];n.length===3&&(n=n.split("").map(u=>u+u).join(""));const s=parseInt(n.slice(0,2),16),r=parseInt(n.slice(2,4),16),d=parseInt(n.slice(4,6),16);return{r:s,g:r,b:d,a:1}}const o=a.match(gt);return o?{r:parseInt(o[1],10),g:parseInt(o[2],10),b:parseInt(o[3],10),a:o[4]?parseFloat(o[4]):1}:null}function xt(t){return Math.max(0,Math.min(255,Math.round(t)))}function G(t,a,l){const o=n=>xt(n).toString(16).padStart(2,"0");return"#"+o(t)+o(a)+o(l)}function E(t,a,l=.5){const o=C(t),n=C(a);if(!o||!n)return"#000000";const s=Math.max(0,Math.min(1,l)),r=o.r*(1-s)+n.r*s,d=o.g*(1-s)+n.g*s,u=o.b*(1-s)+n.b*s;return G(r,d,u)}function B(t,a){return E(t,"#ffffff",a)}function $(t,a){return E(t,"#000000",a)}function bt(t){return B(t,.3)}function kt(t){return $(t,.2)}function yt(t,a){const l=C(t);if(!l)return t;const o=Math.max(0,Math.min(1,a));return`rgba(${l.r}, ${l.g}, ${l.b}, ${o})`}function vt(t){const a=C(t);return a?(a.r*299+a.g*587+a.b*114)/1e3<128:!1}function Q(t,a){const l=B(t,.3),o=$(t,.2),n=a==="dark"?$(t,.85):B(t,.9),s=a==="dark"?$(t,.7):B(t,.7);return{base:t,light:l,dark:o,bg:n,border:s}}const x={primary:"#409eff",success:"#67c23a",warning:"#e6a23c",danger:"#f56c6c",info:"#909399"},v={light:{text:{primary:"#303133",regular:"#606266",secondary:"#909399",placeholder:"#c0c4cc"},border:{base:"#dcdfe6",light:"#ebeef5",lighter:"#f2f6fc"},bg:{base:"#ffffff",page:"#f2f3f5",soft:"#f5f7fa",overlay:"rgba(0, 0, 0, 0.5)"},fill:{base:"#f0f2f5",light:"#f5f7fa",lighter:"#fafafa"},shadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",md:"0 2px 12px 0 rgba(0, 0, 0, 0.1)",lg:"0 4px 20px 0 rgba(0, 0, 0, 0.15)",overlay:"0 8px 24px 0 rgba(0, 0, 0, 0.2)"}},dark:{text:{primary:"#e5eaf3",regular:"#cfd3dc",secondary:"#a3a6ad",placeholder:"#8d9095"},border:{base:"#4c4d4f",light:"#414243",lighter:"#363637"},bg:{base:"#1d1e1f",page:"#141414",soft:"#2a2b2c",overlay:"rgba(0, 0, 0, 0.7)"},fill:{base:"#303030",light:"#262727",lighter:"#1d1d1d"},shadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.4)",md:"0 2px 12px 0 rgba(0, 0, 0, 0.45)",lg:"0 4px 20px 0 rgba(0, 0, 0, 0.5)",overlay:"0 8px 24px 0 rgba(0, 0, 0, 0.6)"}}};function b(){return{primary:{...x},light:I(v.light),dark:I(v.dark)}}function I(t){return JSON.parse(JSON.stringify(t))}function X(t,a){const l=["primary","success","warning","danger","info"],o=[];for(const n of l){const s=t[n]||x[n],r=Q(s,a);o.push(` --xp-color-${n}: ${s};`),o.push(` --xp-color-${n}-light: ${r.light};`),o.push(` --xp-color-${n}-dark: ${r.dark};`),o.push(` --xp-color-${n}-bg: ${r.bg};`),o.push(` --xp-color-${n}-border: ${r.border};`)}return o.join(`
2
+ `)}function D(t){const a=[];for(const l of Object.keys(t.text))a.push(` --xp-text-color-${l}: ${t.text[l]};`);a.push(` --xp-border-color: ${t.border.base};`),a.push(` --xp-border-color-light: ${t.border.light};`),a.push(` --xp-border-color-lighter: ${t.border.lighter};`);for(const l of Object.keys(t.bg)){const o=l==="base"?"":`-${l}`;a.push(` --xp-bg-color${o}: ${t.bg[l]};`)}for(const l of Object.keys(t.fill)){const o=l==="base"?"":`-${l}`;a.push(` --xp-fill-color${o}: ${t.fill[l]};`)}for(const l of Object.keys(t.shadow))a.push(` --xp-shadow-${l}: ${t.shadow[l]};`);return a.join(`
3
+ `)}function Z(t,a){const l={},o=t.primary||x,n=["primary","success","warning","danger","info"];for(const r of n){const d=o[r]||x[r],u=Q(d,a);l[`--xp-color-${r}`]=d,l[`--xp-color-${r}-light`]=u.light,l[`--xp-color-${r}-dark`]=u.dark,l[`--xp-color-${r}-bg`]=u.bg,l[`--xp-color-${r}-border`]=u.border}const s=t[a]||v[a];for(const r of Object.keys(s.text))l[`--xp-text-color-${r}`]=s.text[r];l["--xp-border-color"]=s.border.base,l["--xp-border-color-light"]=s.border.light,l["--xp-border-color-lighter"]=s.border.lighter;for(const r of Object.keys(s.bg))l[`--xp-bg-color${r==="base"?"":"-"+r}`]=s.bg[r];for(const r of Object.keys(s.fill))l[`--xp-fill-color${r==="base"?"":"-"+r}`]=s.fill[r];for(const r of Object.keys(s.shadow))l[`--xp-shadow-${r}`]=s.shadow[r];return l}function N(t){return[':root, [data-theme="light"] {',X(t.primary||x,"light"),D(t.light||v.light),"}","",'[data-theme="dark"] {',X(t.primary||x,"dark"),D(t.dark||v.dark),"}"].join(`
4
+ `)}let V=null;function _t(){if(typeof document>"u")return null;if(V&&document.contains(V))return V;let t=document.querySelector("style[data-xp-ui-theme]");return t||(t=document.createElement("style"),t.setAttribute("data-xp-ui-theme","true"),document.head.appendChild(t)),V=t,t}function Bt(t){const a=_t();a&&(a.textContent=N(t))}const T=e.ref("light"),ee=e.ref(b());function k(t){if(["light","dark"].includes(t)&&(T.value=t,typeof document<"u")){document.documentElement.setAttribute("data-theme",t);try{localStorage.setItem("xp-ui-theme",t)}catch{}}}function te(){k(T.value==="light"?"dark":"light")}function y(t){if(!t)return;const a=b();t.primary&&(a.primary={...a.primary,...t.primary}),t.light&&(a.light=w(a.light,t.light)),t.dark&&(a.dark=w(a.dark,t.dark)),ee.value=a,Bt(a);try{localStorage.setItem("xp-ui-theme-config",JSON.stringify(a))}catch{}}function ae(){y(b())}function le(){if(typeof document>"u")return;let t=null;try{t=localStorage.getItem("xp-ui-theme")}catch{}t==="light"||t==="dark"?k(t):typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?k("dark"):k("light");let a=null;try{a=localStorage.getItem("xp-ui-theme-config")}catch{}if(a)try{y(JSON.parse(a))}catch{y(b())}else y(b())}function w(t,a){if(!a||typeof a!="object")return t;const l=Array.isArray(t)?[...t]:{...t};for(const o of Object.keys(a))a[o]&&typeof a[o]=="object"&&!Array.isArray(a[o])?l[o]=w(t[o]||{},a[o]):l[o]=a[o];return l}function $t(){return{theme:T,themeConfig:ee,setTheme:k,toggleTheme:te,initTheme:le,applyThemeConfig:y,resetThemeConfig:ae,getDefaultThemeConfig:b,buildCssString:N,buildCssVars:Z}}const oe={XpAlert:z,XpAvatar:M,XpBadge:R,XpButton:S,XpCard:A,XpCheckbox:O,XpDialog:j,XpDropdown:F,XpInput:P,XpProgress:L,XpRadio:U,XpRate:q,XpSwitch:H,XpTabPane:J,XpTabs:W,XpTag:Y,XpTooltip:K},ne=t=>{Object.entries(oe).forEach(([a,l])=>{t.component(a,l)})},Ct={install:ne,...oe};exports.DEFAULT_PRIMARY=x;exports.DEFAULT_TOKENS=v;exports.XpAlert=z;exports.XpAvatar=M;exports.XpBadge=R;exports.XpButton=S;exports.XpCard=A;exports.XpCheckbox=O;exports.XpDialog=j;exports.XpDropdown=F;exports.XpInput=P;exports.XpProgress=L;exports.XpRadio=U;exports.XpRate=q;exports.XpSwitch=H;exports.XpTabPane=J;exports.XpTabs=W;exports.XpTag=Y;exports.XpTooltip=K;exports.applyThemeConfig=y;exports.buildCssString=N;exports.buildCssVars=Z;exports.darken=$;exports.default=Ct;exports.deriveDark=kt;exports.deriveLight=bt;exports.getDefaultThemeConfig=b;exports.initTheme=le;exports.install=ne;exports.isDark=vt;exports.lighten=B;exports.mix=E;exports.parseColor=C;exports.resetThemeConfig=ae;exports.setTheme=k;exports.toHex=G;exports.toggleTheme=te;exports.useTheme=$t;exports.withAlpha=yt;