@opengis/filter 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(F,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):(F=typeof globalThis<"u"?globalThis:F||self,e(F.FilterLib={},F.Vue,F.OpenGISCore))})(this,(function(F,e,Z){"use strict";const R=(t,o)=>{const u=t.__vccOpts||t;for(const[l,a]of o)u[l]=a;return u},fe={},ue={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 me(t,o){return e.openBlock(),e.createElementBlock("svg",ue,[...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 pe=R(fe,[["render",me]]),ge={class:"flex items-center justify-between w-full text-sm"},ye={class:"flex items-center cursor-pointer w-full"},xe={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},he=["value"],be={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},ke={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},we={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Y=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:u}){const l=t,a=u;function n(){a("itemClick",l.value)}const y=e.ref(null);return o({el:y}),(r,d)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:y},[e.createElementVNode("div",ge,[e.createElementVNode("div",ye,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(t.layout)?"text-sm 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-sm text-gray-500 cursor-pointer",{"bg-blue-100":t.highlighted}]),onClick:e.withModifiers(n,["stop","prevent"])},[e.createElementVNode("div",{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",xe)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:t.value},null,8,he),e.createElementVNode("div",be,[e.createElementVNode("span",ke,e.toDisplayString(t.label??"Відсутні данні"),1),t.count?(e.openBlock(),e.createElementBlock("div",we," ("+e.toDisplayString(t.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function J(t,o){const{options:u=[],limit:l=20}=t;function a(c){return Array.isArray(c)?c[0]:c}const n=e.ref(a(t.modelValue)),y=e.ref(""),r=e.ref(!1),d=e.ref([]),m=e.ref("id"),p=e.ref("text"),s=e.ref(!1),h=e.ref(t.layout!=="popover"&&u.length>l);function b(c){const x=c.find(Boolean)??{},B=["id","value","code","key"].find(E=>E in x)??"id",C=["text","label","name","title"].find(E=>E in x)??"text";return{autoValueKey:B,autoLabelKey:C}}if(u.length>0){const c=b(u);m.value=c.autoValueKey,p.value=c.autoLabelKey}const w=e.computed(()=>{const c=d.value;return t.layout==="popover"||s.value?c:c.slice(0,l)});e.watch(()=>t.modelValue,c=>{n.value=a(c)},{immediate:!0}),d.value=[...u].sort((c,x)=>t.sort==="count"?x.count&&c.count?x.count-c.count:0:t.sort==="name"?String(c[p.value]??"").localeCompare(String(x[p.value]??"")):0);function f(c){return n.value===c[m.value]}function i(c){n.value=c[m.value],o("update:modelValue",n.value),o("change",{name:t.name,value:n.value})}function g(){n.value=void 0,o("update:modelValue",n.value),o("clear",t.name)}function k(){s.value=!s.value}return{innerValue:n,searchTerm:y,filteredOptions:w,isSelected:f,selectItem:i,clear:g,toggleShowAll:k,isReqProc:r,showAll:s,isEnableShowAll:h,labelKey:p,valueKey:m,allOptions:d}}const Ve={},Be={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ce(t,o){return e.openBlock(),e.createElementBlock("svg",Be,[...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 q=R(Ve,[["render",Ce]]),Ee={},Ne={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 De(t,o){return e.openBlock(),e.createElementBlock("svg",Ne,[...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 U=R(Ee,[["render",De]]),Se={},$e={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 Ae(t,o){return e.openBlock(),e.createElementBlock("svg",$e,[...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 W=R(Se,[["render",Ae]]),Fe={key:0,class:"w-full"},Re={class:"flex flex-col items-center justify-center p-5 text-center"},Me={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Te={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_e=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=e.ref(null),n=u,{innerValue:y,filteredOptions:r,isSelected:d,selectItem:m,clear:p,toggleShowAll:s,isReqProc:h,showAll:b,isEnableShowAll:w,labelKey:f,valueKey:i,allOptions:g}=J({...l,modelValue:l.modelValue??l.default??""},n);return o({clear:p,inputTextRef:a}),e.watch(()=>l.modelValue,k=>{k===void 0&&(y.value=void 0)}),(k,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto max-h-64 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(r),x=>(e.openBlock(),e.createBlock(Y,{layout:t.layout,key:x[e.unref(i)],count:x.count,label:x[e.unref(f)],color:x.color,type:"radio",value:x[e.unref(i)],"is-selected":e.unref(d)(x),onItemClick:B=>e.unref(m)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(r).length===0&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("div",Re,[e.createVNode(q),c[4]||(c[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(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:c[0]||(c[0]=(...x)=>e.unref(s)&&e.unref(s)(...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"},[c[5]||(c[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:c[1]||(c[1]=(...x)=>e.unref(s)&&e.unref(s)(...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"},[c[6]||(c[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(W)])):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",Me,[e.createTextVNode(e.toDisplayString(e.unref(y)||e.unref(y)===null?1:0)+" з "+e.toDisplayString(e.unref(g).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[2]||(c[2]=(...x)=>e.unref(p)&&e.unref(p)(...x))}," Очистити ",512),[[e.vShow,e.unref(y)!==""&&e.unref(y)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("span",null,e.toDisplayString(e.unref(y)||e.unref(y)===null?1:0)+" з "+e.toDisplayString(e.unref(g).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[3]||(c[3]=(...x)=>e.unref(p)&&e.unref(p)(...x))}," Очистити ",512),[[e.vShow,e.unref(y)!==""&&e.unref(y)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function v(t,o){const{options:u=[],limit:l=20}=t;function a(c){return Array.isArray(c)?c:c?[c]:[]}const n=e.ref(a(t.modelValue)),y=e.ref(""),r=e.ref(!1),d=e.ref([]),m=e.ref("id"),p=e.ref("text"),s=e.ref(!1),h=e.ref(t.layout!=="popover"&&u.length>l);function b(c){const x=c.find(Boolean)??{},B=["id","value","code","key"].find(E=>E in x)??"id",C=["text","label","name","title"].find(E=>E in x)??"text";return{autoValueKey:B,autoLabelKey:C}}if(u.length>0){const c=b(u);m.value=c.autoValueKey,p.value=c.autoLabelKey}const w=e.computed(()=>{const c=d.value;return t.layout==="popover"||s.value?c:c.slice(0,l)});e.watch(()=>t.modelValue,c=>{n.value=a(c)},{immediate:!0}),d.value=[...u].sort((c,x)=>t.sort==="count"?x.count&&c.count?x.count-c.count:0:t.sort==="name"?String(c[p.value]).localeCompare(String(x[p.value])):0);function f(c){return n.value&&n.value.includes(c[m.value])}function i(c){const x=n.value.includes(c[m.value]);n.value=x?n.value.filter(B=>B!==c[m.value]):[...n.value,c[m.value]],o("update:modelValue",n.value),o("change",{name:t.name,value:n.value})}function g(){n.value=[],o("update:modelValue",n.value),o("clear",t.name)}function k(){s.value=!s.value}return{innerValue:n,searchTerm:y,filteredOptions:w,isSelected:f,selectItem:i,clear:g,toggleShowAll:k,isReqProc:r,showAll:s,isEnableShowAll:h,labelKey:p,valueKey:m,allOptions:d}}const ee={en:{search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next"},uk:{search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період"}};function je(t){const o=t.split(".")[1];return(ee[localStorage.locale||navigator.language]||ee.uk)[o]}function L(){const t=e.getCurrentInstance();return t.appContext.config.globalProperties.$i18n?t.appContext.config.globalProperties.$t:je}const Le={key:0,class:"w-full"},Ke={class:"flex flex-col items-center justify-center p-5 text-center"},ze={class:"max-w-sm mx-auto mt-6"},Ie={class:"font-medium text-gray-800 dark:text-neutral-200"},Ue={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Oe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},te=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=L(),a=t,n=u,{innerValue:y,filteredOptions:r,isSelected:d,selectItem:m,clear:p,toggleShowAll:s,isReqProc:h,showAll:b,isEnableShowAll:w,labelKey:f,valueKey:i,allOptions:g}=v({...a,modelValue:a.modelValue},n);return e.watch(()=>a.modelValue,k=>{k===void 0&&(y.value=[])}),o({clear:p}),(k,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col 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 max-h-64 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(r),x=>(e.openBlock(),e.createBlock(Y,{layout:t.layout,count:x.count,label:x[e.unref(f)],color:x.color,type:"checkbox",value:x[e.unref(i)],"is-selected":e.unref(d)(x),onItemClick:B=>e.unref(m)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(r).length===0&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",Ke,[e.createVNode(q),e.createElementVNode("div",ze,[e.createElementVNode("p",Ie,e.toDisplayString(e.unref(l)("filter.notfound")),1),c[4]||(c[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(b)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:c[0]||(c[0]=(...x)=>e.unref(s)&&e.unref(s)(...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"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.more"))+" ",1),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:c[1]||(c[1]=(...x)=>e.unref(s)&&e.unref(s)(...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"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.less"))+" ",1),e.createVNode(W)])):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",Ue,[e.createTextVNode(e.toDisplayString(e.unref(y).length)+" / "+e.toDisplayString(e.unref(g).length)+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[2]||(c[2]=(...x)=>e.unref(p)&&e.unref(p)(...x))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(y).length!==0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(y).length)+" / "+e.toDisplayString(e.unref(g).length)+" "+e.toDisplayString(e.unref(l)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[3]||(c[3]=(...x)=>e.unref(p)&&e.unref(p)(...x))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(y).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Pe={},Ye={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 qe(t,o){return e.openBlock(),e.createElementBlock("svg",Ye,[...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 le=R(Pe,[["render",qe]]),We={},Qe={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 Ge(t,o){return e.openBlock(),e.createElementBlock("svg",Qe,[...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 ne=R(We,[["render",Ge]]);class Q{static getWidthClass(o){return typeof o=="number"?`max-w-[${o}px]`:typeof o=="string"?o.endsWith("%")||o.endsWith("px")?`max-w-[${o}]`:`max-w-${o}`:"w-full"}}const He={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Xe=["placeholder"],Ze=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:{}},emits:["update:modelValue","change","clear"],setup(t,{emit:o}){const u=t,l=e.ref((u.placeholder||u.label||u.title||u.name||"search").toString()),a=o,n=e.ref(u.modelValue?.toString()??"");e.watch(()=>u.modelValue,m=>{m!==n.value&&(n.value=m?.toString()??"")});let y=null;function r(){if(n.value=n.value.trimStart(),n.value.length===0){d();return}y&&clearTimeout(y),y=setTimeout(()=>{a("update:modelValue",n.value),a("change",{name:u.name,value:n.value})},300)}function d(){n.value="",a("update:modelValue",""),a("clear",u.name)}return(m,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-lg [&>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]:rounded-lg [&>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==="inline"?e.unref(Q).getWidthClass(t.width):"mb-2"+(t.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",He,[e.createVNode(le)]),n.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:d,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(ne)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":p[0]||(p[0]=s=>n.value=s),onInput:r,placeholder:l.value,class:"!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 rounded-lg 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"},null,40,Xe),[[e.vModelText,n.value]])],2))}});function oe(t={color:"blue"}){return e.computed(()=>{const u=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${t.color}-500 focus:border-transparent`;return t?.size==="sm"?`${u}h-[32px]`:`${u}h-[38px]`})}function Je(){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 ve(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function re(t){return t==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent 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-lg border border-transparent bg-gray-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-2 bg-transparent h-[38px]"}const et={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},tt=["placeholder","disabled"],lt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},nt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ot=["placeholder","disabled"],rt=["disabled"],zl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Il={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},at=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=oe(),a=Je(),n=L(),y=t,r=e.ref(y.modelValue??y.default??[]),d=u,m=e.computed({get:()=>y.modelValue??r.value,set:h=>{y.modelValue!==void 0?d("update:modelValue",h):r.value=h}});function p(){d("change",{name:y.name,value:m.value||r.value})}function s(){r.value=[],m.value=r.value,d("clear",y.name)}return e.watch(()=>y.modelValue,h=>{h!==void 0&&y.layout!=="popover"?(r.value=h,d("update:modelValue",h)):r.value=[]}),o({clear:s,currentValue:m}),(h,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",et,e.toDisplayString(e.unref(n)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[0]??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":b[0]||(b[0]=w=>m.value[0]=w),disabled:t.disabled},null,10,tt),[[e.vModelText,m.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",lt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",nt,e.toDisplayString(e.unref(n)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[1]??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":b[1]||(b[1]=w=>m.value[1]=w),disabled:t.disabled},null,10,ot),[[e.vModelText,m.value[1]]])]),["popover","inline","vertical"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:p,class:e.normalizeClass(e.unref(a)+(t.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(t.layout==="vertical"?"Ok":e.unref(n)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(m.value[0]||m.value[1]),onClick:s,class:e.normalizeClass(e.unref(a)+" hover:bg-gray-100")},e.toDisplayString(e.unref(n)("filter.clear")),11,rt)):e.createCommentVNode("",!0)],2)]),(t.cleanable&&r.value.length,e.createCommentVNode("",!0))],64))}});function it(t){return String(t).charAt(0).toUpperCase()+String(t).slice(1)}class ${static format(o){const u=o.getFullYear(),l=(o.getMonth()+1).toString().padStart(2,"0"),a=o.getDate().toString().padStart(2,"0");return`${u}-${l}-${a}`}static getShiftedDay(o,u=0){const l=o?new Date(o):new Date;return l.setDate(l.getDate()+u),this.format(l)}static getLastWeekRange(o,u,l=0){if(o&&u){const m=new Date(o),p=new Date(u);return m.setDate(m.getDate()+l*7),p.setDate(p.getDate()+l*7),[this.format(m),this.format(p)]}const a=new Date,n=a.getDay(),y=n===0?13:n-1+7,r=new Date(a);r.setDate(a.getDate()-y+l*7);const d=new Date(r);return d.setDate(r.getDate()+6),[this.format(r),this.format(d)]}static getMonthRange(o,u,l=0){let a;o?a=new Date(o):a=new Date,a=new Date(a.getFullYear(),a.getMonth()+l,1);const n=a,y=new Date(a.getFullYear(),a.getMonth()+1,0);return[this.format(n),this.format(y)]}static getQuarterRange(o,u,l=0){const a=o||u,n=a?new Date(a):new Date;let y=Math.floor(n.getMonth()/3);y+=l;const r=(y%4+4)%4*3,d=n.getFullYear()+Math.floor(y/4),m=new Date(d,r,1),p=new Date(d,r+3,0);return[this.format(m),this.format(p)]}static getYear(o,u=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+u)}static getYearRange(o,u=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+u,0,1)),this.format(new Date(l+u+1,0,0))]}static getRangeFromDaysBefore(o){const u=new Date,l=new Date(u.getTime());return l.setDate(u.getDate()-o),[this.format(l),this.format(u)]}}function ae(t,o){const{popoverRef:u}=t,l=L(),a=e.ref(""),n=e.ref(t.modelValue??t.default??[]),y=e.ref(0);function r(){const g=$.getRangeFromDaysBefore(y.value);return n.value=[...g],o("change",{name:t.name,value:n.value}),o("update:modelValue",n.value),g}function d(g){a.value=g,u.value?.close();const k=[];switch(a.value){case"today":k.push($.getShiftedDay()),k.push($.getShiftedDay());break;case"week":k.push(...$.getLastWeekRange());break;case"month":k.push(...$.getMonthRange());break;case"quarter":k.push(...$.getQuarterRange());break;case"year":k.push(...$.getYearRange());break;case"last_7_days":y.value=7,r();break;case"range":y.value=7,k.push(...r());break}n.value=[...k],o("change",{name:t.name,value:n.value}),o("update:modelValue",n.value)}function m(){const g=[];switch(a.value){case"today":g.push($.getShiftedDay(n.value[0],1));break;case"week":g.push(...$.getLastWeekRange(n.value[0],n.value[1],1));break;case"month":g.push(...$.getMonthRange(n.value[0],n.value[1],1));break;case"quarter":g.push(...$.getQuarterRange(n.value[0],n.value[1],1));break;case"year":g.push(...$.getYearRange(n.value[0],1));break}n.value=[...g],o("change",{name:t.name,value:n.value}),o("update:modelValue",n.value)}function p(){const g=[];switch(a.value){case"today":g.push($.getShiftedDay(n.value[0],-1));break;case"week":g.push(...$.getLastWeekRange(n.value[0],n.value[1],-1));break;case"month":g.push(...$.getMonthRange(n.value[0],n.value[1],-1));break;case"quarter":g.push(...$.getQuarterRange(n.value[0],n.value[1],-1));break;case"year":g.push(...$.getYearRange(n.value[0],-1));break}n.value=[...g],o("change",{name:t.name,value:n.value}),o("update:modelValue",n.value)}const s=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function h(g){const[k,c,x]=g.split("-");return`${x}.${c}.${k}`}function b(g,k="long"){const c=new Date(Date.UTC(2e3,g-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:k,timeZone:"UTC"}).format(c)}function w(g){const{value:k}=n;switch(g){case"today":return h(k[0]);case"range":return"Період";case"week":return k[0]&&k[1]?`${h(k[0])} – ${h(k[1])}`:"";case"quarter":if(k[0]){const c=new Date(k[0]),x=c.getFullYear(),B=c.getMonth();return`${Math.floor(B/3)+1} ${l("filter.quarter")} ${x}`}return"";case"month":if(k[0]){const[c,x]=k[0].split("-");return`${b(parseInt(x,10))} ${c}`}return"";case"year":return k[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const f=e.computed(()=>a.value?w(a.value):t.label??"");function i(){a.value="",n.value=[],o("update:modelValue",[]),o("clear",t.name)}return{activeMode:a,innerValue:n,daysBefore:y,onDaysBeforeChange:r,onSelectChange:d,nextClick:m,prevClick:p,ukMonths:s,formatDisplayDate:h,getModeLabel:w,currentLabel:f,clear:i}}const st={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},ct={key:0,class:"flex gap-1 !w-[75%] rounded-lg"},dt=["max","disabled"],ft=["min","disabled"],ut={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},mt=["max","disabled"],pt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},gt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},yt=["min","disabled"],xt={class:"flex gap-1 pt-2"},ht=["onClick"],Ul={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},bt=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=oe(),n=ve(),y=u,r=e.ref(null),{activeMode:d,innerValue:m,onSelectChange:p,nextClick:s,prevClick:h,clear:b}=ae({...l,popoverRef:r},y);return e.watch(()=>l.modelValue,w=>{w!==void 0?(m.value=w,y("update:modelValue",w)):(d.value="",m.value=[])}),o({clear:b,popoverRef:r}),(w,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",st,[e.unref(d)!==""&&e.unref(d)==="range"?(e.openBlock(),e.createElementBlock("div",ct,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(m)[1],locale:"uk-UA","onUpdate:modelValue":f[0]||(f[0]=i=>e.unref(m)[0]=i),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:t.disabled},null,8,dt),[[e.vModelText,e.unref(m)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(m)[0],locale:"uk-UA","onUpdate:modelValue":f[1]||(f[1]=i=>e.unref(m)[1]=i),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,8,ft),[[e.vModelText,e.unref(m)[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",ut,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(m)[1],locale:"uk-UA","onUpdate:modelValue":f[2]||(f[2]=i=>e.unref(m)[0]=i),class:e.normalizeClass(e.unref(a)),disabled:t.disabled},null,10,mt),[[e.vModelText,e.unref(m)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",pt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",gt,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(m)[0],locale:"uk-UA","onUpdate:modelValue":f[3]||(f[3]=i=>e.unref(m)[1]=i),class:e.normalizeClass(e.unref(a)),disabled:t.disabled},null,10,yt),[[e.vModelText,e.unref(m)[1]]])],2)],2),e.createElementVNode("div",xt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],i=>e.createElementVNode("button",{key:i,class:e.normalizeClass(e.unref(n)+(e.unref(d)===i?" bg-blue-100":"")),onClick:g=>e.unref(p)(i)},e.toDisplayString(e.unref(it)(i)),11,ht)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n)),onClick:f[4]||(f[4]=(...i)=>e.unref(h)&&e.unref(h)(...i))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n)),onClick:f[5]||(f[5]=(...i)=>e.unref(s)&&e.unref(s)(...i))}," >",2)]),(t.cleanable,e.createCommentVNode("",!0))],64))}});function kt(t,o){const{api:u,options:l=[],limit:a=20,dataKey:n="data"}=t,y=t.multi;function r(V){return y?Array.isArray(V)?V:V?[V]:[]:Array.isArray(V)?V[0]:V}const d=e.ref(r(t.modelValue)),m=e.ref(""),p=e.ref(!1),s=e.ref(l),h=e.ref("id"),b=e.ref("text"),w=e.ref(!1),f=e.ref(t.layout!=="popover"&&l.length>a),i=e.ref([]),g=e.ref(0);function k(V){const S=V.find(Boolean)??{},A=["id","value","code","key"].find(I=>I in S)??"id",z=["text","label","name","title"].find(I=>I in S)??"text";return{autoValueKey:A,autoLabelKey:z}}if(l.length>0){const V=k(l);h.value=V.autoValueKey,b.value=V.autoLabelKey}const c=e.computed(()=>{if(u)return s.value;const V=s.value;if(t.layout==="popover")return V;if(!m.value)return w.value?V:V.slice(0,a);const S=m.value.toLowerCase();return V.filter(A=>A[b.value].toLowerCase().includes(S))});let x=null;async function B(V){if(u){p.value=!0;try{const S=new URL(u,window.location.origin);S.searchParams.set("json","1"),S.searchParams.set("key",V),S.searchParams.set("limit",a.toString());const A=await fetch(S.toString());if(!A.ok){Z.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),s.value=[];return}const z=await A.json();if(!z[n]){Z.notify({type:"error",title:"Error",message:z}),s.value=[];return}if(s.value=z[n],s.value.length>0){const I=k(s.value);h.value=I.autoValueKey,b.value=I.autoLabelKey}g.value=z.total}catch(S){console.error("Failed to fetch remote options:",S)}finally{p.value=!1}}}e.watch(m,V=>{u&&(x&&clearTimeout(x),x=setTimeout(()=>{B(V)},200))}),e.watch(()=>t.modelValue,V=>{d.value=r(V)},{immediate:!0});function C(V){return y&&Array.isArray(d.value)?d.value.includes(V[h.value]):d.value&&d.value===V[h.value]}function E(V){if(y&&!Array.isArray(d.value)&&(d.value=[]),y&&Array.isArray(d.value)){const S=d.value.includes(V[h.value]);d.value=S?d.value.filter(A=>A!==V[h.value]):[...d.value,V[h.value]],i.value=S?i.value.filter(A=>A!==V[b.value]):[...i.value,V[b.value]]}else d.value=V[h.value],i.value=V[b.value];o("update:modelValue",d.value),o("change",{name:t.name,value:d.value})}function T(){y?(d.value=[],i.value=[]):(d.value=void 0,i.value=[]),o("update:modelValue",d.value),o("clear",t.name)}function K(){x&&clearTimeout(x),m.value="",w.value=!1}function _(){w.value=!w.value}e.onBeforeUnmount(()=>{x&&clearTimeout(x)});const N=e.ref(-1);e.watch(c,()=>{N.value=c.value.length>0?0:-1});function D(V){const S=c.value.length;if(V.key==="ArrowDown")V.preventDefault(),N.value=(N.value+1)%S;else if(V.key==="ArrowUp")V.preventDefault(),N.value=(N.value-1+S)%S;else if(V.key==="Enter"&&(V.preventDefault(),N.value>=0&&N.value<c.value.length)){const A=c.value[N.value];E(A)}}function P(){u&&s.value.length===0&&m.value.length===0&&B(m.value)}return{innerValue:d,searchTerm:m,filteredOptions:c,isSelected:C,selectItem:E,clear:T,resetSearch:K,toggleShowAll:_,isReqProc:p,showAll:w,isEnableShowAll:f,labelKey:b,valueKey:h,allOptions:s,highlightedIndex:N,onKeyDown:D,selectedLabels:i,totalCount:g,loadData:P}}const wt={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Vt=["placeholder"],Bt={key:0,class:"w-full"},Ct={class:"flex flex-col items-center justify-center p-5 text-center"},Et={class:"max-w-sm mx-auto mt-6"},Nt={class:"font-medium text-gray-800 dark:text-neutral-200"},Dt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},St={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},$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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=L(),a=t,n=u,y=e.ref(null),{innerValue:r,filteredOptions:d,isSelected:m,selectItem:p,clear:s,resetSearch:h,toggleShowAll:b,isReqProc:w,showAll:f,isEnableShowAll:i,searchTerm:g,labelKey:k,valueKey:c,highlightedIndex:x,onKeyDown:B,selectedLabels:C,totalCount:E,loadData:T}=kt({...a,modelValue:a.modelValue},n);e.onMounted(()=>{h(),a.layout!=="inline"&&(T(),y.value&&a.layout==="popover"&&y.value.focus())}),e.watch(()=>a.modelValue,_=>{_===void 0&&(a.multi?r.value=[]:r.value=void 0)});const K=e.ref([]);return e.watch(x,_=>{_>=0&&K.value[_]&&K.value[_]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(d,()=>{K.value=[]}),o({clear:s,inputTextRef:y,selectedLabels:C,loadData:T}),(_,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",wt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":N[0]||(N[0]=D=>e.isRef(g)?g.value=D:null),onKeydown:N[1]||(N[1]=(...D)=>e.unref(B)&&e.unref(B)(...D)),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:y},null,40,Vt),[[e.vModelText,e.unref(g)]]),e.createVNode(le,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(g)!=""?(e.openBlock(),e.createBlock(ne,{key:0,onClick:N[2]||(N[2]=D=>g.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 max-h-64 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(d),(D,P)=>(e.openBlock(),e.createBlock(Y,{layout:t.layout,count:D.count,label:D[e.unref(k)],color:D.color,type:t.multi?"checkbox":"radio",value:D[e.unref(c)],"is-selected":e.unref(m)(D),highlighted:P===e.unref(x),onItemClick:V=>e.unref(p)(D),ref_for:!0,ref:V=>K.value[P]=V?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),t.type==="select"&&e.unref(d).length===0&&!e.unref(w)?(e.openBlock(),e.createElementBlock("div",Bt,[e.createElementVNode("div",Ct,[e.createVNode(q),e.createElementVNode("div",Et,[e.createElementVNode("p",Nt,e.toDisplayString(e.unref(l)("filter.notfound")),1),N[7]||(N[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(f)&&e.unref(i)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:N[3]||(N[3]=(...D)=>e.unref(b)&&e.unref(b)(...D)),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(U)])):e.createCommentVNode("",!0),e.unref(f)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:N[4]||(N[4]=(...D)=>e.unref(b)&&e.unref(b)(...D)),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(W)])):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",Dt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(r))?e.unref(r)?.length:e.unref(r)!==void 0&&(e.unref(r)||e.unref(r)===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:N[5]||(N[5]=(...D)=>e.unref(s)&&e.unref(s)(...D))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(r)!==""&&e.unref(r)!==void 0||e.unref(r)]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",St,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(r))?e.unref(r)?.length:e.unref(r)!==void 0&&(e.unref(r)||e.unref(r)===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:N[6]||(N[6]=(...D)=>e.unref(s)&&e.unref(s)(...D))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(r)!==""&&e.unref(r)!==void 0||e.unref(r)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),At=["for","onClick"],Ft=["id","name","value"],Rt={class:"block"},Mt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Tt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_t=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=u,{innerValue:n,isSelected:y,selectItem:r,clear:d,labelKey:m,valueKey:p,allOptions:s}=l.multi?v({...l,modelValue:l.modelValue??l.default??[]},a):J({...l,modelValue:l.modelValue!==void 0?l.modelValue:l.default??""},a);return o({clear:d}),e.watch(()=>l.modelValue,h=>{h===void 0&&(l.multi?n.value=[]:n.value=void 0)}),(h,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",t.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),w=>(e.openBlock(),e.createElementBlock("label",{key:`item-${w[e.unref(p)]}`,for:`item-${w[e.unref(p)]}`,onClick:e.withModifiers(f=>e.unref(r)(w),["stop","prevent"]),class:e.normalizeClass([e.unref(y)(w)?"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-lg 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-${w[e.unref(p)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${w[e.unref(p)]}`,value:w[e.unref(p)]},null,8,Ft),e.createElementVNode("span",Rt,e.toDisplayString(w[e.unref(m)]),1)],10,At))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Mt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(n))?e.unref(n)?.length:e.unref(n)!==void 0&&(e.unref(n)||e.unref(n)===null)?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[0]||(b[0]=(...w)=>e.unref(d)&&e.unref(d)(...w))}," Очистити ",512),[[e.vShow,e.unref(n)!==""&&e.unref(n)!==void 0||e.unref(n)]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Tt,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(n))?e.unref(n)?.length:e.unref(n)!==void 0&&(e.unref(n)||e.unref(n)===null)?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[1]||(b[1]=(...w)=>e.unref(d)&&e.unref(d)(...w))}," Очистити ",512),[[e.vShow,e.unref(n)!==void 0&&e.unref(n)!==""||e.unref(n)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),jt=["disabled","title"],Lt={key:0,class:"absolute top-0 end-0 inline-flex min-h-[10px] min-w-[10px] z-10 items-center py-0.5 rounded-full text-xs font-medium transform -translate-y-1/2 translate-x-1/2 bg-blue-600 text-white px-1"},Kt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg 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"},zt={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"},G=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 u=t,l=e.computed(()=>re(u.mode)),a=e.ref(!1),n=e.ref({top:0,left:0}),y=e.ref(null),r=e.ref(null),d=e.ref(null);function m(){const k=r.value,c=d.value;if(!k||!c)return;const x=k.getBoundingClientRect(),B=c.offsetWidth,C=window.innerWidth,E=x.bottom+8;let{left:T}=x;T+B>C&&(T=Math.max(C-B-10,10)),n.value={top:E,left:T}}function p(){console.log("~~~~~~~~~~"),console.log(a.value),a.value=!a.value,console.log(a.value),a.value&&e.nextTick(()=>{m(),u.fieldRef?.inputTextRef&&u.fieldRef?.inputTextRef?.focus?.(),u.fieldRef?.loadData&&u.fieldRef?.loadData?.()})}function s(k){!y.value?.contains(k.target)&&!d.value?.contains(k.target)&&!r.value?.contains(k.target)&&(a.value=!1)}function h(k){k.key==="Escape"&&(a.value=!1)}const b=e.ref(!1),w=e.ref("ua"),f=k=>{k.detail.key==="locale"&&(w.value=k.detail.newValue)};e.onMounted(()=>{b.value=!0,w.value=localStorage.locale,window.addEventListener("storage",f),document.addEventListener("click",s,!0),document.addEventListener("keydown",h),window.addEventListener("scroll",m,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",f),document.removeEventListener("click",s,!0),document.removeEventListener("keydown",h),window.removeEventListener("scroll",m,!0)});function i(){a.value=!1}o({close:i});const g=e.computed(()=>{const k=u.fieldRef?.selectedLabels;return!k||["inline"].includes(u.layout||"")?u[w.value]||(u.label??""):Array.isArray(k)?k.length>0?k.join(", "):u.label??"":String(k)});return(k,c)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:p,disabled:t.disabled,ref_key:"triggerRef",ref:r,title:t.label,class:e.normalizeClass(l.value+" "+(t.width?e.unref(Q).getWidthClass(t.width):"w-full"))},[e.createElementVNode("span",{class:e.normalizeClass(["truncate text-ellipsis block",t.width?e.unref(Q).getWidthClass(t.width-50):"w-full"])},e.toDisplayString(g.value),3),e.createVNode(U,{class:"h-4 w-4"}),(Array.isArray(t.currentValue)?t.currentValue===null||t.currentValue.length>0:t.currentValue===null||t.currentValue)&&t.layout==="inline"?(e.openBlock(),e.createElementBlock("span",Lt)):e.createCommentVNode("",!0)],10,jt),b.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:d,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${n.value.top}px`,left:`${n.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Kt,[e.createElementVNode("div",zt,[e.renderSlot(k.$slots,"default")])])],4),[[e.vShow,a.value]])])):e.createCommentVNode("",!0)]))}}),It={},Ut={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 Ot(t,o){return e.openBlock(),e.createElementBlock("svg",Ut,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const j=R(It,[["render",Ot]]),Pt={},Yt={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 qt(t,o){return e.openBlock(),e.createElementBlock("svg",Yt,[...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 Wt=R(Pt,[["render",qt]]),Qt={},Gt={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 Ht(t,o){return e.openBlock(),e.createElementBlock("svg",Gt,[...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 Xt=R(Qt,[["render",Ht]]),Zt={class:"flex"},Jt={class:"mb-1"},vt={class:"mb-1"},el={class:"inline-flex rounded-lg shrink-0 pl-1"},tl=["title"],ll={class:"inline-flex rounded-lg shrink-0 pl-1"},nl=["title"],ol={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},rl=["max","disabled"],al=["min","disabled"],Ol={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ie={radio:_e,checkbox:te,check:te,text:Ze,range:at,date:bt,select:$t,tag:_t,"date:inline":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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=L(),a=t,n=u,y=e.ref(null),{activeMode:r,innerValue:d,onSelectChange:m,nextClick:p,prevClick:s,currentLabel:h,clear:b}=ae({...a,popoverRef:y},n);return e.watch(()=>a.modelValue,w=>{w!==void 0?(d.value=w,n("update:modelValue",w)):(r.value="",d.value=[])}),o({clear:b,popoverRef:y}),(w,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Zt,[e.createVNode(G,{ref_key:"popoverRef",ref:y,label:e.unref(h),"current-value":e.unref(d),mode:t.mode,onClear:e.unref(b),layout:t.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[0]||(f[0]=i=>e.unref(m)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg 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(r)==="range"?(e.openBlock(),e.createBlock(j,{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]=i=>e.unref(m)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg 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(r)==="today"?(e.openBlock(),e.createBlock(j,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[2]||(f[2]=i=>e.unref(m)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg 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(r)==="week"?(e.openBlock(),e.createBlock(j,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[3]||(f[3]=i=>e.unref(m)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg 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(r)==="month"?(e.openBlock(),e.createBlock(j,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:f[4]||(f[4]=i=>e.unref(m)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg 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(r)==="quarter"?(e.openBlock(),e.createBlock(j,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Jt,[e.createElementVNode("button",{type:"button",onClick:f[5]||(f[5]=i=>e.unref(m)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg 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(r)==="year"?(e.openBlock(),e.createBlock(j,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",vt,[e.createElementVNode("button",{type:"button",onClick:f[6]||(f[6]=i=>e.unref(b)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg 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(d)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(j,{key:0}))])])]),_:1},8,["label","current-value","mode","onClear","layout"]),e.unref(r)!==""&&e.unref(r)!=="range"&&e.unref(r)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",el,[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]=(...i)=>e.unref(s)&&e.unref(s)(...i))},[e.createVNode(Wt)],8,tl)]),e.createElementVNode("div",ll,[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]=(...i)=>e.unref(p)&&e.unref(p)(...i))},[e.createVNode(Xt)],8,nl)])],64)):e.createCommentVNode("",!0),e.unref(r)!==""&&e.unref(r)==="range"?(e.openBlock(),e.createElementBlock("div",ol,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(d)[1],locale:"uk-UA","onUpdate:modelValue":f[9]||(f[9]=i=>e.unref(d)[0]=i),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:t.disabled},null,8,rl),[[e.vModelText,e.unref(d)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(d)[0],locale:"uk-UA","onUpdate:modelValue":f[10]||(f[10]=i=>e.unref(d)[1]=i),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,8,al),[[e.vModelText,e.unref(d)[1]]])])):e.createCommentVNode("",!0)]),(t.cleanable,e.createCommentVNode("",!0))],64))}})};function H(t,o){let u;switch(t.toLowerCase()){case"autocomplete":u="select";break;case"check":u="checkbox";break;default:u=t?.toString().toLowerCase()}return u==="date"&&o&&o==="inline"&&(u="date:inline"),{component:ie[u]||ie.text,type:u}}const il={style:{display:"inline-flex",margin:"0px",width:"100%"}},sl={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},cl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},dl={class:"flex items-center"},fl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},ul={class:"filter-layout__body"},ml=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=u,n=e.ref(),y=H(l.type,l.layout),r=e.computed({get:()=>l.modelValue,set:s=>a("update:modelValue",s)});function d(s){a("clear",s)}function m(s,h){a("change",{name:s,value:h}),l.modelValue!==void 0&&a("update:modelValue",h)}function p(){n.value&&n.value.clear(),a("clear",l.name)}return e.watch(()=>l.default,s=>{r.value=s}),e.watch(()=>l.modelValue,s=>{r.value=s}),o({filterRef:n}),(s,h)=>(e.openBlock(),e.createElementBlock("div",il,[e.createElementVNode("div",sl,[e.createElementVNode("div",cl,[e.createElementVNode("div",dl,[e.createElementVNode("span",fl,e.toDisplayString(t.label),1)]),typeof r.value=="string"&&r.value.trim()!==""||Array.isArray(r.value)&&r.value.length>0&&r.value.some(b=>b!==void 0)||r.value===null?(e.openBlock(),e.createBlock(pe,{key:0,onClick:p})):e.createCommentVNode("",!0)]),e.createElementVNode("div",ul,[e.unref(y)?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)?.component),e.mergeProps({key:0},l,{type:e.unref(y)?.type,onChange:h[0]||(h[0]=b=>m(b.name,b.value)),onClear:h[1]||(h[1]=b=>d(b)),ref_key:"filterRef",ref:n}),null,16,["type"])):(e.openBlock(),e.createBlock(G,{key:1,"current-value":r.value,label:t.label,mode:t.mode,onClear:p,fieldRef:n.value,width:void 0,disabled:t.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)?.component),e.mergeProps({ref_key:"filterRef",ref:n},l,{type:e.unref(y)?.type,onChange:h[2]||(h[2]=b=>m(b.name,b.value)),onClear:h[3]||(h[3]=b=>d(b))}),null,16,["type"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),se=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=u,n=e.ref(),y=H(l.type,l.layout),r=e.computed({get:()=>l.modelValue,set:p=>a("update:modelValue",p)});function d(p=l.name){a("clear",p)}function m(p,s){a("change",{name:p,value:s}),l.modelValue!==void 0&&a("update:modelValue",s)}return e.watch(()=>l.default,p=>{r.value=p}),e.watch(()=>l.modelValue,p=>{r.value=p}),o({filterRef:n}),(p,s)=>["text","date"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)?.component),e.mergeProps({key:0},l,{type:e.unref(y)?.type,onChange:s[0]||(s[0]=h=>m(h.name,h.value)),onClear:s[1]||(s[1]=h=>d(h)),disabled:t.disabled,modelValue:r.value,"onUpdate:modelValue":s[2]||(s[2]=h=>r.value=h)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(G,{key:1,"current-value":r.value,label:t.label,mode:t.mode,onClear:d,fieldRef:n.value,width:l.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)?.component),e.mergeProps({ref_key:"filterRef",ref:n},l,{modelValue:r.value,"onUpdate:modelValue":s[3]||(s[3]=h=>r.value=h),type:e.unref(y)?.type,onChange:s[4]||(s[4]=h=>m(h.name,h.value)),onClear:s[5]||(s[5]=h=>d(h))}),null,16,["modelValue","type"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),pl=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=u,n=e.ref(),y=e.ref(H(l.type,l.layout)),r=e.computed({get:()=>l.modelValue,set:p=>a("update:modelValue",p)});function d(p){a("clear",p)}function m(p,s){a("change",{name:p,value:s}),l.modelValue!==void 0&&a("update:modelValue",s)}return e.watch(()=>l.default,p=>{r.value=p}),e.watch(()=>l.modelValue,p=>{r.value=p}),e.watch(()=>l,p=>{r.value=p}),o({filterRef:n}),(p,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps(l,{type:y.value?.type,modelValue:r.value,"onUpdate:modelValue":s[0]||(s[0]=h=>r.value=h),onChange:s[1]||(s[1]=h=>m(h.name,h.value)),onClear:s[2]||(s[2]=h=>d(h)),ref_key:"filterRef",ref:n}),null,16,["type","modelValue"]))}}),M=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:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=u,n=e.ref(),y=e.computed({get:()=>l.modelValue,set:p=>a("update:modelValue",p)});function r(p){a("clear",p)}function d(p,s){a("change",{name:p,value:s}),l.modelValue!==void 0&&a("update:modelValue",s)}e.watch(()=>l.default,p=>{y.value=p}),e.watch(()=>l.modelValue,p=>{y.value=p}),o({filterRef:n});function m(){switch(l.layout){case"inline":return se;case"vertical":return ml;case"popover":return pl;default:return se}}return(p,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m()),e.mergeProps(l,{onChange:s[0]||(s[0]=h=>d(h.name,h.value)),onClear:s[1]||(s[1]=h=>r(h)),modelValue:y.value,"onUpdate:modelValue":s[2]||(s[2]=h=>y.value=h)}),null,16,["modelValue"]))}});function X(t,o){const{slots:u}=t,l=e.ref(t.value??{}),a=e.computed(()=>(e.toRaw(u?.default?.())??[]).flatMap(g=>Array.isArray(g.children)?g.children:[g]));function n(i){delete l.value[i],o("clear",{data:e.toRaw(l.value),name:i})}function y(i,g){g===void 0?n(i):l.value={...l.value,[i]:g},o("change",{data:e.toRaw(l.value),name:i,value:g})}const r=e.computed(()=>a.value.map(i=>{const g=i.props?.name;return e.cloneVNode(i,{...i.props,layout:t.view,showClean:!0,modelValue:l.value[g],"onUpdate:modelValue":k=>{y(g,k)},onClear:()=>n(g)})})),d=e.computed(()=>new Map(r.value.map(i=>{const g=i.props?.name;return g?[g,i]:null}).filter(i=>i!==null)));function m(i=!1){l.value={},i||o("clearAll",{data:e.toRaw(l.value),name:"ALL"})}const p=e.ref(""),s=e.computed(()=>t.schema?.value?Object.entries(l.value).filter(([i,g])=>t.schema&&!(i in t.schema.value)?!1:Array.isArray(g)?g.some(k=>k!==""&&k!==void 0):g!==""&&g!==void 0).length:0),h=e.ref();e.watch(p,async()=>{await e.nextTick(),h?.value?.filterRef?.inputTextRef&&h.value.filterRef.inputTextRef.focus()});const b=e.computed(()=>t.schema?.value?Object.fromEntries(Object.entries(t.schema?.value).slice(0,t.limit)):{}),w=e.computed(()=>{if(r.value.length===0)return[];let i=0;if(t.schema?.value){const g=Object.entries(t.schema.value).length;t.limit&&g<t.limit?i=t.limit-g:i=0}return r.value.slice(0,i)}),f=e.computed(()=>r.value.length===0?[]:t.view!=="inline"?r.value:r.value.slice(w.value.length));return{activeFilter:l,activeFilterCount:s,onFilterChange:y,clearFilter:n,clearAllFilters:m,limitedSchema:b,filtersSlot:r,limitedFiltersSlot:w,popoverFiltersSlot:f,vnodeMap:d,selectedFilter:p,filterRef:h}}const gl=e.defineComponent({__name:"popover",emits:["open","close"],setup(t,{emit:o}){const u=e.ref(!1),l=e.ref(null),a=e.ref(null),n=e.ref(null),y=e.ref({top:"0px",left:"0px",position:"absolute"});function r(){u.value=!u.value}function d(){const b=n.value,w=l.value;if(!b||!w)return;const f=b.getBoundingClientRect(),i=w.offsetWidth,g=window.innerWidth-f.left;let k=f.left+window.scrollX;i>g&&(k=window.innerWidth-i-8,k<8&&(k=8)),y.value={position:"absolute",top:`${f.bottom+window.scrollY+8}px`,left:`${k}px`}}const m=e.computed(()=>Object.entries(y.value).map(b=>b.join(":")).join(";"));function p(b){const w=b.target;!n.value?.contains(b.target)&&!l.value?.contains(b.target)&&!w.closest("[data-inside-popover]")&&(u.value=!1)}const s=e.ref(!1);e.onMounted(()=>{s.value=!0}),e.onMounted(()=>{n.value=a.value?.querySelector("[data-popover-trigger]")||null,n.value?.addEventListener("click",r),document.addEventListener("click",p),window.addEventListener("resize",d),window.addEventListener("scroll",d,!0)}),e.onBeforeUnmount(()=>{n.value?.removeEventListener("click",r),document.removeEventListener("click",p),window.removeEventListener("resize",d),window.removeEventListener("scroll",d,!0)});const h=o;return e.watch(u,async b=>{b?(h("open"),await e.nextTick(),d()):h("close")}),(b,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:a},[e.renderSlot(b.$slots,"trigger"),s.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:l,class:"absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",style:e.normalizeStyle(m.value)},[e.renderSlot(b.$slots,"default")],4),[[e.vShow,u.value]])])):e.createCommentVNode("",!0)],512))}}),yl={},xl={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 hl(t,o){return e.openBlock(),e.createElementBlock("svg",xl,[...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 bl=R(yl,[["render",hl]]),kl={key:0,class:"inline-flex rounded-sm items-center border font-semibold border-transparent hover:bg-secondary/80 bg-blue-500 text-white text-xs px-1.5"},wl={class:"flex"},Vl={class:"w-64 border-r border-gray-200"},Bl={class:"p-2"},Cl=["onClick"],El={class:"flex items-center gap-2"},Nl={class:"text-sm font-medium"},Dl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},Sl=["onClick"],$l={class:"flex items-center gap-2"},Al={class:"text-sm font-medium"},Fl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},Rl={key:0,class:"p-2 border-t"},Ml={class:"flex-1 min-h-[300px] overflow-y-auto"},Tl={key:0,class:"flex items-center justify-center h-full text-gray-500"},ce=e.defineComponent({__name:"popover-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:u}){const l=t,a=re(l.mode),n=e.useSlots(),y=u,r=e.ref({}),d=e.computed(()=>r?.value?l.view!=="inline"?r?.value:Object.fromEntries(Object.entries(r?.value).slice(l.limit)):{}),{activeFilter:m,activeFilterCount:p,onFilterChange:s,clearFilter:h,clearAllFilters:b,popoverFiltersSlot:w,selectedFilter:f,filterRef:i}=X({...l,schema:r.value,slots:n},y);function g(){if(d.value){const[k]=Object.keys(d.value);f.value=k}else w.value.length>0?f.value=w.value[0].props.name:f.value=""}return e.watch(()=>l.schema,k=>{r.value=k},{deep:!0,immediate:!0}),o({clearFilter:h,clearAllFilters:b}),(k,c)=>(e.openBlock(),e.createBlock(gl,{onOpen:g,onClose:c[5]||(c[5]=x=>f.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass(e.unref(a)+(e.unref(p)>0?"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100":"text-gray-800 hover:bg-gray-200 focus:bg-gray-200")),type:"button"},[e.createVNode(bl),c[6]||(c[6]=e.createTextVNode(" Фільтр ",-1)),e.unref(p)>0?(e.openBlock(),e.createElementBlock("div",kl,e.toDisplayString(e.unref(p)),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",wl,[e.createElementVNode("div",Vl,[c[7]||(c[7]=e.createElementVNode("div",{class:"p-4 border-b"},[e.createElementVNode("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),e.createElementVNode("div",Bl,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(d.value),([x,B])=>(e.openBlock(),e.createElementBlock("button",{key:x,onClick:()=>{f.value=x},class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(f)===x?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-gray-700"])},[e.createElementVNode("div",El,[e.createElementVNode("span",Nl,e.toDisplayString(B.label),1)]),(Array.isArray(e.unref(m)[x])?e.unref(m)[x]?.length>0:e.unref(m)[x]||e.unref(m)[x]===null)?(e.openBlock(),e.createElementBlock("div",Dl)):e.createCommentVNode("",!0)],10,Cl))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),(x,B)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+B,onClick:C=>f.value=x.props.name,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(f)===x.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",$l,[e.createElementVNode("span",Al,e.toDisplayString(x.props.label),1)]),e.unref(m)[x.props.name]?.length>0?(e.openBlock(),e.createElementBlock("div",Fl)):e.createCommentVNode("",!0)],10,Sl))),128))]),e.unref(p)>0?(e.openBlock(),e.createElementBlock("div",Rl,[e.createElementVNode("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:c[0]||(c[0]=x=>e.unref(b)()),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ml,[e.unref(f)===""?(e.openBlock(),e.createElementBlock("div",Tl,[...c[8]||(c[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)])])):e.createCommentVNode("",!0),e.unref(f)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(d.value),([x,B])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(f)===x?(e.openBlock(),e.createBlock(M,e.mergeProps({key:x,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:i},{ref_for:!0},B,{onChange:c[1]||(c[1]=C=>e.unref(s)(C.name,C.value)),onClear:c[2]||(c[2]=C=>{e.unref(h)(C),e.unref(s)(C,void 0)}),modelValue:e.unref(m)[x],"onUpdate:modelValue":C=>e.unref(m)[x]=C,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),(x,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+B},[e.unref(f)===x.props.name?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},x.props,{ref_for:!0,ref_key:"filterRef",ref:i,onChange:c[3]||(c[3]=C=>e.unref(s)(C.name,C.value)),onClear:c[4]||(c[4]=C=>{e.unref(h)(C),e.unref(s)(C,void 0)}),modelValue:e.unref(m)[x.props.name],"onUpdate:modelValue":C=>e.unref(m)[x.props.name]=C,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),_l={class:"flex gap-1 items-center flex-wrap"},de=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:u}){const l=L(),a=t,n=u,y=e.useSlots(),r=e.ref({}),d=e.computed(()=>Object.keys(a.schema).length>a.limit),{activeFilter:m,activeFilterCount:p,onFilterChange:s,clearFilter:h,clearAllFilters:b,limitedSchema:w,filtersSlot:f,limitedFiltersSlot:i}=X({...a,schema:r,slots:y},n),g=e.ref();function k(){g.value&&g.value.clearAllFilters(!0),b()}return e.watch(()=>a.schema,c=>{r.value=c},{deep:!0,immediate:!0}),o({clearFilter:h,clearAllFilters:b}),(c,x)=>(e.openBlock(),e.createElementBlock("div",_l,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(w)),([B,C])=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:B,mode:t.mode},{ref_for:!0},C,{onChange:x[0]||(x[0]=E=>e.unref(s)(E.name,E.value)),onClear:e.unref(h),layout:"inline",cleanable:!0,modelValue:e.unref(m)[B],"onUpdate:modelValue":E=>e.unref(m)[B]=E}),null,16,["mode","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(B,C)=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:"slot-"+C,layout:"inline"},{ref_for:!0},B.props,{onChange:x[1]||(x[1]=E=>e.unref(s)(E.name,E.value)),onClear:x[2]||(x[2]=E=>{e.unref(h)(E),e.unref(s)(E,void 0)}),cleanable:!0,modelValue:e.unref(m)[B.props.name],"onUpdate:modelValue":E=>e.unref(m)[B.props.name]=E}),null,16,["modelValue","onUpdate:modelValue"]))),128)),d.value?(e.openBlock(),e.createBlock(ce,e.mergeProps({key:1},a,{schema:t.schema,limit:t.limit,onChange:x[3]||(x[3]=B=>e.unref(s)(B.name,B.value)),onClearAll:x[4]||(x[4]=B=>e.unref(b)()),onClear:x[5]||(x[5]=B=>e.unref(h)(B.name)),mode:t.mode,ref_key:"popoverRef",ref:g,cleanable:!0}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(B,C)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(B),e.mergeProps({key:"slot-"+C,layout:"popover"},{ref_for:!0},B.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode"])):e.createCommentVNode("",!0),e.unref(p)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:k,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 border border-transparent text-gray-800 hover:bg-gray-200 focus:bg-gray-200"},e.toDisplayString(e.unref(l)("filter.clear")),1)):e.createCommentVNode("",!0)]))}}),jl={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"},Ll={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Kl=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:u}){const l=t,a=u,n=e.useSlots(),{activeFilter:y,activeFilterCount:r,onFilterChange:d,clearFilter:m,clearAllFilters:p,filtersSlot:s}=X({...l,slots:n},a);return o({clearFilter:m,clearAllFilters:p}),(h,b)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",jl,[e.createElementVNode("div",Ll,[e.unref(r)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:b[0]||(b[0]=w=>e.unref(p)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"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"}," Очистити ")):e.createCommentVNode("",!0),t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(t.schema),([w,f])=>(e.openBlock(),e.createBlock(M,e.mergeProps({layout:"vertical"},{ref_for:!0},f,{onChange:b[1]||(b[1]=i=>e.unref(d)(i.name,i.value)),onClear:b[2]||(b[2]=i=>{e.unref(m)(i),e.unref(d)(i,void 0)}),modelValue:e.unref(y)[w],"onUpdate:modelValue":i=>e.unref(y)[w]=i,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(w,f)=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:"slot-"+f,layout:"vertical"},{ref_for:!0},w.props,{onChange:b[3]||(b[3]=i=>e.unref(d)(i.name,i.value)),onClear:b[4]||(b[4]=i=>{e.unref(m)(i),e.unref(d)(i,void 0)}),modelValue:e.unref(y)[w.props.name],"onUpdate:modelValue":i=>e.unref(y)[w.props.name]=i,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),O=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(t,{expose:o,emit:u}){const l=t,a=e.ref(l.value??{}),n=u,y=e.ref();function r(f){if(Array.isArray(f))return f.map(i=>r(i));if(f!==null&&typeof f=="object"){const i=e.toRaw(f),g={};for(const k in i)g[k]=r(i[k]);return g}return f}function d(f,i){i!==void 0?a.value={...a.value,[f]:i}:delete a.value[f],n("change",{data:r(a.value),name:f,value:r(i)})}function m(f){delete a.value[f],n("clear",{data:r(a.value),name:f}),n("change",{data:r(a.value),name:f,value:null})}function p(){a.value={},n("clear",{data:r(a.value),name:"ALL"}),n("change",{data:r(a.value),name:"ALL",value:null})}const s=e.ref({});function h(){switch(l.view){case"inline":return de;case"vertical":return Kl;case"popover":return ce;default:return de}}e.watch(()=>l.schema,f=>{if(!f){s.value={};return}if(Array.isArray(f)&&!f.length){s.value={};return}Array.isArray(f)?s.value=f.filter(i=>i.type).reduce((i,g)=>(Object.assign(g,{name:g.id||g.name,type:{datepicker:"date"}[g.type.toLowerCase()]||g.type.toLowerCase(),label:g.label||g.ua}),i[g.name]=g,g.data&&!g.api&&!g.options&&Object.assign(g,{api:`/api/suggest/${g.data}`}),i),{}):(Object.entries(f).forEach(([i,g])=>{Object.assign(g,{name:i||g.name||g.id,type:g.type.toLowerCase()})}),s.value={...f})},{immediate:!0,deep:!0});function b(f){y.value.clearFilter(f),m(f)}function w(){y.value.clearAllFilters(),p()}return e.watch(()=>a.value,f=>{if(l.history){const i=new URL(window.location.href),g=new URLSearchParams(window.location.search);Object.keys(f).length>0?g.set("filter",Object.entries(f).filter(([,k])=>k).map(([k,c])=>`${k}=${c}`).join("|")):g.delete("filter"),i.search=decodeURI(g.toString()),window.history.pushState({},"",i)}}),o({clearAllFilters:w,clearFilter:b}),(f,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h()),e.mergeProps(l,{schema:s.value,onChange:i[0]||(i[0]=g=>d(g.name,g.value)),onClear:i[1]||(i[1]=g=>m(g.name)),onClearAll:p,ref_key:"filterRef",ref:y}),{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},16,["schema"]))}});O.install=function(o){o.component("Filter",O),o.component("FilterField",M)},F.Filter=O,F.FilterField=M,F.default=O,Object.defineProperties(F,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
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,J){"use strict";const K=(c,n)=>{const u=c.__vccOpts||c;for(const[t,s]of n)u[t]=s;return u},me={},ue={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 pe(c,n){return e.openBlock(),e.createElementBlock("svg",ue,n[0]||(n[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 ye=K(me,[["render",pe]]),ge={class:"flex items-center justify-between w-full text-sm"},he={class:"flex items-center cursor-pointer w-full"},be={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},ke=["value"],xe={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},we={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Ve={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},W=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(c,{expose:n,emit:u}){const t=c,s=u;function l(){s("itemClick",t.value)}const y=e.ref(null);return n({el:y}),(r,d)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:y},[e.createElementVNode("div",ge,[e.createElementVNode("div",he,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(r.layout)?"text-sm 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-sm text-gray-500 cursor-pointer",{"bg-blue-100":r.highlighted}]),onClick:e.withModifiers(l,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[r.type=="checkbox"?"rounded-[4px]":"rounded-full",r.color?`bg-[${r.color}] border-[#ffffff]`:r.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[r.isSelected?(e.openBlock(),e.createElementBlock("img",be)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:r.value},null,8,ke),e.createElementVNode("div",xe,[e.createElementVNode("span",we,e.toDisplayString(r.label??"Відсутні данні"),1),r.count?(e.openBlock(),e.createElementBlock("div",Ve," ("+e.toDisplayString(r.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function q(c,n){const{options:u=[],limit:t=20}=c;function s(h){return Array.isArray(h)?h[0]:h}const l=e.ref(s(c.modelValue)),y=e.ref(""),r=e.ref(!1),d=e.ref([]),p=e.ref("id"),m=e.ref("text"),i=e.ref(!1),a=e.ref(c.layout!=="popover"&&u.length>t);function x(h){const b=h.find(Boolean)??{},C=["id","value","code","key"].find(V=>V in b)??"id",S=["text","label","name","title"].find(V=>V in b)??"text";return{autoValueKey:C,autoLabelKey:S}}if(u.length>0){const h=x(u);p.value=h.autoValueKey,m.value=h.autoLabelKey}const k=e.computed(()=>{const h=d.value;return c.layout==="popover"||i.value?h:h.slice(0,t)});e.watch(()=>c.modelValue,h=>{l.value=s(h)},{immediate:!0}),d.value=[...u].sort((h,b)=>c.sort==="count"?b.count&&h.count?b.count-h.count:0:c.sort==="name"?String(h[m.value]??"").localeCompare(String(b[m.value]??"")):0);function w(h){return l.value===h[p.value]}function o(h){l.value=h[p.value],n("update:modelValue",l.value),n("change",{name:c.name,value:l.value})}function g(){l.value=void 0,n("update:modelValue",l.value),n("clear",c.name)}function f(){i.value=!i.value}return{innerValue:l,searchTerm:y,filteredOptions:k,isSelected:w,selectItem:o,clear:g,toggleShowAll:f,isReqProc:r,showAll:i,isEnableShowAll:a,labelKey:m,valueKey:p,allOptions:d}}const Be={},Ce={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ee(c,n){return e.openBlock(),e.createElementBlock("svg",Ce,n[0]||(n[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 Q=K(Be,[["render",Ee]]),Ne={},_e={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 Se(c,n){return e.openBlock(),e.createElementBlock("svg",_e,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const I=K(Ne,[["render",Se]]),De={},$e={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 Fe(c,n){return e.openBlock(),e.createElementBlock("svg",$e,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const G=K(De,[["render",Fe]]),Ae={key:0,class:"w-full"},Me={class:"flex flex-col items-center justify-center p-5 text-center"},je={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Re={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Te=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=c,s=e.ref(null),l=u,{innerValue:y,filteredOptions:r,isSelected:d,selectItem:p,clear:m,toggleShowAll:i,isReqProc:a,showAll:x,isEnableShowAll:k,labelKey:w,valueKey:o,allOptions:g}=q({...t,modelValue:t.modelValue??t.default??""},l);return n({clear:m,inputTextRef:s}),e.watch(()=>t.modelValue,f=>{f===void 0&&(y.value=void 0)}),(f,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([f.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([f.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",f.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),b=>(e.openBlock(),e.createBlock(W,{layout:f.layout,key:b[e.unref(o)],count:b.count,label:b[e.unref(w)],color:b.color,type:"radio",value:b[e.unref(o)],"is-selected":e.unref(d)(b),onItemClick:C=>e.unref(p)(b)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),f.type==="select"&&e.unref(r).length===0&&!e.unref(a)?(e.openBlock(),e.createElementBlock("div",Ae,[e.createElementVNode("div",Me,[e.createVNode(Q),h[4]||(h[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),f.layout!=="popover"&&f.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:h[0]||(h[0]=(...b)=>e.unref(i)&&e.unref(i)(...b)),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"},[h[5]||(h[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(I)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:h[1]||(h[1]=(...b)=>e.unref(i)&&e.unref(i)(...b)),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"},[h[6]||(h[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(G)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),f.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[f.layout==="inline"?(e.openBlock(),e.createElementBlock("div",je,[e.createTextVNode(e.toDisplayString(e.unref(y)||e.unref(y)===null?1:0)+" з "+e.toDisplayString(e.unref(g).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:h[2]||(h[2]=(...b)=>e.unref(m)&&e.unref(m)(...b))}," Очистити ",512),[[e.vShow,e.unref(y)!==""&&e.unref(y)!==void 0]])])):e.createCommentVNode("",!0),f.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("span",null,e.toDisplayString(e.unref(y)||e.unref(y)===null?1:0)+" з "+e.toDisplayString(e.unref(g).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:h[3]||(h[3]=(...b)=>e.unref(m)&&e.unref(m)(...b))}," Очистити ",512),[[e.vShow,e.unref(y)!==""&&e.unref(y)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function v(c,n){const{options:u=[],limit:t=20}=c;function s(h){return Array.isArray(h)?h:h?[h]:[]}const l=e.ref(s(c.modelValue)),y=e.ref(""),r=e.ref(!1),d=e.ref([]),p=e.ref("id"),m=e.ref("text"),i=e.ref(!1),a=e.ref(c.layout!=="popover"&&u.length>t);function x(h){const b=h.find(Boolean)??{},C=["id","value","code","key"].find(V=>V in b)??"id",S=["text","label","name","title"].find(V=>V in b)??"text";return{autoValueKey:C,autoLabelKey:S}}if(u.length>0){const h=x(u);p.value=h.autoValueKey,m.value=h.autoLabelKey}const k=e.computed(()=>{const h=d.value;return c.layout==="popover"||i.value?h:h.slice(0,t)});e.watch(()=>c.modelValue,h=>{l.value=s(h)},{immediate:!0}),d.value=[...u].sort((h,b)=>c.sort==="count"?b.count&&h.count?b.count-h.count:0:c.sort==="name"?String(h[m.value]).localeCompare(String(b[m.value])):0);function w(h){return l.value&&l.value.includes(h[p.value])}function o(h){const b=l.value.includes(h[p.value]);l.value=b?l.value.filter(C=>C!==h[p.value]):[...l.value,h[p.value]],n("update:modelValue",l.value),n("change",{name:c.name,value:l.value})}function g(){l.value=[],n("update:modelValue",l.value),n("clear",c.name)}function f(){i.value=!i.value}return{innerValue:l,searchTerm:y,filteredOptions:k,isSelected:w,selectItem:o,clear:g,toggleShowAll:f,isReqProc:r,showAll:i,isEnableShowAll:a,labelKey:m,valueKey:p,allOptions:d}}const ee={en:{search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next"},uk:{search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період"}};function Ke(c){const n=c.split(".")[1],u=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(ee[u||navigator.language]||ee.uk)[n]}function z(){const c=e.getCurrentInstance();return c.appContext.config.globalProperties.$i18n?c.appContext.config.globalProperties.$t:Ke}const Le={key:0,class:"w-full"},ze={class:"flex flex-col items-center justify-center p-5 text-center"},Oe={class:"max-w-sm mx-auto mt-6"},Ue={class:"font-medium text-gray-800 dark:text-neutral-200"},Ie={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Pe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},te=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=z(),s=c,l=u,{innerValue:y,filteredOptions:r,isSelected:d,selectItem:p,clear:m,toggleShowAll:i,isReqProc:a,showAll:x,isEnableShowAll:k,labelKey:w,valueKey:o,allOptions:g}=v({...s,modelValue:s.modelValue},l);return e.watch(()=>s.modelValue,f=>{f===void 0&&(y.value=[])}),n({clear:m}),(f,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([f.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([f.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",f.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),b=>(e.openBlock(),e.createBlock(W,{layout:f.layout,count:b.count,label:b[e.unref(w)],color:b.color,type:"checkbox",value:b[e.unref(o)],"is-selected":e.unref(d)(b),onItemClick:C=>e.unref(p)(b)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),f.type==="select"&&e.unref(r).length===0&&!e.unref(a)?(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",ze,[e.createVNode(Q),e.createElementVNode("div",Oe,[e.createElementVNode("p",Ue,e.toDisplayString(e.unref(t)("filter.notfound")),1),h[4]||(h[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),f.layout!=="popover"&&f.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:h[0]||(h[0]=(...b)=>e.unref(i)&&e.unref(i)(...b)),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(t)("filter.more"))+" ",1),e.createVNode(I)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:h[1]||(h[1]=(...b)=>e.unref(i)&&e.unref(i)(...b)),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(t)("filter.less"))+" ",1),e.createVNode(G)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),f.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[f.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ie,[e.createTextVNode(e.toDisplayString(e.unref(y).length)+" / "+e.toDisplayString(e.unref(g).length)+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:h[2]||(h[2]=(...b)=>e.unref(m)&&e.unref(m)(...b))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(y).length!==0]])])):e.createCommentVNode("",!0),f.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(y).length)+" / "+e.toDisplayString(e.unref(g).length)+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:h[3]||(h[3]=(...b)=>e.unref(m)&&e.unref(m)(...b))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(y).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ye={},We={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 qe(c,n){return e.openBlock(),e.createElementBlock("svg",We,n[0]||(n[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 le=K(Ye,[["render",qe]]),Qe={},Ge={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 He(c,n){return e.openBlock(),e.createElementBlock("svg",Ge,n[0]||(n[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 H=K(Qe,[["render",He]]);class oe{static getWidthClass(n){return typeof n=="number"?`max-w-[${n}px] min-w-[${n}px]`:typeof n=="string"?n.endsWith("%")||n.endsWith("px")?`max-w-[${n}]`:`max-w-${n}`:"w-full"}}const Xe={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Ze=["placeholder"],Je=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:{}},emits:["update:modelValue","change","clear"],setup(c,{emit:n}){const u=c,t=e.ref((u.placeholder||u.label||u.title||u.name||"search").toString()),s=n,l=e.ref(u.modelValue?.toString()??"");e.watch(()=>u.modelValue,p=>{p!==l.value&&(l.value=p?.toString()??"")});let y=null;function r(){if(l.value=l.value.trimStart(),l.value.length===0){d();return}y&&clearTimeout(y),y=setTimeout(()=>{s("update:modelValue",l.value),s("change",{name:u.name,value:l.value})},300)}function d(){l.value="",s("update:modelValue",""),s("clear",u.name)}return(p,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-sm [&>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]:rounded-sm [&>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",p.layout==="inline"?e.unref(oe).getWidthClass(p.width):"mb-2"+(p.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Xe,[e.createVNode(le)]),l.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:d,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(H)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":m[0]||(m[0]=i=>l.value=i),onInput:r,placeholder:t.value,class:"!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 rounded-sm 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"},null,40,Ze),[[e.vModelText,l.value]])],2))}});function ne(c={color:"blue"}){return e.computed(()=>{const u=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${c.color}-500 focus:border-transparent`;return c?.size==="sm"?`${u}h-[32px]`:`${u}h-[38px]`})}function ve(){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 et(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function re(c){return c==="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":c==="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-sm 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-2 bg-transparent h-[38px]"}const tt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},lt=["placeholder","disabled"],ot={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},nt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},rt=["placeholder","disabled"],at=["disabled"],lo={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},oo={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},st=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=ne(),s=ve(),l=z(),y=c,r=e.ref(y.modelValue??y.default??[]),d=u,p=e.computed({get:()=>y.modelValue??r.value,set:a=>{y.modelValue!==void 0?d("update:modelValue",a):r.value=a}});function m(){d("change",{name:y.name,value:p.value||r.value})}function i(){r.value=[],p.value=r.value,d("clear",y.name)}return e.watch(()=>y.modelValue,a=>{a!==void 0&&y.layout!=="popover"?(r.value=a,d("update:modelValue",a)):r.value=[]}),n({clear:i,currentValue:p}),(a,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(a.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[a.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",tt,e.toDisplayString(e.unref(l)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:a.placeholder?.[0]??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":x[0]||(x[0]=k=>p.value[0]=k),disabled:a.disabled},null,10,lt),[[e.vModelText,p.value[0]]])]),a.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",ot," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[a.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",nt,e.toDisplayString(e.unref(l)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:a.placeholder?.[1]??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":x[1]||(x[1]=k=>p.value[1]=k),disabled:a.disabled},null,10,rt),[[e.vModelText,p.value[1]]])]),["popover","inline","vertical"].includes(a.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:m,class:e.normalizeClass(e.unref(s)+(a.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(a.layout==="vertical"?"Ok":e.unref(l)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(a.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(p.value[0]||p.value[1]),onClick:i,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100")},e.toDisplayString(e.unref(l)("filter.clear")),11,at)):e.createCommentVNode("",!0)],2)]),(a.cleanable&&r.value.length,e.createCommentVNode("",!0))],64))}});function it(c){return String(c).charAt(0).toUpperCase()+String(c).slice(1)}class R{static format(n){const u=n.getFullYear(),t=(n.getMonth()+1).toString().padStart(2,"0"),s=n.getDate().toString().padStart(2,"0");return`${u}-${t}-${s}`}static getShiftedDay(n,u=0){const t=n?new Date(n):new Date;return t.setDate(t.getDate()+u),this.format(t)}static getLastWeekRange(n,u,t=0){if(n&&u){const p=new Date(n),m=new Date(u);return p.setDate(p.getDate()+t*7),m.setDate(m.getDate()+t*7),[this.format(p),this.format(m)]}const s=new Date,l=s.getDay(),y=l===0?13:l-1+7,r=new Date(s);r.setDate(s.getDate()-y+t*7);const d=new Date(r);return d.setDate(r.getDate()+6),[this.format(r),this.format(d)]}static getMonthRange(n,u,t=0){let s;n?s=new Date(n):s=new Date,s=new Date(s.getFullYear(),s.getMonth()+t,1);const l=s,y=new Date(s.getFullYear(),s.getMonth()+1,0);return[this.format(l),this.format(y)]}static getQuarterRange(n,u,t=0){const s=n||u,l=s?new Date(s):new Date;let y=Math.floor(l.getMonth()/3);y+=t;const r=(y%4+4)%4*3,d=l.getFullYear()+Math.floor(y/4),p=new Date(d,r,1),m=new Date(d,r+3,0);return[this.format(p),this.format(m)]}static getYear(n,u=0){let t;return n&&/^\d{4}$/.test(n)?t=parseInt(n,10):n?t=new Date(n).getFullYear():t=new Date().getFullYear(),String(t+u)}static getYearRange(n,u=0){let t;return n&&/^\d{4}$/.test(n)?t=parseInt(n,10):n?t=new Date(n).getFullYear():t=new Date().getFullYear(),[this.format(new Date(t+u,0,1)),this.format(new Date(t+u+1,0,0))]}static getRangeFromDaysBefore(n){const u=new Date,t=new Date(u.getTime());return t.setDate(u.getDate()-n),[this.format(t),this.format(u)]}}function ae(c,n){const{popoverRef:u}=c,t=z(),s=e.ref(""),l=e.ref(c.modelValue??c.default??[]),y=e.ref(0);function r(){const g=R.getRangeFromDaysBefore(y.value);return l.value=[...g],n("change",{name:c.name,value:l.value}),n("update:modelValue",l.value),g}function d(g){s.value=g,u.value?.close();const f=[];switch(s.value){case"today":f.push(R.getShiftedDay()),f.push(R.getShiftedDay());break;case"week":f.push(...R.getLastWeekRange());break;case"month":f.push(...R.getMonthRange());break;case"quarter":f.push(...R.getQuarterRange());break;case"year":f.push(...R.getYearRange());break;case"last_7_days":y.value=7,r();break;case"range":y.value=7,f.push(...r());break}l.value=[...f],n("change",{name:c.name,value:l.value}),n("update:modelValue",l.value)}function p(){const g=[];switch(s.value){case"today":g.push(R.getShiftedDay(l.value[0],1));break;case"week":g.push(...R.getLastWeekRange(l.value[0],l.value[1],1));break;case"month":g.push(...R.getMonthRange(l.value[0],l.value[1],1));break;case"quarter":g.push(...R.getQuarterRange(l.value[0],l.value[1],1));break;case"year":g.push(...R.getYearRange(l.value[0],1));break}l.value=[...g],n("change",{name:c.name,value:l.value}),n("update:modelValue",l.value)}function m(){const g=[];switch(s.value){case"today":g.push(R.getShiftedDay(l.value[0],-1));break;case"week":g.push(...R.getLastWeekRange(l.value[0],l.value[1],-1));break;case"month":g.push(...R.getMonthRange(l.value[0],l.value[1],-1));break;case"quarter":g.push(...R.getQuarterRange(l.value[0],l.value[1],-1));break;case"year":g.push(...R.getYearRange(l.value[0],-1));break}l.value=[...g],n("change",{name:c.name,value:l.value}),n("update:modelValue",l.value)}const i=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function a(g){const[f,h,b]=g.split("-");return`${b}.${h}.${f}`}function x(g,f="long"){const h=new Date(Date.UTC(2e3,g-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:f,timeZone:"UTC"}).format(h)}function k(g){const{value:f}=l;switch(g){case"today":return a(f[0]);case"range":return"Період";case"week":return f[0]&&f[1]?`${a(f[0])} – ${a(f[1])}`:"";case"quarter":if(f[0]){const h=new Date(f[0]),b=h.getFullYear(),C=h.getMonth();return`${Math.floor(C/3)+1} ${t("filter.quarter")} ${b}`}return"";case"month":if(f[0]){const[h,b]=f[0].split("-");return`${x(parseInt(b,10))} ${h}`}return"";case"year":return f[0]||"";case"last_7_days":return"За останні дні";default:return c.label??""}}const w=e.computed(()=>s.value?k(s.value):c.label??"");function o(){s.value="",l.value=[],n("update:modelValue",[]),n("clear",c.name)}return{activeMode:s,innerValue:l,daysBefore:y,onDaysBeforeChange:r,onSelectChange:d,nextClick:p,prevClick:m,ukMonths:i,formatDisplayDate:a,getModeLabel:k,currentLabel:w,clear:o}}const ct={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},dt={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},ft=["max","disabled"],mt=["min","disabled"],ut={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},pt=["max","disabled"],yt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},gt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ht=["min","disabled"],bt={class:"flex gap-1 pt-2"},kt=["onClick"],no={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},xt=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=c,s=ne(),l=et(),y=u,r=e.ref(null),{activeMode:d,innerValue:p,onSelectChange:m,nextClick:i,prevClick:a,clear:x}=ae({...t,popoverRef:r},y);return e.watch(()=>t.modelValue,k=>{k!==void 0?(p.value=k,y("update:modelValue",k)):(d.value="",p.value=[])}),n({clear:x,popoverRef:r}),(k,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[k.layout==="inline"?(e.openBlock(),e.createElementBlock("div",ct,[e.unref(d)!==""&&e.unref(d)==="range"?(e.openBlock(),e.createElementBlock("div",dt,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(p)[1],locale:"uk-UA","onUpdate:modelValue":w[0]||(w[0]=o=>e.unref(p)[0]=o),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:k.disabled},null,8,ft),[[e.vModelText,e.unref(p)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(p)[0],locale:"uk-UA","onUpdate:modelValue":w[1]||(w[1]=o=>e.unref(p)[1]=o),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:k.disabled},null,8,mt),[[e.vModelText,e.unref(p)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",ut,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(p)[1],locale:"uk-UA","onUpdate:modelValue":w[2]||(w[2]=o=>e.unref(p)[0]=o),class:e.normalizeClass(e.unref(s)),disabled:k.disabled},null,10,pt),[[e.vModelText,e.unref(p)[0]]])],2),k.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",yt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",gt,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(p)[0],locale:"uk-UA","onUpdate:modelValue":w[3]||(w[3]=o=>e.unref(p)[1]=o),class:e.normalizeClass(e.unref(s)),disabled:k.disabled},null,10,ht),[[e.vModelText,e.unref(p)[1]]])],2)],2),e.createElementVNode("div",bt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],o=>e.createElementVNode("button",{key:o,class:e.normalizeClass(e.unref(l)+(e.unref(d)===o?" bg-blue-100":"")),onClick:g=>e.unref(m)(o)},e.toDisplayString(e.unref(it)(o)),11,kt)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(l)),onClick:w[4]||(w[4]=(...o)=>e.unref(a)&&e.unref(a)(...o))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(l)),onClick:w[5]||(w[5]=(...o)=>e.unref(i)&&e.unref(i)(...o))}," >",2)]),(k.cleanable,e.createCommentVNode("",!0))],64))}});function wt(c,n){const{api:u,options:t=[],limit:s=20,dataKey:l="data"}=c,y=c.multi;function r(B){return y?Array.isArray(B)?B:B?[B]:[]:Array.isArray(B)?B[0]:B}const d=e.ref(r(c.modelValue)),p=e.ref(""),m=e.ref(!1),i=e.ref(t),a=e.ref("id"),x=e.ref("text"),k=e.ref(!1),w=e.ref(c.layout!=="popover"&&t.length>s),o=e.ref([]),g=e.ref(0);function f(B){const $=B.find(Boolean)??{},j=["id","value","code","key"].find(U=>U in $)??"id",A=["text","label","name","title"].find(U=>U in $)??"text";return{autoValueKey:j,autoLabelKey:A}}if(t.length>0){const B=f(t);a.value=B.autoValueKey,x.value=B.autoLabelKey}const h=e.computed(()=>{if(u)return i.value;const B=i.value;if(c.layout==="popover")return B;if(!p.value)return k.value?B:B.slice(0,s);const $=p.value.toLowerCase();return B.filter(j=>j[x.value].toLowerCase().includes($))});let b=null;async function C(B){if(u){m.value=!0;try{const $=new URL(u,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",B),$.searchParams.set("limit",s.toString());const j=await fetch($.toString());if(!j.ok){J.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),i.value=[];return}const A=await j.json();if(!A[l]){J.notify({type:"error",title:"Error",message:A}),i.value=[];return}if(i.value=A[l],i.value.length>0){const U=f(i.value);a.value=U.autoValueKey,x.value=U.autoLabelKey}g.value=A.total}catch($){console.error("Failed to fetch remote options:",$)}finally{m.value=!1}}}e.watch(p,B=>{u&&(b&&clearTimeout(b),b=setTimeout(()=>{C(B)},200))}),e.watch(()=>c.modelValue,B=>{d.value=r(B)},{immediate:!0});function S(B){return y&&Array.isArray(d.value)?d.value.includes(B[a.value]):d.value&&d.value===B[a.value]}function V(B){if(y&&!Array.isArray(d.value)&&(d.value=[]),y&&Array.isArray(d.value)){const $=d.value.includes(B[a.value]);d.value=$?d.value.filter(j=>j!==B[a.value]):[...d.value,B[a.value]],o.value=$?o.value.filter(j=>j!==B[x.value]):[...o.value,B[x.value]]}else d.value=B[a.value],o.value=B[x.value];n("update:modelValue",d.value),n("change",{name:c.name,value:d.value})}function N(){y?(d.value=[],o.value=[]):(d.value=void 0,o.value=[]),n("update:modelValue",d.value),n("clear",c.name)}function E(){b&&clearTimeout(b),p.value="",k.value=!1}function D(){k.value=!k.value}e.onBeforeUnmount(()=>{b&&clearTimeout(b)});const _=e.ref(-1);e.watch(h,()=>{_.value=h.value.length>0?0:-1});function F(B){const $=h.value.length;if(B.key==="ArrowDown")B.preventDefault(),_.value=(_.value+1)%$;else if(B.key==="ArrowUp")B.preventDefault(),_.value=(_.value-1+$)%$;else if(B.key==="Enter"&&(B.preventDefault(),_.value>=0&&_.value<h.value.length)){const j=h.value[_.value];V(j)}}function M(){u&&i.value.length===0&&p.value.length===0&&C(p.value)}return{innerValue:d,searchTerm:p,filteredOptions:h,isSelected:S,selectItem:V,clear:N,resetSearch:E,toggleShowAll:D,isReqProc:m,showAll:k,isEnableShowAll:w,labelKey:x,valueKey:a,allOptions:i,highlightedIndex:_,onKeyDown:F,selectedLabels:o,totalCount:g,loadData:M}}const Vt={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Bt=["placeholder"],Ct={key:0,class:"w-full"},Et={class:"flex flex-col items-center justify-center p-5 text-center"},Nt={class:"max-w-sm mx-auto mt-6"},_t={class:"font-medium text-gray-800 dark:text-neutral-200"},St={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Dt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},$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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=z(),s=c,l=u,y=e.ref(null),{innerValue:r,filteredOptions:d,isSelected:p,selectItem:m,clear:i,resetSearch:a,toggleShowAll:x,isReqProc:k,showAll:w,isEnableShowAll:o,searchTerm:g,labelKey:f,valueKey:h,highlightedIndex:b,onKeyDown:C,selectedLabels:S,totalCount:V,loadData:N}=wt({...s,modelValue:s.modelValue},l);e.onMounted(()=>{a(),s.layout!=="inline"&&(N(),y.value&&s.layout==="popover"&&y.value.focus())}),e.watch(()=>s.modelValue,D=>{D===void 0&&(s.multi?r.value=[]:r.value=void 0)});const E=e.ref([]);return e.watch(b,D=>{D>=0&&E.value[D]&&E.value[D]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(d,()=>{E.value=[]}),n({clear:i,inputTextRef:y,selectedLabels:S,loadData:N}),(D,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([D.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Vt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":_[0]||(_[0]=F=>e.isRef(g)?g.value=F:null),onKeydown:_[1]||(_[1]=(...F)=>e.unref(C)&&e.unref(C)(...F)),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(t)("filter.search"),type:"text",ref_key:"inputTextRef",ref:y},null,40,Bt),[[e.vModelText,e.unref(g)]]),e.createVNode(le,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(g)!=""?(e.openBlock(),e.createBlock(H,{key:0,onClick:_[2]||(_[2]=F=>g.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([D.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",D.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(F,M)=>(e.openBlock(),e.createBlock(W,{layout:D.layout,count:F.count,label:F[e.unref(f)],color:F.color,type:D.multi?"checkbox":"radio",value:F[e.unref(h)],"is-selected":e.unref(p)(F),highlighted:M===e.unref(b),onItemClick:B=>e.unref(m)(F),ref_for:!0,ref:B=>E.value[M]=B?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),D.type==="select"&&e.unref(d).length===0&&!e.unref(k)?(e.openBlock(),e.createElementBlock("div",Ct,[e.createElementVNode("div",Et,[e.createVNode(Q),e.createElementVNode("div",Nt,[e.createElementVNode("p",_t,e.toDisplayString(e.unref(t)("filter.notfound")),1),_[7]||(_[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),D.layout!=="popover"&&D.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(w)&&e.unref(o)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:_[3]||(_[3]=(...F)=>e.unref(x)&&e.unref(x)(...F)),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(t)("filter.more"))+" ",1),e.createVNode(I)])):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:_[4]||(_[4]=(...F)=>e.unref(x)&&e.unref(x)(...F)),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(t)("filter.less"))+" ",1),e.createVNode(G)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),D.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[D.layout==="inline"?(e.openBlock(),e.createElementBlock("div",St,[e.createTextVNode(e.toDisplayString(D.multi&&Array.isArray(e.unref(r))?e.unref(r)?.length:e.unref(r)!==void 0&&(e.unref(r)||e.unref(r)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:_[5]||(_[5]=(...F)=>e.unref(i)&&e.unref(i)(...F))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(r)!==""&&e.unref(r)!==void 0||e.unref(r)]])])):e.createCommentVNode("",!0),D.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Dt,[e.createElementVNode("span",null,e.toDisplayString(D.multi&&Array.isArray(e.unref(r))?e.unref(r)?.length:e.unref(r)!==void 0&&(e.unref(r)||e.unref(r)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:_[6]||(_[6]=(...F)=>e.unref(i)&&e.unref(i)(...F))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(r)!==""&&e.unref(r)!==void 0||e.unref(r)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ft=["for","onClick"],At=["id","name","value"],Mt={class:"block"},jt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Rt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Tt=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=c,s=u,{innerValue:l,isSelected:y,selectItem:r,clear:d,labelKey:p,valueKey:m,allOptions:i}=t.multi?v({...t,modelValue:t.modelValue??t.default??[]},s):q({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},s);return n({clear:d}),e.watch(()=>t.modelValue,a=>{a===void 0&&(t.multi?l.value=[]:l.value=void 0)}),(a,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",a.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),k=>(e.openBlock(),e.createElementBlock("label",{key:`item-${k[e.unref(m)]}`,for:`item-${k[e.unref(m)]}`,onClick:e.withModifiers(w=>e.unref(r)(k),["stop","prevent"]),class:e.normalizeClass([e.unref(y)(k)?"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-${k[e.unref(m)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${k[e.unref(m)]}`,value:k[e.unref(m)]},null,8,At),e.createElementVNode("span",Mt,e.toDisplayString(k[e.unref(p)]),1)],10,Ft))),128))],2),a.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[a.layout==="inline"?(e.openBlock(),e.createElementBlock("div",jt,[e.createTextVNode(e.toDisplayString(a.multi&&Array.isArray(e.unref(l))?e.unref(l)?.length:e.unref(l)!==void 0&&(e.unref(l)||e.unref(l)===null)?1:0)+" з "+e.toDisplayString(e.unref(i).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[0]||(x[0]=(...k)=>e.unref(d)&&e.unref(d)(...k))}," Очистити ",512),[[e.vShow,e.unref(l)!==""&&e.unref(l)!==void 0||e.unref(l)]])])):e.createCommentVNode("",!0),a.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("span",null,e.toDisplayString(a.multi&&Array.isArray(e.unref(l))?e.unref(l)?.length:e.unref(l)!==void 0&&(e.unref(l)||e.unref(l)===null)?1:0)+" з "+e.toDisplayString(e.unref(i).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[1]||(x[1]=(...k)=>e.unref(d)&&e.unref(d)(...k))}," Очистити ",512),[[e.vShow,e.unref(l)!==void 0&&e.unref(l)!==""||e.unref(l)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),Kt=["disabled","title"],Lt={class:"flex w-full items-center justify-between gap-2 overflow-hidden text-left"},zt={class:"truncate text-ellipsis text-sm"},Ot={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"},Ut={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"},It={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"},X=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(c,{expose:n}){const u=c,t=e.computed(()=>re(u.mode)),s=e.ref(!1),l=e.ref({top:0,left:0}),y=e.ref(null),r=e.ref(null),d=e.ref(null);function p(){const b=r.value,C=d.value;if(!b||!C)return;const S=b.getBoundingClientRect(),V=C.offsetWidth,N=window.innerWidth,E=S.bottom+8;let{left:D}=S;D+V>N&&(D=Math.max(N-V-10,10)),l.value={top:E,left:D}}function m(){s.value=!s.value,s.value&&e.nextTick(()=>{p(),u.fieldRef?.inputTextRef&&u.fieldRef?.inputTextRef?.focus?.(),u.fieldRef?.loadData&&u.fieldRef?.loadData?.()})}function i(b){!y.value?.contains(b.target)&&!d.value?.contains(b.target)&&!r.value?.contains(b.target)&&(s.value=!1)}function a(b){b.key==="Escape"&&(s.value=!1)}const x=e.ref(!1),k=e.ref("ua"),w=b=>{b.detail.key==="locale"&&(k.value=b.detail.newValue)};e.onMounted(()=>{x.value=!0,k.value=localStorage.locale,window.addEventListener("storage",w),document.addEventListener("click",i,!0),document.addEventListener("keydown",a),window.addEventListener("scroll",p,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",w),document.removeEventListener("click",i,!0),document.removeEventListener("keydown",a),window.removeEventListener("scroll",p,!0)});function o(){s.value=!1}n({close:o});function g(b){return Array.isArray(b)?b.filter(C=>C!=null&&C!=="").length:b&&typeof b=="object"?Object.values(b).filter(C=>C!=null&&C!=="").length:typeof b=="string"?b.trim()===""?0:1:typeof b=="number"?Number.isNaN(b)?0:1:b===null||b!==void 0?1:0}const f=e.computed(()=>{const b=u.fieldRef?.selectedLabels,C=g(b);return C>0?C:g(u.currentValue)}),h=e.computed(()=>{const b=u.fieldRef?.selectedLabels;return!b||["inline"].includes(u.layout||"")?u[k.value]||(u.label??""):Array.isArray(b)?b.length>0?b.join(", "):u.label??"":String(b)});return(b,C)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:m,disabled:b.disabled,ref_key:"triggerRef",ref:r,title:b.label,class:e.normalizeClass([t.value,b.width?e.unref(oe).getWidthClass(b.width):"w-full",b.layout==="inline"&&f.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Lt,[e.createElementVNode("span",zt,e.toDisplayString(h.value),1),b.layout==="inline"&&f.value>0?(e.openBlock(),e.createElementBlock("span",Ot,e.toDisplayString(f.value),1)):e.createCommentVNode("",!0)]),e.createVNode(I,{class:"ml-2 h-4 w-4 text-neutral-500"})],10,Kt),x.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:d,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${l.value.top}px`,left:`${l.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Ut,[e.createElementVNode("div",It,[e.renderSlot(b.$slots,"default")])])],4),[[e.vShow,s.value]])])):e.createCommentVNode("",!0)]))}}),Pt={},Yt={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 Wt(c,n){return e.openBlock(),e.createElementBlock("svg",Yt,n[0]||(n[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const O=K(Pt,[["render",Wt]]),qt={},Qt={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 Gt(c,n){return e.openBlock(),e.createElementBlock("svg",Qt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Ht=K(qt,[["render",Gt]]),Xt={},Zt={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 Jt(c,n){return e.openBlock(),e.createElementBlock("svg",Zt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const vt=K(Xt,[["render",Jt]]),el={class:"flex"},tl={class:"mb-1"},ll={class:"mb-1"},ol={class:"inline-flex rounded-sm shrink-0 pl-1"},nl=["title"],rl={class:"inline-flex rounded-sm shrink-0 pl-1"},al=["title"],sl={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},il=["max","disabled"],cl=["min","disabled"],ro={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},dl=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=z(),s=c,l=u,y=e.ref(null),{activeMode:r,innerValue:d,onSelectChange:p,nextClick:m,prevClick:i,currentLabel:a,clear:x}=ae({...s,popoverRef:y},l);return e.watch(()=>s.modelValue,k=>{k!==void 0?(d.value=k,l("update:modelValue",k)):(r.value="",d.value=[])}),n({clear:x,popoverRef:y}),(k,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",el,[e.createVNode(X,{ref_key:"popoverRef",ref:y,label:e.unref(a),"current-value":e.unref(d),mode:k.mode,width:typeof k.width=="number"&&e.unref(d).length?k.width-70:k.width,onClear:e.unref(x),layout:k.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:w[0]||(w[0]=o=>e.unref(p)("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(t)("filter.period"))+" ",1),e.unref(r)==="range"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),w[12]||(w[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:w[1]||(w[1]=o=>e.unref(p)("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(t)("filter.today"))+" ",1),e.unref(r)==="today"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:w[2]||(w[2]=o=>e.unref(p)("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(t)("filter.week"))+" ",1),e.unref(r)==="week"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:w[3]||(w[3]=o=>e.unref(p)("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(t)("filter.month"))+" ",1),e.unref(r)==="month"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:w[4]||(w[4]=o=>e.unref(p)("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(t)("filter.quarter"))+" ",1),e.unref(r)==="quarter"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",onClick:w[5]||(w[5]=o=>e.unref(p)("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(t)("filter.year"))+" ",1),e.unref(r)==="year"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ll,[e.createElementVNode("button",{type:"button",onClick:w[6]||(w[6]=o=>e.unref(x)()),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(t)("filter.alltime"))+" ",1),e.unref(d)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(O,{key:0}))])])]),_:1,__:[12]},8,["label","current-value","mode","width","onClear","layout"]),e.unref(r)!==""&&e.unref(r)!=="range"&&e.unref(r)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ol,[e.createElementVNode("button",{type:"button",title:e.unref(t)("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:w[7]||(w[7]=(...o)=>e.unref(i)&&e.unref(i)(...o))},[e.createVNode(Ht)],8,nl)]),e.createElementVNode("div",rl,[e.createElementVNode("button",{type:"button",title:e.unref(t)("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:w[8]||(w[8]=(...o)=>e.unref(m)&&e.unref(m)(...o))},[e.createVNode(vt)],8,al)])],64)):e.createCommentVNode("",!0),e.unref(r)!==""&&e.unref(r)==="range"?(e.openBlock(),e.createElementBlock("div",sl,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(d)[1],locale:"uk-UA","onUpdate:modelValue":w[9]||(w[9]=o=>e.unref(d)[0]=o),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:k.disabled},null,8,il),[[e.vModelText,e.unref(d)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(d)[0],locale:"uk-UA","onUpdate:modelValue":w[10]||(w[10]=o=>e.unref(d)[1]=o),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:k.disabled},null,8,cl),[[e.vModelText,e.unref(d)[1]]])])):e.createCommentVNode("",!0)]),(k.cleanable,e.createCommentVNode("",!0))],64))}}),fl={class:"flex flex-wrap items-center gap-2"},ml=["disabled","onClick"],ul={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},se={radio:Te,checkbox:te,check:te,text:Je,range:st,date:xt,select:$t,tag:Tt,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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=c,s=u,{innerValue:l,isSelected:y,selectItem:r,clear:d,labelKey:p,valueKey:m,allOptions:i}=q({...t,modelValue:t.modelValue??t.default??""},s),a=e.computed(()=>l.value!==void 0&&!(typeof l.value=="string"&&l.value==="")),x=e.computed(()=>a.value?1:0);function k(o){return y(o)?"bg-blue-600 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}function w(o){t.disabled||r(o)}return n({clear:d}),e.watch(()=>t.modelValue,o=>{o===void 0&&(l.value=void 0)}),(o,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",fl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),f=>(e.openBlock(),e.createElementBlock("button",{key:f[e.unref(m)],type:"button",class:e.normalizeClass(["px-3 py-1.5 text-sm font-medium rounded-md transition-colors",k(f)]),disabled:o.disabled,onClick:h=>w(f)},e.toDisplayString(f[e.unref(p)]),11,ml))),128))]),o.cleanable&&o.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ul,[e.createElementVNode("span",null,e.toDisplayString(x.value)+" з "+e.toDisplayString(e.unref(i).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[0]||(g[0]=(...f)=>e.unref(d)&&e.unref(d)(...f))}," Очистити ",512),[[e.vShow,a.value]])])):e.createCommentVNode("",!0)],64))}}),"date:inline":dl};function Z(c,n){let u;switch(c.toLowerCase()){case"autocomplete":u="select";break;case"check":u="checkbox";break;default:u=c?.toString().toLowerCase()}return u==="date"&&n&&n==="inline"&&(u="date:inline"),{component:se[u]||se.text,type:u}}const pl={style:{display:"inline-flex",margin:"0px",width:"100%"}},yl={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},gl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},hl={class:"flex items-center"},bl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},kl={class:"filter-layout__body"},xl=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=c,s=u,l=e.ref(),y=Z(t.type,t.layout),r=e.computed({get:()=>t.modelValue,set:i=>s("update:modelValue",i)});function d(i){s("clear",i)}function p(i,a){s("change",{name:i,value:a}),t.modelValue!==void 0&&s("update:modelValue",a)}function m(){s("clear",t.name)}return e.watch(()=>t.default,i=>{r.value=i}),e.watch(()=>t.modelValue,i=>{r.value=i}),n({filterRef:l}),(i,a)=>(e.openBlock(),e.createElementBlock("div",pl,[e.createElementVNode("div",yl,[e.createElementVNode("div",gl,[e.createElementVNode("div",hl,[e.createElementVNode("span",bl,e.toDisplayString(i.label),1)]),typeof r.value=="string"&&r.value.trim()!==""||Array.isArray(r.value)&&r.value.length>0&&r.value.some(x=>x!==void 0)||r.value===null?(e.openBlock(),e.createBlock(ye,{key:0,onClick:m})):e.createCommentVNode("",!0)]),e.createElementVNode("div",kl,[e.unref(y)?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)?.component),e.mergeProps({key:0},t,{type:e.unref(y)?.type,onChange:a[0]||(a[0]=x=>p(x.name,x.value)),onClear:a[1]||(a[1]=x=>d(x)),ref_key:"filterRef",ref:l}),null,16,["type"])):(e.openBlock(),e.createBlock(X,{key:1,"current-value":r.value,label:i.label,mode:i.mode,onClear:m,fieldRef:l.value,width:void 0,disabled:i.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)?.component),e.mergeProps({ref_key:"filterRef",ref:l},t,{type:e.unref(y)?.type,onChange:a[2]||(a[2]=x=>p(x.name,x.value)),onClear:a[3]||(a[3]=x=>d(x))}),null,16,["type"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),ie=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=c,s=u,l=e.ref(),y=Z(t.type,t.layout),r=e.computed({get:()=>t.modelValue,set:m=>s("update:modelValue",m)});function d(m=t.name){s("clear",m)}function p(m,i){s("change",{name:m,value:i}),t.modelValue!==void 0&&s("update:modelValue",i)}return e.watch(()=>t.default,m=>{r.value=m}),e.watch(()=>t.modelValue,m=>{r.value=m}),n({filterRef:l}),(m,i)=>["text","date","button"].includes(m.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)?.component),e.mergeProps({key:0},t,{type:e.unref(y)?.type,onChange:i[0]||(i[0]=a=>p(a.name,a.value)),onClear:i[1]||(i[1]=a=>d(a)),disabled:m.disabled,modelValue:r.value,"onUpdate:modelValue":i[2]||(i[2]=a=>r.value=a)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(X,{key:1,"current-value":r.value,label:m.label,mode:m.mode,onClear:d,fieldRef:l.value,width:t.width,disabled:m.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)?.component),e.mergeProps({ref_key:"filterRef",ref:l},t,{modelValue:r.value,"onUpdate:modelValue":i[3]||(i[3]=a=>r.value=a),type:e.unref(y)?.type,onChange:i[4]||(i[4]=a=>p(a.name,a.value)),onClear:i[5]||(i[5]=a=>d(a))}),null,16,["modelValue","type"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),wl=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=c,s=u,l=e.ref(),y=e.ref(Z(t.type,t.layout)),r=e.computed({get:()=>t.modelValue,set:m=>s("update:modelValue",m)});function d(m){s("clear",m)}function p(m,i){s("change",{name:m,value:i}),t.modelValue!==void 0&&s("update:modelValue",i)}return e.watch(()=>t.default,m=>{r.value=m}),e.watch(()=>t.modelValue,m=>{r.value=m}),e.watch(()=>t,m=>{r.value=m}),n({filterRef:l}),(m,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value?.component),e.mergeProps(t,{type:y.value?.type,modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=a=>r.value=a),onChange:i[1]||(i[1]=a=>p(a.name,a.value)),onClear:i[2]||(i[2]=a=>d(a)),ref_key:"filterRef",ref:l}),null,16,["type","modelValue"]))}}),L=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:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:n,emit:u}){const t=c,s=u,l=e.ref(),y=e.computed({get:()=>t.modelValue,set:m=>s("update:modelValue",m)});function r(m){s("clear",m)}function d(m,i){s("change",{name:m,value:i}),t.modelValue!==void 0&&s("update:modelValue",i)}e.watch(()=>t.default,m=>{y.value=m}),e.watch(()=>t.modelValue,m=>{y.value=m}),n({filterRef:l});function p(){switch(t.layout){case"inline":return ie;case"vertical":return xl;case"popover":return wl;default:return ie}}return(m,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p()),e.mergeProps(t,{onChange:i[0]||(i[0]=a=>d(a.name,a.value)),onClear:i[1]||(i[1]=a=>r(a)),modelValue:y.value,"onUpdate:modelValue":i[2]||(i[2]=a=>y.value=a)}),null,16,["modelValue"]))}});function P(c,n){const{slots:u}=c,t=e.ref(c.value??{}),s=e.computed(()=>(e.toRaw(u?.default?.())??[]).flatMap(g=>Array.isArray(g.children)?g.children:[g]));function l(o){delete t.value[o],n("clear",{data:e.toRaw(t.value),name:o})}function y(o,g){g===void 0?l(o):t.value={...t.value,[o]:g},n("change",{data:e.toRaw(t.value),name:o,value:g})}const r=e.computed(()=>s.value.map(o=>{const g=o.props?.name;return e.cloneVNode(o,{...o.props,layout:c.view,showClean:!0,modelValue:t.value[g],"onUpdate:modelValue":f=>{y(g,f)},onClear:()=>l(g)})})),d=e.computed(()=>new Map(r.value.map(o=>{const g=o.props?.name;return g?[g,o]:null}).filter(o=>o!==null)));function p(o=!1){t.value={},o||n("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const m=e.ref(""),i=e.computed(()=>c.schema?.value?Object.entries(t.value).filter(([o,g])=>c.schema&&!(o in c.schema.value)?!1:Array.isArray(g)?g.some(f=>f!==""&&f!==void 0):g!==""&&g!==void 0).length:0),a=e.ref();e.watch(m,async()=>{await e.nextTick(),a?.value?.filterRef?.inputTextRef&&a.value.filterRef.inputTextRef.focus()});const x=e.computed(()=>c.schema?.value?Object.fromEntries(Object.entries(c.schema?.value).slice(0,c.limit)):{}),k=e.computed(()=>{if(r.value.length===0)return[];let o=0;if(c.schema?.value){const g=Object.entries(c.schema.value).length;c.limit&&g<c.limit?o=c.limit-g:o=0}return r.value.slice(0,o)}),w=e.computed(()=>r.value.length===0?[]:c.view!=="inline"?r.value:r.value.slice(k.value.length));return{activeFilter:t,activeFilterCount:i,onFilterChange:y,clearFilter:l,clearAllFilters:p,limitedSchema:x,filtersSlot:r,limitedFiltersSlot:k,popoverFiltersSlot:w,vnodeMap:d,selectedFilter:m,filterRef:a}}const Vl=e.defineComponent({__name:"popover",emits:["open","close"],setup(c,{emit:n}){const u=e.ref(!1),t=e.ref(null),s=e.ref(null),l=e.ref(null),y=e.ref({top:"0px",left:"0px",position:"absolute"});function r(){u.value=!u.value}function d(){const x=l.value,k=t.value;if(!x||!k)return;const w=x.getBoundingClientRect(),o=k.offsetWidth,g=window.innerWidth-w.left;let f=w.left+window.scrollX;o>g&&(f=window.innerWidth-o-8,f<8&&(f=8)),y.value={position:"absolute",top:`${w.bottom+window.scrollY+8}px`,left:`${f}px`}}const p=e.computed(()=>Object.entries(y.value).map(x=>x.join(":")).join(";"));function m(x){const k=x.target;!l.value?.contains(x.target)&&!t.value?.contains(x.target)&&!k.closest("[data-inside-popover]")&&(u.value=!1)}const i=e.ref(!1);e.onMounted(()=>{i.value=!0}),e.onMounted(()=>{l.value=s.value?.querySelector("[data-popover-trigger]")||null,l.value?.addEventListener("click",r),document.addEventListener("click",m),window.addEventListener("resize",d),window.addEventListener("scroll",d,!0)}),e.onBeforeUnmount(()=>{l.value?.removeEventListener("click",r),document.removeEventListener("click",m),window.removeEventListener("resize",d),window.removeEventListener("scroll",d,!0)});const a=n;return e.watch(u,async x=>{x?(a("open"),await e.nextTick(),d()):a("close")}),(x,k)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:s},[e.renderSlot(x.$slots,"trigger"),i.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:t,class:"absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",style:e.normalizeStyle(p.value)},[e.renderSlot(x.$slots,"default")],4),[[e.vShow,u.value]])])):e.createCommentVNode("",!0)],512))}}),Bl={},Cl={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 El(c,n){return e.openBlock(),e.createElementBlock("svg",Cl,n[0]||(n[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)]))}const ce=K(Bl,[["render",El]]),Nl={class:"flex items-center gap-2 overflow-hidden"},_l={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"},Sl={class:"flex"},Dl={class:"w-64 border-r border-gray-200"},$l={class:"p-2"},Fl=["onClick"],Al={class:"flex items-center gap-2"},Ml={class:"text-sm font-medium"},jl={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"},Rl=["onClick"],Tl={class:"flex items-center gap-2"},Kl={class:"text-sm font-medium"},Ll={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"},zl={key:0,class:"p-2 border-t"},Ol={class:"flex-1 min-h-[300px] overflow-y-auto"},Ul={key:0,class:"flex items-center justify-center h-full text-gray-500"},de=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{}},emits:["change","clear","clearAll"],setup(c,{expose:n,emit:u}){const t=c,s=re(t.mode),l=e.useSlots(),y=u,r=e.ref({}),d=e.computed(()=>r?.value?t.view!=="inline"?r?.value:Object.fromEntries(Object.entries(r?.value).slice(t.limit)):{}),{activeFilter:p,activeFilterCount:m,onFilterChange:i,clearFilter:a,clearAllFilters:x,popoverFiltersSlot:k,selectedFilter:w,filterRef:o}=P({...t,schema:r,slots:l},y),g=e.computed(()=>t.badgeCount??m.value);function f(C){return Array.isArray(C)?C.filter(S=>S!=null&&S!=="").length:C&&typeof C=="object"?Object.values(C).filter(S=>S!=null&&S!=="").length:C===null||C!==void 0&&C!==""?1:0}function h(C){return p.value?f(p.value[C]):0}function b(){if(d.value){const[C]=Object.keys(d.value);w.value=C}else k.value.length>0?w.value=k.value[0].props.name:w.value=""}return e.watch(()=>t.schema,C=>{r.value=C??{}},{deep:!0,immediate:!0}),n({clearFilter:a,clearAllFilters:x}),(C,S)=>(e.openBlock(),e.createBlock(Vl,{onOpen:b,onClose:S[5]||(S[5]=V=>w.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([e.unref(s),"flex items-center justify-between gap-2",g.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",Nl,[e.createVNode(ce,{class:"h-4 w-4"}),S[6]||(S[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),g.value>0?(e.openBlock(),e.createElementBlock("span",_l,e.toDisplayString(g.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Sl,[e.createElementVNode("div",Dl,[S[7]||(S[7]=e.createElementVNode("div",{class:"p-4 border-b"},[e.createElementVNode("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),e.createElementVNode("div",$l,[C.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(d.value),([V,N])=>(e.openBlock(),e.createElementBlock("button",{key:V,onClick:()=>{w.value=V},class:e.normalizeClass(["flex w-full items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",e.unref(w)===V?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Al,[e.createElementVNode("span",Ml,e.toDisplayString(N.label),1)]),h(V)>0?(e.openBlock(),e.createElementBlock("div",jl,e.toDisplayString(h(V)),1)):e.createCommentVNode("",!0)],10,Fl))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(V,N)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+N,onClick:E=>w.value=V.props.name,class:e.normalizeClass(["flex items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",e.unref(w)===V.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Tl,[e.createElementVNode("span",Kl,e.toDisplayString(V.props.label),1)]),h(V.props.name)>0?(e.openBlock(),e.createElementBlock("div",Ll,e.toDisplayString(h(V.props.name)),1)):e.createCommentVNode("",!0)],10,Rl))),128))]),e.unref(m)>0?(e.openBlock(),e.createElementBlock("div",zl,[e.createElementVNode("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:S[0]||(S[0]=V=>e.unref(x)()),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ol,[e.unref(w)===""?(e.openBlock(),e.createElementBlock("div",Ul,S[8]||(S[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)]))):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(d.value),([V,N])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(w)===V?(e.openBlock(),e.createBlock(L,e.mergeProps({key:V,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:o},{ref_for:!0},N,{onChange:S[1]||(S[1]=E=>e.unref(i)(E.name,E.value)),onClear:S[2]||(S[2]=E=>{e.unref(a)(E),e.unref(i)(E,void 0)}),modelValue:e.unref(p)[V],"onUpdate:modelValue":E=>e.unref(p)[V]=E,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(V,N)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+N},[e.unref(w)===V.props.name?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},V.props,{ref_for:!0,ref_key:"filterRef",ref:o,onChange:S[3]||(S[3]=E=>e.unref(i)(E.name,E.value)),onClear:S[4]||(S[4]=E=>{e.unref(a)(E),e.unref(i)(E,void 0)}),modelValue:e.unref(p)[V.props.name],"onUpdate:modelValue":E=>e.unref(p)[V.props.name]=E,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Il={class:"flex gap-1 items-center flex-wrap"},fe=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{}},emits:["change","clear","clearAll"],setup(c,{expose:n,emit:u}){const t=z(),s=c,l=u,y=e.useSlots(),r=e.ref({}),d=e.computed(()=>Object.keys(s.schema).length>s.limit),{activeFilter:p,activeFilterCount:m,onFilterChange:i,clearFilter:a,clearAllFilters:x,limitedSchema:k,filtersSlot:w,limitedFiltersSlot:o}=P({...s,schema:r,slots:y},l);function g(V){return Array.isArray(V)?V.some(N=>N!==""&&N!==void 0&&N!==null):V===null?!0:V&&typeof V=="object"?Object.values(V).some(N=>N!==""&&N!==void 0&&N!==null):V!==""&&V!==void 0}const f=e.computed(()=>{const V=Object.keys(k.value??{}),N=o.value.map(E=>E.props?.name).filter(E=>typeof E=="string");return new Set([...V,...N])}),h=e.computed(()=>Object.entries(p.value??{}).filter(([V,N])=>f.value.has(V)&&g(N)).length),b=e.computed(()=>{const V=m.value??0,N=h.value??0;return Math.max(V-N,0)}),C=e.ref();function S(){C.value&&C.value.clearAllFilters(!0),x()}return e.watch(()=>s.schema,V=>{r.value=V},{deep:!0,immediate:!0}),n({clearFilter:a,clearAllFilters:x}),(V,N)=>(e.openBlock(),e.createElementBlock("div",Il,[V.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(k)),([E,D])=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:E,mode:V.mode,width:V.width?V.width:D?.width},{ref_for:!0},D,{onChange:N[0]||(N[0]=_=>e.unref(i)(_.name,_.value)),onClear:e.unref(a),layout:"inline",cleanable:!0,modelValue:e.unref(p)[E],"onUpdate:modelValue":_=>e.unref(p)[E]=_}),null,16,["mode","width","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),(E,D)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+D,layout:"inline"},{ref_for:!0},E.props,{onChange:N[1]||(N[1]=_=>e.unref(i)(_.name,_.value)),onClear:N[2]||(N[2]=_=>{e.unref(a)(_),e.unref(i)(_,void 0)}),cleanable:!0,modelValue:e.unref(p)[E.props.name],"onUpdate:modelValue":_=>e.unref(p)[E.props.name]=_}),null,16,["modelValue","onUpdate:modelValue"]))),128)),d.value?(e.openBlock(),e.createBlock(de,e.mergeProps({key:1},s,{schema:V.schema,limit:V.limit,onChange:N[3]||(N[3]=E=>e.unref(i)(E.name,E.value)),onClearAll:N[4]||(N[4]=E=>e.unref(x)()),onClear:N[5]||(N[5]=E=>e.unref(a)(E.name)),mode:V.mode,ref_key:"popoverRef",ref:C,cleanable:!0,"badge-count":b.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),(E,D)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E),e.mergeProps({key:"slot-"+D,layout:"popover"},{ref_for:!0},E.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(m)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:S,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-sm bg-white-100 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"},e.toDisplayString(e.unref(t)("filter.clear")),1)):e.createCommentVNode("",!0)]))}}),Pl={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"},Yl={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Wl=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{}},emits:["change","clear","clearAll"],setup(c,{expose:n,emit:u}){const t=c,s=u,l=e.useSlots(),{activeFilter:y,activeFilterCount:r,onFilterChange:d,clearFilter:p,clearAllFilters:m,filtersSlot:i}=P({...t,slots:l},s);return n({clearFilter:p,clearAllFilters:m}),(a,x)=>a.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Pl,[e.createElementVNode("div",Yl,[e.unref(r)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x[0]||(x[0]=k=>e.unref(m)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"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"}," Очистити ")):e.createCommentVNode("",!0),a.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(a.schema),([k,w])=>(e.openBlock(),e.createBlock(L,e.mergeProps({layout:"vertical"},{ref_for:!0},w,{onChange:x[1]||(x[1]=o=>e.unref(d)(o.name,o.value)),onClear:x[2]||(x[2]=o=>{e.unref(p)(o),e.unref(d)(o,void 0)}),modelValue:e.unref(y)[k],"onUpdate:modelValue":o=>e.unref(y)[k]=o,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(k,w)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+w,layout:"vertical"},{ref_for:!0},k.props,{onChange:x[3]||(x[3]=o=>e.unref(d)(o.name,o.value)),onClear:x[4]||(x[4]=o=>{e.unref(p)(o),e.unref(d)(o,void 0)}),modelValue:e.unref(y)[k.props.name],"onUpdate:modelValue":o=>e.unref(y)[k.props.name]=o,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),ql=["onKeydown"],Ql=["disabled"],Gl={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"},Hl={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Xl={class:"mb-3 flex items-center justify-between"},Zl={class:"text-[15px] font-semibold text-slate-800"},Jl={"aria-hidden":"true"},vl={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},eo={key:0,class:"mt-3 flex justify-end"},to=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:{}},emits:["change","clear","clearAll"],setup(c,{emit:n}){const u=z(),t=c,s=n,l=e.ref({}),y=e.useSlots(),{activeFilter:r,activeFilterCount:d,onFilterChange:p,clearFilter:m,clearAllFilters:i,filtersSlot:a}=P({...t,schema:l.value,slots:y},s),x=e.ref(null),k=e.ref(null),w=e.reactive({open:!1,top:0,left:0}),o=e.computed(()=>w.open),g=e.computed(()=>!!t.disabled),f=e.computed(()=>l.value||{}),h=e.computed(()=>t.title??"Фільтр"),b=e.computed(()=>!!y.trigger),C=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",g.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),S=e.computed(()=>w.open?{position:"absolute",top:`${w.top}px`,left:`${w.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function V(){w.open=!1}function N(){if(!x.value)return;const M=x.value.getBoundingClientRect();w.top=M.bottom+window.scrollY+8,w.left=M.left+M.width/2+window.scrollX}function E(){w.open=!w.open,w.open&&e.nextTick(N)}function D(){g.value||E()}function _(){w.open&&N()}function F(){i()}return e.onMounted(()=>{window.addEventListener("resize",_),window.addEventListener("scroll",_,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",_),window.removeEventListener("scroll",_,!0)}),e.watch(()=>t.schema,M=>{if(!M){l.value={};return}if(Array.isArray(M)){const B=M.filter($=>$&&($.name||$.id)).map($=>{const j=$.name||$.id;return[j,{...$,name:j}]});l.value=Object.fromEntries(B);return}l.value=M},{deep:!0,immediate:!0}),e.watch(()=>t.disabled,M=>{M&&V()}),(M,B)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:x},[b.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",g.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(D,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(D,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(D,["prevent","stop"]),["space"])]},[e.renderSlot(M.$slots,"trigger",{toggle:D,open:o.value,disabled:g.value,activeCount:e.unref(d)})],42,ql)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(C.value),type:"button",disabled:g.value,onClick:e.withModifiers(D,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(ce,{class:"h-4 w-4"}),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",Gl,e.toDisplayString(e.unref(d)),1)):e.createCommentVNode("",!0)],10,Ql)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof M.width=="number"?`min-w-[${M.width+32+(Object.keys(f.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(S.value),ref_key:"panel",ref:k,onClick:B[4]||(B[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Hl,[e.createElementVNode("div",Xl,[e.createElementVNode("h3",Zl,e.toDisplayString(h.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:V},[e.createElementVNode("span",Jl,[e.createVNode(H,{class:"h-4 w-4"})]),B[5]||(B[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",vl,[Object.keys(f.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(f.value),([$,j])=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:$},{ref_for:!0},{...j,layout:"inline"},{width:M.width?M.width:j?.width,cleanable:!0,modelValue:e.unref(r)[$],"onUpdate:modelValue":A=>e.unref(r)[$]=A,onChange:B[0]||(B[0]=A=>e.unref(p)(A.name,A.value)),onClear:B[1]||(B[1]=A=>{e.unref(m)(A),e.unref(p)(A,void 0)})}),null,16,["width","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),($,j)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+j,ref_for:!0},{...$.props,layout:"inline"},{cleanable:!0,modelValue:e.unref(r)[$.props.name],"onUpdate:modelValue":A=>e.unref(r)[$.props.name]=A,onChange:B[2]||(B[2]=A=>e.unref(p)(A.name,A.value)),onClear:B[3]||(B[3]=A=>{e.unref(m)(A),e.unref(p)(A,void 0)})}),null,16,["modelValue","onUpdate:modelValue"]))),128))]),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",eo,[e.createElementVNode("button",{type:"button",class:"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none",onClick:F},e.toDisplayString(e.unref(u)("filter.clear")),1)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),Y=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{}},emits:["change","clear","clearAll"],setup(c,{expose:n,emit:u}){const t=c,s=e.ref(t.value??{}),l=u,y=e.ref(),r=e.useSlots();function d(o){if(Array.isArray(o))return o.map(g=>d(g));if(o!==null&&typeof o=="object"){const g=e.toRaw(o),f={};for(const h in g)f[h]=d(g[h]);return f}return o}function p(o,g){g!==void 0?s.value={...s.value,[o]:g}:delete s.value[o],l("change",{data:d(s.value),name:o,value:d(g)})}function m(o){delete s.value[o],l("clear",{data:d(s.value),name:o}),l("change",{data:d(s.value),name:o,value:null})}function i(){s.value={},l("clear",{data:d(s.value),name:"ALL"}),l("change",{data:d(s.value),name:"ALL",value:null})}const a=e.ref({});function x(){switch(t.view){case"inline":return fe;case"vertical":return Wl;case"popover":return de;case"popover-inline":return to;default:return fe}}e.watch(()=>t.schema,o=>{if(!o){a.value={};return}if(Array.isArray(o)&&!o.length){a.value={};return}Array.isArray(o)?a.value=o.filter(g=>g.type).reduce((g,f)=>(Object.assign(f,{name:f.id||f.name,type:{datepicker:"date"}[f.type.toLowerCase()]||f.type.toLowerCase(),label:f.label||f.ua}),g[f.name]=f,f.data&&!f.api&&!f.options&&Object.assign(f,{api:`/api/suggest/${f.data}`}),g),{}):(Object.entries(o).forEach(([g,f])=>{Object.assign(f,{name:g||f.name||f.id,type:f.type.toLowerCase()})}),a.value={...o})},{immediate:!0,deep:!0});function k(o){y.value.clearFilter(o),m(o)}function w(){y.value.clearAllFilters(),i()}return e.watch(()=>s.value,o=>{if(t.history){const g=new URL(window.location.href),f=new URLSearchParams(window.location.search);Object.keys(o).length>0?f.set("filter",Object.entries(o).filter(([,h])=>h).map(([h,b])=>`${h}=${b}`).join("|")):f.delete("filter"),g.search=decodeURI(f.toString()),window.history.pushState({},"",g)}}),n({clearAllFilters:w,clearFilter:k}),(o,g)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x()),e.mergeProps(t,{schema:a.value,onChange:g[0]||(g[0]=f=>p(f.name,f.value)),onClear:g[1]||(g[1]=f=>m(f.name)),onClearAll:i,ref_key:"filterRef",ref:y}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[e.unref(r).trigger?{name:"trigger",fn:e.withCtx(f=>[e.renderSlot(o.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(f)))]),key:"0"}:void 0]),1040,["schema"]))}});Y.install=function(n){n.component("Filter",Y),n.component("FilterField",L)},T.Filter=Y,T.FilterField=L,T.default=Y,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,7 +1,7 @@
1
1
  export interface IActiveFilter {
2
2
  [key: string]: string | string[] | null;
3
3
  }
4
- export type filterType = 'text' | 'checkbox' | 'range' | 'Range' | 'date' | 'tags' | 'Text' | 'Check' | 'radio' | 'Radio' | 'select' | 'autocomplete' | 'tag';
4
+ export type filterType = 'text' | 'checkbox' | 'range' | 'Range' | 'date' | 'tags' | 'Text' | 'Check' | 'radio' | 'Radio' | 'Group' | 'select' | 'autocomplete' | 'tag' | 'group';
5
5
  export interface IListItem {
6
6
  text: string;
7
7
  id: any;
@@ -39,11 +39,15 @@ export type ISchema = {
39
39
  } | IFilterItem[];
40
40
  export interface IFilter {
41
41
  schema?: ISchema | IFilterItem[];
42
- view?: "inline" | "vertical" | "popover";
42
+ view?: "inline" | "vertical" | "popover" | "popover-inline";
43
43
  value?: IActiveFilter;
44
44
  history?: boolean;
45
45
  mode?: string;
46
46
  limit?: number;
47
+ width?: number | string;
48
+ title?: string;
49
+ disabled?: boolean;
50
+ defaultPanelWidth?: number;
47
51
  }
48
52
  type TYPE_CONFIG = {
49
53
  [key: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/types/filter.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,UAAU,GACpB,MAAM,GACJ,UAAU,GACV,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,cAAc,GACd,KAAK,CAAC;AAEV,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,GAAG,WAAW,EAAE,CAAC;AAGrE,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,KAAK,WAAW,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,WAAW,EAWnB,WAAW,CAAC;AAEjB,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS;;;EAmBhG;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QACnB,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,GAAG,CAAC;KACZ,GAAG,IAAI,CAAC;IAET,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,GAAG,IAAI,CAAC;IAElE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,GAAG,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3C,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACzD,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/types/filter.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,UAAU,GACpB,MAAM,GACJ,UAAU,GACV,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,cAAc,GACd,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,GAAG,WAAW,EAAE,CAAC;AAGrE,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAC5D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,KAAK,WAAW,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,WAAW,EAYnB,WAAW,CAAC;AAEjB,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS;;;EAmBhG;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QACnB,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,GAAG,CAAC;KACZ,GAAG,IAAI,CAAC;IAET,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,GAAG,IAAI,CAAC;IAElE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,GAAG,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3C,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACzD,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC"}