@featherk/composables 0.11.2 → 0.12.0

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.
@@ -1,2 +1,2 @@
1
- (function(_,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@vueuse/integrations/useFocusTrap")):typeof define=="function"&&define.amd?define(["exports","vue","@vueuse/integrations/useFocusTrap"],t):(_=typeof globalThis<"u"?globalThis:_||self,t(_.FeatherKComposables={},_.Vue,_.useFocusTrap))})(this,(function(_,t,Re){"use strict";const Fe=(e,n)=>{const o=t.ref(null);let h=!1,p=null,g=null;const A=[],I=".k-table-row[data-grid-row-index] [tabindex]",T=()=>{const u=e?.value?.$el;return u?u.closest(".k-grid"):null},F=u=>{const w=T();if(!w)return!1;const m=u.closest(".k-grid-aria-root");if(m)return w.contains(m);const b=u.closest(".k-grid-header, .k-grid-content, .k-grid-content-locked");return b?w.contains(b):!1},D=u=>u.key==="Enter"||u.code==="Enter"||u.code==="NumpadEnter",$=()=>e?.value?.columns,E=u=>{const w=u.key||u.code;([" ","Spacebar","Space"].includes(w)||D(u))&&(u.preventDefault(),u.stopPropagation(),o.value=u.target,u.target.click())},S=u=>{if(!o.value)return;if(u.code==="Escape"){u.stopPropagation(),o.value&&o.value.focus();return}const w=Array.from(document.querySelectorAll(".k-animation-container .k-popup .k-column-menu .k-columnmenu-item-wrapper .k-columnmenu-item")),m=document.querySelector(".k-animation-container .k-popup .k-column-menu .k-filter-menu-container");if(m){if(u.code==="Tab"){const b=[".k-dropdownlist[tabindex='0']","input.k-input-inner:not([tabindex='-1']):not([disabled])","button:not([tabindex='-1']):not([disabled])",".k-checkbox"],M=n?.focusableMenuSelectors??b,k=Array.from(m.querySelectorAll(M.join(",")));if(k.length===0)return;const C=k.findIndex(Z=>Z===document.activeElement);let N;C===-1?N=0:u.shiftKey?N=(C-1+k.length)%k.length:N=(C+1)%k.length,u.preventDefault(),u.stopPropagation(),k[N]?.focus()}}else if(u.code==="ArrowUp"||u.code==="ArrowDown"){u.preventDefault(),u.stopPropagation();const b=w.findIndex(k=>k===document.activeElement);let M=b;u.code==="ArrowUp"?M=b>0?b-1:w.length-1:u.code==="ArrowDown"&&(M=b<w.length-1?b+1:0),w[M]?.focus();return}if(u.code==="Tab"){u.preventDefault(),u.stopPropagation();const b=o.value?.parentElement;(u.shiftKey?b?.previousElementSibling:b?.nextElementSibling)?.querySelector("button, [role='button'], .k-link")?.focus()}},R=()=>{p=new MutationObserver(u=>{u.forEach(w=>{w.addedNodes.forEach(m=>{if(m.nodeType===Node.ELEMENT_NODE){const b=m;if(b.classList.contains("k-animation-container")){const k=o.value;k&&(k.dataset.featherKSortable==="true"||t.nextTick(()=>{b.querySelectorAll(".k-columnmenu-item-wrapper").forEach(Z=>{Z.textContent?.toLowerCase().includes("sort")&&Z.remove()})})),b.addEventListener("keydown",S),t.nextTick(()=>{const C=()=>{const N=Array.from(b.querySelectorAll(".k-animation-container .k-popup .k-column-menu .k-columnmenu-item-wrapper .k-columnmenu-item"));if(N.length===1)N[0].focus(),N[0].click(),C.attempts=0;else if(N.length>1){C.attempts=0;return}else C.attempts===void 0&&(C.attempts=0),C.attempts++<3&&setTimeout(C,200)};C()})}b.querySelectorAll(".k-animation-container").forEach(k=>{k.addEventListener("keydown",S)})}}),w.removedNodes.forEach(m=>{if(m.nodeType===Node.ELEMENT_NODE){const b=m;b.classList.contains("k-animation-container")&&b.removeEventListener("keydown",S),b.querySelectorAll(".k-animation-container").forEach(k=>{k.removeEventListener("keydown",S)})}})})}),p.observe(document.body,{childList:!0,subtree:!0})},c=u=>{const w=u.tagName.toLowerCase();return!!(["input","textarea","select","button"].includes(w)||u.closest('.k-picker-wrap, .k-input-inner, .k-textbox, [role="combobox"]'))},s=u=>{if(!u.type||!u)return;const w=u.target;if(!w)return;const m=w.closest(".k-table-row[data-grid-row-index]");if(!F(w))return;const b=["ArrowLeft","ArrowRight"].includes(u.code);if(!(c(w)&&!(m&&b))){if(u.code==="Escape"){const M=document.activeElement?.closest(".k-table-row[data-grid-row-index]");if(M){u.preventDefault(),u.stopPropagation();try{Array.from(e?.value.$el.querySelectorAll(".k-table-row[data-grid-row-index]")).forEach(C=>C.setAttribute("tabindex","-1"))}catch{}M.setAttribute("tabindex","0"),M.focus();return}}if(["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Enter","NumpadEnter","Space"].includes(u.code)){if(w.classList.contains("k-grid-header-menu")&&w.classList.contains("k-grid-column-menu")){o.value=w;return}if(m){if(["ArrowDown","ArrowUp"].includes(u.code)){u.preventDefault(),u.stopPropagation();const M=(C,N)=>{let Z=N==="next"?C.nextElementSibling:C.previousElementSibling;for(;Z;){const ne=Z;try{if(ne.classList.contains("k-table-row"))return ne}catch{}Z=N==="next"?Z.nextElementSibling:Z.previousElementSibling}return null},k=u.code==="ArrowDown"?M(m,"next"):M(m,"previous");k&&(m.setAttribute("tabindex","-1"),k.setAttribute("tabindex","0"),k.focus());return}if(["ArrowLeft","ArrowRight"].includes(u.code)){u.preventDefault(),u.stopPropagation();const M=m.querySelectorAll(I);if(M.length===0)return;let k=Array.from(M).findIndex(C=>C===document.activeElement);if(k===-1&&document.activeElement===m){M[0].focus();return}u.code==="ArrowRight"?k=k===M.length-1?0:k+1:u.code==="ArrowLeft"&&(k=k===0?M.length-1:k-1),M[k].focus();return}}}}},i=()=>{t.nextTick(()=>{const u=e.value?.$el;if(!u||typeof u.closest!="function")return;const w=u.closest(".k-grid");w&&w.classList.add("fk-grid")})},v=()=>{if(!g)try{const u=()=>{try{const b=Array.from(e.value.$el.querySelectorAll(".k-table-row[data-grid-row-index]"));if(!b||b.length===0||b.filter(C=>C.getAttribute("tabindex")==="0").length===1)return;const k=b.find(C=>C===document.activeElement||C.contains(document.activeElement));if(b.forEach(C=>C.setAttribute("tabindex","-1")),k){k.setAttribute("tabindex","0");return}b[0].setAttribute("tabindex","0")}catch(b){console.error("ensureSingleTabindex error:",b)}},w=Array.from(e.value.$el.querySelectorAll(".k-table-row[data-grid-row-index]"));w.length>0&&w.forEach((b,M)=>{b.setAttribute("tabindex",M===0?"0":"-1")});const m=e.value.$el.querySelector(".k-table-tbody");m&&(g=new MutationObserver(()=>{u()}),g.observe(m,{childList:!0,subtree:!0}))}catch(u){console.error("Error setting up row navigation:",u)}},L=()=>{t.nextTick(()=>{const w=document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");w&&w.forEach(m=>{m.setAttribute("role","button"),m.addEventListener("keydown",E)}),R(),B()})},U=()=>{const w=document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");w&&w.forEach(m=>{m.removeEventListener("keydown",E)}),p&&(p.disconnect(),p=null),g&&(g.disconnect(),g=null),A.forEach(m=>m()),A.length=0},B=()=>{document.querySelectorAll(".k-grid-header .k-table-thead th").forEach((m,b)=>{if(m.dataset.featherKHeaderBound==="true")return;const M=m.querySelector(".k-grid-header-menu.k-grid-column-menu");if(!M)return;const k=$();if(k&&k[b]){const r=k[b].field??"";m.setAttribute("data-feather-k-field",r),m.setAttribute("data-feather-k-filterable",k[b].filterable===!1?"false":"true"),m.setAttribute("data-feather-k-sortable",k[b].sortable===!1?"false":"true")}const C=m.dataset.featherKFilterable!=="false",N=m.dataset.featherKSortable!=="false";M.setAttribute("tabindex","-1"),C||N?m.style.cursor="pointer":m.style.cursor="default",C?(m.setAttribute("tabindex","0"),m.setAttribute("role","button"),m.setAttribute("aria-haspopup","menu")):(m.setAttribute("tabindex","0"),m.setAttribute("role","columnheader"),m.removeAttribute("aria-haspopup"));const Z=r=>{r.target?.closest(".k-column-resizer")||(o.value=m,M.click())},ne=r=>{if(C)o.value=m,r.preventDefault(),r.stopPropagation(),Z(r);else if(N){o.value=m;const y=m.querySelector(".k-link");y&&y.click()}};m.addEventListener("click",ne),A.push(()=>{m.removeEventListener("click",ne)});const oe=r=>{if((D(r)||r.code==="Space")&&(C||N)){if(r.preventDefault(),r.stopPropagation(),o.value=m,o.value.focus(),C)Z(r);else if(N){const y=m.querySelector(".k-link");y&&y.click()}}};m.addEventListener("keydown",oe,!0),A.push(()=>{m.removeEventListener("keydown",oe,!0)}),m.dataset.featherKHeaderBound="true"});const w=document.querySelector(".k-grid-header .k-table-thead");if(w&&w.dataset.featherKHeaderBound!=="true"){const m=b=>{const M=b.target.closest("th");M&&(D(b)||b.code==="Space")&&M.dataset.featherKFilterable==="false"&&M.dataset.featherKSortable==="false"&&(b.preventDefault(),b.stopImmediatePropagation())};w.addEventListener("keydown",m,!0),A.push(()=>{w.removeEventListener("keydown",m,!0)}),w.dataset.featherKHeaderBound="true"}},G=function(u,w){const m=u?.event?.event.target,b=$();if(!m||!b)return;const M=m.classList.contains("k-grid-header-menu"),k=m.classList.contains("k-columnmenu-item"),C=b.find(N=>N.field===u?.event?.field)?.sortable&&!0;if(!M){if(k&&!C){u?.event?.sort?.filter(Z=>Z.field!==u?.event?.field);return}typeof w=="function"&&t.nextTick(()=>{o.value&&o.value.focus(),w(u),t.nextTick(()=>{B()})})}},J=()=>{if(!h)try{i(),v(),L(),h=!0}catch(u){console.error("initA11y failed:",u),U()}};return t.onBeforeUnmount(()=>{U()}),{activeFilterButton:o,handleGridKeyDown:s,handleSortChange:G,initA11y:J}},$e=e=>!!e&&typeof e=="object"&&"filters"in e&&Array.isArray(e.filters),Ve=e=>!!e&&typeof e=="object"&&"field"in e,De=(e,n)=>!e||typeof e!="object"?!1:$e(e)?e.filters.some(o=>De(o,n)):Ve(e)?e.field===n:!1,Pe=e=>n=>e.value?.filters&&e.value.filters.some(o=>De(o,n))?"active":"",Le=["button","a","input","select","textarea",'[role="button"]','[role="checkbox"]','[role="link"]','[role="menuitem"]','[role="option"]',".k-checkbox",".k-button",".k-dropdown",".k-picker",".k-hierarchy-cell",".k-grid-header-menu",".k-column-menu"],Ke=e=>{const{onRowAction:n,gridRef:o,dataItems:h,ignoreSelectors:p=[],shouldIgnoreTarget:g,enableKeyboardAction:A=!0}=e,I=[...Le,...p],T=(c,s)=>{if(!c)return!1;const i=I.join(",");return c.closest&&c.closest(i)?!0:g&&s?g(c,s):!1},F=c=>{const i=c?.closest?.(".k-table-row[data-grid-row-index]")?.getAttribute("data-grid-row-index");if(i==null)return;const v=parseInt(i,10);return Number.isNaN(v)?void 0:v},D=c=>{if(!c||typeof c.clientX!="number")return;const s=typeof window<"u"&&window.scrollX||0,i=typeof window<"u"&&window.scrollY||0,v=typeof window<"u"&&window.screenX||0,L=typeof window<"u"&&window.screenY||0;return{clientX:c.clientX,clientY:c.clientY,pageX:typeof c.pageX=="number"?c.pageX:c.clientX+s,pageY:typeof c.pageY=="number"?c.pageY:c.clientY+i,screenX:typeof c.screenX=="number"?c.screenX:c.clientX+v,screenY:typeof c.screenY=="number"?c.screenY:c.clientY+L}},$=c=>{if(!c||typeof c.getBoundingClientRect!="function")return;const s=c.getBoundingClientRect();if(!s)return;const i=s.left,v=s.bottom,L=typeof window<"u"&&window.scrollX||0,U=typeof window<"u"&&window.scrollY||0;return{clientX:i,clientY:v,pageX:i+L,pageY:v+U,screenX:i,screenY:v}},E=c=>{if(typeof window>"u")return!1;const s=window.getSelection();if(!s||s.isCollapsed||!s.toString().trim())return!1;if(c&&s.anchorNode&&s.focusNode){const i=c.closest(".k-table-row")||c.closest(".k-grid")||c,v=s.anchorNode.nodeType===Node.ELEMENT_NODE?s.anchorNode:s.anchorNode.parentElement,L=s.focusNode.nodeType===Node.ELEMENT_NODE?s.focusNode:s.focusNode.parentElement,U=!!(v&&i.contains(v)),B=!!(L&&i.contains(L));return U||B}return!0};return{handleRowClick:c=>{const s=c?.htmlEvent||c?.event||c?.nativeEvent||(c instanceof Event?c:void 0);if(s&&s.button!==void 0&&s.button!==0)return;const i=s?.target||c?.target;if(i&&T(i,s||c)||E(i))return;const v={dataItem:c.dataItem,rowIndex:c.rowIndex??F(i),field:c.field,event:s||c,triggerType:"click",ctrlKey:!!s?.ctrlKey,shiftKey:!!s?.shiftKey,metaKey:!!s?.metaKey,altKey:!!s?.altKey,coordinates:D(s)??$(i)};n(c.dataItem,v)},handleRowKeyDown:(c,s)=>{if(!A)return;const i=c.key||c.code;if(!(i==="Enter"||i==="NumpadEnter"||i===" "||i==="Space"||c.code==="Enter"||c.code==="NumpadEnter"||c.code==="Space"))return;const L=c.target;if(!L)return;const U=L.closest(".k-table-row[data-grid-row-index], .k-table-row");if(!U||T(L,c))return;c.preventDefault(),c.stopPropagation();const B=U.getAttribute("data-grid-row-index"),G=B!==null?parseInt(B,10):void 0;let J=s;if(J===void 0){const w=(Array.isArray(h)?h:h?.value)||o?.value?.props?.dataItems||o?.value?.dataItems;w&&G!==void 0&&G>=0&&G<w.length&&(J=w[G])}if(J===void 0)return;const u={dataItem:J,rowIndex:G,event:c,triggerType:"keyboard",ctrlKey:!!c.ctrlKey,shiftKey:!!c.shiftKey,metaKey:!!c.metaKey,altKey:!!c.altKey,coordinates:$(U)};n(J,u)},isIgnoredTarget:T}},Ne="Enter a valid ZIP code with exactly 5 or 9 digits.",Ee=e=>{const n=e.replace(/\D/g,"").slice(0,9);return n.length>5?`${n.slice(0,5)}-${n.slice(5)}`:n},qe=(e,n)=>e.slice(0,Math.max(0,n)).replace(/\D/g,"").length,Oe=e=>e<=5?e:Math.min(e+1,10),xe=e=>{const n=t.ref(Ee(e.initialValue??"")),o=t.ref(!1),h=t.ref(e.errorMessage?.trim()||Ne),p=t.computed(()=>n.value.replace(/\D/g,"")),g=t.computed(()=>{const S=p.value.length;return S===5||S===9}),A=t.computed(()=>o.value&&!g.value),I=t.computed(()=>!o.value||g.value),T=t.computed(()=>o.value),F=(S,R)=>{const c=Oe(R);t.nextTick(()=>{S.isConnected&&S.setSelectionRange(c,c)})};return{zipDisplay:n,submitted:o,errorMessage:h,wrapperClass:"fk-zip-textbox",zipRaw:p,isZipValid:g,showZipError:A,textBoxValid:I,textBoxValidate:T,handleZipInput:(...S)=>{const R=S[0],s=R?.event?.target,i=R?.value,v=Array.isArray(i)?i.join(""):String(i??""),L=s?.selectionStart!==void 0&&s.selectionStart!==null?qe(s.value,s.selectionStart):v.replace(/\D/g,"").length;n.value=Ee(v),s&&F(s,L)},submitAndValidate:S=>{o.value=!0;const R=g.value;return!R&&S?.focus&&t.nextTick(()=>{document.getElementById(e.id)?.focus()}),R},buildPayload:()=>({zip:p.value})}};function Ie(e,n){const o=t.ref(!1);t.watchEffect(()=>{e.value?.setAttribute("aria-invalid",String(!n.isValid()))});function h(g){const A=e.value??g.currentTarget,I=g.relatedTarget;(!A||!A.contains(I))&&(o.value=!0)}function p(){o.value=!1}return{touched:o,onFocusout:h,reset:p}}function Me(e,n){const o=t.ref(!1),h=t.ref(!1),p=t.computed(()=>t.toValue(n.submitted)||o.value),g=t.computed(()=>!p.value||n.isValid()),A=Ie(e,{isValid:()=>g.value});function I(E){return t.computed(()=>!p.value||t.toValue(E))}function T(E){return Object.fromEntries(Object.entries(E).map(([S,R])=>[S,I(R)]))}function F(E){const S=t.toValue(E);if(!S)return;S.querySelector('.k-invalid input, .k-invalid[tabindex="0"]')?.focus()}function D(E){if(h.value){h.value=!1;return}A.onFocusout(E),A.touched.value&&(o.value=!0)}function $(){o.value=!1,h.value=!0,A.reset()}return{touched:o,fieldsetValidate:p,onFocusout:D,reset:$,createFieldValidity:I,createFieldValidationsMap:T,focusFirstInvalidField:F}}const Ue=[{label:"Alabama",value:"AL"},{label:"Alaska",value:"AK"},{label:"Arizona",value:"AZ"},{label:"Arkansas",value:"AR"},{label:"California",value:"CA"},{label:"Colorado",value:"CO"},{label:"Connecticut",value:"CT"},{label:"Delaware",value:"DE"},{label:"Florida",value:"FL"},{label:"Georgia",value:"GA"},{label:"Hawaii",value:"HI"},{label:"Idaho",value:"ID"},{label:"Illinois",value:"IL"},{label:"Indiana",value:"IN"},{label:"Iowa",value:"IA"},{label:"Kansas",value:"KS"},{label:"Kentucky",value:"KY"},{label:"Louisiana",value:"LA"},{label:"Maine",value:"ME"},{label:"Maryland",value:"MD"},{label:"Massachusetts",value:"MA"},{label:"Michigan",value:"MI"},{label:"Minnesota",value:"MN"},{label:"Mississippi",value:"MS"},{label:"Missouri",value:"MO"},{label:"Montana",value:"MT"},{label:"Nebraska",value:"NE"},{label:"Nevada",value:"NV"},{label:"New Hampshire",value:"NH"},{label:"New Jersey",value:"NJ"},{label:"New Mexico",value:"NM"},{label:"New York",value:"NY"},{label:"North Carolina",value:"NC"},{label:"North Dakota",value:"ND"},{label:"Ohio",value:"OH"},{label:"Oklahoma",value:"OK"},{label:"Oregon",value:"OR"},{label:"Pennsylvania",value:"PA"},{label:"Rhode Island",value:"RI"},{label:"South Carolina",value:"SC"},{label:"South Dakota",value:"SD"},{label:"Tennessee",value:"TN"},{label:"Texas",value:"TX"},{label:"Utah",value:"UT"},{label:"Vermont",value:"VT"},{label:"Virginia",value:"VA"},{label:"Washington",value:"WA"},{label:"West Virginia",value:"WV"},{label:"Wisconsin",value:"WI"},{label:"Wyoming",value:"WY"}];function he(e){if(e&&typeof e=="object"&&"value"in e){const n=e.value;return typeof n=="string"?n:String(n??"")}return""}function Be(){const e=t.reactive({address1:"",address2:"",city:"",state:null,zip:""});return{formData:e,onAddress1Input:(...A)=>{e.address1=he(A[0])},onAddress2Input:(...A)=>{e.address2=he(A[0])},onCityInput:(...A)=>{e.city=he(A[0])},onStateChange:A=>{e.state=A.value},resetFormData:()=>{e.address1="",e.address2="",e.city="",e.state=null,e.zip=""}}}function Ye(e,n="zip"){const o=xe({id:n}),{zipDisplay:h,zipRaw:p,isZipValid:g,wrapperClass:A,handleZipInput:I}=o;return t.watch(p,F=>{e.zip=F}),{zipDisplay:h,isZipValid:g,zipWrapperClass:A,onZipInput:I,resetZip:()=>{h.value="",e.zip=""}}}function ze(e){const n=t.computed(()=>e.formData.address1.trim()!==""),o=t.computed(()=>e.formData.city.trim()!==""),h=t.computed(()=>!!e.formData.state),p=t.computed(()=>t.toValue(e.isZipValid)),g=t.computed(()=>n.value&&o.value&&h.value&&p.value);return{strictAddress1Valid:n,strictCityValid:o,strictStateValid:h,strictZipValid:p,strictAddressValid:g}}function He(e){if(!e)return;e.querySelector('.k-invalid input, .k-invalid[tabindex="0"]')?.focus()}function Ze(e,n){const o=e??n.currentTarget,h=n.relatedTarget;return!o||!o.contains(h)}function Xe(e){const n=t.ref(t.toValue(e.fieldsetRef));t.watchEffect(()=>{n.value=t.toValue(e.fieldsetRef)});const o=t.ref(!1),h=t.ref(!1),p=t.computed(()=>t.toValue(e.required)??!0),{formData:g,onAddress1Input:A,onAddress2Input:I,onCityInput:T,onStateChange:F,resetFormData:D}=Be(),$=`${e.addressId}-zip`,{zipDisplay:E,isZipValid:S,zipWrapperClass:R,onZipInput:c,resetZip:s}=Ye(g,$),{strictAddress1Valid:i,strictCityValid:v,strictStateValid:L,strictZipValid:U,strictAddressValid:B}=ze({formData:g,isZipValid:S}),G=Me(n,{submitted:o,isValid:()=>B.value}),{touched:J,fieldsetValidate:u,onFocusout:w,reset:m}=G,b=G.createFieldValidationsMap({address1:i,city:v,state:L,zip:U,address:B}),{address1:M,city:k,state:C,zip:N,address:Z}=b,ne=t.computed(()=>p.value?u.value:!1),oe=t.computed(()=>p.value?M.value:!0),r=t.computed(()=>p.value?k.value:!0),y=t.computed(()=>p.value?C.value:!0),P=t.computed(()=>p.value?N.value:!0),Y=t.computed(()=>p.value?Z.value:!0),z={value:null,label:"State"},X=Ue.map(({label:f,value:x})=>({label:f,value:x})),a=t.computed(()=>({address1:g.address1.trim(),address2:g.address2.trim(),city:g.city.trim(),state:(g.state??"").trim().toUpperCase(),zip:g.zip.replace(/\D/g,"")})),d=t.computed(()=>g.address1.trim()===""&&g.address2.trim()===""&&g.city.trim()===""&&(g.state??"").trim()===""&&g.zip.replace(/\D/g,"")===""),V=t.computed(()=>!d.value),q=t.computed(()=>!p.value&&V.value&&(!i.value||!v.value||!L.value)),W=t.computed(()=>{const f=g.zip.replace(/\D/g,"");return!p.value&&V.value&&f.length!==5&&f.length!==9}),Q=t.computed(()=>!p.value&&V.value&&!B.value),O=t.computed(()=>!p.value&&Q.value&&(h.value||o.value));return t.watch(a,()=>{p.value||(h.value=!1)}),t.watch(p,f=>{f||(o.value=!1,h.value=!1,m())}),{formData:g,submitted:o,touched:J,addressValidate:ne,address1Valid:oe,cityValid:r,stateValid:y,zipValid:P,addressValid:Y,optionalFeedbackActive:O,optionalPartialInvalid:Q,optionalMissingRequiredFields:q,optionalZipInvalid:W,stateDefaultItem:z,stateOptions:X,zipDisplay:E,zipWrapperClass:R,onAddress1Input:A,onAddress2Input:I,onCityInput:T,onStateChange:F,onZipInput:c,onFieldsetFocusout:f=>{const x=Ze(n.value,f);w(f),!p.value&&x&&(h.value=!0)},normalizedPayload:a,validateForSubmit:async()=>p.value?(o.value=!0,B.value?{isValid:!0,payload:a.value}:(await t.nextTick(),He(n.value),{isValid:!1,payload:null})):d.value||B.value?(o.value=!1,{isValid:!0,payload:a.value}):(o.value=!0,{isValid:!1,payload:null}),reset:()=>{o.value=!1,h.value=!1,m(),D(),s()}}}const We=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ge=Object.prototype.toString,je=e=>Ge.call(e)==="[object Object]",ge=()=>{};function ve(e){return Array.isArray(e)?e:[e]}function _e(e,n,o){return t.watch(e,n,{...o,immediate:!0})}const Te=We?window:void 0;function pe(e){var n;const o=t.toValue(e);return(n=o?.$el)!==null&&n!==void 0?n:o}function be(...e){const n=(h,p,g,A)=>(h.addEventListener(p,g,A),()=>h.removeEventListener(p,g,A)),o=t.computed(()=>{const h=ve(t.toValue(e[0])).filter(p=>p!=null);return h.every(p=>typeof p!="string")?h:void 0});return _e(()=>{var h,p;return[(h=(p=o.value)===null||p===void 0?void 0:p.map(g=>pe(g)))!==null&&h!==void 0?h:[Te].filter(g=>g!=null),ve(t.toValue(o.value?e[1]:e[0])),ve(t.unref(o.value?e[2]:e[1])),t.toValue(o.value?e[3]:e[2])]},([h,p,g,A],I,T)=>{if(!h?.length||!p?.length||!g?.length)return;const F=je(A)?{...A}:A,D=h.flatMap($=>p.flatMap(E=>g.map(S=>n($,E,S,F))));T(()=>{D.forEach($=>$())})},{flush:"post"})}function Ce(e,n,o={}){const{window:h=Te,ignore:p=[],capture:g=!0,detectIframe:A=!1,controls:I=!1}=o;if(!h)return I?{stop:ge,cancel:ge,trigger:ge}:ge;let T=!0;const F=s=>t.toValue(p).some(i=>{if(typeof i=="string")return Array.from(h.document.querySelectorAll(i)).some(v=>v===s.target||s.composedPath().includes(v));{const v=pe(i);return v&&(s.target===v||s.composedPath().includes(v))}});function D(s){const i=t.toValue(s);return i&&i.$.subTree.shapeFlag===16}function $(s,i){const v=t.toValue(s),L=v.$.subTree&&v.$.subTree.children;return L==null||!Array.isArray(L)?!1:L.some(U=>U.el===i.target||i.composedPath().includes(U.el))}const E=s=>{const i=pe(e);if(s.target!=null&&!(!(i instanceof Element)&&D(e)&&$(e,s))&&!(!i||i===s.target||s.composedPath().includes(i))){if("detail"in s&&s.detail===0&&(T=!F(s)),!T){T=!0;return}n(s)}};let S=!1;const R=[be(h,"click",s=>{S||(S=!0,setTimeout(()=>{S=!1},0),E(s))},{passive:!0,capture:g}),be(h,"pointerdown",s=>{const i=pe(e);T=!F(s)&&!!(i&&!s.composedPath().includes(i))},{passive:!0}),A&&be(h,"blur",s=>{setTimeout(()=>{const i=pe(e);let v=h.document.activeElement;for(;v?.shadowRoot;)v=v.shadowRoot.activeElement;v?.tagName==="IFRAME"&&!i?.contains(h.document.activeElement)&&n(s)},0)},{passive:!0})].filter(Boolean),c=()=>R.forEach(s=>s());return I?{stop:c,cancel:()=>{T=!1},trigger:s=>{T=!0,E(s),T=!1}}:c}const we=e=>{if(e instanceof HTMLElement)return e;const n=e?.$el;return n instanceof HTMLElement?n:null},Je=(e,n)=>n==="row"?e.matches("tr.k-table-row"):!e.matches("tr.k-table-row"),Qe=(e,n)=>{console.warn(`usePopupMenu: triggerMode "${n}" does not match resolved element <${e.tagName.toLowerCase()}${e.className?`.${e.className.split(" ").join(".")}`:""}>; ARIA management skipped.`)},et=e=>{const n=t.ref(null),o=e.menuItemSelector??".k-menu-item:not(.k-disabled)",h=e.triggerMode,p=()=>we(e.triggerRef.value),g=()=>e.resolveFocusTarget?.()??we(e.focusTargetRef?.value),A=()=>{const i=g();if(i)return i.focus(),!0;const v=p();return v?.focus(),!!v},I=()=>{we(e.menuRef.value)?.querySelector(o)?.focus()},T=i=>{e.isOpen.value&&(n.value=i,$(!1),e.requestHide())};Ce(e.menuRef,()=>T("outside-click"),{ignore:[e.triggerRef]});let F=null;const D=()=>{F?.isConnected&&F.setAttribute("aria-expanded","false"),F=null},$=i=>{if(e.manageMenuTriggerAria===!1)return;const v=p();if(!v){F?.isConnected&&F.setAttribute("aria-expanded",i?"true":"false");return}if(!Je(v,h)){Qe(v,h),D();return}F&&F!==v&&D(),v.setAttribute("aria-expanded",i?"true":"false"),F=v};t.watch([e.isOpen,e.triggerRef],([i])=>$(i),{immediate:!0,flush:"post"}),t.onUnmounted(D);const E=()=>{if(e.isOpen.value){T("trigger-click");return}e.requestShow(),t.nextTick(I)};return{handleMenuSelect:(i,v)=>{T(i.event?.type?.startsWith("key")?"keyboard":"mouse-selection"),v?.(i)},handleActionButtonClick:E,handleActionButtonKeydown:i=>{if(i.key==="Enter"||i.code==="Space"){i.preventDefault(),E();return}if(i.key==="Escape"){if(i.preventDefault(),i.stopPropagation(),e.isOpen.value){T("keyboard");return}A()}},handleActionMenuEscape:i=>{i.preventDefault(),i.stopPropagation(),T("keyboard")},handlePopupClose:()=>{t.nextTick(()=>{n.value==="keyboard"?A():n.value==="mouse-selection"&&p()?.focus(),n.value=null})}}},tt=e=>{if(e instanceof HTMLElement)return e;const n=e&&"$el"in e?e.$el:null;return n instanceof HTMLElement?n:null},nt=()=>{const e=t.shallowReactive(new Map),n=t.ref(null),o=(I,T)=>{const F=tt(T);F?e.set(I,F):e.delete(I)},h=I=>e.get(I)??null,p=I=>{n.value=I},g=()=>{n.value=null},A=I=>n.value===I;return{activeId:t.readonly(n),isActive:t.computed(()=>n.value!==null),activeElement:t.computed(()=>n.value!==null?h(n.value):null),register:o,resolve:h,activate:p,deactivate:g,isIdActive:A}};function at(e){const n=t.ref(""),o=t.ref(void 0),h=t.ref(!!e.debug),p=t.ref(e.dateFormat??"mm/dd/yyyy"),g=t.computed(()=>!!e.required),A=1e3,I=t.ref(!1),T=["ArrowUp","ArrowDown"],F=["ArrowLeft","ArrowRight"],D=t.computed(()=>(n.value??"").replace(/\D/g,"")),$=r=>r<=2?"mm":r<=5?"dd":D.value.length<=10?"yyyy":"mm",E=t.computed(()=>{const r=n.value&&n.value.substring(0,2).replace(/\D/g,"0")||"0";return parseInt(r).toString().padStart(2,"0")}),S=t.computed(()=>{const r=n.value&&n.value.substring(3,5).replace(/\D/g,"0")||"0";return parseInt(r).toString().padStart(2,"0")}),R=t.computed(()=>{const r=n.value&&n.value.substring(6,10).replace(/\D/g,"0")||"0";return parseInt(r).toString().padStart(4,"0")}),c=r=>{if(D.value.length===0){e.onChange({value:null,event:r});return}if(D.value.length<8){e.onChange({value:null,event:r});return}if((n.value??"").length===10&&D.value.length===8){const[y,P,Y]=n.value.split("/"),z=parseInt(y),X=parseInt(P),a=parseInt(Y);if(B(a,z,X)){const d=L(a,z,X);s(d)?e.onChange({value:d,event:r}):e.onChange({value:null,event:r})}else e.onChange({value:null,event:r})}},s=r=>{const y=e.min??void 0,P=e.max??void 0;return!(y&&r<y||P&&r>P)},i=t.computed(()=>{if((n.value??"").length===10&&D.value.length===8){const[r,y,P]=(n.value??"").split("/"),Y=parseInt(r),z=parseInt(y),X=parseInt(P);if(B(X,Y,z))return L(X,Y,z)}return null}),v=t.computed(()=>(n.value??"").length===10&&D.value.length===8),L=(r,y,P)=>{const Y=new Date(0);return Y.setFullYear(r,y-1,P),Y.setHours(0,0,0,0),Y},U=(r,y)=>L(r,y+1,0).getDate(),B=(r,y,P)=>y>=1&&y<=12&&r>=A&&P>=1&&P<=U(r,y),G=r=>{n.value=r.value;const y=r.event?.target;o.value=y?.selectionStart??0,c(r)},J=r=>{o.value=r.target.selectionStart??0},u=(r,y,P)=>{const Y=y?.selectionStart??o.value??0;o.value=Y;let z=parseInt(E.value),X=parseInt(S.value),a=parseInt(R.value);if(!(D.value.length>=8)||!B(a,z,X)){const H=e.defaultValue??new Date;z=H.getMonth()+1,X=H.getDate(),a=H.getFullYear(),n.value=`${String(z).padStart(2,"0")}/${String(X).padStart(2,"0")}/${String(a)}`;const le=L(a,z,X);e.onChange({value:s(le)?le:null,event:P}),k({useRAF:!0});return}const V=$(Y);if(V==="mm")z=r==="ArrowUp"?z<12?z+1:1:z>1?z-1:12;else if(V==="dd"){const H=new Date(a,z,0).getDate();X=r==="ArrowUp"?X<H?X+1:1:X>1?X-1:H}else V==="yyyy"&&(a=r==="ArrowUp"?a+1:Math.max(1,a-1));n.value=`${String(z).padStart(2,"0")}/${String(X).padStart(2,"0")}/${String(a)}`;const[q,W,Q]=n.value.split("/"),O=L(parseInt(Q),parseInt(q),parseInt(W));O.toString()!=="Invalid Date"&&parseInt(Q)>=1e3?e.onChange({value:s(O)?O:null,event:P}):e.onChange({value:null,event:P}),k({useRAF:!0})},w=r=>{if(r.code==="Space"||r.key===" "){r.preventDefault(),r.stopPropagation(),e.onShowCalendar(r);return}if(r.key==="ArrowDown"&&r.altKey){r.preventDefault(),r.stopPropagation(),e.onShowCalendar(r);return}if(T.includes(r.key)){if(r.altKey)return;r.preventDefault(),r.stopPropagation();const y=r.target;u(r.key,y,r);return}},m=r=>{r.preventDefault();const y=r.deltaY<0?"ArrowUp":"ArrowDown";u(y,r.target,r)},b=r=>{const y=r.target;if(F.includes(r.key)){o.value=y?.selectionStart??0;return}if(T.includes(r.key)){if(r.altKey)return;o.value=y?.selectionStart??0}},M=r=>{I.value=!0,g.value&&!e.defaultValue&&e.externalValue&&e.externalValue.value===void 0&&D.value.length===0&&(e.externalValue.value="");const y=r.target;y&&(o.value=y.selectionStart??0)},k=r=>{const y=()=>{const P=document.getElementById(e.id);if(!P)return;const Y=r?.pos??o.value??P.value.length;try{P.focus(),P.setSelectionRange(Y,Y)}catch{}};t.nextTick(()=>{if(r?.delay&&r.delay>0){setTimeout(y,r.delay);return}if(r?.useRAF){requestAnimationFrame(y);return}y()})};e.externalValue&&t.watch(e.externalValue,r=>{if(r){const y=new Date(r);if(y.toString()!=="Invalid Date"){const P=(y.getMonth()+1).toString().padStart(2,"0"),Y=y.getDate().toString().padStart(2,"0"),z=y.getFullYear().toString();n.value=`${P}/${Y}/${z}`,k({delay:50});return}}},{immediate:!0});const C=t.computed(()=>[["Date",`${E.value} / ${S.value} / ${R.value}`],["Digits only",D.value],["min",e.min?.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"})??null],["max",e.max?.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"})??null]]),N=t.computed(()=>{if(!g.value){if(!v.value)return!0;const y=i.value;return y?s(y):!1}if(!I.value)return!0;const r=i.value;return!v.value||!r?!1:s(r)}),Z=t.computed(()=>{if(!g.value){if(!v.value)return;const y=i.value;return y?s(y)?"valid":"out-of-bounds":"invalid-date"}if(!I.value)return;if(D.value.length===0||!v.value)return"incomplete";const r=i.value;return r?s(r)?"valid":"out-of-bounds":"invalid-date"}),ne=t.computed(()=>{const r=Z.value;if(!r||r==="valid")return"";if(r==="incomplete")return"Required";if(r==="invalid-date")return`Must be in ${p.value} format.`;const y=e.min?e.min.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"}):null,P=e.max?e.max.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"}):null;if(r==="out-of-bounds"){if(y&&P)return`Must be between ${y} and ${P}.`;if(y)return`Must be on or after ${y}.`;if(P)return`Must be on or before ${P}.`}return""}),oe=()=>{t.nextTick(()=>{const r=document.getElementById(e.id);if(!r){console.warn(`ID (#${e.id}) not found for styling.`);return}const y=r.closest(".k-datepicker");if(!y){console.warn(`.k-datepicker parent not found for #${e.id} styling.`);return}const P=y.parentElement;if(P){if(P.classList.contains("fk-datepicker"))return;P.classList.add("fk-datepicker")}else console.warn(`Parent of .k-datepicker not found for #${e.id} styling.`)})};return t.onMounted(()=>{oe()}),{raw:n,cursorPos:o,debugEnabled:h,debugLines:C,placeholder:p,isValid:N,reason:t.readonly(Z),validationMessage:ne,digitsOnly:D,month:t.readonly(E),day:t.readonly(S),year:t.readonly(R),datePart:$,handleChange:G,handleKeyDown:w,handleWheel:m,handleKeyUp:b,handleClick:J,handleBlur:M,initStyling:oe}}function rt(e){const n=t.ref(""),o=t.ref(void 0),h=t.ref(!!e.debug),p=t.ref(!1),g=1440*60*1e3,A=365*g,I=new Date,T=new Date(I.getTime()-A),F=new Date(I.getTime()+A);e.min=e.min??T,e.max=e.max??F;const D=t.computed(()=>(n.value??"").replace(/\D/g,"")),$=(l,f)=>new Date(l,f,0).getDate(),E=(l,f,x)=>f>=1&&f<=12&&l>=1e3&&x>=1&&x<=$(l,f),S=l=>Date.UTC(l.getFullYear(),l.getMonth(),l.getDate()),R=l=>{if(!l)return null;const f=e.min??new Date(Date.now()-90*g),x=e.max??new Date,K=S(l);return K<S(f)||K>S(x)?null:l},c=(l,f)=>e.allowReverse??!1?!0:l<=f,s=t.computed(()=>(n.value?.length??0)>=23&&D.value.length>=16),i=l=>{if((l??"").length<23||D.value.length<16)return{start:null,end:null};const f=l.substring(0,10),x=l.substring(13,23),[K,ee,te]=f.split("/").map(ue=>parseInt(ue||"0",10)),[se,ce,de]=x.split("/").map(ue=>parseInt(ue||"0",10)),fe=new Date(te,K-1,ee),me=new Date(de,se-1,ce),ke=E(te,K,ee)&&fe.toString()!=="Invalid Date",Se=E(de,se,ce)&&me.toString()!=="Invalid Date";return{start:ke?fe:null,end:Se?me:null}},v=e.externalValid??t.ref(!0),L=t.computed(()=>i(n.value)),U=t.computed(()=>{const l=R(L.value.start),f=R(L.value.end);return{start:l,end:f}}),B=t.computed(()=>{if(!s.value)return;const l=U.value.start,f=U.value.end;if(!l||!f)return;const x=Math.abs(S(f)-S(l));return Math.round(x/864e5+1)}),G=t.ref(!1),J=t.computed(()=>{if(!G.value)return;const{start:l,end:f}=L.value;if(!s.value)return"incomplete";if(!l||!f)return"invalid-date";if(!U.value.start||!U.value.end)return"out-of-bounds";const x=U.value.start,K=U.value.end;return c(x,K)?typeof e.maxSpanDays=="number"&&B.value!==void 0&&B.value>e.maxSpanDays?"span-exceeds-limit":"valid":"reversed-range"}),u=t.computed(()=>{const l=J.value;return l===void 0||l==="valid"}),w=t.computed(()=>{const{min:l,max:f}=e,x=J.value;if(!x)return"";switch(x){case"incomplete":return"Required";case"invalid-date":return"One or both dates invalid.";case"reversed-range":return"End Date must be on or after Start Date.";case"out-of-bounds":return l&&f?`Dates must be between ${k(l)} and ${k(f)}.`:"Dates must be within the allowed range.";case"span-exceeds-limit":return typeof e.maxSpanDays=="number"?`Date range exceeds ${e.maxSpanDays} days.`:"Date range exceeds maximum allowed span.";default:return""}}),m=["ArrowUp","ArrowDown"],b=["ArrowLeft","ArrowRight"],M=(l,f)=>String(l).padStart(f,"0"),k=l=>`${M(l.getMonth()+1,2)}/${M(l.getDate(),2)}/${M(l.getFullYear(),4)}`,C=l=>l<=2?{side:"start",part:"mm"}:l<=5?{side:"start",part:(l<=3,"dd")}:l<=11?{side:"start",part:"yyyy"}:l<=15?{side:"end",part:"mm"}:l<=18?{side:"end",part:"dd"}:{side:"end",part:"yyyy"},N=(l,f,x)=>{const K=f?.selectionStart??o.value??0;o.value=K;const{start:ee,end:te}=i(n.value);if(!ee&&!te){const j=new Date,ie=k(j);n.value=`${ie} - ${ie}`,e.onChange({value:{start:j,end:j},event:x}),t.nextTick(()=>{requestAnimationFrame(()=>{const ae=document.getElementById(e.id),re=o.value??0;ae&&(ae.focus(),ae.setSelectionRange(re,re))})});return}const se=new Date,ce=C(K);let de=ee?new Date(ee):new Date(se),fe=te?new Date(te):new Date(se);const me=(j,ie)=>{if(ie==="mm"){const ae=j.getMonth()+1,re=l==="ArrowUp"?ae<12?ae+1:1:ae>1?ae-1:12;j.setMonth(re-1);const ye=$(j.getFullYear(),re);j.getDate()>ye&&j.setDate(ye)}else if(ie==="dd"){const ae=$(j.getFullYear(),j.getMonth()+1),re=j.getDate(),ye=l==="ArrowUp"?re<ae?re+1:1:re>1?re-1:ae;j.setDate(ye)}else if(ie==="yyyy"){const ae=j.getFullYear();j.setFullYear(l==="ArrowUp"?ae+1:Math.max(1,ae-1));const re=$(j.getFullYear(),j.getMonth()+1);j.getDate()>re&&j.setDate(re)}};ce.side==="start"?me(de,ce.part):me(fe,ce.part);const ke=k(de),Se=k(fe);n.value=`${ke} - ${Se}`;const ue=R(de),Ae=R(fe);ue&&Ae&&c(ue,Ae)?e.onChange({value:{start:ue,end:Ae},event:x}):e.onChange({value:null,event:x}),t.nextTick(()=>{requestAnimationFrame(()=>{const j=document.getElementById(e.id),ie=o.value??0;j&&(j.focus(),j.setSelectionRange(ie,ie))})})},Z=l=>{const{start:f,end:x}=i(n.value);if(!f||!x){e.onChange({value:null,event:l});return}const K=R(f),ee=R(x);if(!K||!ee){e.onChange({value:null,event:l});return}if(!c(K,ee)){e.onChange({value:null,event:l});return}e.onChange({value:{start:K,end:ee},event:l})},ne=l=>{const f=l.value??"",x=l.event;if(!f&&x&&x.type==="click"){X(x);return}n.value=f;const K=x?.target;o.value=K?.selectionStart??0,Z(l)},oe=l=>{o.value=l.target.selectionStart??0},r=l=>{if(l.code==="Space"||l.key===" "){l.preventDefault(),l.stopPropagation(),e.onShowCalendar(l);return}if(l.key==="ArrowDown"&&l.altKey){l.preventDefault(),l.stopPropagation(),e.onShowCalendar(l);return}if(m.includes(l.key)){l.preventDefault(),l.stopPropagation();const f=l.target;N(l.key,f,l);return}},y=l=>{l.preventDefault();const f=l.deltaY<0?"ArrowUp":"ArrowDown";N(f,l.target,l)},P=l=>{if(b.includes(l.key)||m.includes(l.key)){const f=l.target;o.value=f?.selectionStart??0}},Y=()=>{G.value=!0,(e.manageValid??!0)&&(v.value=u.value)},z=l=>{Y()},X=l=>{n.value="",o.value=0,e.onChange({value:null,event:l}),Y(),t.nextTick(()=>{const f=document.getElementById(e.id);f&&(f.focus(),f.setSelectionRange(0,0))})};e.externalValue&&t.watch(e.externalValue,l=>{const f=l?.start??null,x=l?.end??null;if(f&&x){if(n.value=`${k(f)} - ${k(x)}`,e.isOpen?.value&&p.value&&e.onRequestClose){const K=typeof e.closeDelay=="number"?e.closeDelay:e.closeDelay?.value??0;setTimeout(()=>{e.onRequestClose?.(),p.value=!1,Y()},K)}return}},{immediate:!0});const a=t.computed(()=>n.value&&n.value.substring(0,2).replace(/\D/g,"0")||"0"),d=t.computed(()=>n.value&&n.value.substring(3,5).replace(/\D/g,"0")||"0"),V=t.computed(()=>n.value&&n.value.substring(6,10).replace(/\D/g,"0")||"0"),q=t.computed(()=>n.value&&n.value.substring(13,15).replace(/\D/g,"0")||"0"),W=t.computed(()=>n.value&&n.value.substring(16,18).replace(/\D/g,"0")||"0"),Q=t.computed(()=>n.value&&n.value.substring(19,23).replace(/\D/g,"0")||"0"),O=t.computed(()=>{const{start:l,end:f}=i(n.value);return[{label:"Raw",value:n.value},{label:"Min Date",value:`${e.min?e.min.toDateString():"-"}`},{label:"Max Date",value:`${e.max?e.max.toDateString():"-"}`},{label:"Start",value:`${String(a.value).padStart(2,"0")} / ${String(d.value).padStart(2,"0")} / ${String(V.value).padStart(4,"0")}`},{label:"End",value:`${String(q.value).padStart(2,"0")} / ${String(W.value).padStart(2,"0")} / ${String(Q.value).padStart(4,"0")}`},{label:"Digits only",value:D.value},{label:"Mask complete",value:`${s.value}`},{label:"Parsed",value:`${l?l.toDateString():"-"} | ${f?f.toDateString():"-"}`},{label:"Valid (managed)",value:`${v.value??"-"}`},{label:"Span (days)",value:`${B.value??"-"}`},{label:"Reason",value:`${J.value??"-"}`},{label:"Cursor in",value:`${o.value??"-"} (${(()=>{const x=o.value??0,K=C(x);return`${K.side}.${K.part}`})()})`}]}),H=()=>{t.nextTick(()=>{const l=document.getElementById(e.id);if(!l){console.warn(`#${e.id} not found for styling.`);return}const f=l.closest("div");if(!f){console.warn(`Parent div of #${e.id} not found for styling.`);return}f.classList.contains("fk-daterangepicker")||f.classList.add("fk-daterangepicker")})};t.onMounted(()=>{H()});const le=()=>{t.nextTick(()=>{try{const l=Array.from(document.querySelectorAll(".k-animation-container"));if(!l.length)return;const x=[...l].reverse().find(te=>te.querySelector(".k-calendar"))?.querySelector(".k-calendar");if(!x)return;const K=x.querySelectorAll(".k-calendar-table");let ee=!1;K.forEach(te=>{te.tabIndex===0&&(ee?te.tabIndex=-1:ee=!0)})}catch(l){console.warn(l)}})};return e.isOpen&&t.watch(e.isOpen,l=>{l&&setTimeout(()=>le(),0)},{immediate:!1}),{raw:n,cursorPos:o,debugEnabled:h,debugLines:O,digitsOnly:D,valid:v,validComputed:t.readonly(u),reason:t.readonly(J),validationMessage:t.readonly(w),spanDays:t.readonly(B),month1:t.readonly(a),day1:t.readonly(d),year1:t.readonly(V),month2:t.readonly(q),day2:t.readonly(W),year2:t.readonly(Q),handleChange:ne,handleKeyDown:r,handleWheel:y,handleKeyUp:P,handleClick:oe,handleBlur:z,handleClear:X,onCalendarChange:()=>{p.value=!0},initStyling:H}}function ot(e){const n=t.ref(""),o=t.ref(void 0),h=t.ref(!!e.debug),p=t.ref(e.timeFormat??"hh:mm AM"),g=t.computed(()=>!!e.required),A=t.ref(!1),I=["ArrowUp","ArrowDown"],T=["ArrowLeft","ArrowRight"],F=t.computed(()=>(n.value??"").replace(/\D/g,"")),D={H:/[0-9]/,h:/[0-9]/,M:/[0-9]/,m:/[0-9]/,A:/[AaPp]/,a:/[Mm]/},$=a=>a<=2?"hh":a<=5?"mm":"ampm",E=t.computed(()=>{const a=n.value&&n.value.substring(0,2).replace(/\D/g,"0")||"0",d=parseInt(a);return Math.min(Math.max(d,0),23)}),S=t.computed(()=>{const a=n.value&&n.value.substring(3,5).replace(/\D/g,"0")||"0",d=parseInt(a);return Math.min(Math.max(d,0),59)}),R=t.computed(()=>(n.value?.substring(6,8)||"AM").toUpperCase().startsWith("P")?"PM":"AM"),c=t.computed(()=>{const a=parseInt(n.value?.substring(0,2).replace(/\D/g,"0")||"0"),d=R.value;return a===12?d==="AM"?0:12:d==="PM"?a+12:a}),s=t.computed(()=>i.value?`${String(c.value).padStart(2,"0")}:${String(S.value).padStart(2,"0")}:00`:null),i=t.computed(()=>/^(\d{2}):(\d{2})\s([AP]M)$/i.test(n.value??"")),v=(a,d,V)=>{let q=a%12;return q===0&&(q=12),`${String(q).padStart(2,"0")}:${String(d).padStart(2,"0")} ${V}`},L=a=>{const d=a.match(/^(\d{2}):(\d{2})\s([AP]M)$/i);if(!d)return null;const V=parseInt(d[1]),q=parseInt(d[2]),W=d[3].toUpperCase();if(V<1||V>12||q<0||q>59)return null;let Q=V%12;W==="PM"&&(Q+=12);const O=new Date;return O.setSeconds(0,0),O.setHours(Q),O.setMinutes(q),O},U=a=>{if(F.value.length===0){e.onChange({value:null,event:a});return}if(!i.value){e.onChange({value:null,event:a});return}const d=L(n.value);d&&G(d)?e.onChange({value:d,event:a}):e.onChange({value:null,event:a})},B=a=>a.getHours()*60+a.getMinutes(),G=a=>{const d=e.min??void 0,V=e.max??void 0,q=B(a);if(d){const W=B(d);if(q<W)return!1}if(V){const W=B(V);if(q>W)return!1}return!0},J=a=>{const d=a.getHours(),V=d>=12?"PM":"AM";n.value=v(d,a.getMinutes(),V)},u=(a,d)=>{e.onChange({value:a,event:d})},w=()=>{t.nextTick(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{const a=document.getElementById(e.id);if(a){a.focus();const d=(a.value??"").length;a.setSelectionRange(d,d)}})})})},m=a=>{const d=a?.event?.target;return d?d.closest(".k-time-now")?"now":d.closest(".k-time-accept")?"set":null:null},b=(a,d)=>{a&&G(a)?u(a,d):u(null,d)},M=(...a)=>{const d=a[0];if(!d)return;const V=m(d);if(V==="now"){const W=new Date;J(W),b(W,d),w();return}if(d?.value instanceof Date){const W=new Date(d.value);J(W),b(W,d),V==="set"&&w();return}if(d?.value===null){n.value="",u(null,d);return}n.value=d.value;const q=d.event?.target;o.value=q?.selectionStart??0;try{const W=o.value??0;if($(W)==="ampm"&&(n.value??"").length>=8){const Q=n.value.charAt(6);/[Aa]/.test(Q)?(n.value=`${n.value.slice(0,6)}AM${n.value.slice(8)}`,t.nextTick(()=>{requestAnimationFrame(()=>{const O=document.getElementById(e.id);O&&(O.focus(),O.setSelectionRange(8,8))})})):/[Pp]/.test(Q)&&(n.value=`${n.value.slice(0,6)}PM${n.value.slice(8)}`,t.nextTick(()=>{requestAnimationFrame(()=>{const O=document.getElementById(e.id);O&&(O.focus(),O.setSelectionRange(8,8))})}))}}catch{}U(d)},k=a=>{o.value=a.target.selectionStart??0},C=(a,d,V)=>{const q=d?.selectionStart??o.value??0;o.value=q;const W=$(q),Q=(n.value??"").match(/^(\d{2}):(\d{2})\s([AP]M)$/i);if(!Q){if((n.value??"").length===0||F.value.length===0){const f=new Date,x=f.getHours(),K=x>=12?"PM":"AM";n.value=v(x,f.getMinutes(),K);const ee=L(n.value);b(ee,V),t.nextTick(()=>{requestAnimationFrame(()=>{const te=document.getElementById(e.id),se=o.value??0;te&&(te.focus(),te.setSelectionRange(se,se))})})}return}let O=parseInt(Q[1]),H=parseInt(Q[2]),le=Q[3].toUpperCase();if(W==="hh")a==="ArrowUp"?O=O<12?O+1:1:O=O>1?O-1:12;else if(W==="mm"){const f=e.minuteStepRef?.value??e.minuteStep??1;if(f===1)a==="ArrowUp"?H=H<59?H+1:0:H=H>0?H-1:59;else if(a==="ArrowUp"){const x=H%f;let K=x===0?H+f:H+(f-x);K>=60&&(K=0),H=K}else{const x=H%f;let K=x===0?H-f:H-x;K<0&&(K=60-f),H=K}}else W==="ampm"&&(le=le==="AM"?"PM":"AM");n.value=`${String(O).padStart(2,"0")}:${String(H).padStart(2,"0")} ${le}`;const l=L(n.value);b(l,V),t.nextTick(()=>{requestAnimationFrame(()=>{const f=document.getElementById(e.id),x=o.value??0;f&&(f.focus(),f.setSelectionRange(x,x))})})},N=a=>{if(a.code==="Space"||a.key===" "){a.preventDefault(),a.stopPropagation(),e.onShowPicker(a);return}if(a.key==="ArrowDown"&&a.altKey){a.preventDefault(),a.stopPropagation(),e.onShowPicker(a);return}if(I.includes(a.key)){if(a.altKey)return;a.preventDefault(),a.stopPropagation();const d=a.target;C(a.key,d,a);return}},Z=a=>{a.preventDefault();const d=a.deltaY<0?"ArrowUp":"ArrowDown";C(d,a.target,a)},ne=a=>{const d=a.target;if(T.includes(a.key)){o.value=d?.selectionStart??0;return}if(I.includes(a.key)){if(a.altKey)return;o.value=d?.selectionStart??0}},oe=a=>{A.value=!0,g.value&&e.externalValue&&e.externalValue.value===void 0&&F.value.length===0&&(e.externalValue.value="");const d=a.target;d&&(o.value=d.selectionStart??0)};e.externalValue&&t.watch(e.externalValue,a=>{if(a){const d=new Date(a);if(d.toString()!=="Invalid Date"){const V=d.getHours(),q=V>=12?"PM":"AM";n.value=v(V,d.getMinutes(),q);return}}},{immediate:!0});const r=t.computed(()=>[["Time",n.value||"--:-- --"],["Hour (12h)",E.value],["Hour (24h)",c.value],["Minute",S.value],["Period",R.value],["Time (24h)",s.value??"--:--:--"],["Digits only",F.value],["Parsed Date",y.value?.toLocaleDateString("en-US",{hour:"2-digit",minute:"2-digit"})??null],["min",e.min?.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})??null],["max",e.max?.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})??null],["valid",P.value],["reason",Y.value],["validationMessage",z.value]]),y=t.computed(()=>L(n.value)??null),P=t.computed(()=>{if(!g.value){if(!i.value)return!0;const d=y.value;return d?G(d):!1}if(!A.value)return!0;const a=y.value;return!i.value||!a?!1:G(a)}),Y=t.computed(()=>{if(!g.value){if(!i.value)return;const d=y.value;return d?G(d)?"valid":"out-of-bounds":"invalid-time"}if(!A.value)return;if(F.value.length===0||!i.value)return"incomplete";const a=y.value;return a?G(a)?"valid":"out-of-bounds":"invalid-time"}),z=t.computed(()=>{const a=Y.value;if(!a||a==="valid")return"";if(a==="incomplete")return"Required";if(a==="invalid-time")return`Must be in ${p.value} format.`;const d={hour:"2-digit",minute:"2-digit"},V=e.min?e.min.toLocaleTimeString("en-US",d):null,q=e.max?e.max.toLocaleTimeString("en-US",d):null;if(a==="out-of-bounds"){if(V&&q)return`Must be between ${V} and ${q}.`;if(V)return`Must be ${V} or later.`;if(q)return`Must be ${q} or earlier.`}return""}),X=()=>{t.nextTick(()=>{const a=document.getElementById(e.id);if(!a){console.warn(`#${e.id} not found for styling.`);return}const d=a.closest(".k-timepicker");if(!d){console.warn(`.k-timepicker parent of #${e.id} not found for styling.`);return}const V=d.parentElement;if(!V){console.warn(`Parent of .k-timepicker not found for #${e.id} styling.`);return}V.classList.contains("fk-timepicker")||V.classList.add("fk-timepicker")})};return t.onMounted(()=>{X()}),{raw:n,rules:D,debugEnabled:h,debugLines:r,placeholder:p,isValid:P,reason:t.readonly(Y),validationMessage:z,isComplete:i,inRangeTime:G,cursorPos:o,hour:t.readonly(E),hour24:t.readonly(c),minute:t.readonly(S),period:t.readonly(R),time24:t.readonly(s),parsedRawTime:t.readonly(y),handleChange:M,handleKeyDown:N,handleKeyUp:ne,handleClick:k,handleWheel:Z,handleBlur:oe,initStyling:X}}function lt(e){const n=t.shallowRef(null),o=[".k-animation-container .k-popup",".k-popup",".k-timepicker-popup",".k-menu-popup"],h=Array.isArray(e.popupSelector)?e.popupSelector:[e.popupSelector??o].flat(),p=D=>D?typeof e.initialFocus=="string"?D.querySelector(e.initialFocus)??D:typeof e.initialFocus=="function"?e.initialFocus(D)??D:D.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')??D:null,{activate:g,deactivate:A}=Re.useFocusTrap(n,{escapeDeactivates:!1,clickOutsideDeactivates:!1,fallbackFocus:()=>n.value,initialFocus:()=>p(n.value),...e.focusTrapOptions??{}});let I=null,T=t.ref(null);const F=()=>{if(e.resolvePopupEl)return e.resolvePopupEl();const D=(E,S)=>{const R=Array.from(E.querySelectorAll(S));if(!R.length)return null;const c=R.filter(s=>s.offsetParent!==null||s.getClientRects().length>0);return c[c.length-1]??R[R.length-1]??null},$=e.triggerEl?.value?.closest?.(".k-animation-container")??document.body;for(const E of h){const S=D($,E);if(S)return S}for(const E of h){const S=D(document,E);if(S)return S}return null};return Ce(n,D=>{T.value="outside",e.isOpen.value&&e.onRequestClose?.("outside",D)}),t.watch(()=>e.isOpen.value,D=>{D?(T.value=null,t.nextTick(()=>{const $=F();$&&(n.value=$,setTimeout(()=>g(),0),I||(I=E=>{E.key==="Escape"&&(T.value="escape",e.isOpen.value&&e.onRequestClose?.("escape",E))},document.addEventListener("keydown",I,!0)))})):(A(),I&&(document.removeEventListener("keydown",I,!0),I=null),n.value=null,T.value==="outside"&&t.nextTick(()=>{const $=()=>{const E=e.triggerEl?.value,S=E?.querySelector("input"),R=document.activeElement;R&&(R===S||E&&E.contains(R))&&(S??E)?.blur?.()};requestAnimationFrame(()=>setTimeout($,0))}),e.returnFocusToTrigger!==!1&&T.value==="escape"&&e.triggerEl?.value&&t.nextTick(()=>{const $=()=>{const E=e.triggerEl?.value;if(!E)return;(E.querySelector("input")??E)?.focus?.()};requestAnimationFrame(()=>setTimeout($,0))}))}),{popupRef:n,activate:g,deactivate:A,lastCloseReason:t.readonly(T),setPopupEl:D=>n.value=D}}_.useActiveIdRegistry=nt,_.useFieldsetTouchTracker=Ie,_.useFieldsetValidationKit=Me,_.useGridA11y=Fe,_.useGridActiveFilter=Pe,_.useGridRowAction=Ke,_.useMaskedDateInput=at,_.useMaskedDateRangeInput=rt,_.useMaskedTimeInput=ot,_.usePopupMenu=et,_.usePopupTrap=lt,_.useUSAddress=Xe,_.useZipTextBox=xe,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(_,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@vueuse/integrations/useFocusTrap")):typeof define=="function"&&define.amd?define(["exports","vue","@vueuse/integrations/useFocusTrap"],t):(_=typeof globalThis<"u"?globalThis:_||self,t(_.FeatherKComposables={},_.Vue,_.useFocusTrap))})(this,(function(_,t,Fe){"use strict";const $e=(e,n)=>{const a=t.ref(null);let h=!1,d=null,p=null;const k=[],x=".k-table-row[data-grid-row-index] [tabindex]",F=()=>{const c=e?.value?.$el;return c?c.closest(".k-grid"):null},L=c=>{const A=F();if(!A)return!1;const y=c.closest(".k-grid-aria-root");if(y)return A.contains(y);const i=c.closest(".k-grid-header, .k-grid-content, .k-grid-content-locked");return i?A.contains(i):!1},E=c=>c.key==="Enter"||c.code==="Enter"||c.code==="NumpadEnter",$=()=>e?.value?.columns,I=c=>{const A=c.key||c.code;([" ","Spacebar","Space"].includes(A)||E(c))&&(c.preventDefault(),c.stopPropagation(),a.value=c.target,c.target.click())},D=c=>{if(!a.value)return;if(c.code==="Escape"){c.stopPropagation(),a.value&&a.value.focus();return}const A=Array.from(document.querySelectorAll(".k-animation-container .k-popup .k-column-menu .k-columnmenu-item-wrapper .k-columnmenu-item")),y=document.querySelector(".k-animation-container .k-popup .k-column-menu .k-filter-menu-container");if(y){if(c.code==="Tab"){const i=[".k-dropdownlist[tabindex='0']","input.k-input-inner:not([tabindex='-1']):not([disabled])","button:not([tabindex='-1']):not([disabled])",".k-checkbox"],v=n?.focusableMenuSelectors??i,S=Array.from(y.querySelectorAll(v.join(",")));if(S.length===0)return;const T=S.findIndex(K=>K===document.activeElement);let O;T===-1?O=0:c.shiftKey?O=(T-1+S.length)%S.length:O=(T+1)%S.length,c.preventDefault(),c.stopPropagation(),S[O]?.focus()}}else if(c.code==="ArrowUp"||c.code==="ArrowDown"){c.preventDefault(),c.stopPropagation();const i=A.findIndex(S=>S===document.activeElement);let v=i;c.code==="ArrowUp"?v=i>0?i-1:A.length-1:c.code==="ArrowDown"&&(v=i<A.length-1?i+1:0),A[v]?.focus();return}if(c.code==="Tab"){c.preventDefault(),c.stopPropagation();const i=a.value?.parentElement;(c.shiftKey?i?.previousElementSibling:i?.nextElementSibling)?.querySelector("button, [role='button'], .k-link")?.focus()}},C=()=>{d=new MutationObserver(c=>{c.forEach(A=>{A.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const i=y;if(i.classList.contains("k-animation-container")){const S=a.value;S&&(S.dataset.featherKSortable==="true"||t.nextTick(()=>{i.querySelectorAll(".k-columnmenu-item-wrapper").forEach(K=>{K.textContent?.toLowerCase().includes("sort")&&K.remove()})})),i.addEventListener("keydown",D),t.nextTick(()=>{const T=()=>{const O=Array.from(i.querySelectorAll(".k-animation-container .k-popup .k-column-menu .k-columnmenu-item-wrapper .k-columnmenu-item"));if(O.length===1)O[0].focus(),O[0].click(),T.attempts=0;else if(O.length>1){T.attempts=0;return}else T.attempts===void 0&&(T.attempts=0),T.attempts++<3&&setTimeout(T,200)};T()})}i.querySelectorAll(".k-animation-container").forEach(S=>{S.addEventListener("keydown",D)})}}),A.removedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const i=y;i.classList.contains("k-animation-container")&&i.removeEventListener("keydown",D),i.querySelectorAll(".k-animation-container").forEach(S=>{S.removeEventListener("keydown",D)})}})})}),d.observe(document.body,{childList:!0,subtree:!0})},u=c=>{const A=c.tagName.toLowerCase();return!!(["input","textarea","select","button"].includes(A)||c.closest('.k-picker-wrap, .k-input-inner, .k-textbox, [role="combobox"]'))},s=c=>{if(!c.type||!c)return;const A=c.target;if(!A)return;const y=A.closest(".k-table-row[data-grid-row-index]");if(!L(A))return;const i=["ArrowLeft","ArrowRight"].includes(c.code);if(!(u(A)&&!(y&&i))){if(c.code==="Escape"){const v=document.activeElement?.closest(".k-table-row[data-grid-row-index]");if(v){c.preventDefault(),c.stopPropagation();try{Array.from(e?.value.$el.querySelectorAll(".k-table-row[data-grid-row-index]")).forEach(T=>T.setAttribute("tabindex","-1"))}catch{}v.setAttribute("tabindex","0"),v.focus();return}}if(["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Enter","NumpadEnter","Space"].includes(c.code)){if(A.classList.contains("k-grid-header-menu")&&A.classList.contains("k-grid-column-menu")){a.value=A;return}if(y){if(["ArrowDown","ArrowUp"].includes(c.code)){c.preventDefault(),c.stopPropagation();const v=(T,O)=>{let K=O==="next"?T.nextElementSibling:T.previousElementSibling;for(;K;){const ee=K;try{if(ee.classList.contains("k-table-row"))return ee}catch{}K=O==="next"?K.nextElementSibling:K.previousElementSibling}return null},S=c.code==="ArrowDown"?v(y,"next"):v(y,"previous");S&&(y.setAttribute("tabindex","-1"),S.setAttribute("tabindex","0"),S.focus());return}if(["ArrowLeft","ArrowRight"].includes(c.code)){c.preventDefault(),c.stopPropagation();const v=y.querySelectorAll(x);if(v.length===0)return;let S=Array.from(v).findIndex(T=>T===document.activeElement);if(S===-1&&document.activeElement===y){v[0].focus();return}c.code==="ArrowRight"?S=S===v.length-1?0:S+1:c.code==="ArrowLeft"&&(S=S===0?v.length-1:S-1),v[S].focus();return}}}}},m=()=>{t.nextTick(()=>{const c=e.value?.$el;if(!c||typeof c.closest!="function")return;const A=c.closest(".k-grid");A&&A.classList.add("fk-grid")})},w=()=>{if(!p)try{const c=()=>{try{const i=Array.from(e.value.$el.querySelectorAll(".k-table-row[data-grid-row-index]"));if(!i||i.length===0||i.filter(T=>T.getAttribute("tabindex")==="0").length===1)return;const S=i.find(T=>T===document.activeElement||T.contains(document.activeElement));if(i.forEach(T=>T.setAttribute("tabindex","-1")),S){S.setAttribute("tabindex","0");return}i[0].setAttribute("tabindex","0")}catch(i){console.error("ensureSingleTabindex error:",i)}},A=Array.from(e.value.$el.querySelectorAll(".k-table-row[data-grid-row-index]"));A.length>0&&A.forEach((i,v)=>{i.setAttribute("tabindex",v===0?"0":"-1")});const y=e.value.$el.querySelector(".k-table-tbody");y&&(p=new MutationObserver(()=>{c()}),p.observe(y,{childList:!0,subtree:!0}))}catch(c){console.error("Error setting up row navigation:",c)}},R=()=>{t.nextTick(()=>{const A=document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");A&&A.forEach(y=>{y.setAttribute("role","button"),y.addEventListener("keydown",I)}),C(),U()})},q=()=>{const A=document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");A&&A.forEach(y=>{y.removeEventListener("keydown",I)}),d&&(d.disconnect(),d=null),p&&(p.disconnect(),p=null),k.forEach(y=>y()),k.length=0},U=()=>{document.querySelectorAll(".k-grid-header .k-table-thead th").forEach((y,i)=>{if(y.dataset.featherKHeaderBound==="true")return;const v=y.querySelector(".k-grid-header-menu.k-grid-column-menu");if(!v)return;const S=$();if(S&&S[i]){const o=S[i].field??"";y.setAttribute("data-feather-k-field",o),y.setAttribute("data-feather-k-filterable",S[i].filterable===!1?"false":"true"),y.setAttribute("data-feather-k-sortable",S[i].sortable===!1?"false":"true")}const T=y.dataset.featherKFilterable!=="false",O=y.dataset.featherKSortable!=="false";v.setAttribute("tabindex","-1"),T||O?y.style.cursor="pointer":y.style.cursor="default",T?(y.setAttribute("tabindex","0"),y.setAttribute("role","button"),y.setAttribute("aria-haspopup","menu")):(y.setAttribute("tabindex","0"),y.setAttribute("role","columnheader"),y.removeAttribute("aria-haspopup"));const K=o=>{o.target?.closest(".k-column-resizer")||(a.value=y,v.click())},ee=o=>{if(T)a.value=y,o.preventDefault(),o.stopPropagation(),K(o);else if(O){a.value=y;const b=y.querySelector(".k-link");b&&b.click()}};y.addEventListener("click",ee),k.push(()=>{y.removeEventListener("click",ee)});const oe=o=>{if((E(o)||o.code==="Space")&&(T||O)){if(o.preventDefault(),o.stopPropagation(),a.value=y,a.value.focus(),T)K(o);else if(O){const b=y.querySelector(".k-link");b&&b.click()}}};y.addEventListener("keydown",oe,!0),k.push(()=>{y.removeEventListener("keydown",oe,!0)}),y.dataset.featherKHeaderBound="true"});const A=document.querySelector(".k-grid-header .k-table-thead");if(A&&A.dataset.featherKHeaderBound!=="true"){const y=i=>{const v=i.target.closest("th");v&&(E(i)||i.code==="Space")&&v.dataset.featherKFilterable==="false"&&v.dataset.featherKSortable==="false"&&(i.preventDefault(),i.stopImmediatePropagation())};A.addEventListener("keydown",y,!0),k.push(()=>{A.removeEventListener("keydown",y,!0)}),A.dataset.featherKHeaderBound="true"}},z=function(c,A){const y=c?.event?.event.target,i=$();if(!y||!i)return;const v=y.classList.contains("k-grid-header-menu"),S=y.classList.contains("k-columnmenu-item"),T=i.find(O=>O.field===c?.event?.field)?.sortable&&!0;if(!v){if(S&&!T){c?.event?.sort?.filter(K=>K.field!==c?.event?.field);return}typeof A=="function"&&t.nextTick(()=>{a.value&&a.value.focus(),A(c),t.nextTick(()=>{U()})})}},J=()=>{if(!h)try{m(),w(),R(),h=!0}catch(c){console.error("initA11y failed:",c),q()}};return t.onBeforeUnmount(()=>{q()}),{activeFilterButton:a,handleGridKeyDown:s,handleSortChange:z,initA11y:J}},Ve=e=>!!e&&typeof e=="object"&&"filters"in e&&Array.isArray(e.filters),Pe=e=>!!e&&typeof e=="object"&&"field"in e,De=(e,n)=>!e||typeof e!="object"?!1:Ve(e)?e.filters.some(a=>De(a,n)):Pe(e)?e.field===n:!1,Le=e=>n=>e.value?.filters&&e.value.filters.some(a=>De(a,n))?"active":"",Ne=["button","a","input","select","textarea",'[role="button"]','[role="checkbox"]','[role="link"]','[role="menuitem"]','[role="option"]',".k-checkbox",".k-button",".k-dropdown",".k-picker",".k-hierarchy-cell",".k-grid-header-menu",".k-column-menu"],Oe=e=>{const{onRowAction:n,gridRef:a,dataItems:h,ignoreSelectors:d=[],shouldIgnoreTarget:p,enableKeyboardAction:k=!0}=e,x=[...Ne,...d],F=(u,s)=>{if(!u)return!1;const m=x.join(",");return u.closest&&u.closest(m)?!0:p&&s?p(u,s):!1},L=u=>{const m=u?.closest?.(".k-table-row[data-grid-row-index]")?.getAttribute("data-grid-row-index");if(m==null)return;const w=parseInt(m,10);return Number.isNaN(w)?void 0:w},E=u=>{if(!u||typeof u.clientX!="number")return;const s=typeof window<"u"&&window.scrollX||0,m=typeof window<"u"&&window.scrollY||0,w=typeof window<"u"&&window.screenX||0,R=typeof window<"u"&&window.screenY||0;return{clientX:u.clientX,clientY:u.clientY,pageX:typeof u.pageX=="number"?u.pageX:u.clientX+s,pageY:typeof u.pageY=="number"?u.pageY:u.clientY+m,screenX:typeof u.screenX=="number"?u.screenX:u.clientX+w,screenY:typeof u.screenY=="number"?u.screenY:u.clientY+R}},$=u=>{if(!u||typeof u.getBoundingClientRect!="function")return;const s=u.getBoundingClientRect();if(!s)return;const m=s.left,w=s.bottom,R=typeof window<"u"&&window.scrollX||0,q=typeof window<"u"&&window.scrollY||0;return{clientX:m,clientY:w,pageX:m+R,pageY:w+q,screenX:m,screenY:w}},I=u=>{if(typeof window>"u")return!1;const s=window.getSelection();if(!s||s.isCollapsed||!s.toString().trim())return!1;if(u&&s.anchorNode&&s.focusNode){const m=u.closest(".k-table-row")||u.closest(".k-grid")||u,w=s.anchorNode.nodeType===Node.ELEMENT_NODE?s.anchorNode:s.anchorNode.parentElement,R=s.focusNode.nodeType===Node.ELEMENT_NODE?s.focusNode:s.focusNode.parentElement,q=!!(w&&m.contains(w)),U=!!(R&&m.contains(R));return q||U}return!0};return{handleRowClick:u=>{const s=u?.htmlEvent||u?.event||u?.nativeEvent||(u instanceof Event?u:void 0);if(s&&s.button!==void 0&&s.button!==0)return;const m=s?.target||u?.target;if(m&&F(m,s||u)||I(m))return;const w={dataItem:u.dataItem,rowIndex:u.rowIndex??L(m),field:u.field,event:s||u,triggerType:"click",ctrlKey:!!s?.ctrlKey,shiftKey:!!s?.shiftKey,metaKey:!!s?.metaKey,altKey:!!s?.altKey,coordinates:E(s)??$(m)};n(u.dataItem,w)},handleRowKeyDown:(u,s)=>{if(!k)return;const m=u.key||u.code;if(!(m==="Enter"||m==="NumpadEnter"||m===" "||m==="Space"||u.code==="Enter"||u.code==="NumpadEnter"||u.code==="Space"))return;const R=u.target;if(!R)return;const q=R.closest(".k-table-row[data-grid-row-index], .k-table-row");if(!q||F(R,u))return;u.preventDefault(),u.stopPropagation();const U=q.getAttribute("data-grid-row-index"),z=U!==null?parseInt(U,10):void 0;let J=s;if(J===void 0){const A=(Array.isArray(h)?h:h?.value)||a?.value?.props?.dataItems||a?.value?.dataItems;A&&z!==void 0&&z>=0&&z<A.length&&(J=A[z])}if(J===void 0)return;const c={dataItem:J,rowIndex:z,event:u,triggerType:"keyboard",ctrlKey:!!u.ctrlKey,shiftKey:!!u.shiftKey,metaKey:!!u.metaKey,altKey:!!u.altKey,coordinates:$(q)};n(J,c)},isIgnoredTarget:F}},Ke="Enter a valid ZIP code with exactly 5 or 9 digits.",Ee=e=>{const n=e.replace(/\D/g,"").slice(0,9);return n.length>5?`${n.slice(0,5)}-${n.slice(5)}`:n},qe=(e,n)=>e.slice(0,Math.max(0,n)).replace(/\D/g,"").length,Ue=e=>e<=5?e:Math.min(e+1,10),xe=e=>{const n=t.ref(Ee(e.initialValue??"")),a=t.ref(!1),h=t.ref(e.errorMessage?.trim()||Ke),d=t.computed(()=>n.value.replace(/\D/g,"")),p=t.computed(()=>{const D=d.value.length;return D===5||D===9}),k=t.computed(()=>a.value&&!p.value),x=t.computed(()=>!a.value||p.value),F=t.computed(()=>a.value),L=(D,C)=>{const u=Ue(C);t.nextTick(()=>{D.isConnected&&D.setSelectionRange(u,u)})};return{zipDisplay:n,submitted:a,errorMessage:h,wrapperClass:"fk-zip-textbox",zipRaw:d,isZipValid:p,showZipError:k,textBoxValid:x,textBoxValidate:F,handleZipInput:(...D)=>{const C=D[0],s=C?.event?.target,m=C?.value,w=Array.isArray(m)?m.join(""):String(m??""),R=s?.selectionStart!==void 0&&s.selectionStart!==null?qe(s.value,s.selectionStart):w.replace(/\D/g,"").length;n.value=Ee(w),s&&L(s,R)},submitAndValidate:D=>{a.value=!0;const C=p.value;return!C&&D?.focus&&t.nextTick(()=>{document.getElementById(e.id)?.focus()}),C},buildPayload:()=>({zip:d.value})}};function Ie(e,n){const a=t.ref(!1);t.watchEffect(()=>{e.value?.setAttribute("aria-invalid",String(!n.isValid()))});function h(p){const k=e.value??p.currentTarget,x=p.relatedTarget;(!k||!k.contains(x))&&(a.value=!0)}function d(){a.value=!1}return{touched:a,onFocusout:h,reset:d}}function Te(e,n){const a=t.ref(!1),h=t.ref(!1),d=t.computed(()=>t.toValue(n.submitted)||a.value),p=t.computed(()=>!d.value||n.isValid()),k=Ie(e,{isValid:()=>p.value});function x(I){return t.computed(()=>!d.value||t.toValue(I))}function F(I){return Object.fromEntries(Object.entries(I).map(([D,C])=>[D,x(C)]))}function L(I){const D=t.toValue(I);if(!D)return;D.querySelector('.k-invalid input, .k-invalid[tabindex="0"]')?.focus()}function E(I){if(h.value){h.value=!1;return}k.onFocusout(I),k.touched.value&&(a.value=!0)}function $(){a.value=!1,h.value=!0,k.reset()}return{touched:a,fieldsetValidate:d,onFocusout:E,reset:$,createFieldValidity:x,createFieldValidationsMap:F,focusFirstInvalidField:L}}const Be=[{label:"Alabama",value:"AL"},{label:"Alaska",value:"AK"},{label:"Arizona",value:"AZ"},{label:"Arkansas",value:"AR"},{label:"California",value:"CA"},{label:"Colorado",value:"CO"},{label:"Connecticut",value:"CT"},{label:"Delaware",value:"DE"},{label:"Florida",value:"FL"},{label:"Georgia",value:"GA"},{label:"Hawaii",value:"HI"},{label:"Idaho",value:"ID"},{label:"Illinois",value:"IL"},{label:"Indiana",value:"IN"},{label:"Iowa",value:"IA"},{label:"Kansas",value:"KS"},{label:"Kentucky",value:"KY"},{label:"Louisiana",value:"LA"},{label:"Maine",value:"ME"},{label:"Maryland",value:"MD"},{label:"Massachusetts",value:"MA"},{label:"Michigan",value:"MI"},{label:"Minnesota",value:"MN"},{label:"Mississippi",value:"MS"},{label:"Missouri",value:"MO"},{label:"Montana",value:"MT"},{label:"Nebraska",value:"NE"},{label:"Nevada",value:"NV"},{label:"New Hampshire",value:"NH"},{label:"New Jersey",value:"NJ"},{label:"New Mexico",value:"NM"},{label:"New York",value:"NY"},{label:"North Carolina",value:"NC"},{label:"North Dakota",value:"ND"},{label:"Ohio",value:"OH"},{label:"Oklahoma",value:"OK"},{label:"Oregon",value:"OR"},{label:"Pennsylvania",value:"PA"},{label:"Rhode Island",value:"RI"},{label:"South Carolina",value:"SC"},{label:"South Dakota",value:"SD"},{label:"Tennessee",value:"TN"},{label:"Texas",value:"TX"},{label:"Utah",value:"UT"},{label:"Vermont",value:"VT"},{label:"Virginia",value:"VA"},{label:"Washington",value:"WA"},{label:"West Virginia",value:"WV"},{label:"Wisconsin",value:"WI"},{label:"Wyoming",value:"WY"}];function he(e){if(e&&typeof e=="object"&&"value"in e){const n=e.value;return typeof n=="string"?n:String(n??"")}return""}function Ye(){const e=t.reactive({address1:"",address2:"",city:"",state:null,zip:""});return{formData:e,onAddress1Input:(...k)=>{e.address1=he(k[0])},onAddress2Input:(...k)=>{e.address2=he(k[0])},onCityInput:(...k)=>{e.city=he(k[0])},onStateChange:k=>{e.state=k.value},resetFormData:()=>{e.address1="",e.address2="",e.city="",e.state=null,e.zip=""}}}function ze(e,n="zip"){const a=xe({id:n}),{zipDisplay:h,zipRaw:d,isZipValid:p,wrapperClass:k,handleZipInput:x}=a;return t.watch(d,L=>{e.zip=L}),{zipDisplay:h,isZipValid:p,zipWrapperClass:k,onZipInput:x,resetZip:()=>{h.value="",e.zip=""}}}function He(e){const n=t.computed(()=>e.formData.address1.trim()!==""),a=t.computed(()=>e.formData.city.trim()!==""),h=t.computed(()=>!!e.formData.state),d=t.computed(()=>t.toValue(e.isZipValid)),p=t.computed(()=>n.value&&a.value&&h.value&&d.value);return{strictAddress1Valid:n,strictCityValid:a,strictStateValid:h,strictZipValid:d,strictAddressValid:p}}function Xe(e){if(!e)return;e.querySelector('.k-invalid input, .k-invalid[tabindex="0"]')?.focus()}function Ze(e,n){const a=e??n.currentTarget,h=n.relatedTarget;return!a||!a.contains(h)}function We(e){const n=t.ref(t.toValue(e.fieldsetRef));t.watchEffect(()=>{n.value=t.toValue(e.fieldsetRef)});const a=t.ref(!1),h=t.ref(!1),d=t.computed(()=>t.toValue(e.required)??!0),{formData:p,onAddress1Input:k,onAddress2Input:x,onCityInput:F,onStateChange:L,resetFormData:E}=Ye(),$=`${e.addressId}-zip`,{zipDisplay:I,isZipValid:D,zipWrapperClass:C,onZipInput:u,resetZip:s}=ze(p,$),{strictAddress1Valid:m,strictCityValid:w,strictStateValid:R,strictZipValid:q,strictAddressValid:U}=He({formData:p,isZipValid:D}),z=Te(n,{submitted:a,isValid:()=>U.value}),{touched:J,fieldsetValidate:c,onFocusout:A,reset:y}=z,i=z.createFieldValidationsMap({address1:m,city:w,state:R,zip:q,address:U}),{address1:v,city:S,state:T,zip:O,address:K}=i,ee=t.computed(()=>d.value?c.value:!1),oe=t.computed(()=>d.value?v.value:!0),o=t.computed(()=>d.value?S.value:!0),b=t.computed(()=>d.value?T.value:!0),P=t.computed(()=>d.value?O.value:!0),H=t.computed(()=>d.value?K.value:!0),X={value:null,label:"State"},W=Be.map(({label:g,value:M})=>({label:g,value:M})),r=t.computed(()=>({address1:p.address1.trim(),address2:p.address2.trim(),city:p.city.trim(),state:(p.state??"").trim().toUpperCase(),zip:p.zip.replace(/\D/g,"")})),f=t.computed(()=>p.address1.trim()===""&&p.address2.trim()===""&&p.city.trim()===""&&(p.state??"").trim()===""&&p.zip.replace(/\D/g,"")===""),V=t.computed(()=>!f.value),B=t.computed(()=>!d.value&&V.value&&(!m.value||!w.value||!R.value)),j=t.computed(()=>{const g=p.zip.replace(/\D/g,"");return!d.value&&V.value&&g.length!==5&&g.length!==9}),Q=t.computed(()=>!d.value&&V.value&&!U.value),Y=t.computed(()=>!d.value&&Q.value&&(h.value||a.value));return t.watch(r,()=>{d.value||(h.value=!1)}),t.watch(d,g=>{g||(a.value=!1,h.value=!1,y())}),{formData:p,submitted:a,touched:J,addressValidate:ee,address1Valid:oe,cityValid:o,stateValid:b,zipValid:P,addressValid:H,optionalFeedbackActive:Y,optionalPartialInvalid:Q,optionalMissingRequiredFields:B,optionalZipInvalid:j,stateDefaultItem:X,stateOptions:W,zipDisplay:I,zipWrapperClass:C,onAddress1Input:k,onAddress2Input:x,onCityInput:F,onStateChange:L,onZipInput:u,onFieldsetFocusout:g=>{const M=Ze(n.value,g);A(g),!d.value&&M&&(h.value=!0)},normalizedPayload:r,validateForSubmit:async()=>d.value?(a.value=!0,U.value?{isValid:!0,payload:r.value}:(await t.nextTick(),Xe(n.value),{isValid:!1,payload:null})):f.value||U.value?(a.value=!1,{isValid:!0,payload:r.value}):(a.value=!0,{isValid:!1,payload:null}),reset:()=>{a.value=!1,h.value=!1,y(),E(),s()}}}const je=(e="fkid")=>{const n=`${e}-${t.useId()}`;return{instanceId:n,compose:(...h)=>[n,...h].filter(d=>d!=null).map(String).join("-")}},Ge=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const _e=Object.prototype.toString,Je=e=>_e.call(e)==="[object Object]",ge=()=>{};function ve(e){return Array.isArray(e)?e:[e]}function Qe(e,n,a){return t.watch(e,n,{...a,immediate:!0})}const Me=Ge?window:void 0;function pe(e){var n;const a=t.toValue(e);return(n=a?.$el)!==null&&n!==void 0?n:a}function be(...e){const n=(h,d,p,k)=>(h.addEventListener(d,p,k),()=>h.removeEventListener(d,p,k)),a=t.computed(()=>{const h=ve(t.toValue(e[0])).filter(d=>d!=null);return h.every(d=>typeof d!="string")?h:void 0});return Qe(()=>{var h,d;return[(h=(d=a.value)===null||d===void 0?void 0:d.map(p=>pe(p)))!==null&&h!==void 0?h:[Me].filter(p=>p!=null),ve(t.toValue(a.value?e[1]:e[0])),ve(t.unref(a.value?e[2]:e[1])),t.toValue(a.value?e[3]:e[2])]},([h,d,p,k],x,F)=>{if(!h?.length||!d?.length||!p?.length)return;const L=Je(k)?{...k}:k,E=h.flatMap($=>d.flatMap(I=>p.map(D=>n($,I,D,L))));F(()=>{E.forEach($=>$())})},{flush:"post"})}function Ce(e,n,a={}){const{window:h=Me,ignore:d=[],capture:p=!0,detectIframe:k=!1,controls:x=!1}=a;if(!h)return x?{stop:ge,cancel:ge,trigger:ge}:ge;let F=!0;const L=s=>t.toValue(d).some(m=>{if(typeof m=="string")return Array.from(h.document.querySelectorAll(m)).some(w=>w===s.target||s.composedPath().includes(w));{const w=pe(m);return w&&(s.target===w||s.composedPath().includes(w))}});function E(s){const m=t.toValue(s);return m&&m.$.subTree.shapeFlag===16}function $(s,m){const w=t.toValue(s),R=w.$.subTree&&w.$.subTree.children;return R==null||!Array.isArray(R)?!1:R.some(q=>q.el===m.target||m.composedPath().includes(q.el))}const I=s=>{const m=pe(e);if(s.target!=null&&!(!(m instanceof Element)&&E(e)&&$(e,s))&&!(!m||m===s.target||s.composedPath().includes(m))){if("detail"in s&&s.detail===0&&(F=!L(s)),!F){F=!0;return}n(s)}};let D=!1;const C=[be(h,"click",s=>{D||(D=!0,setTimeout(()=>{D=!1},0),I(s))},{passive:!0,capture:p}),be(h,"pointerdown",s=>{const m=pe(e);F=!L(s)&&!!(m&&!s.composedPath().includes(m))},{passive:!0}),k&&be(h,"blur",s=>{setTimeout(()=>{const m=pe(e);let w=h.document.activeElement;for(;w?.shadowRoot;)w=w.shadowRoot.activeElement;w?.tagName==="IFRAME"&&!m?.contains(h.document.activeElement)&&n(s)},0)},{passive:!0})].filter(Boolean),u=()=>C.forEach(s=>s());return x?{stop:u,cancel:()=>{F=!1},trigger:s=>{F=!0,I(s),F=!1}}:u}const Re=e=>{let n=null;const a=()=>{n?.disconnect(),n=null};return typeof window<"u"&&typeof window.IntersectionObserver=="function"&&t.watch([e.target,()=>e.root()],([d,p])=>{a(),d&&(n=new IntersectionObserver(([k])=>{k&&e.onChange(k)},{root:p,threshold:e.threshold??1}),n.observe(d))},{immediate:!0}),t.onUnmounted(a),{disconnect:a}},et=".k-table-row",we=e=>{if(e instanceof HTMLElement)return e;const n=e?.$el;return n instanceof HTMLElement?n:null},tt=(e,n)=>n==="row"?e.matches("tr.k-table-row"):!e.matches("tr.k-table-row"),nt=(e,n)=>{console.warn(`usePopupMenu: triggerMode "${n}" does not match resolved element <${e.tagName.toLowerCase()}${e.className?`.${e.className.split(" ").join(".")}`:""}>; ARIA management skipped.`)},rt=e=>{let n=e.parentElement;for(;n;){const{overflow:a,overflowX:h,overflowY:d}=window.getComputedStyle(n);if([a,h,d].some(p=>/auto|scroll|overlay/.test(p)))return n;n=n.parentElement}return null},at=e=>{const n=t.ref(null),a=e.menuItemSelector??".k-menu-item:not(.k-disabled)",h=e.triggerMode,d=e.anchor===!0?{}:e.anchor,p=t.shallowRef(null),k=()=>we(e.triggerRef.value),x=t.computed(()=>k()),F=t.computed(()=>d&&d.hideWhenAnchorClipped!==!1?x.value:null),L=t.computed(()=>{const i=p.value;return!e.isOpen.value||!i?{left:0,top:0}:{left:i.left+window.scrollX,top:i.bottom+window.scrollY}}),E=()=>e.resolveFocusTarget?.()??we(e.focusTargetRef?.value),$=()=>{if(h!=="button")return null;if(e.escapeFocusTarget)return e.escapeFocusTarget();const i=e.escapeFocusContainerSelector??et;return(k()??document.activeElement)?.closest(i)??null},I=()=>{const i=E()??$();if(i)return i.focus(),!0;const v=k();return v?.focus(),!!v},D=()=>{we(e.menuRef.value)?.querySelector(a)?.focus({preventScroll:!0})},C=t.shallowRef(null),u=t.shallowRef(null);let s=!1;const m=()=>{const i=n.value;if(i==="keyboard"||i==="escape"){const v=C.value??u.value;v?.focus(),i==="keyboard"&&v&&v===u.value&&(s=!0)}else n.value==="mouse-selection"&&u.value?.focus();n.value=null,C.value=null,u.value=null},w=i=>{e.isOpen.value&&(n.value=i,C.value=E()??(i==="escape"?$():null),u.value=k(),U(!1),e.requestHide(),t.nextTick(m))};t.watch(x,(i,v,S)=>{if(!d||!i){p.value=null;return}let T=null;const O=()=>{T=null,p.value=d.getRect?.()??i.getBoundingClientRect()},K=()=>{T===null&&(T=window.requestAnimationFrame(O))},ee=typeof window.ResizeObserver=="function"?new window.ResizeObserver(K):null;ee?.observe(i),window.addEventListener("scroll",K,{capture:!0,passive:!0}),window.addEventListener("resize",K,{passive:!0}),K(),S(()=>{T!==null&&window.cancelAnimationFrame(T),ee?.disconnect(),window.removeEventListener("scroll",K,!0),window.removeEventListener("resize",K)})},{immediate:!0,flush:"post"}),Re({target:F,root:()=>d?.clipRoot?t.toValue(d.clipRoot):x.value?rt(x.value):null,threshold:1,onChange:i=>{i.isIntersecting||w("anchor-hidden")}}),Ce(e.menuRef,()=>w("outside-click"),{ignore:[x]});let R=null;const q=()=>{R?.isConnected&&R.setAttribute("aria-expanded","false"),R=null},U=i=>{if(e.manageMenuTriggerAria===!1)return;const v=x.value;if(!v){R?.isConnected&&R.setAttribute("aria-expanded",i?"true":"false");return}if(!tt(v,h)){nt(v,h),q();return}R&&R!==v&&q(),v.setAttribute("aria-expanded",i?"true":"false"),R=v};t.watch([e.isOpen,e.triggerRef],([i])=>U(i),{immediate:!0,flush:"post"}),t.onUnmounted(q),t.watch(e.isOpen,i=>{i&&D()},{flush:"post"});const z=(...i)=>{const v=i[0];if(s){s=!1;return}if(e.isOpen.value){w("trigger-click");return}e.requestShow(v)};return{handleMenuSelect:(i,v)=>{v?.(i),w(i.event?.type?.startsWith("key")?"keyboard":"mouse-selection")},handleActionButtonClick:z,handleActionButtonKeydown:(...i)=>{const v=i[0],S=i[1];if(v.key==="Enter"||v.code==="Space"){v.preventDefault(),z(S);return}if(v.key==="Escape"){if(v.preventDefault(),v.stopPropagation(),e.isOpen.value){w("escape");return}I()}},handleActionMenuEscape:i=>{i.preventDefault(),i.stopPropagation(),w("escape")},handlePopupClose:()=>{t.nextTick(m)},offset:L}},ot=e=>{if(e instanceof HTMLElement)return e;const n=e&&"$el"in e?e.$el:null;return n instanceof HTMLElement?n:null},lt=()=>{const e=t.shallowReactive(new Map),n=t.ref(null),a=(x,F)=>{const L=ot(F);L?e.set(x,L):e.delete(x)},h=x=>e.get(x)??null,d=x=>{n.value=x},p=()=>{n.value=null},k=x=>n.value===x;return{activeId:t.readonly(n),isActive:t.computed(()=>n.value!==null),activeElement:t.computed(()=>n.value!==null?h(n.value):null),register:a,resolve:h,activate:d,deactivate:p,isIdActive:k}};function it(e){const n=t.ref(""),a=t.ref(void 0),h=t.ref(!!e.debug),d=t.ref(e.dateFormat??"mm/dd/yyyy"),p=t.computed(()=>!!e.required),k=1e3,x=t.ref(!1),F=["ArrowUp","ArrowDown"],L=["ArrowLeft","ArrowRight"],E=t.computed(()=>(n.value??"").replace(/\D/g,"")),$=o=>o<=2?"mm":o<=5?"dd":E.value.length<=10?"yyyy":"mm",I=t.computed(()=>{const o=n.value&&n.value.substring(0,2).replace(/\D/g,"0")||"0";return parseInt(o).toString().padStart(2,"0")}),D=t.computed(()=>{const o=n.value&&n.value.substring(3,5).replace(/\D/g,"0")||"0";return parseInt(o).toString().padStart(2,"0")}),C=t.computed(()=>{const o=n.value&&n.value.substring(6,10).replace(/\D/g,"0")||"0";return parseInt(o).toString().padStart(4,"0")}),u=o=>{if(E.value.length===0){e.onChange({value:null,event:o});return}if(E.value.length<8){e.onChange({value:null,event:o});return}if((n.value??"").length===10&&E.value.length===8){const[b,P,H]=n.value.split("/"),X=parseInt(b),W=parseInt(P),r=parseInt(H);if(U(r,X,W)){const f=R(r,X,W);s(f)?e.onChange({value:f,event:o}):e.onChange({value:null,event:o})}else e.onChange({value:null,event:o})}},s=o=>{const b=e.min??void 0,P=e.max??void 0;return!(b&&o<b||P&&o>P)},m=t.computed(()=>{if((n.value??"").length===10&&E.value.length===8){const[o,b,P]=(n.value??"").split("/"),H=parseInt(o),X=parseInt(b),W=parseInt(P);if(U(W,H,X))return R(W,H,X)}return null}),w=t.computed(()=>(n.value??"").length===10&&E.value.length===8),R=(o,b,P)=>{const H=new Date(0);return H.setFullYear(o,b-1,P),H.setHours(0,0,0,0),H},q=(o,b)=>R(o,b+1,0).getDate(),U=(o,b,P)=>b>=1&&b<=12&&o>=k&&P>=1&&P<=q(o,b),z=o=>{n.value=o.value;const b=o.event?.target;a.value=b?.selectionStart??0,u(o)},J=o=>{a.value=o.target.selectionStart??0},c=(o,b,P)=>{const H=b?.selectionStart??a.value??0;a.value=H;let X=parseInt(I.value),W=parseInt(D.value),r=parseInt(C.value);if(!(E.value.length>=8)||!U(r,X,W)){const Z=e.defaultValue??new Date;X=Z.getMonth()+1,W=Z.getDate(),r=Z.getFullYear(),n.value=`${String(X).padStart(2,"0")}/${String(W).padStart(2,"0")}/${String(r)}`;const le=R(r,X,W);e.onChange({value:s(le)?le:null,event:P}),S({useRAF:!0});return}const V=$(H);if(V==="mm")X=o==="ArrowUp"?X<12?X+1:1:X>1?X-1:12;else if(V==="dd"){const Z=new Date(r,X,0).getDate();W=o==="ArrowUp"?W<Z?W+1:1:W>1?W-1:Z}else V==="yyyy"&&(r=o==="ArrowUp"?r+1:Math.max(1,r-1));n.value=`${String(X).padStart(2,"0")}/${String(W).padStart(2,"0")}/${String(r)}`;const[B,j,Q]=n.value.split("/"),Y=R(parseInt(Q),parseInt(B),parseInt(j));Y.toString()!=="Invalid Date"&&parseInt(Q)>=1e3?e.onChange({value:s(Y)?Y:null,event:P}):e.onChange({value:null,event:P}),S({useRAF:!0})},A=o=>{if(o.code==="Space"||o.key===" "){o.preventDefault(),o.stopPropagation(),e.onShowCalendar(o);return}if(o.key==="ArrowDown"&&o.altKey){o.preventDefault(),o.stopPropagation(),e.onShowCalendar(o);return}if(F.includes(o.key)){if(o.altKey)return;o.preventDefault(),o.stopPropagation();const b=o.target;c(o.key,b,o);return}},y=o=>{o.preventDefault();const b=o.deltaY<0?"ArrowUp":"ArrowDown";c(b,o.target,o)},i=o=>{const b=o.target;if(L.includes(o.key)){a.value=b?.selectionStart??0;return}if(F.includes(o.key)){if(o.altKey)return;a.value=b?.selectionStart??0}},v=o=>{x.value=!0,p.value&&!e.defaultValue&&e.externalValue&&e.externalValue.value===void 0&&E.value.length===0&&(e.externalValue.value="");const b=o.target;b&&(a.value=b.selectionStart??0)},S=o=>{const b=()=>{const P=document.getElementById(e.id);if(!P)return;const H=o?.pos??a.value??P.value.length;try{P.focus(),P.setSelectionRange(H,H)}catch{}};t.nextTick(()=>{if(o?.delay&&o.delay>0){setTimeout(b,o.delay);return}if(o?.useRAF){requestAnimationFrame(b);return}b()})};e.externalValue&&t.watch(e.externalValue,o=>{if(o){const b=new Date(o);if(b.toString()!=="Invalid Date"){const P=(b.getMonth()+1).toString().padStart(2,"0"),H=b.getDate().toString().padStart(2,"0"),X=b.getFullYear().toString();n.value=`${P}/${H}/${X}`,S({delay:50});return}}},{immediate:!0});const T=t.computed(()=>[["Date",`${I.value} / ${D.value} / ${C.value}`],["Digits only",E.value],["min",e.min?.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"})??null],["max",e.max?.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"})??null]]),O=t.computed(()=>{if(!p.value){if(!w.value)return!0;const b=m.value;return b?s(b):!1}if(!x.value)return!0;const o=m.value;return!w.value||!o?!1:s(o)}),K=t.computed(()=>{if(!p.value){if(!w.value)return;const b=m.value;return b?s(b)?"valid":"out-of-bounds":"invalid-date"}if(!x.value)return;if(E.value.length===0||!w.value)return"incomplete";const o=m.value;return o?s(o)?"valid":"out-of-bounds":"invalid-date"}),ee=t.computed(()=>{const o=K.value;if(!o||o==="valid")return"";if(o==="incomplete")return"Required";if(o==="invalid-date")return`Must be in ${d.value} format.`;const b=e.min?e.min.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"}):null,P=e.max?e.max.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"}):null;if(o==="out-of-bounds"){if(b&&P)return`Must be between ${b} and ${P}.`;if(b)return`Must be on or after ${b}.`;if(P)return`Must be on or before ${P}.`}return""}),oe=()=>{t.nextTick(()=>{const o=document.getElementById(e.id);if(!o){console.warn(`ID (#${e.id}) not found for styling.`);return}const b=o.closest(".k-datepicker");if(!b){console.warn(`.k-datepicker parent not found for #${e.id} styling.`);return}const P=b.parentElement;if(P){if(P.classList.contains("fk-datepicker"))return;P.classList.add("fk-datepicker")}else console.warn(`Parent of .k-datepicker not found for #${e.id} styling.`)})};return t.onMounted(()=>{oe()}),{raw:n,cursorPos:a,debugEnabled:h,debugLines:T,placeholder:d,isValid:O,reason:t.readonly(K),validationMessage:ee,digitsOnly:E,month:t.readonly(I),day:t.readonly(D),year:t.readonly(C),datePart:$,handleChange:z,handleKeyDown:A,handleWheel:y,handleKeyUp:i,handleClick:J,handleBlur:v,initStyling:oe}}function st(e){const n=t.ref(""),a=t.ref(void 0),h=t.ref(!!e.debug),d=t.ref(!1),p=1440*60*1e3,k=365*p,x=new Date,F=new Date(x.getTime()-k),L=new Date(x.getTime()+k);e.min=e.min??F,e.max=e.max??L;const E=t.computed(()=>(n.value??"").replace(/\D/g,"")),$=(l,g)=>new Date(l,g,0).getDate(),I=(l,g,M)=>g>=1&&g<=12&&l>=1e3&&M>=1&&M<=$(l,g),D=l=>Date.UTC(l.getFullYear(),l.getMonth(),l.getDate()),C=l=>{if(!l)return null;const g=e.min??new Date(Date.now()-90*p),M=e.max??new Date,N=D(l);return N<D(g)||N>D(M)?null:l},u=(l,g)=>e.allowReverse??!1?!0:l<=g,s=t.computed(()=>(n.value?.length??0)>=23&&E.value.length>=16),m=l=>{if((l??"").length<23||E.value.length<16)return{start:null,end:null};const g=l.substring(0,10),M=l.substring(13,23),[N,te,ne]=g.split("/").map(ue=>parseInt(ue||"0",10)),[se,ce,de]=M.split("/").map(ue=>parseInt(ue||"0",10)),fe=new Date(ne,N-1,te),me=new Date(de,se-1,ce),Se=I(ne,N,te)&&fe.toString()!=="Invalid Date",ke=I(de,se,ce)&&me.toString()!=="Invalid Date";return{start:Se?fe:null,end:ke?me:null}},w=e.externalValid??t.ref(!0),R=t.computed(()=>m(n.value)),q=t.computed(()=>{const l=C(R.value.start),g=C(R.value.end);return{start:l,end:g}}),U=t.computed(()=>{if(!s.value)return;const l=q.value.start,g=q.value.end;if(!l||!g)return;const M=Math.abs(D(g)-D(l));return Math.round(M/864e5+1)}),z=t.ref(!1),J=t.computed(()=>{if(!z.value)return;const{start:l,end:g}=R.value;if(!s.value)return"incomplete";if(!l||!g)return"invalid-date";if(!q.value.start||!q.value.end)return"out-of-bounds";const M=q.value.start,N=q.value.end;return u(M,N)?typeof e.maxSpanDays=="number"&&U.value!==void 0&&U.value>e.maxSpanDays?"span-exceeds-limit":"valid":"reversed-range"}),c=t.computed(()=>{const l=J.value;return l===void 0||l==="valid"}),A=t.computed(()=>{const{min:l,max:g}=e,M=J.value;if(!M)return"";switch(M){case"incomplete":return"Required";case"invalid-date":return"One or both dates invalid.";case"reversed-range":return"End Date must be on or after Start Date.";case"out-of-bounds":return l&&g?`Dates must be between ${S(l)} and ${S(g)}.`:"Dates must be within the allowed range.";case"span-exceeds-limit":return typeof e.maxSpanDays=="number"?`Date range exceeds ${e.maxSpanDays} days.`:"Date range exceeds maximum allowed span.";default:return""}}),y=["ArrowUp","ArrowDown"],i=["ArrowLeft","ArrowRight"],v=(l,g)=>String(l).padStart(g,"0"),S=l=>`${v(l.getMonth()+1,2)}/${v(l.getDate(),2)}/${v(l.getFullYear(),4)}`,T=l=>l<=2?{side:"start",part:"mm"}:l<=5?{side:"start",part:(l<=3,"dd")}:l<=11?{side:"start",part:"yyyy"}:l<=15?{side:"end",part:"mm"}:l<=18?{side:"end",part:"dd"}:{side:"end",part:"yyyy"},O=(l,g,M)=>{const N=g?.selectionStart??a.value??0;a.value=N;const{start:te,end:ne}=m(n.value);if(!te&&!ne){const G=new Date,ie=S(G);n.value=`${ie} - ${ie}`,e.onChange({value:{start:G,end:G},event:M}),t.nextTick(()=>{requestAnimationFrame(()=>{const re=document.getElementById(e.id),ae=a.value??0;re&&(re.focus(),re.setSelectionRange(ae,ae))})});return}const se=new Date,ce=T(N);let de=te?new Date(te):new Date(se),fe=ne?new Date(ne):new Date(se);const me=(G,ie)=>{if(ie==="mm"){const re=G.getMonth()+1,ae=l==="ArrowUp"?re<12?re+1:1:re>1?re-1:12;G.setMonth(ae-1);const ye=$(G.getFullYear(),ae);G.getDate()>ye&&G.setDate(ye)}else if(ie==="dd"){const re=$(G.getFullYear(),G.getMonth()+1),ae=G.getDate(),ye=l==="ArrowUp"?ae<re?ae+1:1:ae>1?ae-1:re;G.setDate(ye)}else if(ie==="yyyy"){const re=G.getFullYear();G.setFullYear(l==="ArrowUp"?re+1:Math.max(1,re-1));const ae=$(G.getFullYear(),G.getMonth()+1);G.getDate()>ae&&G.setDate(ae)}};ce.side==="start"?me(de,ce.part):me(fe,ce.part);const Se=S(de),ke=S(fe);n.value=`${Se} - ${ke}`;const ue=C(de),Ae=C(fe);ue&&Ae&&u(ue,Ae)?e.onChange({value:{start:ue,end:Ae},event:M}):e.onChange({value:null,event:M}),t.nextTick(()=>{requestAnimationFrame(()=>{const G=document.getElementById(e.id),ie=a.value??0;G&&(G.focus(),G.setSelectionRange(ie,ie))})})},K=l=>{const{start:g,end:M}=m(n.value);if(!g||!M){e.onChange({value:null,event:l});return}const N=C(g),te=C(M);if(!N||!te){e.onChange({value:null,event:l});return}if(!u(N,te)){e.onChange({value:null,event:l});return}e.onChange({value:{start:N,end:te},event:l})},ee=l=>{const g=l.value??"",M=l.event;if(!g&&M&&M.type==="click"){W(M);return}n.value=g;const N=M?.target;a.value=N?.selectionStart??0,K(l)},oe=l=>{a.value=l.target.selectionStart??0},o=l=>{if(l.code==="Space"||l.key===" "){l.preventDefault(),l.stopPropagation(),e.onShowCalendar(l);return}if(l.key==="ArrowDown"&&l.altKey){l.preventDefault(),l.stopPropagation(),e.onShowCalendar(l);return}if(y.includes(l.key)){l.preventDefault(),l.stopPropagation();const g=l.target;O(l.key,g,l);return}},b=l=>{l.preventDefault();const g=l.deltaY<0?"ArrowUp":"ArrowDown";O(g,l.target,l)},P=l=>{if(i.includes(l.key)||y.includes(l.key)){const g=l.target;a.value=g?.selectionStart??0}},H=()=>{z.value=!0,(e.manageValid??!0)&&(w.value=c.value)},X=l=>{H()},W=l=>{n.value="",a.value=0,e.onChange({value:null,event:l}),H(),t.nextTick(()=>{const g=document.getElementById(e.id);g&&(g.focus(),g.setSelectionRange(0,0))})};e.externalValue&&t.watch(e.externalValue,l=>{const g=l?.start??null,M=l?.end??null;if(g&&M){if(n.value=`${S(g)} - ${S(M)}`,e.isOpen?.value&&d.value&&e.onRequestClose){const N=typeof e.closeDelay=="number"?e.closeDelay:e.closeDelay?.value??0;setTimeout(()=>{e.onRequestClose?.(),d.value=!1,H()},N)}return}},{immediate:!0});const r=t.computed(()=>n.value&&n.value.substring(0,2).replace(/\D/g,"0")||"0"),f=t.computed(()=>n.value&&n.value.substring(3,5).replace(/\D/g,"0")||"0"),V=t.computed(()=>n.value&&n.value.substring(6,10).replace(/\D/g,"0")||"0"),B=t.computed(()=>n.value&&n.value.substring(13,15).replace(/\D/g,"0")||"0"),j=t.computed(()=>n.value&&n.value.substring(16,18).replace(/\D/g,"0")||"0"),Q=t.computed(()=>n.value&&n.value.substring(19,23).replace(/\D/g,"0")||"0"),Y=t.computed(()=>{const{start:l,end:g}=m(n.value);return[{label:"Raw",value:n.value},{label:"Min Date",value:`${e.min?e.min.toDateString():"-"}`},{label:"Max Date",value:`${e.max?e.max.toDateString():"-"}`},{label:"Start",value:`${String(r.value).padStart(2,"0")} / ${String(f.value).padStart(2,"0")} / ${String(V.value).padStart(4,"0")}`},{label:"End",value:`${String(B.value).padStart(2,"0")} / ${String(j.value).padStart(2,"0")} / ${String(Q.value).padStart(4,"0")}`},{label:"Digits only",value:E.value},{label:"Mask complete",value:`${s.value}`},{label:"Parsed",value:`${l?l.toDateString():"-"} | ${g?g.toDateString():"-"}`},{label:"Valid (managed)",value:`${w.value??"-"}`},{label:"Span (days)",value:`${U.value??"-"}`},{label:"Reason",value:`${J.value??"-"}`},{label:"Cursor in",value:`${a.value??"-"} (${(()=>{const M=a.value??0,N=T(M);return`${N.side}.${N.part}`})()})`}]}),Z=()=>{t.nextTick(()=>{const l=document.getElementById(e.id);if(!l){console.warn(`#${e.id} not found for styling.`);return}const g=l.closest("div");if(!g){console.warn(`Parent div of #${e.id} not found for styling.`);return}g.classList.contains("fk-daterangepicker")||g.classList.add("fk-daterangepicker")})};t.onMounted(()=>{Z()});const le=()=>{t.nextTick(()=>{try{const l=Array.from(document.querySelectorAll(".k-animation-container"));if(!l.length)return;const M=[...l].reverse().find(ne=>ne.querySelector(".k-calendar"))?.querySelector(".k-calendar");if(!M)return;const N=M.querySelectorAll(".k-calendar-table");let te=!1;N.forEach(ne=>{ne.tabIndex===0&&(te?ne.tabIndex=-1:te=!0)})}catch(l){console.warn(l)}})};return e.isOpen&&t.watch(e.isOpen,l=>{l&&setTimeout(()=>le(),0)},{immediate:!1}),{raw:n,cursorPos:a,debugEnabled:h,debugLines:Y,digitsOnly:E,valid:w,validComputed:t.readonly(c),reason:t.readonly(J),validationMessage:t.readonly(A),spanDays:t.readonly(U),month1:t.readonly(r),day1:t.readonly(f),year1:t.readonly(V),month2:t.readonly(B),day2:t.readonly(j),year2:t.readonly(Q),handleChange:ee,handleKeyDown:o,handleWheel:b,handleKeyUp:P,handleClick:oe,handleBlur:X,handleClear:W,onCalendarChange:()=>{d.value=!0},initStyling:Z}}function ut(e){const n=t.ref(""),a=t.ref(void 0),h=t.ref(!!e.debug),d=t.ref(e.timeFormat??"hh:mm AM"),p=t.computed(()=>!!e.required),k=t.ref(!1),x=["ArrowUp","ArrowDown"],F=["ArrowLeft","ArrowRight"],L=t.computed(()=>(n.value??"").replace(/\D/g,"")),E={H:/[0-9]/,h:/[0-9]/,M:/[0-9]/,m:/[0-9]/,A:/[AaPp]/,a:/[Mm]/},$=r=>r<=2?"hh":r<=5?"mm":"ampm",I=t.computed(()=>{const r=n.value&&n.value.substring(0,2).replace(/\D/g,"0")||"0",f=parseInt(r);return Math.min(Math.max(f,0),23)}),D=t.computed(()=>{const r=n.value&&n.value.substring(3,5).replace(/\D/g,"0")||"0",f=parseInt(r);return Math.min(Math.max(f,0),59)}),C=t.computed(()=>(n.value?.substring(6,8)||"AM").toUpperCase().startsWith("P")?"PM":"AM"),u=t.computed(()=>{const r=parseInt(n.value?.substring(0,2).replace(/\D/g,"0")||"0"),f=C.value;return r===12?f==="AM"?0:12:f==="PM"?r+12:r}),s=t.computed(()=>m.value?`${String(u.value).padStart(2,"0")}:${String(D.value).padStart(2,"0")}:00`:null),m=t.computed(()=>/^(\d{2}):(\d{2})\s([AP]M)$/i.test(n.value??"")),w=(r,f,V)=>{let B=r%12;return B===0&&(B=12),`${String(B).padStart(2,"0")}:${String(f).padStart(2,"0")} ${V}`},R=r=>{const f=r.match(/^(\d{2}):(\d{2})\s([AP]M)$/i);if(!f)return null;const V=parseInt(f[1]),B=parseInt(f[2]),j=f[3].toUpperCase();if(V<1||V>12||B<0||B>59)return null;let Q=V%12;j==="PM"&&(Q+=12);const Y=new Date;return Y.setSeconds(0,0),Y.setHours(Q),Y.setMinutes(B),Y},q=r=>{if(L.value.length===0){e.onChange({value:null,event:r});return}if(!m.value){e.onChange({value:null,event:r});return}const f=R(n.value);f&&z(f)?e.onChange({value:f,event:r}):e.onChange({value:null,event:r})},U=r=>r.getHours()*60+r.getMinutes(),z=r=>{const f=e.min??void 0,V=e.max??void 0,B=U(r);if(f){const j=U(f);if(B<j)return!1}if(V){const j=U(V);if(B>j)return!1}return!0},J=r=>{const f=r.getHours(),V=f>=12?"PM":"AM";n.value=w(f,r.getMinutes(),V)},c=(r,f)=>{e.onChange({value:r,event:f})},A=()=>{t.nextTick(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{const r=document.getElementById(e.id);if(r){r.focus();const f=(r.value??"").length;r.setSelectionRange(f,f)}})})})},y=r=>{const f=r?.event?.target;return f?f.closest(".k-time-now")?"now":f.closest(".k-time-accept")?"set":null:null},i=(r,f)=>{r&&z(r)?c(r,f):c(null,f)},v=(...r)=>{const f=r[0];if(!f)return;const V=y(f);if(V==="now"){const j=new Date;J(j),i(j,f),A();return}if(f?.value instanceof Date){const j=new Date(f.value);J(j),i(j,f),V==="set"&&A();return}if(f?.value===null){n.value="",c(null,f);return}n.value=f.value;const B=f.event?.target;a.value=B?.selectionStart??0;try{const j=a.value??0;if($(j)==="ampm"&&(n.value??"").length>=8){const Q=n.value.charAt(6);/[Aa]/.test(Q)?(n.value=`${n.value.slice(0,6)}AM${n.value.slice(8)}`,t.nextTick(()=>{requestAnimationFrame(()=>{const Y=document.getElementById(e.id);Y&&(Y.focus(),Y.setSelectionRange(8,8))})})):/[Pp]/.test(Q)&&(n.value=`${n.value.slice(0,6)}PM${n.value.slice(8)}`,t.nextTick(()=>{requestAnimationFrame(()=>{const Y=document.getElementById(e.id);Y&&(Y.focus(),Y.setSelectionRange(8,8))})}))}}catch{}q(f)},S=r=>{a.value=r.target.selectionStart??0},T=(r,f,V)=>{const B=f?.selectionStart??a.value??0;a.value=B;const j=$(B),Q=(n.value??"").match(/^(\d{2}):(\d{2})\s([AP]M)$/i);if(!Q){if((n.value??"").length===0||L.value.length===0){const g=new Date,M=g.getHours(),N=M>=12?"PM":"AM";n.value=w(M,g.getMinutes(),N);const te=R(n.value);i(te,V),t.nextTick(()=>{requestAnimationFrame(()=>{const ne=document.getElementById(e.id),se=a.value??0;ne&&(ne.focus(),ne.setSelectionRange(se,se))})})}return}let Y=parseInt(Q[1]),Z=parseInt(Q[2]),le=Q[3].toUpperCase();if(j==="hh")r==="ArrowUp"?Y=Y<12?Y+1:1:Y=Y>1?Y-1:12;else if(j==="mm"){const g=e.minuteStepRef?.value??e.minuteStep??1;if(g===1)r==="ArrowUp"?Z=Z<59?Z+1:0:Z=Z>0?Z-1:59;else if(r==="ArrowUp"){const M=Z%g;let N=M===0?Z+g:Z+(g-M);N>=60&&(N=0),Z=N}else{const M=Z%g;let N=M===0?Z-g:Z-M;N<0&&(N=60-g),Z=N}}else j==="ampm"&&(le=le==="AM"?"PM":"AM");n.value=`${String(Y).padStart(2,"0")}:${String(Z).padStart(2,"0")} ${le}`;const l=R(n.value);i(l,V),t.nextTick(()=>{requestAnimationFrame(()=>{const g=document.getElementById(e.id),M=a.value??0;g&&(g.focus(),g.setSelectionRange(M,M))})})},O=r=>{if(r.code==="Space"||r.key===" "){r.preventDefault(),r.stopPropagation(),e.onShowPicker(r);return}if(r.key==="ArrowDown"&&r.altKey){r.preventDefault(),r.stopPropagation(),e.onShowPicker(r);return}if(x.includes(r.key)){if(r.altKey)return;r.preventDefault(),r.stopPropagation();const f=r.target;T(r.key,f,r);return}},K=r=>{r.preventDefault();const f=r.deltaY<0?"ArrowUp":"ArrowDown";T(f,r.target,r)},ee=r=>{const f=r.target;if(F.includes(r.key)){a.value=f?.selectionStart??0;return}if(x.includes(r.key)){if(r.altKey)return;a.value=f?.selectionStart??0}},oe=r=>{k.value=!0,p.value&&e.externalValue&&e.externalValue.value===void 0&&L.value.length===0&&(e.externalValue.value="");const f=r.target;f&&(a.value=f.selectionStart??0)};e.externalValue&&t.watch(e.externalValue,r=>{if(r){const f=new Date(r);if(f.toString()!=="Invalid Date"){const V=f.getHours(),B=V>=12?"PM":"AM";n.value=w(V,f.getMinutes(),B);return}}},{immediate:!0});const o=t.computed(()=>[["Time",n.value||"--:-- --"],["Hour (12h)",I.value],["Hour (24h)",u.value],["Minute",D.value],["Period",C.value],["Time (24h)",s.value??"--:--:--"],["Digits only",L.value],["Parsed Date",b.value?.toLocaleDateString("en-US",{hour:"2-digit",minute:"2-digit"})??null],["min",e.min?.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})??null],["max",e.max?.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})??null],["valid",P.value],["reason",H.value],["validationMessage",X.value]]),b=t.computed(()=>R(n.value)??null),P=t.computed(()=>{if(!p.value){if(!m.value)return!0;const f=b.value;return f?z(f):!1}if(!k.value)return!0;const r=b.value;return!m.value||!r?!1:z(r)}),H=t.computed(()=>{if(!p.value){if(!m.value)return;const f=b.value;return f?z(f)?"valid":"out-of-bounds":"invalid-time"}if(!k.value)return;if(L.value.length===0||!m.value)return"incomplete";const r=b.value;return r?z(r)?"valid":"out-of-bounds":"invalid-time"}),X=t.computed(()=>{const r=H.value;if(!r||r==="valid")return"";if(r==="incomplete")return"Required";if(r==="invalid-time")return`Must be in ${d.value} format.`;const f={hour:"2-digit",minute:"2-digit"},V=e.min?e.min.toLocaleTimeString("en-US",f):null,B=e.max?e.max.toLocaleTimeString("en-US",f):null;if(r==="out-of-bounds"){if(V&&B)return`Must be between ${V} and ${B}.`;if(V)return`Must be ${V} or later.`;if(B)return`Must be ${B} or earlier.`}return""}),W=()=>{t.nextTick(()=>{const r=document.getElementById(e.id);if(!r){console.warn(`#${e.id} not found for styling.`);return}const f=r.closest(".k-timepicker");if(!f){console.warn(`.k-timepicker parent of #${e.id} not found for styling.`);return}const V=f.parentElement;if(!V){console.warn(`Parent of .k-timepicker not found for #${e.id} styling.`);return}V.classList.contains("fk-timepicker")||V.classList.add("fk-timepicker")})};return t.onMounted(()=>{W()}),{raw:n,rules:E,debugEnabled:h,debugLines:o,placeholder:d,isValid:P,reason:t.readonly(H),validationMessage:X,isComplete:m,inRangeTime:z,cursorPos:a,hour:t.readonly(I),hour24:t.readonly(u),minute:t.readonly(D),period:t.readonly(C),time24:t.readonly(s),parsedRawTime:t.readonly(b),handleChange:v,handleKeyDown:O,handleKeyUp:ee,handleClick:S,handleWheel:K,handleBlur:oe,initStyling:W}}function ct(e){const n=t.shallowRef(null),a=[".k-animation-container .k-popup",".k-popup",".k-timepicker-popup",".k-menu-popup"],h=Array.isArray(e.popupSelector)?e.popupSelector:[e.popupSelector??a].flat(),d=E=>E?typeof e.initialFocus=="string"?E.querySelector(e.initialFocus)??E:typeof e.initialFocus=="function"?e.initialFocus(E)??E:E.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')??E:null,{activate:p,deactivate:k}=Fe.useFocusTrap(n,{escapeDeactivates:!1,clickOutsideDeactivates:!1,fallbackFocus:()=>n.value,initialFocus:()=>d(n.value),...e.focusTrapOptions??{}});let x=null,F=t.ref(null);const L=()=>{if(e.resolvePopupEl)return e.resolvePopupEl();const E=(I,D)=>{const C=Array.from(I.querySelectorAll(D));if(!C.length)return null;const u=C.filter(s=>s.offsetParent!==null||s.getClientRects().length>0);return u[u.length-1]??C[C.length-1]??null},$=e.triggerEl?.value?.closest?.(".k-animation-container")??document.body;for(const I of h){const D=E($,I);if(D)return D}for(const I of h){const D=E(document,I);if(D)return D}return null};return Ce(n,E=>{F.value="outside",e.isOpen.value&&e.onRequestClose?.("outside",E)}),t.watch(()=>e.isOpen.value,E=>{E?(F.value=null,t.nextTick(()=>{const $=L();$&&(n.value=$,setTimeout(()=>p(),0),x||(x=I=>{I.key==="Escape"&&(F.value="escape",e.isOpen.value&&e.onRequestClose?.("escape",I))},document.addEventListener("keydown",x,!0)))})):(k(),x&&(document.removeEventListener("keydown",x,!0),x=null),n.value=null,F.value==="outside"&&t.nextTick(()=>{const $=()=>{const I=e.triggerEl?.value,D=I?.querySelector("input"),C=document.activeElement;C&&(C===D||I&&I.contains(C))&&(D??I)?.blur?.()};requestAnimationFrame(()=>setTimeout($,0))}),e.returnFocusToTrigger!==!1&&F.value==="escape"&&e.triggerEl?.value&&t.nextTick(()=>{const $=()=>{const I=e.triggerEl?.value;if(!I)return;(I.querySelector("input")??I)?.focus?.()};requestAnimationFrame(()=>setTimeout($,0))}))}),{popupRef:n,activate:p,deactivate:k,lastCloseReason:t.readonly(F),setPopupEl:E=>n.value=E}}_.useActiveIdRegistry=lt,_.useCompositeId=je,_.useFieldsetTouchTracker=Ie,_.useFieldsetValidationKit=Te,_.useGridA11y=$e,_.useGridActiveFilter=Le,_.useGridRowAction=Oe,_.useIntersectionObserver=Re,_.useMaskedDateInput=it,_.useMaskedDateRangeInput=st,_.useMaskedTimeInput=ut,_.usePopupMenu=at,_.usePopupTrap=ct,_.useUSAddress=We,_.useZipTextBox=xe,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=featherk-composables.umd.js.map