@opengis/filter 0.1.34 → 0.1.35
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/dist/index.js +1 -1
- package/dist/index.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -807,7 +807,7 @@ const qt = { class: "absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"
|
|
|
807
807
|
}
|
|
808
808
|
h && clearTimeout(h), h = setTimeout(() => {
|
|
809
809
|
u("update:modelValue", c.value), u("change", { name: y.name, value: c.value });
|
|
810
|
-
},
|
|
810
|
+
}, 750);
|
|
811
811
|
}
|
|
812
812
|
function d() {
|
|
813
813
|
c.value = "", u("update:modelValue", ""), u("clear", y.name);
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
(function(T,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@opengis/core")):typeof define=="function"&&define.amd?define(["exports","vue","@opengis/core"],e):(T=typeof globalThis<"u"?globalThis:T||self,e(T.FilterLib={},T.Vue,T.OpenGISCore))})(this,(function(T,e,U){"use strict";const O=(t,o)=>{const p=t.__vccOpts||t;for(const[l,i]of o)p[l]=i;return p},ge={},he={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function be(t,o){return e.openBlock(),e.createElementBlock("svg",he,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"},null,-1),e.createElementVNode("path",{d:"M20 4v5h-5"},null,-1)])])}const xe=O(ge,[["render",be]]),ke={},we={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function Ve(t,o){return e.openBlock(),e.createElementBlock("svg",we,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const P=O(ke,[["render",Ve]]),Ce={class:"flex items-center cursor-pointer w-full"},Be={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Ee=["value"],Ne={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Se={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},$e={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},G=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(t,{expose:o,emit:p}){const l=t,i=p;function s(){i("itemClick",l.value)}const h=e.ref(null),a=e.computed(()=>l.layout==="inline"&&l.type==="radio"),c=e.computed(()=>l.layout==="vertical"?"text-[13px]":"text-sm");return o({el:h}),(g,r)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:h},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between w-full",c.value])},[e.createElementVNode("div",Ce,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(t.layout)?"text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-gray-500 cursor-pointer",{"bg-blue-100":t.highlighted,relative:a.value},c.value]),onClick:e.withModifiers(s,["stop","prevent"])},[a.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[t.type==="checkbox"?"rounded-[4px]":"rounded-full",t.color?`bg-[${t.color}] border-[#ffffff]`:t.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[t.isSelected?(e.openBlock(),e.createElementBlock("img",Be)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:t.value},null,8,Ee),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",a.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Ne,e.toDisplayString(t.label??"Відсутні дані"),1),t.count?(e.openBlock(),e.createElementBlock("div",Se," ("+e.toDisplayString(t.count)+") ",1)):e.createCommentVNode("",!0)],2),a.value&&t.isSelected?(e.openBlock(),e.createElementBlock("span",$e,[e.createVNode(P)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function J(t,o){const{api:p,options:l=[],limit:i=20,dataKey:s="data",data:h}=t,a=s??h??"data";function c(n){return Array.isArray(n)?n[0]:n}const g=e.ref(c(t.modelValue)),r=e.ref(""),u=e.ref(!1),y=e.ref([]),b=e.ref("id"),k=e.ref("text"),B=e.ref(!1),C=e.ref(t.layout!=="popover"&&l.length>i);function f(n){const V=n.find(Boolean)??{},w=["id","value","code","key"].find(D=>D in V)??"id",$=["text","label","name","title"].find(D=>D in V)??"text";return{autoValueKey:w,autoLabelKey:$}}function d(n){if(n.length>0){const w=f(n);b.value=w.autoValueKey,k.value=w.autoLabelKey}const V=[...n].sort((w,$)=>t.sort==="count"?$.count&&w.count?$.count-w.count:0:t.sort==="name"?String(w[k.value]??"").localeCompare(String($[k.value]??"")):0);y.value=V}l.length>0&&d(l);const A=e.computed(()=>{const n=y.value;return t.layout==="popover"||B.value?n:n.slice(0,i)});async function F(){if(p){u.value=!0;try{const n=new URL(p,window.location.origin);n.searchParams.set("json","1"),n.searchParams.set("limit",i.toString());const V=await fetch(n.toString());if(!V.ok){U.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),y.value=[];return}const w=await V.json();if(!w[a]){U.notify({type:"error",title:"Error",message:w}),y.value=[];return}d(w[a])}catch(n){console.error("Failed to fetch remote options:",n)}finally{u.value=!1}}}function S(){p&&y.value.length===0&&F()}e.watch(()=>t.modelValue,n=>{g.value=c(n)},{immediate:!0}),p||d(l);function m(n){return g.value===n[b.value]}function x(n){g.value=n[b.value],o("update:modelValue",g.value),o("change",{name:t.name,value:g.value})}function E(){g.value=void 0,o("update:modelValue",g.value),o("clear",t.name)}function M(){B.value=!B.value}return{innerValue:g,searchTerm:r,filteredOptions:A,isSelected:m,selectItem:x,clear:E,toggleShowAll:M,isReqProc:u,showAll:B,isEnableShowAll:C,labelKey:k,valueKey:b,allOptions:y,loadData:S}}function le(t={color:"blue"}){return e.computed(()=>{const p=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${t.color}-500 focus:border-transparent
|
|
2
|
-
text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return t?.size==="sm"?`${p}h-[32px]`:`${p}h-[38px]`})}function I(){return"rounded-md font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 px-4 py-2 w-full bg-transparent border text-black text-sm h-[38px]"}function De(){return"font-medium border border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600"}function ne(t){return t==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":t==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const oe={en:{apply:"Apply",search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",max:"max",min:"min",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next",selectFieldHelp:"Select a field to start creating a filter."},uk:{apply:"Застосувати",search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",max:"макс",min:"мін",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період",selectFieldHelp:"Оберіть поле, щоб розпочати створення фільтра."}};function ae(t){const o=t.split(".")[1],p=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(oe[p||navigator.language]||oe.uk)[o]}function K(){const t=e.getCurrentInstance();if(!t.appContext.config.globalProperties.$i18n)return ae;const o=t.appContext.config.globalProperties.$t;return p=>{const l=o(p);return l===p?ae(p):l}}const Ae={},Fe={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function je(t,o){return e.openBlock(),e.createElementBlock("svg",Fe,[...o[0]||(o[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)])])}const X=O(Ae,[["render",je]]),Me={},Re={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function ze(t,o){return e.openBlock(),e.createElementBlock("svg",Re,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Y=O(Me,[["render",ze]]),Ke={},Le={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate-[180deg]"};function Te(t,o){return e.openBlock(),e.createElementBlock("svg",Le,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Z=O(Ke,[["render",Te]]),Oe={key:0,class:"w-full"},_e={class:"flex flex-col items-center justify-center p-5 text-center"},Pe={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ie={key:1,class:"py-2 px-2"},Ue=["disabled"],qe=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=e.ref(null),s=I(),h=K(),a=p,{innerValue:c,filteredOptions:g,isSelected:r,selectItem:u,clear:y,toggleShowAll:b,isReqProc:k,showAll:B,isEnableShowAll:C,labelKey:f,valueKey:d,allOptions:A,loadData:F}=J({...l,modelValue:l.modelValue??l.default??""},a);return e.onMounted(()=>{l.api&&F()}),o({clear:y,inputTextRef:i}),e.watch(()=>l.modelValue,S=>{S===void 0&&(c.value=void 0)}),(S,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),x=>(e.openBlock(),e.createBlock(G,{layout:t.layout,key:x[e.unref(d)],count:x.count,label:x[e.unref(f)],color:x.color,type:"radio",value:x[e.unref(d)],"is-selected":e.unref(r)(x),onItemClick:E=>e.unref(u)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(g).length===0&&!e.unref(k)?(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("div",_e,[e.createVNode(X),m[4]||(m[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(B)&&e.unref(C)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m[0]||(m[0]=(...x)=>e.unref(b)&&e.unref(b)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[m[5]||(m[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(Y)])):e.createCommentVNode("",!0),e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:m[1]||(m[1]=(...x)=>e.unref(b)&&e.unref(b)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[m[6]||(m[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Z)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Pe,[e.createTextVNode(e.toDisplayString(e.unref(c)||e.unref(c)===null?1:0)+" з "+e.toDisplayString(e.unref(A).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[2]||(m[2]=(...x)=>e.unref(y)&&e.unref(y)(...x))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("button",{type:"button",disabled:!(e.unref(c)!==""&&e.unref(c)!==void 0),class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:m[3]||(m[3]=(...x)=>e.unref(y)&&e.unref(y)(...x))},e.toDisplayString(e.unref(h)("filter.clear")),11,Ue)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function re(t,o){const{api:p,options:l=[],limit:i=20,dataKey:s="data",data:h}=t,a=s??h??"data";function c(n){return Array.isArray(n)?n:n?[n]:[]}const g=e.ref(c(t.modelValue)),r=e.ref(""),u=e.ref(!1),y=e.ref([]),b=e.ref("id"),k=e.ref("text"),B=e.ref(!1),C=e.ref(t.layout!=="popover"&&l.length>i);function f(n){const V=n.find(Boolean)??{},w=["id","value","code","key"].find(D=>D in V)??"id",$=["text","label","name","title"].find(D=>D in V)??"text";return{autoValueKey:w,autoLabelKey:$}}function d(n){if(n.length>0){const w=f(n);b.value=w.autoValueKey,k.value=w.autoLabelKey}const V=[...n].sort((w,$)=>t.sort==="count"?$.count&&w.count?$.count-w.count:0:t.sort==="name"?String(w[k.value]).localeCompare(String($[k.value])):0);y.value=V}l.length>0&&d(l);const A=e.computed(()=>{const n=y.value;return t.layout==="popover"||B.value?n:n.slice(0,i)});async function F(){if(p){u.value=!0;try{const n=new URL(p,window.location.origin);n.searchParams.set("json","1"),n.searchParams.set("limit",i.toString());const V=await fetch(n.toString());if(!V.ok){U.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),y.value=[];return}const w=await V.json();if(!w[a]){U.notify({type:"error",title:"Error",message:w}),y.value=[];return}d(w[a])}catch(n){console.error("Failed to fetch remote options:",n)}finally{u.value=!1}}}function S(){p&&y.value.length===0&&F()}e.watch(()=>t.modelValue,n=>{g.value=c(n)},{immediate:!0}),p||d(l);function m(n){return g.value&&g.value.includes(n[b.value])}function x(n){const V=g.value.includes(n[b.value]);g.value=V?g.value.filter(w=>w!==n[b.value]):[...g.value,n[b.value]],o("update:modelValue",g.value),o("change",{name:t.name,value:g.value})}function E(){g.value=[],o("update:modelValue",g.value),o("clear",t.name)}function M(){B.value=!B.value}return{innerValue:g,searchTerm:r,filteredOptions:A,isSelected:m,selectItem:x,clear:E,toggleShowAll:M,isReqProc:u,showAll:B,isEnableShowAll:C,labelKey:k,valueKey:b,allOptions:y,loadData:S}}const We={key:0,class:"w-full"},Ye={class:"flex flex-col items-center justify-center p-5 text-center"},He={class:"max-w-sm mx-auto mt-6"},Qe={class:"font-medium text-gray-800 dark:text-neutral-200"},Ge={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Je={key:1,class:"py-2 px-2 border-t"},Xe=["disabled"],Ze={class:"text-xs text-gray-500"},ie=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=K(),i=I(),s=t,h=p,{innerValue:a,filteredOptions:c,isSelected:g,selectItem:r,clear:u,toggleShowAll:y,isReqProc:b,showAll:k,isEnableShowAll:B,labelKey:C,valueKey:f,allOptions:d,loadData:A}=re({...s,modelValue:s.modelValue},h);return e.onMounted(()=>{s.api&&A()}),e.watch(()=>s.modelValue,F=>{F===void 0&&(a.value=[])}),o({clear:u}),(F,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),m=>(e.openBlock(),e.createBlock(G,{layout:t.layout,count:m.count,label:m[e.unref(C)],color:m.color,type:"checkbox",value:m[e.unref(f)],"is-selected":e.unref(g)(m),onItemClick:x=>e.unref(r)(m)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(c).length===0&&!e.unref(b)?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("div",Ye,[e.createVNode(X),e.createElementVNode("div",He,[e.createElementVNode("p",Qe,e.toDisplayString(e.unref(l)("filter.notfound")),1),S[4]||(S[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:S[0]||(S[0]=(...m)=>e.unref(y)&&e.unref(y)(...m)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.more"))+" ",1),e.createVNode(Y)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:S[1]||(S[1]=(...m)=>e.unref(y)&&e.unref(y)(...m)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.less"))+" ",1),e.createVNode(Z)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ge,[e.createTextVNode(e.toDisplayString(e.unref(a).length)+" / "+e.toDisplayString(e.unref(d).length)+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[2]||(S[2]=(...m)=>e.unref(u)&&e.unref(u)(...m))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Je,[e.createElementVNode("button",{type:"button",disabled:e.unref(a).length===0,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100"),onClick:S[3]||(S[3]=(...m)=>e.unref(u)&&e.unref(u)(...m))},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.clear"))+" ",1),e.createElementVNode("span",Ze,e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(d).length),1)],10,Xe)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),ve={},et={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function tt(t,o){return e.openBlock(),e.createElementBlock("svg",et,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)])])}const se=O(ve,[["render",tt]]),lt={},nt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function ot(t,o){return e.openBlock(),e.createElementBlock("svg",nt,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)])])}const v=O(lt,[["render",ot]]);class ce{static getWidthClass(o){return typeof o=="number"?`max-w-[${o}px] min-w-[${o}px]`:typeof o=="string"?o.endsWith("%")||o.endsWith("px")?`max-w-[${o}]`:`max-w-${o}`:"w-full"}}const at={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},rt=["placeholder"],it=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},type:{},label:{},width:{default:220},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{emit:o}){const p=t,l=e.ref((p.placeholder||p.label||p.title||p.name||"search").toString()),i=o,s=e.ref(p.modelValue?.toString()??"");e.watch(()=>p.modelValue,g=>{g!==s.value&&(s.value=g?.toString()??"")});let h=null;function a(){if(s.value=s.value.trimStart(),s.value.length===0){c();return}h&&clearTimeout(h),h=setTimeout(()=>{i("update:modelValue",s.value),i("change",{name:p.name,value:s.value})},300)}function c(){s.value="",i("update:modelValue",""),i("clear",p.name)}return(g,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",t.layout==="vertical"?"rounded-md":"rounded-sm",t.layout==="vertical"?"[&>input]:rounded-md":"[&>input]:rounded-sm",t.layout==="inline"?e.unref(ce).getWidthClass(t.width):"mb-2"+(t.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",at,[e.createVNode(se)]),s.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:c,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(v)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":r[0]||(r[0]=u=>s.value=u),onInput:a,placeholder:l.value,class:e.normalizeClass(["!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500",t.layout==="vertical"?"rounded-md":"rounded-sm"])},null,42,rt),[[e.vModelText,s.value]])],2))}}),st={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ct=["placeholder","disabled"],dt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},mt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ft=["placeholder","disabled"],ut=["disabled"],kn={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},wn={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},pt=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=le(),i=I(),s=K(),h=t,a=e.ref(h.modelValue??h.default??[]),c=p,g=e.computed({get:()=>h.modelValue??a.value,set:y=>{h.modelValue!==void 0?c("update:modelValue",y):a.value=y}});function r(){c("change",{name:h.name,value:g.value||a.value})}function u(){a.value=[],g.value=a.value,c("clear",h.name)}return e.watch(()=>h.modelValue,y=>{y!==void 0&&h.layout!=="popover"?(a.value=y,c("update:modelValue",y)):a.value=[]}),o({clear:u,currentValue:g}),(y,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(t.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",st,e.toDisplayString(e.unref(s)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[0]??e.unref(s)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":b[0]||(b[0]=k=>g.value[0]=k),disabled:t.disabled},null,10,ct),[[e.vModelText,g.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",dt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",mt,e.toDisplayString(e.unref(s)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[1]??e.unref(s)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":b[1]||(b[1]=k=>g.value[1]=k),disabled:t.disabled},null,10,ft),[[e.vModelText,g.value[1]]])]),["popover","inline","vertical"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:r,class:e.normalizeClass(e.unref(i)+(t.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(t.layout==="vertical"?"Ok":e.unref(s)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(g.value[0]||g.value[1]),onClick:u,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100")},e.toDisplayString(e.unref(s)("filter.clear")),11,ut)):e.createCommentVNode("",!0)],2)]),(t.cleanable&&a.value.length,e.createCommentVNode("",!0))],64))}});class z{static format(o){const p=o.getFullYear(),l=(o.getMonth()+1).toString().padStart(2,"0"),i=o.getDate().toString().padStart(2,"0");return`${p}-${l}-${i}`}static getShiftedDay(o,p=0){const l=o?new Date(o):new Date;return l.setDate(l.getDate()+p),this.format(l)}static getLastWeekRange(o,p,l=0){if(o&&p){const g=new Date(o),r=new Date(p);return g.setDate(g.getDate()+l*7),r.setDate(r.getDate()+l*7),[this.format(g),this.format(r)]}const i=new Date,s=i.getDay(),h=s===0?13:s-1+7,a=new Date(i);a.setDate(i.getDate()-h+l*7);const c=new Date(a);return c.setDate(a.getDate()+6),[this.format(a),this.format(c)]}static getMonthRange(o,p,l=0){let i;o?i=new Date(o):i=new Date,i=new Date(i.getFullYear(),i.getMonth()+l,1);const s=i,h=new Date(i.getFullYear(),i.getMonth()+1,0);return[this.format(s),this.format(h)]}static getQuarterRange(o,p,l=0){const i=o||p,s=i?new Date(i):new Date;let h=Math.floor(s.getMonth()/3);h+=l;const a=(h%4+4)%4*3,c=s.getFullYear()+Math.floor(h/4),g=new Date(c,a,1),r=new Date(c,a+3,0);return[this.format(g),this.format(r)]}static getYear(o,p=0){let l;return o&&/^\d{4}$/.test(o)?l=parseInt(o,10):o?l=new Date(o).getFullYear():l=new Date().getFullYear(),String(l+p)}static getYearRange(o,p=0){let l;return o&&/^\d{4}$/.test(o)?l=parseInt(o,10):o?l=new Date(o).getFullYear():l=new Date().getFullYear(),[this.format(new Date(l+p,0,1)),this.format(new Date(l+p+1,0,0))]}static getRangeFromDaysBefore(o){const p=new Date,l=new Date(p.getTime());return l.setDate(p.getDate()-o),[this.format(l),this.format(p)]}}function de(t,o){const{popoverRef:p}=t,l=K(),i=e.ref(""),s=e.ref(t.modelValue??t.default??[]),h=e.ref(0);function a(){const f=z.getRangeFromDaysBefore(h.value);return s.value=[...f],o("change",{name:t.name,value:s.value}),o("update:modelValue",s.value),f}function c(f){i.value=f,p.value?.close();const d=[];switch(i.value){case"today":d.push(z.getShiftedDay()),d.push(z.getShiftedDay());break;case"week":d.push(...z.getLastWeekRange());break;case"month":d.push(...z.getMonthRange());break;case"quarter":d.push(...z.getQuarterRange());break;case"year":d.push(...z.getYearRange());break;case"last_7_days":h.value=7,a();break;case"range":h.value=7,d.push(...a());break}s.value=[...d],o("change",{name:t.name,value:s.value}),o("update:modelValue",s.value)}function g(){const f=[];switch(i.value){case"today":f.push(z.getShiftedDay(s.value[0],1));break;case"week":f.push(...z.getLastWeekRange(s.value[0],s.value[1],1));break;case"month":f.push(...z.getMonthRange(s.value[0],s.value[1],1));break;case"quarter":f.push(...z.getQuarterRange(s.value[0],s.value[1],1));break;case"year":f.push(...z.getYearRange(s.value[0],1));break}s.value=[...f],o("change",{name:t.name,value:s.value}),o("update:modelValue",s.value)}function r(){const f=[];switch(i.value){case"today":f.push(z.getShiftedDay(s.value[0],-1));break;case"week":f.push(...z.getLastWeekRange(s.value[0],s.value[1],-1));break;case"month":f.push(...z.getMonthRange(s.value[0],s.value[1],-1));break;case"quarter":f.push(...z.getQuarterRange(s.value[0],s.value[1],-1));break;case"year":f.push(...z.getYearRange(s.value[0],-1));break}s.value=[...f],o("change",{name:t.name,value:s.value}),o("update:modelValue",s.value)}const u=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function y(f){const[d,A,F]=f.split("-");return`${F}.${A}.${d}`}function b(f,d="long"){const A=new Date(Date.UTC(2e3,f-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:d,timeZone:"UTC"}).format(A)}function k(f){const{value:d}=s;switch(f){case"today":return y(d[0]);case"range":return"Період";case"week":return d[0]&&d[1]?`${y(d[0])} – ${y(d[1])}`:"";case"quarter":if(d[0]){const A=new Date(d[0]),F=A.getFullYear(),S=A.getMonth();return`${Math.floor(S/3)+1} ${l("filter.quarter")} ${F}`}return"";case"month":if(d[0]){const[A,F]=d[0].split("-");return`${b(parseInt(F,10))} ${A}`}return"";case"year":return d[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const B=e.computed(()=>i.value?k(i.value):t.label??"");function C(){i.value="",s.value=[],o("update:modelValue",[]),o("clear",t.name)}return{activeMode:i,innerValue:s,daysBefore:h,onDaysBeforeChange:a,onSelectChange:c,nextClick:g,prevClick:r,ukMonths:u,formatDisplayDate:y,getModeLabel:k,currentLabel:B,clear:C}}const yt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},gt={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},ht=["max","disabled"],bt=["min","disabled"],xt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},kt=["max","disabled"],wt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Vt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ct=["min","disabled"],Bt={class:"flex gap-1 px-2"},Et=["title","onClick"],Nt={class:"pt-2 px-2"},St=["disabled"],$t=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=le(),s=I(),h=De(),a=K(),c=p,g=e.ref(null),{activeMode:r,innerValue:u,onSelectChange:y,nextClick:b,prevClick:k,clear:B}=de({...l,popoverRef:g},c);e.watch(()=>l.modelValue,F=>{F!==void 0?(u.value=F,c("update:modelValue",F)):(r.value="",u.value=[])}),e.watch(u,F=>{c("update:modelValue",F),c("change",{name:l.name,value:F})},{deep:!0});const C=["today","week","month","quarter","year"],f={today:{label:"день",title:a("filter.today")},week:{label:"тиж.",title:a("filter.week")},month:{label:"міс.",title:a("filter.month")},quarter:{label:"кв.",title:a("filter.quarter")},year:{label:"рік",title:a("filter.year")}};function d(F){return f[F]?.label??a(`filter.${F}`)}function A(F){return f[F]?.title??a(`filter.${F}`)}return o({clear:B,popoverRef:g}),(F,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",yt,[e.unref(r)!==""&&e.unref(r)==="range"?(e.openBlock(),e.createElementBlock("div",gt,[S[7]||(S[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":S[0]||(S[0]=m=>e.unref(u)[0]=m),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,8,ht),[[e.vModelText,e.unref(u)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":S[1]||(S[1]=m=>e.unref(u)[1]=m),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,8,bt),[[e.vModelText,e.unref(u)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",xt,e.toDisplayString(e.unref(a)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":S[2]||(S[2]=m=>e.unref(u)[0]=m),class:e.normalizeClass(e.unref(i)),disabled:t.disabled},null,10,kt),[[e.vModelText,e.unref(u)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",wt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",Vt,e.toDisplayString(e.unref(a)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":S[3]||(S[3]=m=>e.unref(u)[1]=m),class:e.normalizeClass(e.unref(i)),disabled:t.disabled},null,10,Ct),[[e.vModelText,e.unref(u)[1]]])],2)],2),e.createElementVNode("div",Bt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(C,m=>e.createElementVNode("button",{key:m,class:e.normalizeClass(e.unref(h)+(e.unref(r)===m?" bg-blue-100":"")),title:A(m),onClick:x=>e.unref(y)(m)},e.toDisplayString(d(m)),11,Et)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(h)),onClick:S[4]||(S[4]=(...m)=>e.unref(k)&&e.unref(k)(...m))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(h)),onClick:S[5]||(S[5]=(...m)=>e.unref(b)&&e.unref(b)(...m))},">",2)]),e.createElementVNode("div",Nt,[["popover"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:!e.unref(u)?.length||!e.unref(u)[0]&&!e.unref(u)[1],class:e.normalizeClass(e.unref(s)+"hover:bg-gray-100"),onClick:S[6]||(S[6]=(...m)=>e.unref(B)&&e.unref(B)(...m))},e.toDisplayString(e.unref(a)("filter.clear")),11,St)):e.createCommentVNode("",!0)])],64))}});function Dt(t,o){const{api:p,options:l=[],limit:i=20,dataKey:s="data",data:h}=t,a=s??h??"data",c=t.multi;function g(N){return c?Array.isArray(N)?N:N?[N]:[]:Array.isArray(N)?N[0]:N}const r=e.ref(g(t.modelValue)),u=e.ref(""),y=e.ref(!1),b=e.ref(l),k=e.ref("id"),B=e.ref("text"),C=e.ref(!1),f=e.ref(t.layout!=="popover"&&l.length>i),d=e.ref([]),A=e.ref(0);function F(N){const R=N.find(Boolean)??{},L=["id","value","code","key"].find(W=>W in R)??"id",q=["text","label","name","title"].find(W=>W in R)??"text";return{autoValueKey:L,autoLabelKey:q}}if(l.length>0){const N=F(l);k.value=N.autoValueKey,B.value=N.autoLabelKey}const S=e.computed(()=>{if(p)return b.value;const N=b.value;if(t.layout==="popover")return N;if(!u.value)return C.value?N:N.slice(0,i);const R=u.value.toLowerCase();return N.filter(L=>L[B.value].toLowerCase().includes(R))});let m=null;async function x(N){if(p){y.value=!0;try{const R=new URL(p,window.location.origin);R.searchParams.set("json","1"),R.searchParams.set("key",N),R.searchParams.set("limit",i.toString());const L=await fetch(R.toString());if(!L.ok){U.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),b.value=[];return}const q=await L.json();if(!q[a]){U.notify({type:"error",title:"Error",message:q}),b.value=[];return}if(b.value=q[a],b.value.length>0){const W=F(b.value);k.value=W.autoValueKey,B.value=W.autoLabelKey}A.value=q.total}catch(R){console.error("Failed to fetch remote options:",R)}finally{y.value=!1}}}e.watch(u,N=>{p&&(m&&clearTimeout(m),m=setTimeout(()=>{x(N)},200))}),e.watch(()=>t.modelValue,N=>{r.value=g(N)},{immediate:!0}),e.watch(r,N=>{c?(!Array.isArray(N)||N.length===0)&&(d.value=[]):(N==null||typeof N=="string"&&N==="")&&(d.value=[])});function E(N){return c&&Array.isArray(r.value)?r.value.includes(N[k.value]):r.value&&r.value===N[k.value]}function M(N){if(c&&!Array.isArray(r.value)&&(r.value=[]),c&&Array.isArray(r.value)){const R=r.value.includes(N[k.value]);r.value=R?r.value.filter(L=>L!==N[k.value]):[...r.value,N[k.value]],d.value=R?d.value.filter(L=>L!==N[B.value]):[...d.value,N[B.value]]}else r.value=N[k.value],d.value=N[B.value];o("update:modelValue",r.value),o("change",{name:t.name,value:r.value})}function n(){c?(r.value=[],d.value=[]):(r.value=void 0,d.value=[]),o("update:modelValue",r.value),o("clear",t.name)}function V(){m&&clearTimeout(m),u.value="",C.value=!1}function w(){C.value=!C.value}e.onBeforeUnmount(()=>{m&&clearTimeout(m)});const $=e.ref(-1);e.watch(S,()=>{$.value=S.value.length>0?0:-1});function D(N){const R=S.value.length;if(N.key==="ArrowDown")N.preventDefault(),$.value=($.value+1)%R;else if(N.key==="ArrowUp")N.preventDefault(),$.value=($.value-1+R)%R;else if(N.key==="Enter"&&(N.preventDefault(),$.value>=0&&$.value<S.value.length)){const L=S.value[$.value];M(L)}}function j(){p&&b.value.length===0&&u.value.length===0&&x(u.value)}return{innerValue:r,searchTerm:u,filteredOptions:S,isSelected:E,selectItem:M,clear:n,resetSearch:V,toggleShowAll:w,isReqProc:y,showAll:C,isEnableShowAll:f,labelKey:B,valueKey:k,allOptions:b,highlightedIndex:$,onKeyDown:D,selectedLabels:d,totalCount:A,loadData:j}}const At={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Ft=["placeholder"],jt={key:0,class:"w-full"},Mt={class:"flex flex-col items-center justify-center p-5 text-center"},Rt={class:"max-w-sm mx-auto mt-6"},zt={class:"font-medium text-gray-800 dark:text-neutral-200"},Kt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Lt={key:1,class:"py-2 px-2 border-t"},Tt=["disabled"],Ot={class:"text-xs text-gray-500"},_t=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=K(),i=I(),s=t,h=p,a=e.ref(null),{innerValue:c,filteredOptions:g,isSelected:r,selectItem:u,clear:y,resetSearch:b,toggleShowAll:k,isReqProc:B,showAll:C,isEnableShowAll:f,searchTerm:d,labelKey:A,valueKey:F,highlightedIndex:S,onKeyDown:m,selectedLabels:x,totalCount:E,loadData:M}=Dt({...s,modelValue:s.modelValue},h),n=e.computed(()=>s.multi?Array.isArray(c.value)&&c.value.length>0:c.value!=null&&c.value!==""),V=e.computed(()=>s.multi&&Array.isArray(c.value)?c.value.length:c.value!=null&&c.value!==""?1:0);e.onMounted(()=>{b(),s.layout!=="inline"&&(M(),a.value&&s.layout==="popover"&&a.value.focus())}),e.watch(()=>s.modelValue,$=>{$===void 0&&(s.multi?c.value=[]:c.value=void 0)});const w=e.ref([]);return e.watch(S,$=>{$>=0&&w.value[$]&&w.value[$]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(g,()=>{w.value=[]}),o({clear:y,inputTextRef:a,selectedLabels:x,loadData:M}),($,D)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",At,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":D[0]||(D[0]=j=>e.isRef(d)?d.value=j:null),onKeydown:D[1]||(D[1]=(...j)=>e.unref(m)&&e.unref(m)(...j)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",placeholder:e.unref(l)("filter.search"),type:"text",ref_key:"inputTextRef",ref:a},null,40,Ft),[[e.vModelText,e.unref(d)]]),e.createVNode(se,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(d)!=""?(e.openBlock(),e.createBlock(v,{key:0,onClick:D[2]||(D[2]=j=>d.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(j,N)=>(e.openBlock(),e.createBlock(G,{layout:t.layout,count:j.count,label:j[e.unref(A)],color:j.color,type:t.multi?"checkbox":"radio",value:j[e.unref(F)],"is-selected":e.unref(r)(j),highlighted:N===e.unref(S),onItemClick:R=>e.unref(u)(j),ref_for:!0,ref:R=>w.value[N]=R?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),t.type==="select"&&e.unref(g).length===0&&!e.unref(B)?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Mt,[e.createVNode(X),e.createElementVNode("div",Rt,[e.createElementVNode("p",zt,e.toDisplayString(e.unref(l)("filter.notfound")),1),D[7]||(D[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(C)&&e.unref(f)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:D[3]||(D[3]=(...j)=>e.unref(k)&&e.unref(k)(...j)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.more"))+" ",1),e.createVNode(Y)])):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:D[4]||(D[4]=(...j)=>e.unref(k)&&e.unref(k)(...j)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.less"))+" ",1),e.createVNode(Z)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Kt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(c))?e.unref(c)?.length:e.unref(c)!==void 0&&(e.unref(c)||e.unref(c)===null)?1:0)+" / "+e.toDisplayString(e.unref(E))+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:D[5]||(D[5]=(...j)=>e.unref(y)&&e.unref(y)(...j))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,n.value]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("button",{type:"button",disabled:!n.value,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100"),onClick:D[6]||(D[6]=(...j)=>e.unref(y)&&e.unref(y)(...j))},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.clear"))+" ",1),e.createElementVNode("span",Ot,e.toDisplayString(V.value)+" з "+e.toDisplayString(e.unref(E)),1)],10,Tt)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Pt=["for","onClick"],It=["id","name","value"],Ut={class:"block"},qt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Wt={key:1,class:"pt-2 px-2 border-t"},Yt=["disabled"],Ht={class:"text-xs text-gray-500"},Qt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=I(),h=K(),{innerValue:a,isSelected:c,selectItem:g,clear:r,labelKey:u,valueKey:y,allOptions:b}=l.multi?re({...l,modelValue:l.modelValue??l.default??[]},i):J({...l,modelValue:l.modelValue!==void 0?l.modelValue:l.default??""},i),k=e.computed(()=>l.multi?Array.isArray(a.value)&&a.value.length>0:a.value!=null&&a.value!==""),B=e.computed(()=>l.multi&&Array.isArray(a.value)?a.value.length:a.value!=null&&a.value!==""?1:0);return o({clear:r}),e.watch(()=>l.modelValue,C=>{C===void 0&&(l.multi?a.value=[]:a.value=void 0)}),(C,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",t.layout==="popover"?"p-2 max-h-[calc(100%-55px)] overflow-y-auto":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),d=>(e.openBlock(),e.createElementBlock("label",{key:`item-${d[e.unref(y)]}`,for:`item-${d[e.unref(y)]}`,onClick:e.withModifiers(A=>e.unref(g)(d),["stop","prevent"]),class:e.normalizeClass([e.unref(c)(d)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${d[e.unref(y)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${d[e.unref(y)]}`,value:d[e.unref(y)]},null,8,It),e.createElementVNode("span",Ut,e.toDisplayString(d[e.unref(u)]),1)],10,Pt))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",qt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(b).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:f[0]||(f[0]=(...d)=>e.unref(r)&&e.unref(r)(...d))}," Очистити ",512),[[e.vShow,k.value]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Wt,[e.createElementVNode("button",{type:"button",disabled:!k.value,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:f[1]||(f[1]=(...d)=>e.unref(r)&&e.unref(r)(...d))},[e.createTextVNode(e.toDisplayString(e.unref(h)("filter.clear"))+" ",1),e.createElementVNode("span",Ht,e.toDisplayString(B.value)+" з "+e.toDisplayString(e.unref(b).length),1)],10,Yt)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),Gt=["disabled","title"],Jt={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},Xt={class:"truncate text-ellipsis text-sm"},Zt={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-sm bg-blue-100 px-2 text-[11px] font-semibold text-blue-600"},vt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-sm focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},el={class:"w-[360px] max-h-[500px] overflow-auto [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 before:w-full p-2"},ee=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(t,{expose:o}){const p=t,l=e.computed(()=>ne(p.mode)),i=e.ref(!1),s=e.ref({top:0,left:0}),h=e.ref(null),a=e.ref(null),c=e.ref(null);let g=null;function r(){const m=a.value,x=c.value;if(!m||!x)return;const E=m.getBoundingClientRect(),M=x.offsetWidth,n=x.offsetHeight,V=window.innerWidth,w=window.innerHeight,$=8;let D=E.bottom+$,{left:j}=E;const N=Math.max(V-M-10,10);if(j=Math.min(j,N),j=Math.max(j,10),D+n>w-10){const R=E.top-n-$;D=R>=10?R:Math.max(w-n-10,10)}D<10&&(D=10),s.value={top:D,left:j}}function u(){e.nextTick(()=>{r(),typeof window<"u"&&typeof window.requestAnimationFrame=="function"&&window.requestAnimationFrame(()=>r())})}function y(){i.value=!i.value,i.value&&(u(),e.nextTick(()=>{p.fieldRef?.inputTextRef&&p.fieldRef?.inputTextRef?.focus?.(),p.fieldRef?.loadData&&Promise.resolve(p.fieldRef?.loadData?.()).finally(()=>{i.value&&u()})}))}function b(m){!h.value?.contains(m.target)&&!c.value?.contains(m.target)&&!a.value?.contains(m.target)&&(i.value=!1)}function k(m){m.key==="Escape"&&(i.value=!1)}const B=e.ref(!1),C=e.ref("ua"),f=m=>{m.detail.key==="locale"&&(C.value=m.detail.newValue)};e.onMounted(()=>{B.value=!0,C.value=localStorage.locale,window.addEventListener("storage",f),document.addEventListener("click",b,!0),document.addEventListener("keydown",k),window.addEventListener("scroll",r,!0),window.addEventListener("resize",r,!0),typeof ResizeObserver<"u"&&(g=new ResizeObserver(()=>{i.value&&u()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",f),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",k),window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r,!0),g?.disconnect(),g=null});function d(){i.value=!1}o({close:d}),e.watch([B,i,c],([m,x,E])=>{m&&x&&E&&(u(),g?.observe(E))});function A(m){return Array.isArray(m)?m.filter(x=>x!=null&&x!=="").length:m&&typeof m=="object"?Object.values(m).filter(x=>x!=null&&x!=="").length:typeof m=="string"?m.trim()===""?0:1:typeof m=="number"?Number.isNaN(m)?0:1:m===null||m!==void 0?1:0}const F=e.computed(()=>{const m=p.fieldRef?.selectedLabels,x=A(m);return x>0?x:A(p.currentValue)}),S=e.computed(()=>{const m=p.fieldRef?.selectedLabels;return!m||["inline"].includes(p.layout||"")?p[C.value]||(p.label??""):Array.isArray(m)?m.length>0?m.join(", "):p.label??"":String(m)});return(m,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:h},[e.createElementVNode("button",{onClick:y,disabled:t.disabled,ref_key:"triggerRef",ref:a,title:t.label,class:e.normalizeClass([l.value,t.width?e.unref(ce).getWidthClass(t.width):"w-full",t.layout==="inline"&&F.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Jt,[e.createElementVNode("span",Xt,e.toDisplayString(S.value),1),t.layout==="inline"&&F.value>0?(e.openBlock(),e.createElementBlock("span",Zt,e.toDisplayString(F.value),1)):e.createCommentVNode("",!0)]),e.createVNode(Y,{class:"h-4 w-4 text-neutral-500"})],10,Gt),B.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:c,class:"vsTailwind vs-popover__content w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${s.value.top}px`,left:`${s.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",vt,[e.createElementVNode("div",el,[e.renderSlot(m.$slots,"default")])])],4),[[e.vShow,i.value]])])):e.createCommentVNode("",!0)],512))}}),tl={},ll={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[90deg]"};function nl(t,o){return e.openBlock(),e.createElementBlock("svg",ll,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const ol=O(tl,[["render",nl]]),al={},rl={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"};function il(t,o){return e.openBlock(),e.createElementBlock("svg",rl,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const sl=O(al,[["render",il]]),cl={class:"flex gap-1"},dl={class:"mb-1"},ml={class:"mb-1"},fl={class:"inline-flex rounded-sm shrink-0 pl-1"},ul=["title"],pl={class:"inline-flex rounded-sm shrink-0 pl-1"},yl=["title"],gl={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},hl=["max","value","disabled"],bl=["min","value","disabled"],Vn={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},xl=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=K(),i=t,s=p,h=e.ref(null),{activeMode:a,innerValue:c,onSelectChange:g,nextClick:r,prevClick:u,currentLabel:y,clear:b}=de({...i,popoverRef:h},s);e.watch(()=>i.modelValue,C=>{C!==void 0?(c.value=C,s("update:modelValue",C)):(a.value="",c.value=[])}),e.watch(c,C=>{s("update:modelValue",C),s("change",{name:i.name,value:C})},{deep:!0});function k(C){const f=Array.isArray(c.value)?[...c.value]:[];c.value=[C,f[1]||""]}function B(C){const f=Array.isArray(c.value)?[...c.value]:[];c.value=[f[0]||"",C]}return o({clear:b,popoverRef:h}),(C,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",cl,[e.createVNode(ee,{ref_key:"popoverRef",ref:h,label:e.unref(y),"current-value":e.unref(c),mode:t.mode,width:typeof t.width=="number"&&e.unref(c).length?t.width-70:t.width,onClear:e.unref(b),layout:t.layout,class:e.normalizeClass(t.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[0]||(f[0]=d=>e.unref(g)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.period"))+" ",1),e.unref(a)==="range"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),f[12]||(f[12]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[1]||(f[1]=d=>e.unref(g)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.today"))+" ",1),e.unref(a)==="today"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[2]||(f[2]=d=>e.unref(g)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.week"))+" ",1),e.unref(a)==="week"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[3]||(f[3]=d=>e.unref(g)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.month"))+" ",1),e.unref(a)==="month"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[4]||(f[4]=d=>e.unref(g)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.quarter"))+" ",1),e.unref(a)==="quarter"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",dl,[e.createElementVNode("button",{type:"button",onClick:f[5]||(f[5]=d=>e.unref(g)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.year"))+" ",1),e.unref(a)==="year"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ml,[e.createElementVNode("button",{type:"button",onClick:f[6]||(f[6]=d=>e.unref(b)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.alltime"))+" ",1),e.unref(c)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(P,{key:0}))])])]),_:1},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(a)!==""&&e.unref(a)!=="range"&&e.unref(a)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",fl,[e.createElementVNode("button",{type:"button",title:e.unref(l)("filter.prev"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:f[7]||(f[7]=(...d)=>e.unref(u)&&e.unref(u)(...d))},[e.createVNode(ol)],8,ul)]),e.createElementVNode("div",pl,[e.createElementVNode("button",{type:"button",title:e.unref(l)("filter.next"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:f[8]||(f[8]=(...d)=>e.unref(r)&&e.unref(r)(...d))},[e.createVNode(sl)],8,yl)])],64)):e.createCommentVNode("",!0),e.unref(a)!==""&&e.unref(a)==="range"?(e.openBlock(),e.createElementBlock("div",gl,[e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA",value:e.unref(c)[0],onInput:f[9]||(f[9]=d=>k(d.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,40,hl),e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA",value:e.unref(c)[1],onInput:f[10]||(f[10]=d=>B(d.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,40,bl)])):e.createCommentVNode("",!0)]),(t.cleanable,e.createCommentVNode("",!0))],64))}}),kl=["disabled","onClick"],wl={key:0,class:"pt-2 px-2 border-t"},Vl=["disabled"],me={radio:qe,checkbox:ie,check:ie,text:it,range:pt,date:$t,select:_t,tag:Qt,button:e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=I(),h=K(),{innerValue:a,isSelected:c,selectItem:g,clear:r,labelKey:u,valueKey:y,allOptions:b}=J({...l,modelValue:l.modelValue??l.default??""},i),k=e.computed(()=>a.value!==void 0&&!(typeof a.value=="string"&&a.value===""));function B(f){return c(f)?["bg-blue-600 text-white"].filter(d=>typeof d=="string"&&d.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(d=>typeof d=="string"&&d.trim().length>0).join(" ")}function C(f){l.disabled||g(f)}return o({clear:r}),e.watch(()=>l.modelValue,f=>{f===void 0&&(a.value=void 0)}),(f,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["flex flex-wrap items-center gap-2",t.layout==="popover"?"p-2 max-h-[calc(100%-55px)] overflow-y-auto":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),A=>(e.openBlock(),e.createElementBlock("button",{key:A[e.unref(y)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",B(A)]),disabled:t.disabled,onClick:F=>C(A)},e.toDisplayString(A[e.unref(u)]),11,kl))),128))],2),t.cleanable&&t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",wl,[e.createElementVNode("button",{type:"button",disabled:!k.value,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:d[0]||(d[0]=(...A)=>e.unref(r)&&e.unref(r)(...A))},e.toDisplayString(e.unref(h)("filter.clear")),11,Vl)])):e.createCommentVNode("",!0)],64))}}),"date:inline":xl};function te(t,o){let p;switch(t.toLowerCase()){case"autocomplete":p="select";break;case"check":p="checkbox";break;default:p=t?.toString().toLowerCase()}return p==="date"&&o&&o==="inline"&&(p="date:inline"),{component:me[p]||me.text,type:p}}const Cl={style:{display:"inline-flex",margin:"0px",width:"100%"}},Bl={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},El={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},Nl={class:"flex items-center"},Sl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},$l={class:"filter-layout__body"},Dl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.ref(),h=e.computed(()=>te(l.type,l.layout)),a=e.computed({get:()=>l.modelValue,set:u=>i("update:modelValue",u)});function c(u){i("clear",u)}function g(u,y){i("change",{name:u,value:y}),l.modelValue!==void 0&&i("update:modelValue",y)}function r(){s.value?.clear?.(),i("clear",l.name)}return e.watch(()=>l.default,u=>{a.value=u}),e.watch(()=>l.modelValue,u=>{a.value=u}),o({filterRef:s}),(u,y)=>(e.openBlock(),e.createElementBlock("div",Cl,[e.createElementVNode("div",Bl,[e.createElementVNode("div",El,[e.createElementVNode("div",Nl,[e.createElementVNode("span",Sl,e.toDisplayString(t.label),1)]),typeof a.value=="string"&&a.value.trim()!==""||Array.isArray(a.value)&&a.value.length>0&&a.value.some(b=>b!==void 0)||a.value===null?(e.openBlock(),e.createBlock(xe,{key:0,onClick:r})):e.createCommentVNode("",!0)]),e.createElementVNode("div",$l,[h.value?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps({key:0},l,{type:h.value?.type,class:l.itemClass,onChange:y[0]||(y[0]=b=>g(b.name,b.value)),onClear:y[1]||(y[1]=b=>c(b)),ref_key:"filterRef",ref:s}),null,16,["type","class"])):(e.openBlock(),e.createBlock(ee,{key:1,"current-value":a.value,label:t.label,mode:t.mode,onClear:r,fieldRef:s.value,width:void 0,disabled:t.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps({ref_key:"filterRef",ref:s},l,{type:h.value?.type,class:l.itemClass,onChange:y[2]||(y[2]=b=>g(b.name,b.value)),onClear:y[3]||(y[3]=b=>c(b))}),null,16,["type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),fe=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.ref(),h=e.computed(()=>te(l.type,l.layout)),a=e.computed({get:()=>l.modelValue,set:r=>i("update:modelValue",r)});function c(r=l.name){i("clear",r)}function g(r,u){i("change",{name:r,value:u}),l.modelValue!==void 0&&i("update:modelValue",u)}return e.watch(()=>l.default,r=>{a.value=r}),e.watch(()=>l.modelValue,r=>{a.value=r}),o({filterRef:s}),(r,u)=>["text","date","button"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps({key:0},l,{type:h.value?.type,class:t.itemClass,onChange:u[0]||(u[0]=y=>g(y.name,y.value)),onClear:u[1]||(u[1]=y=>c(y)),disabled:t.disabled,modelValue:a.value,"onUpdate:modelValue":u[2]||(u[2]=y=>a.value=y)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(ee,{key:1,"current-value":a.value,label:t.label,mode:t.mode,onClear:c,fieldRef:s.value,width:l.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps({ref_key:"filterRef",ref:s},l,{modelValue:a.value,"onUpdate:modelValue":u[3]||(u[3]=y=>a.value=y),type:h.value?.type,class:l.itemClass,onChange:u[4]||(u[4]=y=>g(y.name,y.value)),onClear:u[5]||(u[5]=y=>c(y))}),null,16,["modelValue","type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),Al=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.ref(),h=e.computed(()=>te(l.type,l.layout)),a=e.computed({get:()=>l.modelValue,set:r=>i("update:modelValue",r)});function c(r){i("clear",r)}function g(r,u){i("change",{name:r,value:u}),l.modelValue!==void 0&&i("update:modelValue",u)}return e.watch(()=>l.default,r=>{a.value=r}),e.watch(()=>l.modelValue,r=>{a.value=r}),e.watch(()=>l,r=>{a.value=r}),o({filterRef:s}),(r,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps(l,{type:h.value?.type,class:l.itemClass,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=y=>a.value=y),onChange:u[1]||(u[1]=y=>g(y.name,y.value)),onClear:u[2]||(u[2]=y=>c(y)),ref_key:"filterRef",ref:s}),null,16,["type","class","modelValue"]))}}),_=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.ref(),h=e.computed({get:()=>l.modelValue,set:r=>i("update:modelValue",r)});function a(r){i("clear",r)}function c(r,u){i("change",{name:r,value:u}),l.modelValue!==void 0&&i("update:modelValue",u)}e.watch(()=>l.default,r=>{h.value=r}),e.watch(()=>l.modelValue,r=>{h.value=r}),o({filterRef:s});function g(){switch(l.layout){case"inline":return fe;case"vertical":return Dl;case"popover":return Al;default:return fe}}return(r,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g()),e.mergeProps(l,{onChange:u[0]||(u[0]=y=>c(y.name,y.value)),onClear:u[1]||(u[1]=y=>a(y)),modelValue:h.value,"onUpdate:modelValue":u[2]||(u[2]=y=>h.value=y)}),null,16,["modelValue"]))}});function H(t,o){const{slots:p}=t,l=f=>f?JSON.parse(JSON.stringify(e.toRaw(f))):{},i=e.ref(l(t.value));e.watch(()=>t.value,f=>{i.value=l(f)},{deep:!0,immediate:!0});const s=e.computed(()=>(e.toRaw(p?.default?.())??[]).flatMap(d=>Array.isArray(d.children)?d.children:[d]));function h(f){delete i.value[f],o("clear",{data:e.toRaw(i.value),name:f})}function a(f,d){d===void 0?h(f):i.value={...i.value,[f]:d},o("change",{data:e.toRaw(i.value),name:f,value:d})}const c=e.computed(()=>s.value.map(f=>{const d=f.props?.name;return e.cloneVNode(f,{...f.props,layout:t.view,showClean:!0,modelValue:i.value[d],"onUpdate:modelValue":A=>{a(d,A)},onClear:()=>h(d),class:[t.itemClass,f.props?.class],itemClass:[t.itemClass,f.props?.itemClass].filter(A=>typeof A=="string"&&A.trim().length>0).join(" ")||void 0})})),g=e.computed(()=>new Map(c.value.map(f=>{const d=f.props?.name;return d?[d,f]:null}).filter(f=>f!==null)));function r(f=!1){i.value={},f||o("clearAll",{data:e.toRaw(i.value),name:"ALL"})}const u=e.ref(""),y=e.computed(()=>t.schema?.value?Object.entries(i.value).filter(([f,d])=>t.schema&&!(f in t.schema.value)?!1:Array.isArray(d)?d.some(A=>A!==""&&A!==void 0):d!==""&&d!==void 0).length:0),b=e.ref();e.watch(u,async()=>{await e.nextTick(),b?.value?.filterRef?.inputTextRef&&b.value.filterRef.inputTextRef.focus()});const k=e.computed(()=>t.schema?.value?Object.fromEntries(Object.entries(t.schema?.value).slice(0,t.limit)):{}),B=e.computed(()=>{if(c.value.length===0)return[];let f=0;if(t.schema?.value){const d=Object.entries(t.schema.value).length;t.limit&&d<t.limit?f=t.limit-d:f=0}return c.value.slice(0,f)}),C=e.computed(()=>c.value.length===0?[]:t.view!=="inline"?c.value:c.value.slice(B.value.length));return{activeFilter:i,activeFilterCount:y,onFilterChange:a,clearFilter:h,clearAllFilters:r,limitedSchema:k,filtersSlot:c,limitedFiltersSlot:B,popoverFiltersSlot:C,vnodeMap:g,selectedFilter:u,filterRef:b}}const Fl=e.defineComponent({__name:"popover",emits:["open","close"],setup(t,{emit:o}){const p=e.ref(!1),l=e.ref(null),i=e.ref(null),s=e.ref(null),h=e.ref({top:"0px",left:"0px",position:"absolute"}),a=e.ref(!1);function c(){p.value=!p.value}function g(){const k=s.value,B=l.value;if(!k||!B)return;const{left:C,bottom:f}=k.getBoundingClientRect();requestAnimationFrame(()=>{if(!B)return;const{width:d}=B.getBoundingClientRect(),A=B.offsetWidth||d,F=window.innerWidth||document.documentElement.clientWidth,S=F-C;let m=C;A>S&&(m=F-A-18),m<18&&(m=18);const x=F-A-18;m>x&&(m=Math.max(18,x)),h.value={position:"fixed",top:`${f+18}px`,left:`${m}px`},a.value=!0})}const r=e.computed(()=>Object.entries(h.value).map(k=>k.join(":")).join(";"));function u(k){const B=k.target;!s.value?.contains(k.target)&&!l.value?.contains(k.target)&&!B.closest("[data-inside-popover]")&&(p.value=!1)}const y=e.ref(!1);e.onMounted(()=>{y.value=!0}),e.onMounted(()=>{s.value=i.value?.querySelector("[data-popover-trigger]")||null,s.value?.addEventListener("click",c),document.addEventListener("click",u),window.addEventListener("resize",g),window.addEventListener("scroll",g,!0)}),e.onBeforeUnmount(()=>{s.value?.removeEventListener("click",c),document.removeEventListener("click",u),window.removeEventListener("resize",g),window.removeEventListener("scroll",g,!0)});const b=o;return e.watch(p,async k=>{k?(a.value=!1,b("open"),await e.nextTick(),requestAnimationFrame(()=>{g()})):(b("close"),a.value=!1)}),(k,B)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:i},[e.renderSlot(k.$slots,"trigger"),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:l,class:"fixed z-[50] w-[calc(100vw-32px)] md:w-[600px] rounded-md border bg-white shadow-md transition-opacity duration-0",style:e.normalizeStyle([r.value,{visibility:a.value?"visible":"hidden",opacity:a.value?1:0}])},[e.renderSlot(k.$slots,"default")],4),[[e.vShow,p.value]])])):e.createCommentVNode("",!0)],512))}}),jl={},Ml={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-filter h-4 w-4"};function Rl(t,o){return e.openBlock(),e.createElementBlock("svg",Ml,[...o[0]||(o[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)])])}const ue=O(jl,[["render",Rl]]),zl={class:"flex items-center gap-2 overflow-hidden"},Kl={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-500 px-1 text-[11px] font-semibold text-white"},Ll={class:"flex max-h-[400px] md:max-h-[400px]"},Tl={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},Ol={class:"p-2 md:p-4 border-b"},_l={class:"text-xs md:text-sm text-gray-600"},Pl={class:"p-1 md:p-2"},Il=["onClick"],Ul={class:"flex items-center gap-1.5 md:gap-2"},ql={class:"text-xs md:text-sm font-medium line-clamp-3"},Wl={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Yl=["onClick"],Hl={class:"flex items-center gap-1.5 md:gap-2"},Ql={class:"text-xs md:text-sm font-medium truncate"},Gl={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Jl={key:0,class:"p-1 md:p-2 border-t"},Xl={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Zl={key:0,class:"flex items-center justify-center h-full text-gray-500"},vl={class:"text-xs md:text-sm"},pe=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:p}){const l=K(),i=t,s=ne(i.mode),h=e.useSlots(),a=p,c=e.ref({}),g=e.computed(()=>c?.value?i.view!=="inline"?c?.value:Object.fromEntries(Object.entries(c?.value).slice(i.limit)):{}),{activeFilter:r,activeFilterCount:u,onFilterChange:y,clearFilter:b,clearAllFilters:k,popoverFiltersSlot:B,selectedFilter:C,filterRef:f}=H({...i,schema:c,slots:h},a),d=e.computed(()=>i.badgeCount??u.value);function A(m){return Array.isArray(m)?m.filter(x=>x!=null&&x!=="").length:m&&typeof m=="object"?Object.values(m).filter(x=>x!=null&&x!=="").length:m===null||m!==void 0&&m!==""?1:0}function F(m){return r.value?A(r.value[m]):0}function S(){if(g.value){const[m]=Object.keys(g.value);C.value=m}else B.value.length>0?C.value=B.value[0].props.name:C.value=""}return e.watch(()=>i.schema,m=>{c.value=m??{}},{deep:!0,immediate:!0}),o({clearFilter:b,clearAllFilters:k}),(m,x)=>(e.openBlock(),e.createBlock(Fl,{onOpen:S,onClose:x[5]||(x[5]=E=>C.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,e.unref(s),"flex items-center justify-between gap-2",d.value>0?"border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500":"text-neutral-700 hover:border-neutral-400"]),type:"button"},[e.createElementVNode("span",zl,[e.createVNode(ue,{class:"h-4 w-4"}),x[6]||(x[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),d.value>0?(e.openBlock(),e.createElementBlock("span",Kl,e.toDisplayString(d.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Ll,[e.createElementVNode("div",Tl,[e.createElementVNode("div",Ol,[e.createElementVNode("p",_l,e.toDisplayString(e.unref(l)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",Pl,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([E,M])=>(e.openBlock(),e.createElementBlock("button",{key:E,onClick:()=>{C.value=E},class:e.normalizeClass(["flex w-full items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(C)===E?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Ul,[e.createElementVNode("span",ql,e.toDisplayString(M.label),1)]),F(E)>0?(e.openBlock(),e.createElementBlock("div",Wl,e.toDisplayString(F(E)),1)):e.createCommentVNode("",!0)],10,Il))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(E,M)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+M,onClick:n=>C.value=E.props.name,class:e.normalizeClass(["flex items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(C)===E.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Hl,[e.createElementVNode("span",Ql,e.toDisplayString(E.props.label),1)]),F(E.props.name)>0?(e.openBlock(),e.createElementBlock("div",Gl,e.toDisplayString(F(E.props.name)),1)):e.createCommentVNode("",!0)],10,Yl))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",Jl,[e.createElementVNode("button",{class:e.normalizeClass([t.itemClass,"w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:x[0]||(x[0]=E=>e.unref(k)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xl,[e.unref(C)===""?(e.openBlock(),e.createElementBlock("div",Zl,[e.createElementVNode("p",vl,e.toDisplayString(e.unref(l)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[g.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([E,M])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(C)===E?(e.openBlock(),e.createBlock(_,e.mergeProps({key:E,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:f},{ref_for:!0},M,{class:[t.itemClass,M?.class],"item-class":[t.itemClass,M?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[1]||(x[1]=n=>e.unref(y)(n.name,n.value)),onClear:x[2]||(x[2]=n=>{e.unref(b)(n),e.unref(y)(n,void 0)}),modelValue:e.unref(r)[E],"onUpdate:modelValue":n=>e.unref(r)[E]=n,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(E,M)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+M},[e.unref(C)===E.props.name?(e.openBlock(),e.createBlock(_,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},E.props,{ref_for:!0,ref_key:"filterRef",ref:f,class:[t.itemClass,E.props?.class],"item-class":[t.itemClass,E.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[3]||(x[3]=n=>e.unref(y)(n.name,n.value)),onClear:x[4]||(x[4]=n=>{e.unref(b)(n),e.unref(y)(n,void 0)}),modelValue:e.unref(r)[E.props.name],"onUpdate:modelValue":n=>e.unref(r)[E.props.name]=n,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),en={class:"flex gap-1 items-center flex-wrap"},ye=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:p}){const l=K(),i=t,s=p,h=e.useSlots(),a=e.ref({}),c=e.computed(()=>Object.keys(i.schema).length>i.limit),{activeFilter:g,activeFilterCount:r,onFilterChange:u,clearFilter:y,clearAllFilters:b,limitedSchema:k,filtersSlot:B,limitedFiltersSlot:C}=H({...i,schema:a,slots:h},s);function f(x){return Array.isArray(x)?x.some(E=>E!==""&&E!==void 0&&E!==null):x===null?!0:x&&typeof x=="object"?Object.values(x).some(E=>E!==""&&E!==void 0&&E!==null):x!==""&&x!==void 0}const d=e.computed(()=>{const x=Object.keys(k.value??{}),E=C.value.map(M=>M.props?.name).filter(M=>typeof M=="string");return new Set([...x,...E])}),A=e.computed(()=>Object.entries(g.value??{}).filter(([x,E])=>d.value.has(x)&&f(E)).length),F=e.computed(()=>{const x=r.value??0,E=A.value??0;return Math.max(x-E,0)}),S=e.ref();function m(){S.value&&S.value.clearAllFilters(!0),b()}return e.watch(()=>i.schema,x=>{a.value=x},{deep:!0,immediate:!0}),o({clearFilter:y,clearAllFilters:b}),(x,E)=>(e.openBlock(),e.createElementBlock("div",en,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(k)),([M,n])=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:M,mode:t.mode,width:t.width?t.width:n?.width},{ref_for:!0},n,{class:[t.itemClass,n?.class],"item-class":[t.itemClass,n?.itemClass].filter(Boolean).join(" ")||void 0,onChange:E[0]||(E[0]=V=>e.unref(u)(V.name,V.value)),onClear:e.unref(y),layout:"inline",cleanable:!0,modelValue:e.unref(g)[M],"onUpdate:modelValue":V=>e.unref(g)[M]=V}),null,16,["mode","width","class","item-class","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(C),(M,n)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:"slot-"+n,layout:"inline"},{ref_for:!0},M.props,{class:[t.itemClass,M.props?.class],"item-class":[t.itemClass,M.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:E[1]||(E[1]=V=>e.unref(u)(V.name,V.value)),onClear:E[2]||(E[2]=V=>{e.unref(y)(V),e.unref(u)(V,void 0)}),cleanable:!0,modelValue:e.unref(g)[M.props.name],"onUpdate:modelValue":V=>e.unref(g)[M.props.name]=V}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128)),c.value?(e.openBlock(),e.createBlock(pe,e.mergeProps({key:1},i,{schema:t.schema,limit:t.limit,onChange:E[3]||(E[3]=M=>e.unref(u)(M.name,M.value)),onClearAll:E[4]||(E[4]=M=>e.unref(b)()),onClear:E[5]||(E[5]=M=>e.unref(y)(M.name)),mode:t.mode,ref_key:"popoverRef",ref:S,cleanable:!0,"badge-count":F.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(M,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M),e.mergeProps({key:"slot-"+n,layout:"popover"},{ref_for:!0},M.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(r)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:m,class:e.normalizeClass([t.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(l)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),tn={key:0,class:"p-2 overflow-y-auto overflow-hidden [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-800 max-h-[calc(100%-142px)] h-full bg-gray-100"},ln={class:"flex items-center vst-filters vsTailwind flex-col w-full"},nn=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.useSlots(),{activeFilter:h,activeFilterCount:a,onFilterChange:c,clearFilter:g,clearAllFilters:r,filtersSlot:u}=H({...l,slots:s},i);return o({clearFilter:g,clearAllFilters:r}),(y,b)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("div",ln,[e.unref(a)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:b[0]||(b[0]=k=>e.unref(r)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),type:"button"}," Очистити ",2)):e.createCommentVNode("",!0),t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(t.schema),([k,B])=>(e.openBlock(),e.createBlock(_,e.mergeProps({layout:"vertical"},{ref_for:!0},B,{class:[t.itemClass,B?.class],"item-class":[t.itemClass,B?.itemClass].filter(Boolean).join(" ")||void 0,onChange:b[1]||(b[1]=C=>e.unref(c)(C.name,C.value)),onClear:b[2]||(b[2]=C=>{e.unref(g)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(h)[k],"onUpdate:modelValue":C=>e.unref(h)[k]=C,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(k,B)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:"slot-"+B,layout:"vertical"},{ref_for:!0},k.props,{class:[t.itemClass,k.props?.class],"item-class":[t.itemClass,k.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:b[3]||(b[3]=C=>e.unref(c)(C.name,C.value)),onClear:b[4]||(b[4]=C=>{e.unref(g)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(h)[k.props.name],"onUpdate:modelValue":C=>e.unref(h)[k.props.name]=C,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),on=["onKeydown"],an=["disabled"],rn={key:0,class:"ml-2 inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-full bg-blue-500 px-1.5 text-[11px] font-semibold text-white"},sn={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},cn={class:"mb-3 flex items-center justify-between"},dn={class:"text-[15px] font-semibold text-slate-800"},mn={"aria-hidden":"true"},fn={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},un={key:0,class:"mt-3 flex justify-end"},pn=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{emit:o}){const p=K(),l=t,i=o,s=e.ref({}),h=e.useSlots(),{activeFilter:a,activeFilterCount:c,onFilterChange:g,clearFilter:r,clearAllFilters:u,filtersSlot:y}=H({...l,schema:s.value,slots:h},i),b=e.ref(null),k=e.ref(null),B=e.reactive({open:!1,top:0,left:0}),C=e.computed(()=>B.open),f=e.computed(()=>!!l.disabled),d=e.computed(()=>s.value||{}),A=e.computed(()=>l.title??"Фільтр"),F=e.computed(()=>!!h.trigger),S=e.computed(()=>["inline-flex h-9 items-center justify-center gap-2 rounded-lg border border-transparent bg-slate-200/70 px-3 text-sm font-medium text-slate-700 transition-colors hover:bg-blue-100 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-slate-200/70 disabled:hover:text-slate-700",f.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),m=e.computed(()=>B.open?{position:"absolute",top:`${B.top}px`,left:`${B.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function x(){B.open=!1}function E(){if(!b.value)return;const $=b.value.getBoundingClientRect();B.top=$.bottom+window.scrollY+8,B.left=$.left+$.width/2+window.scrollX}function M(){B.open=!B.open,B.open&&e.nextTick(E)}function n(){f.value||M()}function V(){B.open&&E()}function w(){u()}return e.onMounted(()=>{window.addEventListener("resize",V),window.addEventListener("scroll",V,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",V),window.removeEventListener("scroll",V,!0)}),e.watch(()=>l.schema,$=>{if(!$){s.value={};return}if(Array.isArray($)){const D=$.filter(j=>j&&(j.name||j.id)).map(j=>{const N=j.name||j.id;return[N,{...j,name:N}]});s.value=Object.fromEntries(D);return}s.value=$},{deep:!0,immediate:!0}),e.watch(()=>l.disabled,$=>{$&&x()}),($,D)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:b},[F.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",f.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(n,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(n,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(n,["prevent","stop"]),["space"])]},[e.renderSlot($.$slots,"trigger",{toggle:n,open:C.value,disabled:f.value,activeCount:e.unref(c)})],42,on)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(S.value),type:"button",disabled:f.value,onClick:e.withModifiers(n,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(ue,{class:"h-4 w-4"}),e.unref(c)>0?(e.openBlock(),e.createElementBlock("div",rn,e.toDisplayString(e.unref(c)),1)):e.createCommentVNode("",!0)],10,an)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[C.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof t.width=="number"?`min-w-[${t.width+32+(Object.keys(d.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(m.value),ref_key:"panel",ref:k,onClick:D[4]||(D[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",sn,[e.createElementVNode("div",cn,[e.createElementVNode("h3",dn,e.toDisplayString(A.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:x},[e.createElementVNode("span",mn,[e.createVNode(v,{class:"h-4 w-4"})]),D[5]||(D[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",fn,[Object.keys(d.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(d.value),([j,N])=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:j},{ref_for:!0},{...N,layout:"inline"},{width:t.width?t.width:N?.width,class:[t.itemClass,N?.class],"item-class":[t.itemClass,N?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(a)[j],"onUpdate:modelValue":R=>e.unref(a)[j]=R,onChange:D[0]||(D[0]=R=>e.unref(g)(R.name,R.value)),onClear:D[1]||(D[1]=R=>{e.unref(r)(R),e.unref(g)(R,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),(j,N)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:"slot-"+N,ref_for:!0},{...j.props,layout:"inline"},{class:[t.itemClass,j.props?.class],"item-class":[t.itemClass,j.props?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(a)[j.props.name],"onUpdate:modelValue":R=>e.unref(a)[j.props.name]=R,onChange:D[2]||(D[2]=R=>e.unref(g)(R.name,R.value)),onClear:D[3]||(D[3]=R=>{e.unref(r)(R),e.unref(g)(R,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))]),e.unref(c)>0?(e.openBlock(),e.createElementBlock("div",un,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([t.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:w},e.toDisplayString(e.unref(p)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),yn={class:"mb-6 flex flex-wrap gap-2"},gn=["onClick"],hn={class:"mr-2 flex items-center gap-1"},bn={class:"font-semibold"},xn={class:"text-xs text-gray-500"},Q=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:p}){const l=t,i=e.useAttrs(),s=e.computed(()=>({...l,...i})),h=e.ref(r(l.value??{}));e.watch(()=>l.value,async n=>{h.value=r(n??{}),(!n||Object.keys(n).length===0)&&(await e.nextTick(),c.value?.clearAllFilters?.(!0))},{deep:!0,immediate:!0});const a=p,c=e.ref(),g=e.useSlots();function r(n){if(Array.isArray(n))return n.map(V=>r(V));if(n!==null&&typeof n=="object"){const V=e.toRaw(n),w={};for(const $ in V)w[$]=r(V[$]);return w}return n}function u(n,V){V!==void 0?h.value={...h.value,[n]:V}:delete h.value[n],a("change",{data:r(h.value),name:n,value:r(V)})}function y(n){delete h.value[n],a("clear",{data:r(h.value),name:n}),a("change",{data:r(h.value),name:n,value:null})}function b(){h.value={},a("clear",{data:r(h.value),name:"ALL"}),a("change",{data:r(h.value),name:"ALL",value:null})}const k=e.ref({}),B=e.computed(()=>l.teleportActive);function C(){switch(l.view){case"inline":return ye;case"vertical":return nn;case"popover":return pe;case"popover-inline":return pn;default:return ye}}e.watch(()=>l.schema,n=>{if(!n){k.value={};return}if(Array.isArray(n)&&!n.length){k.value={};return}Array.isArray(n)?k.value=n.filter(V=>V.type).reduce((V,w)=>(Object.assign(w,{name:w.id||w.name,type:{datepicker:"date"}[w.type.toLowerCase()]||w.type.toLowerCase(),label:w.label||w.ua}),V[w.name]=w,w.data&&!w.api&&!w.options&&Object.assign(w,{api:`/api/suggest/${w.data}`}),V),{}):(Object.entries(n).forEach(([V,w])=>{Object.assign(w,{name:V||w.name||w.id,type:w.type.toLowerCase()})}),k.value={...n})},{immediate:!0,deep:!0});function f(n){c.value.clearFilter(n),y(n)}function d(){c.value.clearAllFilters(),b()}const A=e.computed(()=>Object.entries(h.value).filter(([,n])=>n==null?!1:Array.isArray(n)?n.length>0:typeof n=="string"?n.trim().length>0:!0).map(([n,V])=>{const w=k.value[n],$=w?.label||w?.title||n,D=S(w,V);return{key:n,label:$,value:D}}));function F(n){f(n)}function S(n,V){if(!n||V===void 0||V===null)return"";const w=m(V);if(!w.length)return"";const $=x(n);return w.map(D=>$.get(D)??D).filter(Boolean).join(", ")}function m(n){return Array.isArray(n)?n.map(V=>V?.toString?.()??"").filter(Boolean):typeof n=="string"?n.split(",").map(V=>V.trim()).filter(Boolean):[]}function x(n){const V=new Map,w=n.valueKey||"id",$=n.labelKey||"text";return(n.options??[]).forEach(D=>{const j=E(D,w),N=M(D,$);j&&V.set(j,N||j)}),V}function E(n,V){return n?(n[V]??n.id??n.value??n.key)?.toString?.()??"":""}function M(n,V){return n?(n[V]??n.text??n.label??n.value??n.id)?.toString?.()??"":""}return e.watch(()=>h.value,n=>{if(l.history){const V=new URL(window.location.href),w=new URLSearchParams(window.location.search);Object.keys(n).length>0?w.set("filter",Object.entries(n).filter(([,$])=>$).map(([$,D])=>`${$}=${D}`).join("|")):w.delete("filter"),V.search=decodeURI(w.toString()),window.history.pushState({},"",V)}}),o({clearAllFilters:d,clearFilter:f}),(n,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C()),e.mergeProps(s.value,{schema:k.value,onChange:V[0]||(V[0]=w=>u(w.name,w.value)),onClear:V[1]||(V[1]=w=>y(w.name)),onClearAll:b,ref_key:"filterRef",ref:c}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:2},[e.unref(g).trigger?{name:"trigger",fn:e.withCtx(w=>[e.renderSlot(n.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(w)))]),key:"0"}:void 0]),1040,["schema"])),B.value&&A.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:B.value},[e.createElementVNode("div",yn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,w=>(e.openBlock(),e.createElementBlock("button",{key:w.key,type:"button",class:"ga1u8 zw1wr sr4j9 flex items-center zu875 kew0r w9dei w4xo0 kghwt wz1vo focus:outline-hidden gugmw dark:bg-emerald-500 dark:hover:bg-emerald-600 dark:focus:bg-emerald-600 bg-white border border-gray-200 px-3 py-1 rounded-full text-sm text-gray-700",onClick:$=>F(w.key)},[e.createElementVNode("span",hn,[e.createElementVNode("span",bn,e.toDisplayString(w.label),1),e.createElementVNode("span",xn,"· "+e.toDisplayString(w.value),1)]),V[2]||(V[2]=e.createElementVNode("span",{class:"g424j flex flex-col jkwm1 items-center b9gop aqyoh ad7q2 kghwt t4363 q7nhl dark:text-emerald-500"},[e.createElementVNode("svg",{class:"e731n u28hb",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})])],-1))],8,gn))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});Q.install=function(o){o.component("Filter",Q),o.component("FilterField",_)},T.Filter=Q,T.FilterField=_,T.default=Q,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
2
|
+
text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return t?.size==="sm"?`${p}h-[32px]`:`${p}h-[38px]`})}function I(){return"rounded-md font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 px-4 py-2 w-full bg-transparent border text-black text-sm h-[38px]"}function De(){return"font-medium border border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600"}function ne(t){return t==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":t==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const oe={en:{apply:"Apply",search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",max:"max",min:"min",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next",selectFieldHelp:"Select a field to start creating a filter."},uk:{apply:"Застосувати",search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",max:"макс",min:"мін",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період",selectFieldHelp:"Оберіть поле, щоб розпочати створення фільтра."}};function ae(t){const o=t.split(".")[1],p=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(oe[p||navigator.language]||oe.uk)[o]}function K(){const t=e.getCurrentInstance();if(!t.appContext.config.globalProperties.$i18n)return ae;const o=t.appContext.config.globalProperties.$t;return p=>{const l=o(p);return l===p?ae(p):l}}const Ae={},Fe={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function je(t,o){return e.openBlock(),e.createElementBlock("svg",Fe,[...o[0]||(o[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)])])}const X=O(Ae,[["render",je]]),Me={},Re={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function ze(t,o){return e.openBlock(),e.createElementBlock("svg",Re,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Y=O(Me,[["render",ze]]),Ke={},Le={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate-[180deg]"};function Te(t,o){return e.openBlock(),e.createElementBlock("svg",Le,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Z=O(Ke,[["render",Te]]),Oe={key:0,class:"w-full"},_e={class:"flex flex-col items-center justify-center p-5 text-center"},Pe={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ie={key:1,class:"py-2 px-2"},Ue=["disabled"],qe=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=e.ref(null),s=I(),h=K(),a=p,{innerValue:c,filteredOptions:g,isSelected:r,selectItem:u,clear:y,toggleShowAll:b,isReqProc:k,showAll:B,isEnableShowAll:C,labelKey:f,valueKey:d,allOptions:A,loadData:F}=J({...l,modelValue:l.modelValue??l.default??""},a);return e.onMounted(()=>{l.api&&F()}),o({clear:y,inputTextRef:i}),e.watch(()=>l.modelValue,S=>{S===void 0&&(c.value=void 0)}),(S,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),x=>(e.openBlock(),e.createBlock(G,{layout:t.layout,key:x[e.unref(d)],count:x.count,label:x[e.unref(f)],color:x.color,type:"radio",value:x[e.unref(d)],"is-selected":e.unref(r)(x),onItemClick:E=>e.unref(u)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(g).length===0&&!e.unref(k)?(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("div",_e,[e.createVNode(X),m[4]||(m[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(B)&&e.unref(C)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m[0]||(m[0]=(...x)=>e.unref(b)&&e.unref(b)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[m[5]||(m[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(Y)])):e.createCommentVNode("",!0),e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:m[1]||(m[1]=(...x)=>e.unref(b)&&e.unref(b)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[m[6]||(m[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Z)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Pe,[e.createTextVNode(e.toDisplayString(e.unref(c)||e.unref(c)===null?1:0)+" з "+e.toDisplayString(e.unref(A).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[2]||(m[2]=(...x)=>e.unref(y)&&e.unref(y)(...x))}," Очистити ",512),[[e.vShow,e.unref(c)!==""&&e.unref(c)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("button",{type:"button",disabled:!(e.unref(c)!==""&&e.unref(c)!==void 0),class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:m[3]||(m[3]=(...x)=>e.unref(y)&&e.unref(y)(...x))},e.toDisplayString(e.unref(h)("filter.clear")),11,Ue)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function re(t,o){const{api:p,options:l=[],limit:i=20,dataKey:s="data",data:h}=t,a=s??h??"data";function c(n){return Array.isArray(n)?n:n?[n]:[]}const g=e.ref(c(t.modelValue)),r=e.ref(""),u=e.ref(!1),y=e.ref([]),b=e.ref("id"),k=e.ref("text"),B=e.ref(!1),C=e.ref(t.layout!=="popover"&&l.length>i);function f(n){const V=n.find(Boolean)??{},w=["id","value","code","key"].find(D=>D in V)??"id",$=["text","label","name","title"].find(D=>D in V)??"text";return{autoValueKey:w,autoLabelKey:$}}function d(n){if(n.length>0){const w=f(n);b.value=w.autoValueKey,k.value=w.autoLabelKey}const V=[...n].sort((w,$)=>t.sort==="count"?$.count&&w.count?$.count-w.count:0:t.sort==="name"?String(w[k.value]).localeCompare(String($[k.value])):0);y.value=V}l.length>0&&d(l);const A=e.computed(()=>{const n=y.value;return t.layout==="popover"||B.value?n:n.slice(0,i)});async function F(){if(p){u.value=!0;try{const n=new URL(p,window.location.origin);n.searchParams.set("json","1"),n.searchParams.set("limit",i.toString());const V=await fetch(n.toString());if(!V.ok){U.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),y.value=[];return}const w=await V.json();if(!w[a]){U.notify({type:"error",title:"Error",message:w}),y.value=[];return}d(w[a])}catch(n){console.error("Failed to fetch remote options:",n)}finally{u.value=!1}}}function S(){p&&y.value.length===0&&F()}e.watch(()=>t.modelValue,n=>{g.value=c(n)},{immediate:!0}),p||d(l);function m(n){return g.value&&g.value.includes(n[b.value])}function x(n){const V=g.value.includes(n[b.value]);g.value=V?g.value.filter(w=>w!==n[b.value]):[...g.value,n[b.value]],o("update:modelValue",g.value),o("change",{name:t.name,value:g.value})}function E(){g.value=[],o("update:modelValue",g.value),o("clear",t.name)}function M(){B.value=!B.value}return{innerValue:g,searchTerm:r,filteredOptions:A,isSelected:m,selectItem:x,clear:E,toggleShowAll:M,isReqProc:u,showAll:B,isEnableShowAll:C,labelKey:k,valueKey:b,allOptions:y,loadData:S}}const We={key:0,class:"w-full"},Ye={class:"flex flex-col items-center justify-center p-5 text-center"},He={class:"max-w-sm mx-auto mt-6"},Qe={class:"font-medium text-gray-800 dark:text-neutral-200"},Ge={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Je={key:1,class:"py-2 px-2 border-t"},Xe=["disabled"],Ze={class:"text-xs text-gray-500"},ie=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=K(),i=I(),s=t,h=p,{innerValue:a,filteredOptions:c,isSelected:g,selectItem:r,clear:u,toggleShowAll:y,isReqProc:b,showAll:k,isEnableShowAll:B,labelKey:C,valueKey:f,allOptions:d,loadData:A}=re({...s,modelValue:s.modelValue},h);return e.onMounted(()=>{s.api&&A()}),e.watch(()=>s.modelValue,F=>{F===void 0&&(a.value=[])}),o({clear:u}),(F,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),m=>(e.openBlock(),e.createBlock(G,{layout:t.layout,count:m.count,label:m[e.unref(C)],color:m.color,type:"checkbox",value:m[e.unref(f)],"is-selected":e.unref(g)(m),onItemClick:x=>e.unref(r)(m)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(c).length===0&&!e.unref(b)?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("div",Ye,[e.createVNode(X),e.createElementVNode("div",He,[e.createElementVNode("p",Qe,e.toDisplayString(e.unref(l)("filter.notfound")),1),S[4]||(S[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:S[0]||(S[0]=(...m)=>e.unref(y)&&e.unref(y)(...m)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.more"))+" ",1),e.createVNode(Y)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:S[1]||(S[1]=(...m)=>e.unref(y)&&e.unref(y)(...m)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.less"))+" ",1),e.createVNode(Z)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ge,[e.createTextVNode(e.toDisplayString(e.unref(a).length)+" / "+e.toDisplayString(e.unref(d).length)+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[2]||(S[2]=(...m)=>e.unref(u)&&e.unref(u)(...m))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Je,[e.createElementVNode("button",{type:"button",disabled:e.unref(a).length===0,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100"),onClick:S[3]||(S[3]=(...m)=>e.unref(u)&&e.unref(u)(...m))},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.clear"))+" ",1),e.createElementVNode("span",Ze,e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(d).length),1)],10,Xe)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),ve={},et={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function tt(t,o){return e.openBlock(),e.createElementBlock("svg",et,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)])])}const se=O(ve,[["render",tt]]),lt={},nt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function ot(t,o){return e.openBlock(),e.createElementBlock("svg",nt,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)])])}const v=O(lt,[["render",ot]]);class ce{static getWidthClass(o){return typeof o=="number"?`max-w-[${o}px] min-w-[${o}px]`:typeof o=="string"?o.endsWith("%")||o.endsWith("px")?`max-w-[${o}]`:`max-w-${o}`:"w-full"}}const at={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},rt=["placeholder"],it=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},type:{},label:{},width:{default:220},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{emit:o}){const p=t,l=e.ref((p.placeholder||p.label||p.title||p.name||"search").toString()),i=o,s=e.ref(p.modelValue?.toString()??"");e.watch(()=>p.modelValue,g=>{g!==s.value&&(s.value=g?.toString()??"")});let h=null;function a(){if(s.value=s.value.trimStart(),s.value.length===0){c();return}h&&clearTimeout(h),h=setTimeout(()=>{i("update:modelValue",s.value),i("change",{name:p.name,value:s.value})},750)}function c(){s.value="",i("update:modelValue",""),i("clear",p.name)}return(g,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",t.layout==="vertical"?"rounded-md":"rounded-sm",t.layout==="vertical"?"[&>input]:rounded-md":"[&>input]:rounded-sm",t.layout==="inline"?e.unref(ce).getWidthClass(t.width):"mb-2"+(t.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",at,[e.createVNode(se)]),s.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:c,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(v)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":r[0]||(r[0]=u=>s.value=u),onInput:a,placeholder:l.value,class:e.normalizeClass(["!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500",t.layout==="vertical"?"rounded-md":"rounded-sm"])},null,42,rt),[[e.vModelText,s.value]])],2))}}),st={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ct=["placeholder","disabled"],dt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},mt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ft=["placeholder","disabled"],ut=["disabled"],kn={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},wn={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},pt=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=le(),i=I(),s=K(),h=t,a=e.ref(h.modelValue??h.default??[]),c=p,g=e.computed({get:()=>h.modelValue??a.value,set:y=>{h.modelValue!==void 0?c("update:modelValue",y):a.value=y}});function r(){c("change",{name:h.name,value:g.value||a.value})}function u(){a.value=[],g.value=a.value,c("clear",h.name)}return e.watch(()=>h.modelValue,y=>{y!==void 0&&h.layout!=="popover"?(a.value=y,c("update:modelValue",y)):a.value=[]}),o({clear:u,currentValue:g}),(y,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(t.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",st,e.toDisplayString(e.unref(s)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[0]??e.unref(s)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":b[0]||(b[0]=k=>g.value[0]=k),disabled:t.disabled},null,10,ct),[[e.vModelText,g.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",dt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",mt,e.toDisplayString(e.unref(s)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[1]??e.unref(s)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":b[1]||(b[1]=k=>g.value[1]=k),disabled:t.disabled},null,10,ft),[[e.vModelText,g.value[1]]])]),["popover","inline","vertical"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:r,class:e.normalizeClass(e.unref(i)+(t.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(t.layout==="vertical"?"Ok":e.unref(s)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(g.value[0]||g.value[1]),onClick:u,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100")},e.toDisplayString(e.unref(s)("filter.clear")),11,ut)):e.createCommentVNode("",!0)],2)]),(t.cleanable&&a.value.length,e.createCommentVNode("",!0))],64))}});class z{static format(o){const p=o.getFullYear(),l=(o.getMonth()+1).toString().padStart(2,"0"),i=o.getDate().toString().padStart(2,"0");return`${p}-${l}-${i}`}static getShiftedDay(o,p=0){const l=o?new Date(o):new Date;return l.setDate(l.getDate()+p),this.format(l)}static getLastWeekRange(o,p,l=0){if(o&&p){const g=new Date(o),r=new Date(p);return g.setDate(g.getDate()+l*7),r.setDate(r.getDate()+l*7),[this.format(g),this.format(r)]}const i=new Date,s=i.getDay(),h=s===0?13:s-1+7,a=new Date(i);a.setDate(i.getDate()-h+l*7);const c=new Date(a);return c.setDate(a.getDate()+6),[this.format(a),this.format(c)]}static getMonthRange(o,p,l=0){let i;o?i=new Date(o):i=new Date,i=new Date(i.getFullYear(),i.getMonth()+l,1);const s=i,h=new Date(i.getFullYear(),i.getMonth()+1,0);return[this.format(s),this.format(h)]}static getQuarterRange(o,p,l=0){const i=o||p,s=i?new Date(i):new Date;let h=Math.floor(s.getMonth()/3);h+=l;const a=(h%4+4)%4*3,c=s.getFullYear()+Math.floor(h/4),g=new Date(c,a,1),r=new Date(c,a+3,0);return[this.format(g),this.format(r)]}static getYear(o,p=0){let l;return o&&/^\d{4}$/.test(o)?l=parseInt(o,10):o?l=new Date(o).getFullYear():l=new Date().getFullYear(),String(l+p)}static getYearRange(o,p=0){let l;return o&&/^\d{4}$/.test(o)?l=parseInt(o,10):o?l=new Date(o).getFullYear():l=new Date().getFullYear(),[this.format(new Date(l+p,0,1)),this.format(new Date(l+p+1,0,0))]}static getRangeFromDaysBefore(o){const p=new Date,l=new Date(p.getTime());return l.setDate(p.getDate()-o),[this.format(l),this.format(p)]}}function de(t,o){const{popoverRef:p}=t,l=K(),i=e.ref(""),s=e.ref(t.modelValue??t.default??[]),h=e.ref(0);function a(){const f=z.getRangeFromDaysBefore(h.value);return s.value=[...f],o("change",{name:t.name,value:s.value}),o("update:modelValue",s.value),f}function c(f){i.value=f,p.value?.close();const d=[];switch(i.value){case"today":d.push(z.getShiftedDay()),d.push(z.getShiftedDay());break;case"week":d.push(...z.getLastWeekRange());break;case"month":d.push(...z.getMonthRange());break;case"quarter":d.push(...z.getQuarterRange());break;case"year":d.push(...z.getYearRange());break;case"last_7_days":h.value=7,a();break;case"range":h.value=7,d.push(...a());break}s.value=[...d],o("change",{name:t.name,value:s.value}),o("update:modelValue",s.value)}function g(){const f=[];switch(i.value){case"today":f.push(z.getShiftedDay(s.value[0],1));break;case"week":f.push(...z.getLastWeekRange(s.value[0],s.value[1],1));break;case"month":f.push(...z.getMonthRange(s.value[0],s.value[1],1));break;case"quarter":f.push(...z.getQuarterRange(s.value[0],s.value[1],1));break;case"year":f.push(...z.getYearRange(s.value[0],1));break}s.value=[...f],o("change",{name:t.name,value:s.value}),o("update:modelValue",s.value)}function r(){const f=[];switch(i.value){case"today":f.push(z.getShiftedDay(s.value[0],-1));break;case"week":f.push(...z.getLastWeekRange(s.value[0],s.value[1],-1));break;case"month":f.push(...z.getMonthRange(s.value[0],s.value[1],-1));break;case"quarter":f.push(...z.getQuarterRange(s.value[0],s.value[1],-1));break;case"year":f.push(...z.getYearRange(s.value[0],-1));break}s.value=[...f],o("change",{name:t.name,value:s.value}),o("update:modelValue",s.value)}const u=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function y(f){const[d,A,F]=f.split("-");return`${F}.${A}.${d}`}function b(f,d="long"){const A=new Date(Date.UTC(2e3,f-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:d,timeZone:"UTC"}).format(A)}function k(f){const{value:d}=s;switch(f){case"today":return y(d[0]);case"range":return"Період";case"week":return d[0]&&d[1]?`${y(d[0])} – ${y(d[1])}`:"";case"quarter":if(d[0]){const A=new Date(d[0]),F=A.getFullYear(),S=A.getMonth();return`${Math.floor(S/3)+1} ${l("filter.quarter")} ${F}`}return"";case"month":if(d[0]){const[A,F]=d[0].split("-");return`${b(parseInt(F,10))} ${A}`}return"";case"year":return d[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const B=e.computed(()=>i.value?k(i.value):t.label??"");function C(){i.value="",s.value=[],o("update:modelValue",[]),o("clear",t.name)}return{activeMode:i,innerValue:s,daysBefore:h,onDaysBeforeChange:a,onSelectChange:c,nextClick:g,prevClick:r,ukMonths:u,formatDisplayDate:y,getModeLabel:k,currentLabel:B,clear:C}}const yt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},gt={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},ht=["max","disabled"],bt=["min","disabled"],xt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},kt=["max","disabled"],wt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Vt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ct=["min","disabled"],Bt={class:"flex gap-1 px-2"},Et=["title","onClick"],Nt={class:"pt-2 px-2"},St=["disabled"],$t=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=le(),s=I(),h=De(),a=K(),c=p,g=e.ref(null),{activeMode:r,innerValue:u,onSelectChange:y,nextClick:b,prevClick:k,clear:B}=de({...l,popoverRef:g},c);e.watch(()=>l.modelValue,F=>{F!==void 0?(u.value=F,c("update:modelValue",F)):(r.value="",u.value=[])}),e.watch(u,F=>{c("update:modelValue",F),c("change",{name:l.name,value:F})},{deep:!0});const C=["today","week","month","quarter","year"],f={today:{label:"день",title:a("filter.today")},week:{label:"тиж.",title:a("filter.week")},month:{label:"міс.",title:a("filter.month")},quarter:{label:"кв.",title:a("filter.quarter")},year:{label:"рік",title:a("filter.year")}};function d(F){return f[F]?.label??a(`filter.${F}`)}function A(F){return f[F]?.title??a(`filter.${F}`)}return o({clear:B,popoverRef:g}),(F,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",yt,[e.unref(r)!==""&&e.unref(r)==="range"?(e.openBlock(),e.createElementBlock("div",gt,[S[7]||(S[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":S[0]||(S[0]=m=>e.unref(u)[0]=m),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,8,ht),[[e.vModelText,e.unref(u)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":S[1]||(S[1]=m=>e.unref(u)[1]=m),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,8,bt),[[e.vModelText,e.unref(u)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",xt,e.toDisplayString(e.unref(a)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":S[2]||(S[2]=m=>e.unref(u)[0]=m),class:e.normalizeClass(e.unref(i)),disabled:t.disabled},null,10,kt),[[e.vModelText,e.unref(u)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",wt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",Vt,e.toDisplayString(e.unref(a)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":S[3]||(S[3]=m=>e.unref(u)[1]=m),class:e.normalizeClass(e.unref(i)),disabled:t.disabled},null,10,Ct),[[e.vModelText,e.unref(u)[1]]])],2)],2),e.createElementVNode("div",Bt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(C,m=>e.createElementVNode("button",{key:m,class:e.normalizeClass(e.unref(h)+(e.unref(r)===m?" bg-blue-100":"")),title:A(m),onClick:x=>e.unref(y)(m)},e.toDisplayString(d(m)),11,Et)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(h)),onClick:S[4]||(S[4]=(...m)=>e.unref(k)&&e.unref(k)(...m))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(h)),onClick:S[5]||(S[5]=(...m)=>e.unref(b)&&e.unref(b)(...m))},">",2)]),e.createElementVNode("div",Nt,[["popover"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:!e.unref(u)?.length||!e.unref(u)[0]&&!e.unref(u)[1],class:e.normalizeClass(e.unref(s)+"hover:bg-gray-100"),onClick:S[6]||(S[6]=(...m)=>e.unref(B)&&e.unref(B)(...m))},e.toDisplayString(e.unref(a)("filter.clear")),11,St)):e.createCommentVNode("",!0)])],64))}});function Dt(t,o){const{api:p,options:l=[],limit:i=20,dataKey:s="data",data:h}=t,a=s??h??"data",c=t.multi;function g(N){return c?Array.isArray(N)?N:N?[N]:[]:Array.isArray(N)?N[0]:N}const r=e.ref(g(t.modelValue)),u=e.ref(""),y=e.ref(!1),b=e.ref(l),k=e.ref("id"),B=e.ref("text"),C=e.ref(!1),f=e.ref(t.layout!=="popover"&&l.length>i),d=e.ref([]),A=e.ref(0);function F(N){const R=N.find(Boolean)??{},L=["id","value","code","key"].find(W=>W in R)??"id",q=["text","label","name","title"].find(W=>W in R)??"text";return{autoValueKey:L,autoLabelKey:q}}if(l.length>0){const N=F(l);k.value=N.autoValueKey,B.value=N.autoLabelKey}const S=e.computed(()=>{if(p)return b.value;const N=b.value;if(t.layout==="popover")return N;if(!u.value)return C.value?N:N.slice(0,i);const R=u.value.toLowerCase();return N.filter(L=>L[B.value].toLowerCase().includes(R))});let m=null;async function x(N){if(p){y.value=!0;try{const R=new URL(p,window.location.origin);R.searchParams.set("json","1"),R.searchParams.set("key",N),R.searchParams.set("limit",i.toString());const L=await fetch(R.toString());if(!L.ok){U.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),b.value=[];return}const q=await L.json();if(!q[a]){U.notify({type:"error",title:"Error",message:q}),b.value=[];return}if(b.value=q[a],b.value.length>0){const W=F(b.value);k.value=W.autoValueKey,B.value=W.autoLabelKey}A.value=q.total}catch(R){console.error("Failed to fetch remote options:",R)}finally{y.value=!1}}}e.watch(u,N=>{p&&(m&&clearTimeout(m),m=setTimeout(()=>{x(N)},200))}),e.watch(()=>t.modelValue,N=>{r.value=g(N)},{immediate:!0}),e.watch(r,N=>{c?(!Array.isArray(N)||N.length===0)&&(d.value=[]):(N==null||typeof N=="string"&&N==="")&&(d.value=[])});function E(N){return c&&Array.isArray(r.value)?r.value.includes(N[k.value]):r.value&&r.value===N[k.value]}function M(N){if(c&&!Array.isArray(r.value)&&(r.value=[]),c&&Array.isArray(r.value)){const R=r.value.includes(N[k.value]);r.value=R?r.value.filter(L=>L!==N[k.value]):[...r.value,N[k.value]],d.value=R?d.value.filter(L=>L!==N[B.value]):[...d.value,N[B.value]]}else r.value=N[k.value],d.value=N[B.value];o("update:modelValue",r.value),o("change",{name:t.name,value:r.value})}function n(){c?(r.value=[],d.value=[]):(r.value=void 0,d.value=[]),o("update:modelValue",r.value),o("clear",t.name)}function V(){m&&clearTimeout(m),u.value="",C.value=!1}function w(){C.value=!C.value}e.onBeforeUnmount(()=>{m&&clearTimeout(m)});const $=e.ref(-1);e.watch(S,()=>{$.value=S.value.length>0?0:-1});function D(N){const R=S.value.length;if(N.key==="ArrowDown")N.preventDefault(),$.value=($.value+1)%R;else if(N.key==="ArrowUp")N.preventDefault(),$.value=($.value-1+R)%R;else if(N.key==="Enter"&&(N.preventDefault(),$.value>=0&&$.value<S.value.length)){const L=S.value[$.value];M(L)}}function j(){p&&b.value.length===0&&u.value.length===0&&x(u.value)}return{innerValue:r,searchTerm:u,filteredOptions:S,isSelected:E,selectItem:M,clear:n,resetSearch:V,toggleShowAll:w,isReqProc:y,showAll:C,isEnableShowAll:f,labelKey:B,valueKey:k,allOptions:b,highlightedIndex:$,onKeyDown:D,selectedLabels:d,totalCount:A,loadData:j}}const At={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Ft=["placeholder"],jt={key:0,class:"w-full"},Mt={class:"flex flex-col items-center justify-center p-5 text-center"},Rt={class:"max-w-sm mx-auto mt-6"},zt={class:"font-medium text-gray-800 dark:text-neutral-200"},Kt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Lt={key:1,class:"py-2 px-2 border-t"},Tt=["disabled"],Ot={class:"text-xs text-gray-500"},_t=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=K(),i=I(),s=t,h=p,a=e.ref(null),{innerValue:c,filteredOptions:g,isSelected:r,selectItem:u,clear:y,resetSearch:b,toggleShowAll:k,isReqProc:B,showAll:C,isEnableShowAll:f,searchTerm:d,labelKey:A,valueKey:F,highlightedIndex:S,onKeyDown:m,selectedLabels:x,totalCount:E,loadData:M}=Dt({...s,modelValue:s.modelValue},h),n=e.computed(()=>s.multi?Array.isArray(c.value)&&c.value.length>0:c.value!=null&&c.value!==""),V=e.computed(()=>s.multi&&Array.isArray(c.value)?c.value.length:c.value!=null&&c.value!==""?1:0);e.onMounted(()=>{b(),s.layout!=="inline"&&(M(),a.value&&s.layout==="popover"&&a.value.focus())}),e.watch(()=>s.modelValue,$=>{$===void 0&&(s.multi?c.value=[]:c.value=void 0)});const w=e.ref([]);return e.watch(S,$=>{$>=0&&w.value[$]&&w.value[$]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(g,()=>{w.value=[]}),o({clear:y,inputTextRef:a,selectedLabels:x,loadData:M}),($,D)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",At,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":D[0]||(D[0]=j=>e.isRef(d)?d.value=j:null),onKeydown:D[1]||(D[1]=(...j)=>e.unref(m)&&e.unref(m)(...j)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",placeholder:e.unref(l)("filter.search"),type:"text",ref_key:"inputTextRef",ref:a},null,40,Ft),[[e.vModelText,e.unref(d)]]),e.createVNode(se,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(d)!=""?(e.openBlock(),e.createBlock(v,{key:0,onClick:D[2]||(D[2]=j=>d.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(j,N)=>(e.openBlock(),e.createBlock(G,{layout:t.layout,count:j.count,label:j[e.unref(A)],color:j.color,type:t.multi?"checkbox":"radio",value:j[e.unref(F)],"is-selected":e.unref(r)(j),highlighted:N===e.unref(S),onItemClick:R=>e.unref(u)(j),ref_for:!0,ref:R=>w.value[N]=R?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),t.type==="select"&&e.unref(g).length===0&&!e.unref(B)?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Mt,[e.createVNode(X),e.createElementVNode("div",Rt,[e.createElementVNode("p",zt,e.toDisplayString(e.unref(l)("filter.notfound")),1),D[7]||(D[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(C)&&e.unref(f)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:D[3]||(D[3]=(...j)=>e.unref(k)&&e.unref(k)(...j)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.more"))+" ",1),e.createVNode(Y)])):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:D[4]||(D[4]=(...j)=>e.unref(k)&&e.unref(k)(...j)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.less"))+" ",1),e.createVNode(Z)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Kt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(c))?e.unref(c)?.length:e.unref(c)!==void 0&&(e.unref(c)||e.unref(c)===null)?1:0)+" / "+e.toDisplayString(e.unref(E))+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:D[5]||(D[5]=(...j)=>e.unref(y)&&e.unref(y)(...j))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,n.value]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("button",{type:"button",disabled:!n.value,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100"),onClick:D[6]||(D[6]=(...j)=>e.unref(y)&&e.unref(y)(...j))},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.clear"))+" ",1),e.createElementVNode("span",Ot,e.toDisplayString(V.value)+" з "+e.toDisplayString(e.unref(E)),1)],10,Tt)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Pt=["for","onClick"],It=["id","name","value"],Ut={class:"block"},qt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Wt={key:1,class:"pt-2 px-2 border-t"},Yt=["disabled"],Ht={class:"text-xs text-gray-500"},Qt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=I(),h=K(),{innerValue:a,isSelected:c,selectItem:g,clear:r,labelKey:u,valueKey:y,allOptions:b}=l.multi?re({...l,modelValue:l.modelValue??l.default??[]},i):J({...l,modelValue:l.modelValue!==void 0?l.modelValue:l.default??""},i),k=e.computed(()=>l.multi?Array.isArray(a.value)&&a.value.length>0:a.value!=null&&a.value!==""),B=e.computed(()=>l.multi&&Array.isArray(a.value)?a.value.length:a.value!=null&&a.value!==""?1:0);return o({clear:r}),e.watch(()=>l.modelValue,C=>{C===void 0&&(l.multi?a.value=[]:a.value=void 0)}),(C,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",t.layout==="popover"?"p-2 max-h-[calc(100%-55px)] overflow-y-auto":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),d=>(e.openBlock(),e.createElementBlock("label",{key:`item-${d[e.unref(y)]}`,for:`item-${d[e.unref(y)]}`,onClick:e.withModifiers(A=>e.unref(g)(d),["stop","prevent"]),class:e.normalizeClass([e.unref(c)(d)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${d[e.unref(y)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${d[e.unref(y)]}`,value:d[e.unref(y)]},null,8,It),e.createElementVNode("span",Ut,e.toDisplayString(d[e.unref(u)]),1)],10,Pt))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",qt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(b).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:f[0]||(f[0]=(...d)=>e.unref(r)&&e.unref(r)(...d))}," Очистити ",512),[[e.vShow,k.value]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Wt,[e.createElementVNode("button",{type:"button",disabled:!k.value,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:f[1]||(f[1]=(...d)=>e.unref(r)&&e.unref(r)(...d))},[e.createTextVNode(e.toDisplayString(e.unref(h)("filter.clear"))+" ",1),e.createElementVNode("span",Ht,e.toDisplayString(B.value)+" з "+e.toDisplayString(e.unref(b).length),1)],10,Yt)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),Gt=["disabled","title"],Jt={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},Xt={class:"truncate text-ellipsis text-sm"},Zt={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-sm bg-blue-100 px-2 text-[11px] font-semibold text-blue-600"},vt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-sm focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},el={class:"w-[360px] max-h-[500px] overflow-auto [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 before:w-full p-2"},ee=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(t,{expose:o}){const p=t,l=e.computed(()=>ne(p.mode)),i=e.ref(!1),s=e.ref({top:0,left:0}),h=e.ref(null),a=e.ref(null),c=e.ref(null);let g=null;function r(){const m=a.value,x=c.value;if(!m||!x)return;const E=m.getBoundingClientRect(),M=x.offsetWidth,n=x.offsetHeight,V=window.innerWidth,w=window.innerHeight,$=8;let D=E.bottom+$,{left:j}=E;const N=Math.max(V-M-10,10);if(j=Math.min(j,N),j=Math.max(j,10),D+n>w-10){const R=E.top-n-$;D=R>=10?R:Math.max(w-n-10,10)}D<10&&(D=10),s.value={top:D,left:j}}function u(){e.nextTick(()=>{r(),typeof window<"u"&&typeof window.requestAnimationFrame=="function"&&window.requestAnimationFrame(()=>r())})}function y(){i.value=!i.value,i.value&&(u(),e.nextTick(()=>{p.fieldRef?.inputTextRef&&p.fieldRef?.inputTextRef?.focus?.(),p.fieldRef?.loadData&&Promise.resolve(p.fieldRef?.loadData?.()).finally(()=>{i.value&&u()})}))}function b(m){!h.value?.contains(m.target)&&!c.value?.contains(m.target)&&!a.value?.contains(m.target)&&(i.value=!1)}function k(m){m.key==="Escape"&&(i.value=!1)}const B=e.ref(!1),C=e.ref("ua"),f=m=>{m.detail.key==="locale"&&(C.value=m.detail.newValue)};e.onMounted(()=>{B.value=!0,C.value=localStorage.locale,window.addEventListener("storage",f),document.addEventListener("click",b,!0),document.addEventListener("keydown",k),window.addEventListener("scroll",r,!0),window.addEventListener("resize",r,!0),typeof ResizeObserver<"u"&&(g=new ResizeObserver(()=>{i.value&&u()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",f),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",k),window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r,!0),g?.disconnect(),g=null});function d(){i.value=!1}o({close:d}),e.watch([B,i,c],([m,x,E])=>{m&&x&&E&&(u(),g?.observe(E))});function A(m){return Array.isArray(m)?m.filter(x=>x!=null&&x!=="").length:m&&typeof m=="object"?Object.values(m).filter(x=>x!=null&&x!=="").length:typeof m=="string"?m.trim()===""?0:1:typeof m=="number"?Number.isNaN(m)?0:1:m===null||m!==void 0?1:0}const F=e.computed(()=>{const m=p.fieldRef?.selectedLabels,x=A(m);return x>0?x:A(p.currentValue)}),S=e.computed(()=>{const m=p.fieldRef?.selectedLabels;return!m||["inline"].includes(p.layout||"")?p[C.value]||(p.label??""):Array.isArray(m)?m.length>0?m.join(", "):p.label??"":String(m)});return(m,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:h},[e.createElementVNode("button",{onClick:y,disabled:t.disabled,ref_key:"triggerRef",ref:a,title:t.label,class:e.normalizeClass([l.value,t.width?e.unref(ce).getWidthClass(t.width):"w-full",t.layout==="inline"&&F.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Jt,[e.createElementVNode("span",Xt,e.toDisplayString(S.value),1),t.layout==="inline"&&F.value>0?(e.openBlock(),e.createElementBlock("span",Zt,e.toDisplayString(F.value),1)):e.createCommentVNode("",!0)]),e.createVNode(Y,{class:"h-4 w-4 text-neutral-500"})],10,Gt),B.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:c,class:"vsTailwind vs-popover__content w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${s.value.top}px`,left:`${s.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",vt,[e.createElementVNode("div",el,[e.renderSlot(m.$slots,"default")])])],4),[[e.vShow,i.value]])])):e.createCommentVNode("",!0)],512))}}),tl={},ll={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[90deg]"};function nl(t,o){return e.openBlock(),e.createElementBlock("svg",ll,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const ol=O(tl,[["render",nl]]),al={},rl={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"};function il(t,o){return e.openBlock(),e.createElementBlock("svg",rl,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const sl=O(al,[["render",il]]),cl={class:"flex gap-1"},dl={class:"mb-1"},ml={class:"mb-1"},fl={class:"inline-flex rounded-sm shrink-0 pl-1"},ul=["title"],pl={class:"inline-flex rounded-sm shrink-0 pl-1"},yl=["title"],gl={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},hl=["max","value","disabled"],bl=["min","value","disabled"],Vn={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},xl=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=K(),i=t,s=p,h=e.ref(null),{activeMode:a,innerValue:c,onSelectChange:g,nextClick:r,prevClick:u,currentLabel:y,clear:b}=de({...i,popoverRef:h},s);e.watch(()=>i.modelValue,C=>{C!==void 0?(c.value=C,s("update:modelValue",C)):(a.value="",c.value=[])}),e.watch(c,C=>{s("update:modelValue",C),s("change",{name:i.name,value:C})},{deep:!0});function k(C){const f=Array.isArray(c.value)?[...c.value]:[];c.value=[C,f[1]||""]}function B(C){const f=Array.isArray(c.value)?[...c.value]:[];c.value=[f[0]||"",C]}return o({clear:b,popoverRef:h}),(C,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",cl,[e.createVNode(ee,{ref_key:"popoverRef",ref:h,label:e.unref(y),"current-value":e.unref(c),mode:t.mode,width:typeof t.width=="number"&&e.unref(c).length?t.width-70:t.width,onClear:e.unref(b),layout:t.layout,class:e.normalizeClass(t.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[0]||(f[0]=d=>e.unref(g)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.period"))+" ",1),e.unref(a)==="range"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),f[12]||(f[12]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[1]||(f[1]=d=>e.unref(g)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.today"))+" ",1),e.unref(a)==="today"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[2]||(f[2]=d=>e.unref(g)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.week"))+" ",1),e.unref(a)==="week"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[3]||(f[3]=d=>e.unref(g)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.month"))+" ",1),e.unref(a)==="month"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[4]||(f[4]=d=>e.unref(g)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.quarter"))+" ",1),e.unref(a)==="quarter"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",dl,[e.createElementVNode("button",{type:"button",onClick:f[5]||(f[5]=d=>e.unref(g)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.year"))+" ",1),e.unref(a)==="year"?(e.openBlock(),e.createBlock(P,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ml,[e.createElementVNode("button",{type:"button",onClick:f[6]||(f[6]=d=>e.unref(b)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.alltime"))+" ",1),e.unref(c)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(P,{key:0}))])])]),_:1},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(a)!==""&&e.unref(a)!=="range"&&e.unref(a)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",fl,[e.createElementVNode("button",{type:"button",title:e.unref(l)("filter.prev"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:f[7]||(f[7]=(...d)=>e.unref(u)&&e.unref(u)(...d))},[e.createVNode(ol)],8,ul)]),e.createElementVNode("div",pl,[e.createElementVNode("button",{type:"button",title:e.unref(l)("filter.next"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:f[8]||(f[8]=(...d)=>e.unref(r)&&e.unref(r)(...d))},[e.createVNode(sl)],8,yl)])],64)):e.createCommentVNode("",!0),e.unref(a)!==""&&e.unref(a)==="range"?(e.openBlock(),e.createElementBlock("div",gl,[e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA",value:e.unref(c)[0],onInput:f[9]||(f[9]=d=>k(d.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,40,hl),e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA",value:e.unref(c)[1],onInput:f[10]||(f[10]=d=>B(d.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,40,bl)])):e.createCommentVNode("",!0)]),(t.cleanable,e.createCommentVNode("",!0))],64))}}),kl=["disabled","onClick"],wl={key:0,class:"pt-2 px-2 border-t"},Vl=["disabled"],me={radio:qe,checkbox:ie,check:ie,text:it,range:pt,date:$t,select:_t,tag:Qt,button:e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=I(),h=K(),{innerValue:a,isSelected:c,selectItem:g,clear:r,labelKey:u,valueKey:y,allOptions:b}=J({...l,modelValue:l.modelValue??l.default??""},i),k=e.computed(()=>a.value!==void 0&&!(typeof a.value=="string"&&a.value===""));function B(f){return c(f)?["bg-blue-600 text-white"].filter(d=>typeof d=="string"&&d.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(d=>typeof d=="string"&&d.trim().length>0).join(" ")}function C(f){l.disabled||g(f)}return o({clear:r}),e.watch(()=>l.modelValue,f=>{f===void 0&&(a.value=void 0)}),(f,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["flex flex-wrap items-center gap-2",t.layout==="popover"?"p-2 max-h-[calc(100%-55px)] overflow-y-auto":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),A=>(e.openBlock(),e.createElementBlock("button",{key:A[e.unref(y)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",B(A)]),disabled:t.disabled,onClick:F=>C(A)},e.toDisplayString(A[e.unref(u)]),11,kl))),128))],2),t.cleanable&&t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",wl,[e.createElementVNode("button",{type:"button",disabled:!k.value,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:d[0]||(d[0]=(...A)=>e.unref(r)&&e.unref(r)(...A))},e.toDisplayString(e.unref(h)("filter.clear")),11,Vl)])):e.createCommentVNode("",!0)],64))}}),"date:inline":xl};function te(t,o){let p;switch(t.toLowerCase()){case"autocomplete":p="select";break;case"check":p="checkbox";break;default:p=t?.toString().toLowerCase()}return p==="date"&&o&&o==="inline"&&(p="date:inline"),{component:me[p]||me.text,type:p}}const Cl={style:{display:"inline-flex",margin:"0px",width:"100%"}},Bl={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},El={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},Nl={class:"flex items-center"},Sl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},$l={class:"filter-layout__body"},Dl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.ref(),h=e.computed(()=>te(l.type,l.layout)),a=e.computed({get:()=>l.modelValue,set:u=>i("update:modelValue",u)});function c(u){i("clear",u)}function g(u,y){i("change",{name:u,value:y}),l.modelValue!==void 0&&i("update:modelValue",y)}function r(){s.value?.clear?.(),i("clear",l.name)}return e.watch(()=>l.default,u=>{a.value=u}),e.watch(()=>l.modelValue,u=>{a.value=u}),o({filterRef:s}),(u,y)=>(e.openBlock(),e.createElementBlock("div",Cl,[e.createElementVNode("div",Bl,[e.createElementVNode("div",El,[e.createElementVNode("div",Nl,[e.createElementVNode("span",Sl,e.toDisplayString(t.label),1)]),typeof a.value=="string"&&a.value.trim()!==""||Array.isArray(a.value)&&a.value.length>0&&a.value.some(b=>b!==void 0)||a.value===null?(e.openBlock(),e.createBlock(xe,{key:0,onClick:r})):e.createCommentVNode("",!0)]),e.createElementVNode("div",$l,[h.value?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps({key:0},l,{type:h.value?.type,class:l.itemClass,onChange:y[0]||(y[0]=b=>g(b.name,b.value)),onClear:y[1]||(y[1]=b=>c(b)),ref_key:"filterRef",ref:s}),null,16,["type","class"])):(e.openBlock(),e.createBlock(ee,{key:1,"current-value":a.value,label:t.label,mode:t.mode,onClear:r,fieldRef:s.value,width:void 0,disabled:t.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps({ref_key:"filterRef",ref:s},l,{type:h.value?.type,class:l.itemClass,onChange:y[2]||(y[2]=b=>g(b.name,b.value)),onClear:y[3]||(y[3]=b=>c(b))}),null,16,["type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),fe=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.ref(),h=e.computed(()=>te(l.type,l.layout)),a=e.computed({get:()=>l.modelValue,set:r=>i("update:modelValue",r)});function c(r=l.name){i("clear",r)}function g(r,u){i("change",{name:r,value:u}),l.modelValue!==void 0&&i("update:modelValue",u)}return e.watch(()=>l.default,r=>{a.value=r}),e.watch(()=>l.modelValue,r=>{a.value=r}),o({filterRef:s}),(r,u)=>["text","date","button"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps({key:0},l,{type:h.value?.type,class:t.itemClass,onChange:u[0]||(u[0]=y=>g(y.name,y.value)),onClear:u[1]||(u[1]=y=>c(y)),disabled:t.disabled,modelValue:a.value,"onUpdate:modelValue":u[2]||(u[2]=y=>a.value=y)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(ee,{key:1,"current-value":a.value,label:t.label,mode:t.mode,onClear:c,fieldRef:s.value,width:l.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps({ref_key:"filterRef",ref:s},l,{modelValue:a.value,"onUpdate:modelValue":u[3]||(u[3]=y=>a.value=y),type:h.value?.type,class:l.itemClass,onChange:u[4]||(u[4]=y=>g(y.name,y.value)),onClear:u[5]||(u[5]=y=>c(y))}),null,16,["modelValue","type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),Al=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.ref(),h=e.computed(()=>te(l.type,l.layout)),a=e.computed({get:()=>l.modelValue,set:r=>i("update:modelValue",r)});function c(r){i("clear",r)}function g(r,u){i("change",{name:r,value:u}),l.modelValue!==void 0&&i("update:modelValue",u)}return e.watch(()=>l.default,r=>{a.value=r}),e.watch(()=>l.modelValue,r=>{a.value=r}),e.watch(()=>l,r=>{a.value=r}),o({filterRef:s}),(r,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value?.component),e.mergeProps(l,{type:h.value?.type,class:l.itemClass,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=y=>a.value=y),onChange:u[1]||(u[1]=y=>g(y.name,y.value)),onClear:u[2]||(u[2]=y=>c(y)),ref_key:"filterRef",ref:s}),null,16,["type","class","modelValue"]))}}),_=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.ref(),h=e.computed({get:()=>l.modelValue,set:r=>i("update:modelValue",r)});function a(r){i("clear",r)}function c(r,u){i("change",{name:r,value:u}),l.modelValue!==void 0&&i("update:modelValue",u)}e.watch(()=>l.default,r=>{h.value=r}),e.watch(()=>l.modelValue,r=>{h.value=r}),o({filterRef:s});function g(){switch(l.layout){case"inline":return fe;case"vertical":return Dl;case"popover":return Al;default:return fe}}return(r,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g()),e.mergeProps(l,{onChange:u[0]||(u[0]=y=>c(y.name,y.value)),onClear:u[1]||(u[1]=y=>a(y)),modelValue:h.value,"onUpdate:modelValue":u[2]||(u[2]=y=>h.value=y)}),null,16,["modelValue"]))}});function H(t,o){const{slots:p}=t,l=f=>f?JSON.parse(JSON.stringify(e.toRaw(f))):{},i=e.ref(l(t.value));e.watch(()=>t.value,f=>{i.value=l(f)},{deep:!0,immediate:!0});const s=e.computed(()=>(e.toRaw(p?.default?.())??[]).flatMap(d=>Array.isArray(d.children)?d.children:[d]));function h(f){delete i.value[f],o("clear",{data:e.toRaw(i.value),name:f})}function a(f,d){d===void 0?h(f):i.value={...i.value,[f]:d},o("change",{data:e.toRaw(i.value),name:f,value:d})}const c=e.computed(()=>s.value.map(f=>{const d=f.props?.name;return e.cloneVNode(f,{...f.props,layout:t.view,showClean:!0,modelValue:i.value[d],"onUpdate:modelValue":A=>{a(d,A)},onClear:()=>h(d),class:[t.itemClass,f.props?.class],itemClass:[t.itemClass,f.props?.itemClass].filter(A=>typeof A=="string"&&A.trim().length>0).join(" ")||void 0})})),g=e.computed(()=>new Map(c.value.map(f=>{const d=f.props?.name;return d?[d,f]:null}).filter(f=>f!==null)));function r(f=!1){i.value={},f||o("clearAll",{data:e.toRaw(i.value),name:"ALL"})}const u=e.ref(""),y=e.computed(()=>t.schema?.value?Object.entries(i.value).filter(([f,d])=>t.schema&&!(f in t.schema.value)?!1:Array.isArray(d)?d.some(A=>A!==""&&A!==void 0):d!==""&&d!==void 0).length:0),b=e.ref();e.watch(u,async()=>{await e.nextTick(),b?.value?.filterRef?.inputTextRef&&b.value.filterRef.inputTextRef.focus()});const k=e.computed(()=>t.schema?.value?Object.fromEntries(Object.entries(t.schema?.value).slice(0,t.limit)):{}),B=e.computed(()=>{if(c.value.length===0)return[];let f=0;if(t.schema?.value){const d=Object.entries(t.schema.value).length;t.limit&&d<t.limit?f=t.limit-d:f=0}return c.value.slice(0,f)}),C=e.computed(()=>c.value.length===0?[]:t.view!=="inline"?c.value:c.value.slice(B.value.length));return{activeFilter:i,activeFilterCount:y,onFilterChange:a,clearFilter:h,clearAllFilters:r,limitedSchema:k,filtersSlot:c,limitedFiltersSlot:B,popoverFiltersSlot:C,vnodeMap:g,selectedFilter:u,filterRef:b}}const Fl=e.defineComponent({__name:"popover",emits:["open","close"],setup(t,{emit:o}){const p=e.ref(!1),l=e.ref(null),i=e.ref(null),s=e.ref(null),h=e.ref({top:"0px",left:"0px",position:"absolute"}),a=e.ref(!1);function c(){p.value=!p.value}function g(){const k=s.value,B=l.value;if(!k||!B)return;const{left:C,bottom:f}=k.getBoundingClientRect();requestAnimationFrame(()=>{if(!B)return;const{width:d}=B.getBoundingClientRect(),A=B.offsetWidth||d,F=window.innerWidth||document.documentElement.clientWidth,S=F-C;let m=C;A>S&&(m=F-A-18),m<18&&(m=18);const x=F-A-18;m>x&&(m=Math.max(18,x)),h.value={position:"fixed",top:`${f+18}px`,left:`${m}px`},a.value=!0})}const r=e.computed(()=>Object.entries(h.value).map(k=>k.join(":")).join(";"));function u(k){const B=k.target;!s.value?.contains(k.target)&&!l.value?.contains(k.target)&&!B.closest("[data-inside-popover]")&&(p.value=!1)}const y=e.ref(!1);e.onMounted(()=>{y.value=!0}),e.onMounted(()=>{s.value=i.value?.querySelector("[data-popover-trigger]")||null,s.value?.addEventListener("click",c),document.addEventListener("click",u),window.addEventListener("resize",g),window.addEventListener("scroll",g,!0)}),e.onBeforeUnmount(()=>{s.value?.removeEventListener("click",c),document.removeEventListener("click",u),window.removeEventListener("resize",g),window.removeEventListener("scroll",g,!0)});const b=o;return e.watch(p,async k=>{k?(a.value=!1,b("open"),await e.nextTick(),requestAnimationFrame(()=>{g()})):(b("close"),a.value=!1)}),(k,B)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:i},[e.renderSlot(k.$slots,"trigger"),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:l,class:"fixed z-[50] w-[calc(100vw-32px)] md:w-[600px] rounded-md border bg-white shadow-md transition-opacity duration-0",style:e.normalizeStyle([r.value,{visibility:a.value?"visible":"hidden",opacity:a.value?1:0}])},[e.renderSlot(k.$slots,"default")],4),[[e.vShow,p.value]])])):e.createCommentVNode("",!0)],512))}}),jl={},Ml={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-filter h-4 w-4"};function Rl(t,o){return e.openBlock(),e.createElementBlock("svg",Ml,[...o[0]||(o[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)])])}const ue=O(jl,[["render",Rl]]),zl={class:"flex items-center gap-2 overflow-hidden"},Kl={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-500 px-1 text-[11px] font-semibold text-white"},Ll={class:"flex max-h-[400px] md:max-h-[400px]"},Tl={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},Ol={class:"p-2 md:p-4 border-b"},_l={class:"text-xs md:text-sm text-gray-600"},Pl={class:"p-1 md:p-2"},Il=["onClick"],Ul={class:"flex items-center gap-1.5 md:gap-2"},ql={class:"text-xs md:text-sm font-medium line-clamp-3"},Wl={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Yl=["onClick"],Hl={class:"flex items-center gap-1.5 md:gap-2"},Ql={class:"text-xs md:text-sm font-medium truncate"},Gl={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Jl={key:0,class:"p-1 md:p-2 border-t"},Xl={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Zl={key:0,class:"flex items-center justify-center h-full text-gray-500"},vl={class:"text-xs md:text-sm"},pe=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:p}){const l=K(),i=t,s=ne(i.mode),h=e.useSlots(),a=p,c=e.ref({}),g=e.computed(()=>c?.value?i.view!=="inline"?c?.value:Object.fromEntries(Object.entries(c?.value).slice(i.limit)):{}),{activeFilter:r,activeFilterCount:u,onFilterChange:y,clearFilter:b,clearAllFilters:k,popoverFiltersSlot:B,selectedFilter:C,filterRef:f}=H({...i,schema:c,slots:h},a),d=e.computed(()=>i.badgeCount??u.value);function A(m){return Array.isArray(m)?m.filter(x=>x!=null&&x!=="").length:m&&typeof m=="object"?Object.values(m).filter(x=>x!=null&&x!=="").length:m===null||m!==void 0&&m!==""?1:0}function F(m){return r.value?A(r.value[m]):0}function S(){if(g.value){const[m]=Object.keys(g.value);C.value=m}else B.value.length>0?C.value=B.value[0].props.name:C.value=""}return e.watch(()=>i.schema,m=>{c.value=m??{}},{deep:!0,immediate:!0}),o({clearFilter:b,clearAllFilters:k}),(m,x)=>(e.openBlock(),e.createBlock(Fl,{onOpen:S,onClose:x[5]||(x[5]=E=>C.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,e.unref(s),"flex items-center justify-between gap-2",d.value>0?"border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500":"text-neutral-700 hover:border-neutral-400"]),type:"button"},[e.createElementVNode("span",zl,[e.createVNode(ue,{class:"h-4 w-4"}),x[6]||(x[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),d.value>0?(e.openBlock(),e.createElementBlock("span",Kl,e.toDisplayString(d.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Ll,[e.createElementVNode("div",Tl,[e.createElementVNode("div",Ol,[e.createElementVNode("p",_l,e.toDisplayString(e.unref(l)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",Pl,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([E,M])=>(e.openBlock(),e.createElementBlock("button",{key:E,onClick:()=>{C.value=E},class:e.normalizeClass(["flex w-full items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(C)===E?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Ul,[e.createElementVNode("span",ql,e.toDisplayString(M.label),1)]),F(E)>0?(e.openBlock(),e.createElementBlock("div",Wl,e.toDisplayString(F(E)),1)):e.createCommentVNode("",!0)],10,Il))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(E,M)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+M,onClick:n=>C.value=E.props.name,class:e.normalizeClass(["flex items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(C)===E.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Hl,[e.createElementVNode("span",Ql,e.toDisplayString(E.props.label),1)]),F(E.props.name)>0?(e.openBlock(),e.createElementBlock("div",Gl,e.toDisplayString(F(E.props.name)),1)):e.createCommentVNode("",!0)],10,Yl))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",Jl,[e.createElementVNode("button",{class:e.normalizeClass([t.itemClass,"w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:x[0]||(x[0]=E=>e.unref(k)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xl,[e.unref(C)===""?(e.openBlock(),e.createElementBlock("div",Zl,[e.createElementVNode("p",vl,e.toDisplayString(e.unref(l)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(C)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[g.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([E,M])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(C)===E?(e.openBlock(),e.createBlock(_,e.mergeProps({key:E,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:f},{ref_for:!0},M,{class:[t.itemClass,M?.class],"item-class":[t.itemClass,M?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[1]||(x[1]=n=>e.unref(y)(n.name,n.value)),onClear:x[2]||(x[2]=n=>{e.unref(b)(n),e.unref(y)(n,void 0)}),modelValue:e.unref(r)[E],"onUpdate:modelValue":n=>e.unref(r)[E]=n,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(E,M)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+M},[e.unref(C)===E.props.name?(e.openBlock(),e.createBlock(_,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},E.props,{ref_for:!0,ref_key:"filterRef",ref:f,class:[t.itemClass,E.props?.class],"item-class":[t.itemClass,E.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[3]||(x[3]=n=>e.unref(y)(n.name,n.value)),onClear:x[4]||(x[4]=n=>{e.unref(b)(n),e.unref(y)(n,void 0)}),modelValue:e.unref(r)[E.props.name],"onUpdate:modelValue":n=>e.unref(r)[E.props.name]=n,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),en={class:"flex gap-1 items-center flex-wrap"},ye=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:p}){const l=K(),i=t,s=p,h=e.useSlots(),a=e.ref({}),c=e.computed(()=>Object.keys(i.schema).length>i.limit),{activeFilter:g,activeFilterCount:r,onFilterChange:u,clearFilter:y,clearAllFilters:b,limitedSchema:k,filtersSlot:B,limitedFiltersSlot:C}=H({...i,schema:a,slots:h},s);function f(x){return Array.isArray(x)?x.some(E=>E!==""&&E!==void 0&&E!==null):x===null?!0:x&&typeof x=="object"?Object.values(x).some(E=>E!==""&&E!==void 0&&E!==null):x!==""&&x!==void 0}const d=e.computed(()=>{const x=Object.keys(k.value??{}),E=C.value.map(M=>M.props?.name).filter(M=>typeof M=="string");return new Set([...x,...E])}),A=e.computed(()=>Object.entries(g.value??{}).filter(([x,E])=>d.value.has(x)&&f(E)).length),F=e.computed(()=>{const x=r.value??0,E=A.value??0;return Math.max(x-E,0)}),S=e.ref();function m(){S.value&&S.value.clearAllFilters(!0),b()}return e.watch(()=>i.schema,x=>{a.value=x},{deep:!0,immediate:!0}),o({clearFilter:y,clearAllFilters:b}),(x,E)=>(e.openBlock(),e.createElementBlock("div",en,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(k)),([M,n])=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:M,mode:t.mode,width:t.width?t.width:n?.width},{ref_for:!0},n,{class:[t.itemClass,n?.class],"item-class":[t.itemClass,n?.itemClass].filter(Boolean).join(" ")||void 0,onChange:E[0]||(E[0]=V=>e.unref(u)(V.name,V.value)),onClear:e.unref(y),layout:"inline",cleanable:!0,modelValue:e.unref(g)[M],"onUpdate:modelValue":V=>e.unref(g)[M]=V}),null,16,["mode","width","class","item-class","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(C),(M,n)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:"slot-"+n,layout:"inline"},{ref_for:!0},M.props,{class:[t.itemClass,M.props?.class],"item-class":[t.itemClass,M.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:E[1]||(E[1]=V=>e.unref(u)(V.name,V.value)),onClear:E[2]||(E[2]=V=>{e.unref(y)(V),e.unref(u)(V,void 0)}),cleanable:!0,modelValue:e.unref(g)[M.props.name],"onUpdate:modelValue":V=>e.unref(g)[M.props.name]=V}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128)),c.value?(e.openBlock(),e.createBlock(pe,e.mergeProps({key:1},i,{schema:t.schema,limit:t.limit,onChange:E[3]||(E[3]=M=>e.unref(u)(M.name,M.value)),onClearAll:E[4]||(E[4]=M=>e.unref(b)()),onClear:E[5]||(E[5]=M=>e.unref(y)(M.name)),mode:t.mode,ref_key:"popoverRef",ref:S,cleanable:!0,"badge-count":F.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(M,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M),e.mergeProps({key:"slot-"+n,layout:"popover"},{ref_for:!0},M.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(r)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:m,class:e.normalizeClass([t.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(l)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),tn={key:0,class:"p-2 overflow-y-auto overflow-hidden [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-800 max-h-[calc(100%-142px)] h-full bg-gray-100"},ln={class:"flex items-center vst-filters vsTailwind flex-col w-full"},nn=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:p}){const l=t,i=p,s=e.useSlots(),{activeFilter:h,activeFilterCount:a,onFilterChange:c,clearFilter:g,clearAllFilters:r,filtersSlot:u}=H({...l,slots:s},i);return o({clearFilter:g,clearAllFilters:r}),(y,b)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("div",ln,[e.unref(a)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:b[0]||(b[0]=k=>e.unref(r)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),type:"button"}," Очистити ",2)):e.createCommentVNode("",!0),t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(t.schema),([k,B])=>(e.openBlock(),e.createBlock(_,e.mergeProps({layout:"vertical"},{ref_for:!0},B,{class:[t.itemClass,B?.class],"item-class":[t.itemClass,B?.itemClass].filter(Boolean).join(" ")||void 0,onChange:b[1]||(b[1]=C=>e.unref(c)(C.name,C.value)),onClear:b[2]||(b[2]=C=>{e.unref(g)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(h)[k],"onUpdate:modelValue":C=>e.unref(h)[k]=C,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(k,B)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:"slot-"+B,layout:"vertical"},{ref_for:!0},k.props,{class:[t.itemClass,k.props?.class],"item-class":[t.itemClass,k.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:b[3]||(b[3]=C=>e.unref(c)(C.name,C.value)),onClear:b[4]||(b[4]=C=>{e.unref(g)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(h)[k.props.name],"onUpdate:modelValue":C=>e.unref(h)[k.props.name]=C,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),on=["onKeydown"],an=["disabled"],rn={key:0,class:"ml-2 inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-full bg-blue-500 px-1.5 text-[11px] font-semibold text-white"},sn={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},cn={class:"mb-3 flex items-center justify-between"},dn={class:"text-[15px] font-semibold text-slate-800"},mn={"aria-hidden":"true"},fn={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},un={key:0,class:"mt-3 flex justify-end"},pn=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{emit:o}){const p=K(),l=t,i=o,s=e.ref({}),h=e.useSlots(),{activeFilter:a,activeFilterCount:c,onFilterChange:g,clearFilter:r,clearAllFilters:u,filtersSlot:y}=H({...l,schema:s.value,slots:h},i),b=e.ref(null),k=e.ref(null),B=e.reactive({open:!1,top:0,left:0}),C=e.computed(()=>B.open),f=e.computed(()=>!!l.disabled),d=e.computed(()=>s.value||{}),A=e.computed(()=>l.title??"Фільтр"),F=e.computed(()=>!!h.trigger),S=e.computed(()=>["inline-flex h-9 items-center justify-center gap-2 rounded-lg border border-transparent bg-slate-200/70 px-3 text-sm font-medium text-slate-700 transition-colors hover:bg-blue-100 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-slate-200/70 disabled:hover:text-slate-700",f.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),m=e.computed(()=>B.open?{position:"absolute",top:`${B.top}px`,left:`${B.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function x(){B.open=!1}function E(){if(!b.value)return;const $=b.value.getBoundingClientRect();B.top=$.bottom+window.scrollY+8,B.left=$.left+$.width/2+window.scrollX}function M(){B.open=!B.open,B.open&&e.nextTick(E)}function n(){f.value||M()}function V(){B.open&&E()}function w(){u()}return e.onMounted(()=>{window.addEventListener("resize",V),window.addEventListener("scroll",V,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",V),window.removeEventListener("scroll",V,!0)}),e.watch(()=>l.schema,$=>{if(!$){s.value={};return}if(Array.isArray($)){const D=$.filter(j=>j&&(j.name||j.id)).map(j=>{const N=j.name||j.id;return[N,{...j,name:N}]});s.value=Object.fromEntries(D);return}s.value=$},{deep:!0,immediate:!0}),e.watch(()=>l.disabled,$=>{$&&x()}),($,D)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:b},[F.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",f.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(n,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(n,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(n,["prevent","stop"]),["space"])]},[e.renderSlot($.$slots,"trigger",{toggle:n,open:C.value,disabled:f.value,activeCount:e.unref(c)})],42,on)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(S.value),type:"button",disabled:f.value,onClick:e.withModifiers(n,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(ue,{class:"h-4 w-4"}),e.unref(c)>0?(e.openBlock(),e.createElementBlock("div",rn,e.toDisplayString(e.unref(c)),1)):e.createCommentVNode("",!0)],10,an)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[C.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof t.width=="number"?`min-w-[${t.width+32+(Object.keys(d.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(m.value),ref_key:"panel",ref:k,onClick:D[4]||(D[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",sn,[e.createElementVNode("div",cn,[e.createElementVNode("h3",dn,e.toDisplayString(A.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:x},[e.createElementVNode("span",mn,[e.createVNode(v,{class:"h-4 w-4"})]),D[5]||(D[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",fn,[Object.keys(d.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(d.value),([j,N])=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:j},{ref_for:!0},{...N,layout:"inline"},{width:t.width?t.width:N?.width,class:[t.itemClass,N?.class],"item-class":[t.itemClass,N?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(a)[j],"onUpdate:modelValue":R=>e.unref(a)[j]=R,onChange:D[0]||(D[0]=R=>e.unref(g)(R.name,R.value)),onClear:D[1]||(D[1]=R=>{e.unref(r)(R),e.unref(g)(R,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),(j,N)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:"slot-"+N,ref_for:!0},{...j.props,layout:"inline"},{class:[t.itemClass,j.props?.class],"item-class":[t.itemClass,j.props?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(a)[j.props.name],"onUpdate:modelValue":R=>e.unref(a)[j.props.name]=R,onChange:D[2]||(D[2]=R=>e.unref(g)(R.name,R.value)),onClear:D[3]||(D[3]=R=>{e.unref(r)(R),e.unref(g)(R,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))]),e.unref(c)>0?(e.openBlock(),e.createElementBlock("div",un,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([t.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:w},e.toDisplayString(e.unref(p)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),yn={class:"mb-6 flex flex-wrap gap-2"},gn=["onClick"],hn={class:"mr-2 flex items-center gap-1"},bn={class:"font-semibold"},xn={class:"text-xs text-gray-500"},Q=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:p}){const l=t,i=e.useAttrs(),s=e.computed(()=>({...l,...i})),h=e.ref(r(l.value??{}));e.watch(()=>l.value,async n=>{h.value=r(n??{}),(!n||Object.keys(n).length===0)&&(await e.nextTick(),c.value?.clearAllFilters?.(!0))},{deep:!0,immediate:!0});const a=p,c=e.ref(),g=e.useSlots();function r(n){if(Array.isArray(n))return n.map(V=>r(V));if(n!==null&&typeof n=="object"){const V=e.toRaw(n),w={};for(const $ in V)w[$]=r(V[$]);return w}return n}function u(n,V){V!==void 0?h.value={...h.value,[n]:V}:delete h.value[n],a("change",{data:r(h.value),name:n,value:r(V)})}function y(n){delete h.value[n],a("clear",{data:r(h.value),name:n}),a("change",{data:r(h.value),name:n,value:null})}function b(){h.value={},a("clear",{data:r(h.value),name:"ALL"}),a("change",{data:r(h.value),name:"ALL",value:null})}const k=e.ref({}),B=e.computed(()=>l.teleportActive);function C(){switch(l.view){case"inline":return ye;case"vertical":return nn;case"popover":return pe;case"popover-inline":return pn;default:return ye}}e.watch(()=>l.schema,n=>{if(!n){k.value={};return}if(Array.isArray(n)&&!n.length){k.value={};return}Array.isArray(n)?k.value=n.filter(V=>V.type).reduce((V,w)=>(Object.assign(w,{name:w.id||w.name,type:{datepicker:"date"}[w.type.toLowerCase()]||w.type.toLowerCase(),label:w.label||w.ua}),V[w.name]=w,w.data&&!w.api&&!w.options&&Object.assign(w,{api:`/api/suggest/${w.data}`}),V),{}):(Object.entries(n).forEach(([V,w])=>{Object.assign(w,{name:V||w.name||w.id,type:w.type.toLowerCase()})}),k.value={...n})},{immediate:!0,deep:!0});function f(n){c.value.clearFilter(n),y(n)}function d(){c.value.clearAllFilters(),b()}const A=e.computed(()=>Object.entries(h.value).filter(([,n])=>n==null?!1:Array.isArray(n)?n.length>0:typeof n=="string"?n.trim().length>0:!0).map(([n,V])=>{const w=k.value[n],$=w?.label||w?.title||n,D=S(w,V);return{key:n,label:$,value:D}}));function F(n){f(n)}function S(n,V){if(!n||V===void 0||V===null)return"";const w=m(V);if(!w.length)return"";const $=x(n);return w.map(D=>$.get(D)??D).filter(Boolean).join(", ")}function m(n){return Array.isArray(n)?n.map(V=>V?.toString?.()??"").filter(Boolean):typeof n=="string"?n.split(",").map(V=>V.trim()).filter(Boolean):[]}function x(n){const V=new Map,w=n.valueKey||"id",$=n.labelKey||"text";return(n.options??[]).forEach(D=>{const j=E(D,w),N=M(D,$);j&&V.set(j,N||j)}),V}function E(n,V){return n?(n[V]??n.id??n.value??n.key)?.toString?.()??"":""}function M(n,V){return n?(n[V]??n.text??n.label??n.value??n.id)?.toString?.()??"":""}return e.watch(()=>h.value,n=>{if(l.history){const V=new URL(window.location.href),w=new URLSearchParams(window.location.search);Object.keys(n).length>0?w.set("filter",Object.entries(n).filter(([,$])=>$).map(([$,D])=>`${$}=${D}`).join("|")):w.delete("filter"),V.search=decodeURI(w.toString()),window.history.pushState({},"",V)}}),o({clearAllFilters:d,clearFilter:f}),(n,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C()),e.mergeProps(s.value,{schema:k.value,onChange:V[0]||(V[0]=w=>u(w.name,w.value)),onClear:V[1]||(V[1]=w=>y(w.name)),onClearAll:b,ref_key:"filterRef",ref:c}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:2},[e.unref(g).trigger?{name:"trigger",fn:e.withCtx(w=>[e.renderSlot(n.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(w)))]),key:"0"}:void 0]),1040,["schema"])),B.value&&A.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:B.value},[e.createElementVNode("div",yn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,w=>(e.openBlock(),e.createElementBlock("button",{key:w.key,type:"button",class:"ga1u8 zw1wr sr4j9 flex items-center zu875 kew0r w9dei w4xo0 kghwt wz1vo focus:outline-hidden gugmw dark:bg-emerald-500 dark:hover:bg-emerald-600 dark:focus:bg-emerald-600 bg-white border border-gray-200 px-3 py-1 rounded-full text-sm text-gray-700",onClick:$=>F(w.key)},[e.createElementVNode("span",hn,[e.createElementVNode("span",bn,e.toDisplayString(w.label),1),e.createElementVNode("span",xn,"· "+e.toDisplayString(w.value),1)]),V[2]||(V[2]=e.createElementVNode("span",{class:"g424j flex flex-col jkwm1 items-center b9gop aqyoh ad7q2 kghwt t4363 q7nhl dark:text-emerald-500"},[e.createElementVNode("svg",{class:"e731n u28hb",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})])],-1))],8,gn))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});Q.install=function(o){o.component("Filter",Q),o.component("FilterField",_)},T.Filter=Q,T.FilterField=_,T.default=Q,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|