Bu1OYQOt.js
7.42 KB
import{T as N,a1 as I,U as P,V as T,o as n,k as x,w as y,c as p,F as j,m as A,Y as i,g as s,e as h,f as E,C as M,S as F,x as d,n as m,l as z,t as w,P as K,a2 as $,s as V,a0 as k,Z as D}from"./BtEn9SvP.js";import{S as L}from"./Dd6skURy.js";const O={slots:{root:"flex gap-1.5",item:"group relative flex flex-1 gap-3",container:"relative flex items-center gap-1.5",indicator:"group-data-[state=completed]:text-inverted group-data-[state=active]:text-inverted text-muted",separator:"flex-1 rounded-full bg-elevated",wrapper:"w-full",date:"text-dimmed text-xs/5",title:"font-medium text-highlighted text-sm",description:"text-muted text-wrap text-sm"},variants:{orientation:{horizontal:{root:"flex-row w-full",item:"flex-col",separator:"h-0.5"},vertical:{root:"flex-col",container:"flex-col",separator:"w-0.5"}},color:{primary:{indicator:"group-data-[state=completed]:bg-primary group-data-[state=active]:bg-primary"},secondary:{indicator:"group-data-[state=completed]:bg-secondary group-data-[state=active]:bg-secondary"},success:{indicator:"group-data-[state=completed]:bg-success group-data-[state=active]:bg-success"},info:{indicator:"group-data-[state=completed]:bg-info group-data-[state=active]:bg-info"},warning:{indicator:"group-data-[state=completed]:bg-warning group-data-[state=active]:bg-warning"},error:{indicator:"group-data-[state=completed]:bg-error group-data-[state=active]:bg-error"},neutral:{indicator:"group-data-[state=completed]:bg-inverted group-data-[state=active]:bg-inverted"}},size:{"3xs":"","2xs":"",xs:"",sm:"",md:"",lg:"",xl:"","2xl":"","3xl":""},reverse:{true:""}},compoundVariants:[{color:"primary",reverse:!1,class:{separator:"group-data-[state=completed]:bg-primary"}},{color:"secondary",reverse:!1,class:{separator:"group-data-[state=completed]:bg-secondary"}},{color:"success",reverse:!1,class:{separator:"group-data-[state=completed]:bg-success"}},{color:"info",reverse:!1,class:{separator:"group-data-[state=completed]:bg-info"}},{color:"warning",reverse:!1,class:{separator:"group-data-[state=completed]:bg-warning"}},{color:"error",reverse:!1,class:{separator:"group-data-[state=completed]:bg-error"}},{color:"primary",reverse:!0,class:{separator:"group-data-[state=active]:bg-primary group-data-[state=completed]:bg-primary"}},{color:"secondary",reverse:!0,class:{separator:"group-data-[state=active]:bg-secondary group-data-[state=completed]:bg-secondary"}},{color:"success",reverse:!0,class:{separator:"group-data-[state=active]:bg-success group-data-[state=completed]:bg-success"}},{color:"info",reverse:!0,class:{separator:"group-data-[state=active]:bg-info group-data-[state=completed]:bg-info"}},{color:"warning",reverse:!0,class:{separator:"group-data-[state=active]:bg-warning group-data-[state=completed]:bg-warning"}},{color:"error",reverse:!0,class:{separator:"group-data-[state=active]:bg-error group-data-[state=completed]:bg-error"}},{color:"neutral",reverse:!1,class:{separator:"group-data-[state=completed]:bg-inverted"}},{color:"neutral",reverse:!0,class:{separator:"group-data-[state=active]:bg-inverted group-data-[state=completed]:bg-inverted"}},{orientation:"horizontal",size:"3xs",class:{wrapper:"pe-4.5"}},{orientation:"horizontal",size:"2xs",class:{wrapper:"pe-5"}},{orientation:"horizontal",size:"xs",class:{wrapper:"pe-5.5"}},{orientation:"horizontal",size:"sm",class:{wrapper:"pe-6"}},{orientation:"horizontal",size:"md",class:{wrapper:"pe-6.5"}},{orientation:"horizontal",size:"lg",class:{wrapper:"pe-7"}},{orientation:"horizontal",size:"xl",class:{wrapper:"pe-7.5"}},{orientation:"horizontal",size:"2xl",class:{wrapper:"pe-8"}},{orientation:"horizontal",size:"3xl",class:{wrapper:"pe-8.5"}},{orientation:"vertical",size:"3xs",class:{wrapper:"-mt-0.5 pb-4.5"}},{orientation:"vertical",size:"2xs",class:{wrapper:"pb-5"}},{orientation:"vertical",size:"xs",class:{wrapper:"mt-0.5 pb-5.5"}},{orientation:"vertical",size:"sm",class:{wrapper:"mt-1 pb-6"}},{orientation:"vertical",size:"md",class:{wrapper:"mt-1.5 pb-6.5"}},{orientation:"vertical",size:"lg",class:{wrapper:"mt-2 pb-7"}},{orientation:"vertical",size:"xl",class:{wrapper:"mt-2.5 pb-7.5"}},{orientation:"vertical",size:"2xl",class:{wrapper:"mt-3 pb-8"}},{orientation:"vertical",size:"3xl",class:{wrapper:"mt-3.5 pb-8.5"}}],defaultVariants:{size:"md",color:"primary"}},R=["data-state","onClick"],Q={__name:"UTimeline",props:$({as:{type:null,required:!1},items:{type:Array,required:!0},size:{type:null,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:"vertical"},valueKey:{type:null,required:!1,default:"value"},defaultValue:{type:[String,Number],required:!1},reverse:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},{modelValue:{type:[String,Number]},modelModifiers:{}}),emits:$(["select"],["update:modelValue"]),setup(r,{emit:u}){const t=r,c=u,f=N(),S=I(r,"modelValue"),q=P(),o=T("timeline",t),l=V(()=>k({extend:k(O),...q.ui?.timeline||{}})({orientation:t.orientation,size:t.size,color:t.color,reverse:t.reverse})),g=V(()=>{const a=S.value??t.defaultValue;return typeof a=="string"?t.items.findIndex(v=>D(v,t.valueKey)===a)??-1:t.reverse?a!=null?t.items.length-1-a:-1:a??-1});function C(a){if(g.value!==-1)return a===g.value?"active":t.reverse?a>g.value?"completed":void 0:a<g.value?"completed":void 0}function U(a,v){c("select",a,v)}return(a,v)=>(n(),x(s(K),{as:r.as,"data-orientation":r.orientation,"data-slot":"root",class:i(l.value.root({class:[s(o)?.root,t.class]}))},{default:y(()=>[(n(!0),p(j,null,A(r.items,(e,b)=>(n(),p("div",{key:b,"data-slot":"item",class:i(l.value.item({class:[s(o)?.item,e.ui?.item,e.class]})),"data-state":C(b),onClick:B=>U(B,e)},[h("div",{"data-slot":"container",class:i(l.value.container({class:[s(o)?.container,e.ui?.container]}))},[E(M,F({size:r.size,icon:e.icon},{ref_for:!0},typeof e.avatar=="object"?e.avatar:{},{"data-slot":"indicator",class:l.value.indicator({class:[s(o)?.indicator,e.ui?.indicator]}),ui:{icon:"text-inherit",fallback:"text-inherit"}}),{default:y(()=>[d(a.$slots,e.slot?`${e.slot}-indicator`:"indicator",{item:e})]),_:2},1040,["size","icon","class"]),b<r.items.length-1?(n(),x(s(L),{key:0,"data-slot":"separator",class:i(l.value.separator({class:[s(o)?.separator,e.ui?.separator]})),orientation:t.orientation},null,8,["class","orientation"])):m("",!0)],2),h("div",{"data-slot":"wrapper",class:i(l.value.wrapper({class:[s(o)?.wrapper,e.ui?.wrapper]}))},[d(a.$slots,e.slot?`${e.slot}-wrapper`:"wrapper",{item:e},()=>[e.date||f[e.slot?`${e.slot}-date`:"date"]?(n(),p("div",{key:0,"data-slot":"date",class:i(l.value.date({class:[s(o)?.date,e.ui?.date]}))},[d(a.$slots,e.slot?`${e.slot}-date`:"date",{item:e},()=>[z(w(e.date),1)])],2)):m("",!0),e.title||f[e.slot?`${e.slot}-title`:"title"]?(n(),p("div",{key:1,"data-slot":"title",class:i(l.value.title({class:[s(o)?.title,e.ui?.title]}))},[d(a.$slots,e.slot?`${e.slot}-title`:"title",{item:e},()=>[z(w(e.title),1)])],2)):m("",!0),e.description||f[e.slot?`${e.slot}-description`:"description"]?(n(),p("div",{key:2,"data-slot":"description",class:i(l.value.description({class:[s(o)?.description,e.ui?.description]}))},[d(a.$slots,e.slot?`${e.slot}-description`:"description",{item:e},()=>[z(w(e.description),1)])],2)):m("",!0)])],2)],10,R))),128))]),_:3},8,["as","data-orientation","class"]))}};function Y(r){return r.replace(/\/+$/,"")}function Z(r){return r.replace(/^\/+/,"").split("/").map(t=>encodeURIComponent(t)).join("/")}function G(r){return/^https?:\/\//i.test(r)}function W(r,u=""){if(!r)return"";const t=`/uploads/${Z(r)}`,c=Y(u.trim());return!c||!G(c)?t:`${c}${t}`}export{Q as _,W as b};