1 |
- import{aI as M,bw as O,aJ as S,cY as j,cp as w,d as y,I as x,cZ as A,aK as C,r as F,c_ as N,bl as P,e as i,o as f,A as p,B as v,a as c,aD as U,aa as Z,Z as D,E as J,c as K,F as R,P as Y,R as I,aM as q}from"./index-24b5bd0d.js";const G=M({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:O,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:()=>j},clearIcon:{type:S([String,Object]),default:()=>w}}),o=n=>{const u=(n||"").split(":");if(u.length>=2){let a=Number.parseInt(u[0],10);const r=Number.parseInt(u[1],10),s=n.toUpperCase();return s.includes("AM")&&a===12?a=0:s.includes("PM")&&a!==12&&(a+=12),{hours:a,minutes:r}}return null},h=(n,u)=>{const a=o(n);if(!a)return-1;const r=o(u);if(!r)return-1;const s=a.minutes+60*a.hours,m=r.minutes+60*r.hours;return s===m?0:s>m?1:-1},$=n=>`${n}`.padStart(2,"0"),d=n=>`${$(n.hours)}:${$(n.minutes)}`,L=(n,u)=>{const a=o(n);if(!a)return"";const r=o(u);if(!r)return"";const s={hours:a.hours,minutes:a.minutes};return s.minutes+=r.minutes,s.hours+=r.hours,s.hours+=Math.floor(s.minutes/60),s.minutes=s.minutes%60,d(s)},Q=y({name:"ElTimeSelect"});var b=q(y({...Q,props:G,emits:["change","blur","focus","update:modelValue"],setup(n,{expose:u}){const a=n;x.extend(A);const{Option:r}=I,s=C("input"),m=F(),k=N(),{lang:B}=P(),_=i(()=>a.modelValue),z=i(()=>{const e=o(a.start);return e?d(e):null}),g=i(()=>{const e=o(a.end);return e?d(e):null}),T=i(()=>{const e=o(a.step);return e?d(e):null}),V=i(()=>{const e=o(a.minTime||"");return e?d(e):null}),E=i(()=>{const e=o(a.maxTime||"");return e?d(e):null}),H=i(()=>{const e=[];if(a.start&&a.end&&a.step){let l,t=z.value;for(;t&&g.value&&h(t,g.value)<=0;)l=x(t,"HH:mm").locale(B.value).format(a.format),e.push({value:l,disabled:h(t,V.value||"-1:-1")<=0||h(t,E.value||"100:100")>=0}),t=L(t,T.value)}return e});return u({blur:()=>{var e,l;(l=(e=m.value)==null?void 0:e.blur)==null||l.call(e)},focus:()=>{var e,l;(l=(e=m.value)==null?void 0:e.focus)==null||l.call(e)}}),(e,l)=>(f(),p(c(I),{ref_key:"select",ref:m,"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]=t=>e.$emit("update:modelValue",t)),onChange:l[1]||(l[1]=t=>e.$emit("change",t)),onBlur:l[2]||(l[2]=t=>e.$emit("blur",t)),onFocus:l[3]||(l[3]=t=>e.$emit("focus",t))},{prefix:v(()=>[e.prefixIcon?(f(),p(c(U),{key:0,class:Z(c(s).e("prefix-icon"))},{default:v(()=>[(f(),p(D(e.prefixIcon)))]),_:1},8,["class"])):J("v-if",!0)]),default:v(()=>[(f(!0),K(R,null,Y(c(H),t=>(f(),p(c(r),{key:t.value,label:t.value,value:t.value,disabled:t.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 W=b;export{W as E};
|