1 |
- import{aB as C,c1 as F,aC as S,dd as H,cJ as M,d as y,n as x,de as O,aD as w,r as A,df as D,bj as E,e as i,o as f,j as p,w as v,a as c,aN as U,Z as J,N as P,l as Z,c as q,F as G,A as K,D as I,aF as L}from"./index-34852970.js";const Q=C({format:{type:String,default:"HH:mm"},modelValue:String,disabled:Boolean,editable:{type:Boolean,default:!0},effect:{type:String,default:"light"},clearable:{type:Boolean,default:!0},size:F,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:"00:30"},minTime:String,maxTime:String,name:String,prefixIcon:{type:S([String,Object]),default:()=>H},clearIcon:{type:S([String,Object]),default:()=>M}}),o=n=>{const u=(n||"").split(":");if(u.length>=2){let t=Number.parseInt(u[0],10);const r=Number.parseInt(u[1],10),s=n.toUpperCase();return s.includes("AM")&&t===12?t=0:s.includes("PM")&&t!==12&&(t+=12),{hours:t,minutes:r}}return null},h=(n,u)=>{const t=o(n);if(!t)return-1;const r=o(u);if(!r)return-1;const s=t.minutes+60*t.hours,d=r.minutes+60*r.hours;return s===d?0:s>d?1:-1},$=n=>`${n}`.padStart(2,"0"),m=n=>`${$(n.hours)}:${$(n.minutes)}`,R=(n,u)=>{const t=o(n);if(!t)return"";const r=o(u);if(!r)return"";const s={hours:t.hours,minutes:t.minutes};return s.minutes+=r.minutes,s.hours+=r.hours,s.hours+=Math.floor(s.minutes/60),s.minutes=s.minutes%60,m(s)},W=y({name:"ElTimeSelect"});var b=L(y({...W,props:Q,emits:["change","blur","focus","update:modelValue"],setup(n,{expose:u}){const t=n;x.extend(O);const{Option:r}=I,s=w("input"),d=A(),k=D(),{lang:B}=E(),_=i(()=>t.modelValue),N=i(()=>{const e=o(t.start);return e?m(e):null}),g=i(()=>{const e=o(t.end);return e?m(e):null}),T=i(()=>{const e=o(t.step);return e?m(e):null}),V=i(()=>{const e=o(t.minTime||"");return e?m(e):null}),j=i(()=>{const e=o(t.maxTime||"");return e?m(e):null}),z=i(()=>{const e=[];if(t.start&&t.end&&t.step){let l,a=N.value;for(;a&&g.value&&h(a,g.value)<=0;)l=x(a,"HH:mm").locale(B.value).format(t.format),e.push({value:l,disabled:h(a,V.value||"-1:-1")<=0||h(a,j.value||"100:100")>=0}),a=R(a,T.value)}return e});return u({blur:()=>{var e,l;(l=(e=d.value)==null?void 0:e.blur)==null||l.call(e)},focus:()=>{var e,l;(l=(e=d.value)==null?void 0:e.focus)==null||l.call(e)}}),(e,l)=>(f(),p(c(I),{ref_key:"select",ref:d,"model-value":c(_),disabled:c(k),clearable:e.clearable,"clear-icon":e.clearIcon,size:e.size,effect:e.effect,placeholder:e.placeholder,"default-first-option":"",filterable:e.editable,"onUpdate:modelValue":l[0]||(l[0]=a=>e.$emit("update:modelValue",a)),onChange:l[1]||(l[1]=a=>e.$emit("change",a)),onBlur:l[2]||(l[2]=a=>e.$emit("blur",a)),onFocus:l[3]||(l[3]=a=>e.$emit("focus",a))},{prefix:v(()=>[e.prefixIcon?(f(),p(c(U),{key:0,class:J(c(s).e("prefix-icon"))},{default:v(()=>[(f(),p(P(e.prefixIcon)))]),_:1},8,["class"])):Z("v-if",!0)]),default:v(()=>[(f(!0),q(G,null,K(c(z),a=>(f(),p(c(r),{key:a.value,label:a.value,value:a.value,disabled:a.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable"]))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/time-select/src/time-select.vue"]]);b.install=n=>{n.component(b.name,b)};const X=b;export{X as E};
|