import{H as ge,I as Ne,E as Ce,h as me,K as He,M as Ae}from"./index-C305lth9.js";import{f as p,u as ee,p as Q,aM as Te,an as ye,n as G,z as ve,a5 as le}from"./vendor-vuetify-DYDJMXkZ.js";import{o as K,q as De,k as A,N as ae,n as z,b as y,e as V,j as $,s as Be,a1 as fe,F as Ie,I as ke,D as Fe,m as ne,t as $e}from"./vendor-vue-PFj_oO9L.js";import{V as Ue}from"./VTextField-0hAB9hej.js";import{V as we,m as Re}from"./VPicker-DQqGj6aG.js";const Ee=Q({allowedValues:Function,ampm:Boolean,color:String,disabled:Boolean,displayedValue:null,double:Boolean,format:{type:Function,default:e=>e},max:{type:Number,required:!0},min:{type:Number,required:!0},scrollable:Boolean,readonly:Boolean,rotate:{type:Number,default:0},step:{type:Number,default:1},modelValue:{type:Number}},"VTimePickerClock"),he=p()({name:"VTimePickerClock",props:Ee(),emits:{change:e=>!0,input:e=>!0},setup(e,d){let{emit:f}=d;const k=y(null),N=y(null),v=y(void 0),a=y(!1),o=y(null),i=y(null),_=Te(n=>f("change",n),750),{textColorClasses:C,textColorStyles:M}=ge(()=>e.color),{backgroundColorClasses:g,backgroundColorStyles:l}=Ne(()=>e.color),h=V(()=>e.max-e.min+1),b=V(()=>e.double?h.value/2:h.value),s=V(()=>360/b.value),T=V(()=>s.value*Math.PI/180),I=V(()=>e.modelValue==null?e.min:e.modelValue),q=V(()=>.62),j=V(()=>{const n=[];for(let r=e.min;r<=e.max;r=r+e.step)n.push(r);return n});K(()=>e.modelValue,n=>{v.value=n});function D(n){v.value!==n&&(v.value=n),f("input",n)}function B(n){return!e.allowedValues||e.allowedValues(n)}function E(n){if(!e.scrollable||e.disabled)return;n.preventDefault();const r=Math.sign(-n.deltaY||1);let w=I.value;do w=w+r,w=(w-e.min+h.value)%h.value+e.min;while(!B(w)&&w!==I.value);w!==e.displayedValue&&D(w),_(w)}function L(n){return e.double&&n-e.min>=b.value}function U(n){return L(n)?q.value:1}function c(n){const r=e.rotate*Math.PI/180;return{x:Math.sin((n-e.min)*T.value+r)*U(n),y:-Math.cos((n-e.min)*T.value+r)*U(n)}}function P(n,r){const w=(Math.round(n/s.value)+(r?b.value:0))%h.value+e.min;return n<360-s.value/2?w:r?e.max-b.value+1:e.min}function R(n){const{x:r,y:w}=c(n);return{left:`${Math.round(50+r*50)}%`,top:`${Math.round(50+w*50)}%`}}function t(n,r){const w=r.x-n.x,W=r.y-n.y;return Math.sqrt(w*w+W*W)}function u(n,r){const w=2*Math.atan2(r.y-n.y-t(n,r),r.x-n.x);return Math.abs(w*180/Math.PI)}function H(n){o.value===null&&(o.value=n),i.value=n,D(n)}function m(n){var de,se;if(n.preventDefault(),!a.value&&n.type!=="click"||!k.value)return;const{width:r,top:w,left:W}=(de=k.value)==null?void 0:de.getBoundingClientRect(),{width:te}=((se=N.value)==null?void 0:se.getBoundingClientRect())??{width:0},{clientX:Pe,clientY:Se}="touches"in n?n.touches[0]:n,ie={x:r/2,y:-r/2},oe={x:Pe-W,y:w-Se},re=Math.round(u(ie,oe)-e.rotate+360)%360,ce=e.double&&t(ie,oe)<(te+te*q.value)/4,xe=Math.ceil(15/s.value);let Y;for(let Z=0;ZA("div",{class:z([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":e.modelValue==null,"v-time-picker-clock--readonly":e.readonly}]),onMousedown:S,onTouchstart:S,onWheel:E,ref:k},[A("div",{class:"v-time-picker-clock__inner",ref:N},[A("div",{class:z([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":L(e.modelValue)},C.value]),style:ae([{transform:`rotate(${e.rotate+s.value*(I.value-e.min)}deg) scaleY(${U(I.value)})`},M.value])},null),j.value.map(n=>{const r=n===I.value;return A("div",{class:z([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":r,"v-time-picker-clock__item--disabled":e.disabled||!B(n)},r&&g.value]),style:ae([R(n),r&&l.value])},[A("span",null,[e.format(n)])])})])]))}}),Le=Q({active:Boolean,color:String,disabled:Boolean,label:String,modelValue:String,error:String,showHint:Boolean,readonly:Boolean},"VTimePickerField"),ue=p()({name:"VTimePickerField",props:Le(),emits:{"update:modelValue":e=>!0},setup(e,d){let{emit:f}=d;const{textColorClasses:k,textColorStyles:N}=ge(()=>e.color),v=y(),a=Be(!1);function o(i){if(["Backspace","Delete"].includes(i.key)){i.preventDefault();const _=i.target;_.value="",f("update:modelValue",null)}}return ee(()=>$(Ue,{ref:v,_as:"VTimePickerField",autocomplete:"off",class:z(["v-time-picker-controls__time__field",{"v-time-picker-controls__time__field--active":e.active},e.active?k.value:[]]),style:ae(e.active?N.value:[]),disabled:e.disabled,variant:"solo-filled",inputmode:"numeric",hideDetails:"auto","aria-label":e.label,"aria-invalid":!!e.error,"aria-errormessage":e.error,error:!!e.error,hint:e.showHint?e.label:void 0,persistentHint:!0,flat:!0,modelValue:e.modelValue??(a.value?"":"--"),"onUpdate:modelValue":i=>f("update:modelValue",i),onKeydown:o,onFocus:()=>a.value=!0,onBlur:()=>a.value=!1},null)),Ce({},v)}});function x(e){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(e).padStart(d,"0")}function Ve(e){return e?(e-1)%12+1:12}function J(e,d){return e%12+(d==="pm"?12:0)}function X(e){const d=e.replaceAll(/\D/g,"");return d.length>0?Number(d):null}function Ke(e,d,f){{if(e===23&&d)return{value:0};if(e===0&&!d)return{value:23}}return{value:e+(d?1:-1)}}function ze(e,d){return e===59&&d?0:e===0&&!d?59:e+(d?1:-1)}const _e=Q({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],max:String,min:String},"time-validation");function Me(e){const d=V(()=>{const v=e.min?Number(e.min.split(":")[0]):0,a=e.max?Number(e.max.split(":")[0]):23;return o=>oa?!1:Array.isArray(e.allowedHours)?e.allowedHours.includes(o):typeof e.allowedHours=="function"?e.allowedHours(o):!0}),f=V(()=>{const[v,a]=e.min?e.min.split(":").map(Number):[0,0],[o,i]=e.max?e.max.split(":").map(Number):[23,59],_=v*60+a,C=o*60+i;return(M,g)=>{if(M!==null){const l=60*M+g;if(l<_||l>C)return!1}return Array.isArray(e.allowedMinutes)?e.allowedMinutes.includes(g):typeof e.allowedMinutes=="function"?e.allowedMinutes(g):!0}}),k=V(()=>{const[v,a,o]=e.min?e.min.split(":").map(Number):[0,0,0],[i,_,C]=e.max?e.max.split(":").map(Number):[23,59,59],M=v*3600+a*60+(o||0),g=i*3600+_*60+(C||0);return(l,h,b)=>{if(l!==null&&h!==null){const s=3600*l+60*h+b;if(sg)return!1}return Array.isArray(e.allowedSeconds)?e.allowedSeconds.includes(b):typeof e.allowedSeconds=="function"?e.allowedSeconds(b):!0}});function N(v,a,o){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,_=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null;const C=v==="hour"?d.value:v==="minute"?l=>f.value(i,l):l=>k.value(i,_,l),M=v==="hour"?l=>Ke(l,o).value:l=>ze(l,o),g=v==="hour"?24:60;for(let l=1;l<=g&&(a=M(a),!C(a));l++);return a}return{isAllowedHour:d,isAllowedMinute:f,isAllowedSecond:k,findNextAllowed:N}}const qe=Q({ampm:Boolean,color:String,disabled:Boolean,inputHints:Boolean,hour:[Number,String],minute:[Number,String],second:[Number,String],period:String,readonly:Boolean,useSeconds:Boolean,value:Number,viewMode:String,..._e()},"VTimePickerControls"),be=p()({name:"VTimePickerControls",props:qe(),emits:{"update:period":e=>!0,"update:viewMode":e=>!0,"update:hour":e=>!0,"update:minute":e=>!0,"update:second":e=>!0},setup(e,d){let{emit:f}=d;const{t:k}=ye(),{isAllowedHour:N,isAllowedMinute:v,isAllowedSecond:a,findNextAllowed:o}=Me(e),i=V(()=>e.hour!==null?e.ampm?J(Number(e.hour),e.period??"am"):Number(e.hour):null),_=V(()=>e.minute!==null?Number(e.minute):null),C=V(()=>{var t;return e.hour===null?!0:((t=N.value)==null?void 0:t.call(N,Number(i.value)))??!0}),M=V(()=>{var t;return e.minute===null?!0:((t=v.value)==null?void 0:t.call(v,i.value,Number(e.minute)))??!0}),g=V(()=>{var t;return e.second===null?!0:((t=a.value)==null?void 0:t.call(a,i.value,_.value,Number(e.second)))??!0}),l={in:t=>{if(t==null||isNaN(Number(t)))return null;const u=Number(t);return e.ampm?x(Ve(u)):x(u)},out:t=>{if(isNaN(Number(t))||t==null||t==="")return null;const u=typeof t=="string"?X(t):Number(t);return u===null?null:e.ampm?J(u,e.period??"am"):ve(u,0,23)}},h=G(e,"hour",void 0,l.in,l.out),b={in:t=>t!=null&&!isNaN(Number(t))?x(`${t}`):null,out:t=>{if(isNaN(Number(t))||t==null||t==="")return null;const u=typeof t=="string"?X(t):Number(t);return u!==null?ve(u,0,59):null}},s=G(e,"minute",void 0,b.in,b.out),T=G(e,"second",void 0,b.in,b.out);function I(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const u=e.period==="am",H=e.ampm?J(Number(h.value??0),u?"am":"pm"):Number(h.value??0),m=o("hour",H,t.key==="ArrowUp"),S=u&&m>=12||!u&&m<12;e.ampm&&S?(f("update:period",e.period==="am"?"pm":"am"),ke(()=>h.value=x(m))):h.value=x(m)}function q(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const u=Number(s.value??0),H=o("minute",u,t.key==="ArrowUp",i.value);s.value=x(H)}function j(t){if(!["ArrowUp","ArrowDown"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const u=Number(T.value??0),H=o("second",u,t.key==="ArrowUp",i.value,_.value);T.value=x(H)}function D(t,u,H){return m=>{if(!m.data)return;const S=m.target,{value:F,selectionStart:O,selectionEnd:n}=S??{};if(X(m.data)===null){m.preventDefault();return}const r=F?F.slice(0,O)+m.data+F.slice(n):m.data;if(r.length>2){if(O===n&&n===0&&m.data.trim().startsWith("0")){m.preventDefault(),S.value=r.trim().substring(0,2),H(S.value),m.data.trim().length===1&&S.setSelectionRange(1,1);return}if(O===n&&n===1&&F.startsWith("0")){m.preventDefault(),S.value=r.trim().substring(0,2),H(S.value);return}const W=e.viewMode==="hour"?e.ampm?12:23:59;if(X(r)>W){m.preventDefault(),S.value=x(String(X(m.data)).substring(0,2)),H(S.value);return}}const w=t(r);u(w)&&m.preventDefault()}}function B(t){f("update:period",t);const u=o("hour",t==="am"?23:11,!0);ke(()=>h.value=x(u))}const E=y(),L=y(),U=y();K(()=>e.viewMode,(t,u)=>{switch(u){case"hour":E.value.blur();break;case"minute":L.value.blur();break;case"second":U.value.blur();break}});const c=D(l.out,t=>l.in(t)===h.value,t=>h.value=t),P=D(b.out,t=>b.in(t)===s.value,t=>s.value=t),R=D(b.out,t=>b.in(t)===T.value,t=>T.value=t);return ee(()=>A("div",{class:"v-time-picker-controls"},[A("div",{class:z({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-ampm":e.ampm,"v-time-picker-controls__time--with-seconds":e.useSeconds})},[$(ue,{ref:E,active:e.viewMode==="hour",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.hour"),showHint:e.inputHints,error:C.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:h.value,"onUpdate:modelValue":t=>h.value=t,onKeydown:I,onBeforeinput:c,onFocus:()=>f("update:viewMode","hour")},null),A("span",{class:"v-time-picker-controls__time__separator"},[fe(":")]),$(ue,{ref:L,active:e.viewMode==="minute",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.minute"),showHint:e.inputHints,error:M.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:s.value,"onUpdate:modelValue":t=>s.value=t,onKeydown:q,onBeforeinput:P,onFocus:()=>f("update:viewMode","minute")},null),e.useSeconds&&A("span",{key:"secondsDivider",class:"v-time-picker-controls__time__separator"},[fe(":")]),e.useSeconds&&A(Ie,null,[$(ue,{key:"secondsVal",ref:U,active:e.viewMode==="second",color:e.color,disabled:e.disabled,label:k("$vuetify.timePicker.second"),showHint:e.inputHints,error:g.value?void 0:k("$vuetify.timePicker.notAllowed"),modelValue:T.value,"onUpdate:modelValue":t=>T.value=t,onKeydown:j,onBeforeinput:R,onFocus:()=>f("update:viewMode","second")},null)]),e.ampm&&A("div",{class:"v-time-picker-controls__ampm"},[$(me,{active:e.period==="am",color:e.period==="am"?e.color:void 0,class:z({"v-time-picker-controls__ampm__am":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="am"}),disabled:e.disabled,text:k("$vuetify.timePicker.am"),variant:e.disabled&&e.period==="am"?"elevated":"tonal",onClick:()=>e.period!=="am"?B("am"):null},null),$(me,{active:e.period==="pm",color:e.period==="pm"?e.color:void 0,class:z({"v-time-picker-controls__ampm__pm":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="pm"}),disabled:e.disabled,text:k("$vuetify.timePicker.pm"),variant:e.disabled&&e.period==="pm"?"elevated":"tonal",onClick:()=>e.period!=="pm"?B("pm"):null},null)])])])),{}}}),Oe=Q({disabled:Boolean,format:{type:String,default:"ampm"},viewMode:{type:String,default:"hour"},period:{type:String,default:"am",validator:e=>["am","pm"].includes(e)},modelValue:null,readonly:Boolean,scrollable:Boolean,useSeconds:Boolean,variant:{type:String,default:"dial"},..._e(),...le(Re({title:"$vuetify.timePicker.title"}),["landscape"]),...Ae()},"VTimePicker"),Je=p()({name:"VTimePicker",props:Oe(),emits:{"update:hour":e=>!0,"update:minute":e=>!0,"update:period":e=>!0,"update:second":e=>!0,"update:modelValue":e=>!0,"update:viewMode":e=>!0},setup(e,d){let{emit:f,slots:k}=d;const{t:N}=ye(),{densityClasses:v}=He(e),a=y(null),o=y(null),i=y(null),_=y(null),C=y(null),M=y(null),g=G(e,"period","am"),l=G(e,"viewMode","hour"),h=y(null),b=y(null),s=V(()=>e.format==="ampm"),{isAllowedHour:T,isAllowedMinute:I,isAllowedSecond:q}=Me(e),j=$e(()=>e.modelValue!==null&&a.value===null&&o.value===null&&(!e.useSeconds||i.value===null));function D(){const c=B();c!==null&&c!==e.modelValue&&f("update:modelValue",c),j.value&&f("update:modelValue",null)}K(a,D),K(o,D),K(i,D),K(()=>e.modelValue,c=>E(c)),K(()=>e.useSeconds,(c,P)=>{P&&!c&&l.value==="second"&&(l.value="minute"),!c&&i.value!==null&&(i.value=null)}),Fe(()=>{E(e.modelValue)});function B(){return a.value!=null&&o.value!=null&&(!e.useSeconds||i.value!=null)?`${x(a.value)}:${x(o.value)}`+(e.useSeconds?`:${x(i.value)}`:""):null}function E(c){if(c==null||c==="")a.value=null,o.value=null,i.value=null;else if(c instanceof Date)a.value=c.getHours(),o.value=c.getMinutes(),i.value=c.getSeconds();else{const[P,,R,,t,u]=c.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);a.value=u?J(parseInt(P,10),u):parseInt(P,10),o.value=parseInt(R,10),i.value=parseInt(t||0,10)}g.value=a.value==null||a.value<12?"am":"pm"}function L(c){l.value==="hour"?a.value=s.value?J(c,g.value):c:l.value==="minute"?o.value=c:i.value=c}function U(c){switch(l.value||"hour"){case"hour":f("update:hour",c);break;case"minute":f("update:minute",c);break;case"second":f("update:second",c);break}const P=a.value!==null&&o.value!==null&&(e.useSeconds?i.value!==null:!0);l.value==="hour"?l.value="minute":e.useSeconds&&l.value==="minute"&&(l.value="second"),!(a.value===_.value&&o.value===C.value&&(!e.useSeconds||i.value===M.value)||B()===null)&&(_.value=a.value,C.value=o.value,e.useSeconds&&(M.value=i.value),P&&D())}ee(()=>{const c=le(we.filterProps(e),["hideHeader"]),P=be.filterProps(e),R=he.filterProps(le(e,["format","modelValue","min","max"])),t=l.value==="hour"?T.value:l.value==="minute"?u=>I.value(a.value,u):u=>q.value(a.value,o.value,u);return $(we,ne(c,{color:void 0,class:["v-time-picker",`v-time-picker--variant-${e.variant}`,e.class,v.value],hideHeader:e.hideHeader&&e.variant!=="input",style:e.style}),{title:()=>{var u;return((u=k.title)==null?void 0:u.call(k))??A("div",{class:"v-time-picker__title"},[N(e.title)])},header:()=>$(be,ne(P,{ampm:s.value,hour:a.value,minute:o.value,period:g.value,second:i.value,viewMode:l.value,inputHints:e.variant==="input","onUpdate:hour":u=>a.value=u,"onUpdate:minute":u=>o.value=u,"onUpdate:second":u=>i.value=u,"onUpdate:period":u=>g.value=u,"onUpdate:viewMode":u=>l.value=u,ref:h}),null),default:()=>$(he,ne(R,{allowedValues:t,double:l.value==="hour"&&!s.value,format:l.value==="hour"?s.value?Ve:u=>u:u=>x(u,2),max:l.value==="hour"?s.value&&g.value==="am"?11:23:59,min:l.value==="hour"&&s.value&&g.value==="pm"?12:0,size:20,step:l.value==="hour"?1:5,modelValue:l.value==="hour"?a.value:l.value==="minute"?o.value:i.value,onChange:U,onInput:L,ref:b}),null),actions:k.actions})})}});export{Je as V};