@featherk/composables 0.13.1 → 0.13.2

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