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