@opengis/partsmap 0.1.23 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- (function(e,pe){typeof exports=="object"&&typeof module<"u"?module.exports=pe(require("vue")):typeof define=="function"&&define.amd?define(["vue"],pe):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=pe(e.Vue))})(this,function(e){"use strict";const pe=(c,o)=>{const l=c.__vccOpts||c;for(const[a,t]of o)l[a]=t;return l};e.defineComponent({props:{modelValue:{type:Boolean,default:()=>!1},title:{type:String,default:()=>""},disabled:{type:Boolean,default:()=>!1}},data(){return{}},mounted(){this.modelValue||this.$emit("update:modelValue",!1)},computed:{modelState:{get(){return this.modelValue},set(c){this.$emit("update:modelValue",c)}},labelCursorClasses(){return[{"cursor-not-allowed":this.disabled},{"cursor-pointer":!this.disabled}]}},methods:{handleEnterDown(c){const{keyCode:o}=c;o===13&&(this.modelState=!this.modelState)},addKeyHandler(){window.addEventListener("keydown",this.handleEnterDown)},removeKeyHandler(){window.removeEventListener("keydown",this.handleEnterDown)}}});const xt={},bt={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6 text-green-600"};function kt(c,o){return e.openBlock(),e.createElementBlock("svg",bt,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))}const wt=pe(xt,[["render",kt]]),Vt={},Ct={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"orange",class:"size-6 text-orange-600"};function Bt(c,o){return e.openBlock(),e.createElementBlock("svg",Ct,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))}const Et=pe(Vt,[["render",Bt]]),Nt={},_t={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6 text-blue-600"};function St(c,o){return e.openBlock(),e.createElementBlock("svg",_t,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"},null,-1)]))}const Mt=pe(Nt,[["render",St]]),Lt={},Dt={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"red",class:"size-6 text-red-600"};function $t(c,o){return e.openBlock(),e.createElementBlock("svg",Dt,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const zt=pe(Lt,[["render",$t]]),Pt={class:"rounded-md border border-gray-300 bg-white p-4 shadow-sm"},Ft={class:"flex items-start gap-4 opacity-100 scale-5 transition-all duration-300"},jt={class:"flex-1"},At={class:"font-medium text-gray-900"},Tt={class:"mt-0.5 text-sm text-gray-700"},Rt=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(c){const o={success:wt,warning:Et,error:zt,info:Mt};return(l,a)=>(e.openBlock(),e.createElementBlock("div",Pt,[e.createElementVNode("div",Ft,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o[l.type]))),e.createElementVNode("div",jt,[e.createElementVNode("strong",At,e.toDisplayString(l.title),1),e.createElementVNode("p",Tt,e.toDisplayString(l.message),1)]),a[0]||(a[0]=e.createElementVNode("button",{class:"m-3 rounded-full p-1.5 text-gray-500 transition-colors hover:bg-gray-50 hover:text-gray-700",type:"button","aria-label":"Dismiss notify"},[e.createElementVNode("span",{class:"sr-only"},"Dismiss popup"),e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-5"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})])],-1))])]))}});e.reactive({visible:!0});const Ce={top:"top-4 left-1/2 transform -translate-x-1/2","left-bottom":"bottom-4 left-4 transform","right-bottom":"bottom-4 right-4 transform",bottom:"bottom-4 left-1/2 transform -translate-x-1/2"},Re=c=>{var p;const{type:o="info",title:l,message:a,position:t="right-bottom"}=c||{};let r=document.querySelector("#notify-root");r||(r=document.createElement("div"),r.id="notify-root",r.className=`fixed z-[2000] flex flex-col gap-3 ${Ce[t]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(r)),r.className.includes(Ce[t])||(Object.values(Ce).forEach(w=>{r.classList.remove(...w.split(" "))}),r.classList.add(...Ce[t].split(" ")));const g=document.createElement("div");r.appendChild(g);const i=e.createApp({render(){return e.h(Rt,{type:o,title:l,message:a,onClose:()=>{i.unmount(),g.remove()}})}});i.mount(g),(p=g.querySelector("button"))==null||p.addEventListener("click",()=>{g.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{i.unmount(),g.remove()},350)}),setTimeout(()=>{g.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{i.unmount(),g.remove()},350)},3500)},ie=(c,o)=>{const l=c.__vccOpts||c;for(const[a,t]of o)l[a]=t;return l},Zt={},Ot={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 It(c,o){return e.openBlock(),e.createElementBlock("svg",Ot,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 Kt=ie(Zt,[["render",It]]),Ut={},vt={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 Ht(c,o){return e.openBlock(),e.createElementBlock("svg",vt,o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const me=ie(Ut,[["render",Ht]]),Wt={class:"flex items-center justify-between w-full text-sm"},Gt={class:"flex items-center cursor-pointer w-full"},qt={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Yt=["value"],Qt={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Xt={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Jt={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},Se=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(c,{expose:o,emit:l}){const a=c,t=l;function r(){t("itemClick",a.value)}const g=e.ref(null),i=e.computed(()=>a.layout==="inline"&&a.type==="radio");return o({el:g}),(p,w)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:g},[e.createElementVNode("div",Wt,[e.createElementVNode("div",Gt,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(p.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":p.highlighted,relative:i.value}]),onClick:e.withModifiers(r,["stop","prevent"])},[i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[p.type==="checkbox"?"rounded-[4px]":"rounded-full",p.color?`bg-[${p.color}] border-[#ffffff]`:p.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[p.isSelected?(e.openBlock(),e.createElementBlock("img",qt)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:p.value},null,8,Yt),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",i.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Qt,e.toDisplayString(p.label??"Відсутні дані"),1),p.count?(e.openBlock(),e.createElementBlock("div",Xt," ("+e.toDisplayString(p.count)+") ",1)):e.createCommentVNode("",!0)],2),i.value&&p.isSelected?(e.openBlock(),e.createElementBlock("span",Jt,[e.createVNode(me)])):e.createCommentVNode("",!0)],2)])])],512))}});function Me(c,o){const{options:l=[],limit:a=20}=c;function t(m){return Array.isArray(m)?m[0]:m}const r=e.ref(t(c.modelValue)),g=e.ref(""),i=e.ref(!1),p=e.ref([]),w=e.ref("id"),f=e.ref("text"),h=e.ref(!1),u=e.ref(c.layout!=="popover"&&l.length>a);function x(m){const y=m.find(Boolean)??{},z=["id","value","code","key"].find(E=>E in y)??"id",L=["text","label","name","title"].find(E=>E in y)??"text";return{autoValueKey:z,autoLabelKey:L}}if(l.length>0){const m=x(l);w.value=m.autoValueKey,f.value=m.autoLabelKey}const b=e.computed(()=>{const m=p.value;return c.layout==="popover"||h.value?m:m.slice(0,a)});e.watch(()=>c.modelValue,m=>{r.value=t(m)},{immediate:!0}),p.value=[...l].sort((m,y)=>c.sort==="count"?y.count&&m.count?y.count-m.count:0:c.sort==="name"?String(m[f.value]??"").localeCompare(String(y[f.value]??"")):0);function k(m){return r.value===m[w.value]}function d(m){r.value=m[w.value],o("update:modelValue",r.value),o("change",{name:c.name,value:r.value})}function s(){r.value=void 0,o("update:modelValue",r.value),o("clear",c.name)}function n(){h.value=!h.value}return{innerValue:r,searchTerm:g,filteredOptions:b,isSelected:k,selectItem:d,clear:s,toggleShowAll:n,isReqProc:i,showAll:h,isEnableShowAll:u,labelKey:f,valueKey:w,allOptions:p}}const el={},tl={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ll(c,o){return e.openBlock(),e.createElementBlock("svg",tl,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 Le=ie(el,[["render",ll]]),ol={},nl={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 rl(c,o){return e.openBlock(),e.createElementBlock("svg",nl,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 Be=ie(ol,[["render",rl]]),al={},il={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 sl(c,o){return e.openBlock(),e.createElementBlock("svg",il,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 De=ie(al,[["render",sl]]),cl={key:0,class:"w-full"},dl={class:"flex flex-col items-center justify-center p-5 text-center"},pl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ml={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},fl=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=c,t=e.ref(null),r=l,{innerValue:g,filteredOptions:i,isSelected:p,selectItem:w,clear:f,toggleShowAll:h,isReqProc:u,showAll:x,isEnableShowAll:b,labelKey:k,valueKey:d,allOptions:s}=Me({...a,modelValue:a.modelValue??a.default??""},r);return o({clear:f,inputTextRef:t}),e.watch(()=>a.modelValue,n=>{n===void 0&&(g.value=void 0)}),(n,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([n.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([n.layout==="popover"?"flex-1 overflow-y-auto p-2":"",n.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),y=>(e.openBlock(),e.createBlock(Se,{layout:n.layout,key:y[e.unref(d)],count:y.count,label:y[e.unref(k)],color:y.color,type:"radio",value:y[e.unref(d)],"is-selected":e.unref(p)(y),onItemClick:z=>e.unref(w)(y)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),n.type==="select"&&e.unref(i).length===0&&!e.unref(u)?(e.openBlock(),e.createElementBlock("div",cl,[e.createElementVNode("div",dl,[e.createVNode(Le),m[4]||(m[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),n.layout!=="popover"&&n.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m[0]||(m[0]=(...y)=>e.unref(h)&&e.unref(h)(...y)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[m[5]||(m[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(Be)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:m[1]||(m[1]=(...y)=>e.unref(h)&&e.unref(h)(...y)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[m[6]||(m[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(De)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),n.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.layout==="inline"?(e.openBlock(),e.createElementBlock("div",pl,[e.createTextVNode(e.toDisplayString(e.unref(g)||e.unref(g)===null?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[2]||(m[2]=(...y)=>e.unref(f)&&e.unref(f)(...y))}," Очистити ",512),[[e.vShow,e.unref(g)!==""&&e.unref(g)!==void 0]])])):e.createCommentVNode("",!0),n.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g)||e.unref(g)===null?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[3]||(m[3]=(...y)=>e.unref(f)&&e.unref(f)(...y))}," Очистити ",512),[[e.vShow,e.unref(g)!==""&&e.unref(g)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function Ze(c,o){const{options:l=[],limit:a=20}=c;function t(m){return Array.isArray(m)?m:m?[m]:[]}const r=e.ref(t(c.modelValue)),g=e.ref(""),i=e.ref(!1),p=e.ref([]),w=e.ref("id"),f=e.ref("text"),h=e.ref(!1),u=e.ref(c.layout!=="popover"&&l.length>a);function x(m){const y=m.find(Boolean)??{},z=["id","value","code","key"].find(E=>E in y)??"id",L=["text","label","name","title"].find(E=>E in y)??"text";return{autoValueKey:z,autoLabelKey:L}}if(l.length>0){const m=x(l);w.value=m.autoValueKey,f.value=m.autoLabelKey}const b=e.computed(()=>{const m=p.value;return c.layout==="popover"||h.value?m:m.slice(0,a)});e.watch(()=>c.modelValue,m=>{r.value=t(m)},{immediate:!0}),p.value=[...l].sort((m,y)=>c.sort==="count"?y.count&&m.count?y.count-m.count:0:c.sort==="name"?String(m[f.value]).localeCompare(String(y[f.value])):0);function k(m){return r.value&&r.value.includes(m[w.value])}function d(m){const y=r.value.includes(m[w.value]);r.value=y?r.value.filter(z=>z!==m[w.value]):[...r.value,m[w.value]],o("update:modelValue",r.value),o("change",{name:c.name,value:r.value})}function s(){r.value=[],o("update:modelValue",r.value),o("clear",c.name)}function n(){h.value=!h.value}return{innerValue:r,searchTerm:g,filteredOptions:b,isSelected:k,selectItem:d,clear:s,toggleShowAll:n,isReqProc:i,showAll:h,isEnableShowAll:u,labelKey:f,valueKey:w,allOptions:p}}const Oe={en:{apply:"Apply",search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",max:"max",min:"min",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next",selectFieldHelp:"Select a field to start creating a filter."},uk:{apply:"Застосувати",search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",max:"макс",min:"мін",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період",selectFieldHelp:"Оберіть поле, щоб розпочати створення фільтра."}};function Ie(c){const o=c.split(".")[1],l=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(Oe[l||navigator.language]||Oe.uk)[o]}function ce(){const c=e.getCurrentInstance();if(!c.appContext.config.globalProperties.$i18n)return Ie;const o=c.appContext.config.globalProperties.$t;return l=>{const a=o(l);return a===l?Ie(l):a}}const ul={key:0,class:"w-full"},gl={class:"flex flex-col items-center justify-center p-5 text-center"},hl={class:"max-w-sm mx-auto mt-6"},yl={class:"font-medium text-gray-800 dark:text-neutral-200"},xl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},bl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ke=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=ce(),t=c,r=l,{innerValue:g,filteredOptions:i,isSelected:p,selectItem:w,clear:f,toggleShowAll:h,isReqProc:u,showAll:x,isEnableShowAll:b,labelKey:k,valueKey:d,allOptions:s}=Ze({...t,modelValue:t.modelValue},r);return e.watch(()=>t.modelValue,n=>{n===void 0&&(g.value=[])}),o({clear:f}),(n,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([n.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([n.layout==="popover"?"flex-1 overflow-y-auto p-2":"",n.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),y=>(e.openBlock(),e.createBlock(Se,{layout:n.layout,count:y.count,label:y[e.unref(k)],color:y.color,type:"checkbox",value:y[e.unref(d)],"is-selected":e.unref(p)(y),onItemClick:z=>e.unref(w)(y)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),n.type==="select"&&e.unref(i).length===0&&!e.unref(u)?(e.openBlock(),e.createElementBlock("div",ul,[e.createElementVNode("div",gl,[e.createVNode(Le),e.createElementVNode("div",hl,[e.createElementVNode("p",yl,e.toDisplayString(e.unref(a)("filter.notfound")),1),m[4]||(m[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),n.layout!=="popover"&&n.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m[0]||(m[0]=(...y)=>e.unref(h)&&e.unref(h)(...y)),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(a)("filter.more"))+" ",1),e.createVNode(Be)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:m[1]||(m[1]=(...y)=>e.unref(h)&&e.unref(h)(...y)),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(a)("filter.less"))+" ",1),e.createVNode(De)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),n.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.layout==="inline"?(e.openBlock(),e.createElementBlock("div",xl,[e.createTextVNode(e.toDisplayString(e.unref(g).length)+" / "+e.toDisplayString(e.unref(s).length)+" "+e.toDisplayString(e.unref(a)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[2]||(m[2]=(...y)=>e.unref(f)&&e.unref(f)(...y))},e.toDisplayString(e.unref(a)("filter.clear")),513),[[e.vShow,e.unref(g).length!==0]])])):e.createCommentVNode("",!0),n.layout==="popover"?(e.openBlock(),e.createElementBlock("div",bl,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).length)+" / "+e.toDisplayString(e.unref(s).length)+" "+e.toDisplayString(e.unref(a)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[3]||(m[3]=(...y)=>e.unref(f)&&e.unref(f)(...y))},e.toDisplayString(e.unref(a)("filter.clear")),513),[[e.vShow,e.unref(g).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),kl={},wl={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 Vl(c,o){return e.openBlock(),e.createElementBlock("svg",wl,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 Ue=ie(kl,[["render",Vl]]),Cl={},Bl={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 El(c,o){return e.openBlock(),e.createElementBlock("svg",Bl,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 $e=ie(Cl,[["render",El]]);class ve{static getWidthClass(o){return typeof o=="number"?`max-w-[${o}px] min-w-[${o}px]`:typeof o=="string"?o.endsWith("%")||o.endsWith("px")?`max-w-[${o}]`:`max-w-${o}`:"w-full"}}const Nl={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},_l=["placeholder"],Sl=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},type:{},label:{},width:{default:220},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{emit:o}){var w;const l=c,a=e.ref((l.placeholder||l.label||l.title||l.name||"search").toString()),t=o,r=e.ref(((w=l.modelValue)==null?void 0:w.toString())??"");e.watch(()=>l.modelValue,f=>{f!==r.value&&(r.value=(f==null?void 0:f.toString())??"")});let g=null;function i(){if(r.value=r.value.trimStart(),r.value.length===0){p();return}g&&clearTimeout(g),g=setTimeout(()=>{t("update:modelValue",r.value),t("change",{name:l.name,value:r.value})},300)}function p(){r.value="",t("update:modelValue",""),t("clear",l.name)}return(f,h)=>(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",f.layout==="inline"?e.unref(ve).getWidthClass(f.width):"mb-2"+(f.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Nl,[e.createVNode(Ue)]),r.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:p,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode($e)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":h[0]||(h[0]=u=>r.value=u),onInput:i,placeholder:a.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,_l),[[e.vModelText,r.value]])],2))}});function He(c={color:"blue"}){return e.computed(()=>{const o=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${c.color}-500 focus:border-transparent
2
- text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return(c==null?void 0:c.size)==="sm"?`${o}h-[32px]`:`${o}h-[38px]`})}function Ml(){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 Ll(){return"font-medium border border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600"}function We(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-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const Dl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},$l=["placeholder","disabled"],zl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Pl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Fl=["placeholder","disabled"],jl=["disabled"],Al=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=He(),t=Ml(),r=ce(),g=c,i=e.ref(g.modelValue??g.default??[]),p=l,w=e.computed({get:()=>g.modelValue??i.value,set:u=>{g.modelValue!==void 0?p("update:modelValue",u):i.value=u}});function f(){p("change",{name:g.name,value:w.value||i.value})}function h(){i.value=[],w.value=i.value,p("clear",g.name)}return e.watch(()=>g.modelValue,u=>{u!==void 0&&g.layout!=="popover"?(i.value=u,p("update:modelValue",u)):i.value=[]}),o({clear:h,currentValue:w}),(u,x)=>{var b,k;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(u.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[u.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",Dl,e.toDisplayString(e.unref(r)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(a)),placeholder:((b=u.placeholder)==null?void 0:b[0])??e.unref(r)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":x[0]||(x[0]=d=>w.value[0]=d),disabled:u.disabled},null,10,$l),[[e.vModelText,w.value[0]]])]),u.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",zl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[u.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",Pl,e.toDisplayString(e.unref(r)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(a)),placeholder:((k=u.placeholder)==null?void 0:k[1])??e.unref(r)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":x[1]||(x[1]=d=>w.value[1]=d),disabled:u.disabled},null,10,Fl),[[e.vModelText,w.value[1]]])]),["popover","inline","vertical"].includes(u.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:f,class:e.normalizeClass(e.unref(t)+(u.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(u.layout==="vertical"?"Ok":e.unref(r)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(u.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(w.value[0]||w.value[1]),onClick:h,class:e.normalizeClass(e.unref(t)+" hover:bg-gray-100")},e.toDisplayString(e.unref(r)("filter.clear")),11,jl)):e.createCommentVNode("",!0)],2)]),(u.cleanable&&i.value.length,e.createCommentVNode("",!0))],64)}}});class Q{static format(o){const l=o.getFullYear(),a=(o.getMonth()+1).toString().padStart(2,"0"),t=o.getDate().toString().padStart(2,"0");return`${l}-${a}-${t}`}static getShiftedDay(o,l=0){const a=o?new Date(o):new Date;return a.setDate(a.getDate()+l),this.format(a)}static getLastWeekRange(o,l,a=0){if(o&&l){const w=new Date(o),f=new Date(l);return w.setDate(w.getDate()+a*7),f.setDate(f.getDate()+a*7),[this.format(w),this.format(f)]}const t=new Date,r=t.getDay(),g=r===0?13:r-1+7,i=new Date(t);i.setDate(t.getDate()-g+a*7);const p=new Date(i);return p.setDate(i.getDate()+6),[this.format(i),this.format(p)]}static getMonthRange(o,l,a=0){let t;o?t=new Date(o):t=new Date,t=new Date(t.getFullYear(),t.getMonth()+a,1);const r=t,g=new Date(t.getFullYear(),t.getMonth()+1,0);return[this.format(r),this.format(g)]}static getQuarterRange(o,l,a=0){const t=o||l,r=t?new Date(t):new Date;let g=Math.floor(r.getMonth()/3);g+=a;const i=(g%4+4)%4*3,p=r.getFullYear()+Math.floor(g/4),w=new Date(p,i,1),f=new Date(p,i+3,0);return[this.format(w),this.format(f)]}static getYear(o,l=0){let a;return o&&/^\d{4}$/.test(o)?a=parseInt(o,10):o?a=new Date(o).getFullYear():a=new Date().getFullYear(),String(a+l)}static getYearRange(o,l=0){let a;return o&&/^\d{4}$/.test(o)?a=parseInt(o,10):o?a=new Date(o).getFullYear():a=new Date().getFullYear(),[this.format(new Date(a+l,0,1)),this.format(new Date(a+l+1,0,0))]}static getRangeFromDaysBefore(o){const l=new Date,a=new Date(l.getTime());return a.setDate(l.getDate()-o),[this.format(a),this.format(l)]}}function Ge(c,o){const{popoverRef:l}=c,a=ce(),t=e.ref(""),r=e.ref(c.modelValue??c.default??[]),g=e.ref(0);function i(){const s=Q.getRangeFromDaysBefore(g.value);return r.value=[...s],o("change",{name:c.name,value:r.value}),o("update:modelValue",r.value),s}function p(s){var m;t.value=s,(m=l.value)==null||m.close();const n=[];switch(t.value){case"today":n.push(Q.getShiftedDay()),n.push(Q.getShiftedDay());break;case"week":n.push(...Q.getLastWeekRange());break;case"month":n.push(...Q.getMonthRange());break;case"quarter":n.push(...Q.getQuarterRange());break;case"year":n.push(...Q.getYearRange());break;case"last_7_days":g.value=7,i();break;case"range":g.value=7,n.push(...i());break}r.value=[...n],o("change",{name:c.name,value:r.value}),o("update:modelValue",r.value)}function w(){const s=[];switch(t.value){case"today":s.push(Q.getShiftedDay(r.value[0],1));break;case"week":s.push(...Q.getLastWeekRange(r.value[0],r.value[1],1));break;case"month":s.push(...Q.getMonthRange(r.value[0],r.value[1],1));break;case"quarter":s.push(...Q.getQuarterRange(r.value[0],r.value[1],1));break;case"year":s.push(...Q.getYearRange(r.value[0],1));break}r.value=[...s],o("change",{name:c.name,value:r.value}),o("update:modelValue",r.value)}function f(){const s=[];switch(t.value){case"today":s.push(Q.getShiftedDay(r.value[0],-1));break;case"week":s.push(...Q.getLastWeekRange(r.value[0],r.value[1],-1));break;case"month":s.push(...Q.getMonthRange(r.value[0],r.value[1],-1));break;case"quarter":s.push(...Q.getQuarterRange(r.value[0],r.value[1],-1));break;case"year":s.push(...Q.getYearRange(r.value[0],-1));break}r.value=[...s],o("change",{name:c.name,value:r.value}),o("update:modelValue",r.value)}const h=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function u(s){const[n,m,y]=s.split("-");return`${y}.${m}.${n}`}function x(s,n="long"){const m=new Date(Date.UTC(2e3,s-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:n,timeZone:"UTC"}).format(m)}function b(s){const{value:n}=r;switch(s){case"today":return u(n[0]);case"range":return"Період";case"week":return n[0]&&n[1]?`${u(n[0])} – ${u(n[1])}`:"";case"quarter":if(n[0]){const m=new Date(n[0]),y=m.getFullYear(),z=m.getMonth();return`${Math.floor(z/3)+1} ${a("filter.quarter")} ${y}`}return"";case"month":if(n[0]){const[m,y]=n[0].split("-");return`${x(parseInt(y,10))} ${m}`}return"";case"year":return n[0]||"";case"last_7_days":return"За останні дні";default:return c.label??""}}const k=e.computed(()=>t.value?b(t.value):c.label??"");function d(){t.value="",r.value=[],o("update:modelValue",[]),o("clear",c.name)}return{activeMode:t,innerValue:r,daysBefore:g,onDaysBeforeChange:i,onSelectChange:p,nextClick:w,prevClick:f,ukMonths:h,formatDisplayDate:u,getModeLabel:b,currentLabel:k,clear:d}}const Tl={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},Rl={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},Zl=["max","disabled"],Ol=["min","disabled"],Il={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Kl=["max","disabled"],Ul={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},vl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Hl=["min","disabled"],Wl={class:"flex gap-1 pt-2"},Gl=["onClick"],ql=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=c,t=He(),r=Ll(),g=ce(),i=l,p=e.ref(null),{activeMode:w,innerValue:f,onSelectChange:h,nextClick:u,prevClick:x,clear:b}=Ge({...a,popoverRef:p},i);return e.watch(()=>a.modelValue,k=>{k!==void 0?(f.value=k,i("update:modelValue",k)):(w.value="",f.value=[])}),e.watch(f,k=>{i("update:modelValue",k),i("change",{name:a.name,value:k})},{deep:!0}),o({clear:b,popoverRef:p}),(k,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[k.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Tl,[e.unref(w)!==""&&e.unref(w)==="range"?(e.openBlock(),e.createElementBlock("div",Rl,[d[7]||(d[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(f)[1],locale:"uk-UA","onUpdate:modelValue":d[0]||(d[0]=s=>e.unref(f)[0]=s),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,Zl),[[e.vModelText,e.unref(f)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(f)[0],locale:"uk-UA","onUpdate:modelValue":d[1]||(d[1]=s=>e.unref(f)[1]=s),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,Ol),[[e.vModelText,e.unref(f)[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",Il,e.toDisplayString(e.unref(g)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(f)[1],locale:"uk-UA","onUpdate:modelValue":d[2]||(d[2]=s=>e.unref(f)[0]=s),class:e.normalizeClass(e.unref(t)),disabled:k.disabled},null,10,Kl),[[e.vModelText,e.unref(f)[0]]])],2),k.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",Ul," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",vl,e.toDisplayString(e.unref(g)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(f)[0],locale:"uk-UA","onUpdate:modelValue":d[3]||(d[3]=s=>e.unref(f)[1]=s),class:e.normalizeClass(e.unref(t)),disabled:k.disabled},null,10,Hl),[[e.vModelText,e.unref(f)[1]]])],2)],2),e.createElementVNode("div",Wl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],s=>e.createElementVNode("button",{key:s,class:e.normalizeClass(e.unref(r)+(e.unref(w)===s?" bg-blue-100":"")),onClick:n=>e.unref(h)(s)},e.toDisplayString(e.unref(g)("filter."+s)),11,Gl)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(r)),onClick:d[4]||(d[4]=(...s)=>e.unref(x)&&e.unref(x)(...s))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(r)),onClick:d[5]||(d[5]=(...s)=>e.unref(u)&&e.unref(u)(...s))},">",2)]),(k.cleanable,e.createCommentVNode("",!0))],64))}});function Yl(c,o){const{api:l,options:a=[],limit:t=20,dataKey:r="data"}=c,g=c.multi;function i(N){return g?Array.isArray(N)?N:N?[N]:[]:Array.isArray(N)?N[0]:N}const p=e.ref(i(c.modelValue)),w=e.ref(""),f=e.ref(!1),h=e.ref(a),u=e.ref("id"),x=e.ref("text"),b=e.ref(!1),k=e.ref(c.layout!=="popover"&&a.length>t),d=e.ref([]),s=e.ref(0);function n(N){const F=N.find(Boolean)??{},T=["id","value","code","key"].find(K=>K in F)??"id",I=["text","label","name","title"].find(K=>K in F)??"text";return{autoValueKey:T,autoLabelKey:I}}if(a.length>0){const N=n(a);u.value=N.autoValueKey,x.value=N.autoLabelKey}const m=e.computed(()=>{if(l)return h.value;const N=h.value;if(c.layout==="popover")return N;if(!w.value)return b.value?N:N.slice(0,t);const F=w.value.toLowerCase();return N.filter(T=>T[x.value].toLowerCase().includes(F))});let y=null;async function z(N){if(l){f.value=!0;try{const F=new URL(l,window.location.origin);F.searchParams.set("json","1"),F.searchParams.set("key",N),F.searchParams.set("limit",t.toString());const T=await fetch(F.toString());if(!T.ok){Re({type:"error",title:"Error",message:"Failed to fetch remote options"}),h.value=[];return}const I=await T.json();if(!I[r]){Re({type:"error",title:"Error",message:I}),h.value=[];return}if(h.value=I[r],h.value.length>0){const K=n(h.value);u.value=K.autoValueKey,x.value=K.autoLabelKey}s.value=I.total}catch(F){console.error("Failed to fetch remote options:",F)}finally{f.value=!1}}}e.watch(w,N=>{l&&(y&&clearTimeout(y),y=setTimeout(()=>{z(N)},200))}),e.watch(()=>c.modelValue,N=>{p.value=i(N)},{immediate:!0});function L(N){return g&&Array.isArray(p.value)?p.value.includes(N[u.value]):p.value&&p.value===N[u.value]}function E(N){if(g&&!Array.isArray(p.value)&&(p.value=[]),g&&Array.isArray(p.value)){const F=p.value.includes(N[u.value]);p.value=F?p.value.filter(T=>T!==N[u.value]):[...p.value,N[u.value]],d.value=F?d.value.filter(T=>T!==N[x.value]):[...d.value,N[x.value]]}else p.value=N[u.value],d.value=N[x.value];o("update:modelValue",p.value),o("change",{name:c.name,value:p.value})}function S(){g?(p.value=[],d.value=[]):(p.value=void 0,d.value=[]),o("update:modelValue",p.value),o("clear",c.name)}function D(){y&&clearTimeout(y),w.value="",b.value=!1}function _(){b.value=!b.value}e.onBeforeUnmount(()=>{y&&clearTimeout(y)});const M=e.ref(-1);e.watch(m,()=>{M.value=m.value.length>0?0:-1});function Z(N){const F=m.value.length;if(N.key==="ArrowDown")N.preventDefault(),M.value=(M.value+1)%F;else if(N.key==="ArrowUp")N.preventDefault(),M.value=(M.value-1+F)%F;else if(N.key==="Enter"&&(N.preventDefault(),M.value>=0&&M.value<m.value.length)){const T=m.value[M.value];E(T)}}function A(){l&&h.value.length===0&&w.value.length===0&&z(w.value)}return{innerValue:p,searchTerm:w,filteredOptions:m,isSelected:L,selectItem:E,clear:S,resetSearch:D,toggleShowAll:_,isReqProc:f,showAll:b,isEnableShowAll:k,labelKey:x,valueKey:u,allOptions:h,highlightedIndex:M,onKeyDown:Z,selectedLabels:d,totalCount:s,loadData:A}}const Ql={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Xl=["placeholder"],Jl={key:0,class:"w-full"},eo={class:"flex flex-col items-center justify-center p-5 text-center"},to={class:"max-w-sm mx-auto mt-6"},lo={class:"font-medium text-gray-800 dark:text-neutral-200"},oo={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},no={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},ro=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=ce(),t=c,r=l,g=e.ref(null),{innerValue:i,filteredOptions:p,isSelected:w,selectItem:f,clear:h,resetSearch:u,toggleShowAll:x,isReqProc:b,showAll:k,isEnableShowAll:d,searchTerm:s,labelKey:n,valueKey:m,highlightedIndex:y,onKeyDown:z,selectedLabels:L,totalCount:E,loadData:S}=Yl({...t,modelValue:t.modelValue},r);e.onMounted(()=>{u(),t.layout!=="inline"&&(S(),g.value&&t.layout==="popover"&&g.value.focus())}),e.watch(()=>t.modelValue,_=>{_===void 0&&(t.multi?i.value=[]:i.value=void 0)});const D=e.ref([]);return e.watch(y,_=>{var M;_>=0&&D.value[_]&&((M=D.value[_])==null||M.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(p,()=>{D.value=[]}),o({clear:h,inputTextRef:g,selectedLabels:L,loadData:S}),(_,M)=>{var Z,A;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([_.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Ql,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":M[0]||(M[0]=N=>e.isRef(s)?s.value=N:null),onKeydown:M[1]||(M[1]=(...N)=>e.unref(z)&&e.unref(z)(...N)),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(a)("filter.search"),type:"text",ref_key:"inputTextRef",ref:g},null,40,Xl),[[e.vModelText,e.unref(s)]]),e.createVNode(Ue,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(s)!=""?(e.openBlock(),e.createBlock($e,{key:0,onClick:M[2]||(M[2]=N=>s.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([_.layout==="popover"?"flex-1 overflow-y-auto p-2":"",_.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(N,F)=>(e.openBlock(),e.createBlock(Se,{layout:_.layout,count:N.count,label:N[e.unref(n)],color:N.color,type:_.multi?"checkbox":"radio",value:N[e.unref(m)],"is-selected":e.unref(w)(N),highlighted:F===e.unref(y),onItemClick:T=>e.unref(f)(N),ref_for:!0,ref:T=>D.value[F]=T==null?void 0:T.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),_.type==="select"&&e.unref(p).length===0&&!e.unref(b)?(e.openBlock(),e.createElementBlock("div",Jl,[e.createElementVNode("div",eo,[e.createVNode(Le),e.createElementVNode("div",to,[e.createElementVNode("p",lo,e.toDisplayString(e.unref(a)("filter.notfound")),1),M[7]||(M[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),_.layout!=="popover"&&_.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(d)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:M[3]||(M[3]=(...N)=>e.unref(x)&&e.unref(x)(...N)),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(a)("filter.more"))+" ",1),e.createVNode(Be)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:M[4]||(M[4]=(...N)=>e.unref(x)&&e.unref(x)(...N)),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(a)("filter.less"))+" ",1),e.createVNode(De)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),_.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[_.layout==="inline"?(e.openBlock(),e.createElementBlock("div",oo,[e.createTextVNode(e.toDisplayString(_.multi&&Array.isArray(e.unref(i))?(Z=e.unref(i))==null?void 0:Z.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" / "+e.toDisplayString(e.unref(E))+" "+e.toDisplayString(e.unref(a)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:M[5]||(M[5]=(...N)=>e.unref(h)&&e.unref(h)(...N))},e.toDisplayString(e.unref(a)("filter.clear")),513),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0),_.layout==="popover"?(e.openBlock(),e.createElementBlock("div",no,[e.createElementVNode("span",null,e.toDisplayString(_.multi&&Array.isArray(e.unref(i))?(A=e.unref(i))==null?void 0:A.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" / "+e.toDisplayString(e.unref(E))+" "+e.toDisplayString(e.unref(a)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:M[6]||(M[6]=(...N)=>e.unref(h)&&e.unref(h)(...N))},e.toDisplayString(e.unref(a)("filter.clear")),513),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),ao=["for","onClick"],io=["id","name","value"],so={class:"block"},co={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},po={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},mo=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=c,t=l,{innerValue:r,isSelected:g,selectItem:i,clear:p,labelKey:w,valueKey:f,allOptions:h}=a.multi?Ze({...a,modelValue:a.modelValue??a.default??[]},t):Me({...a,modelValue:a.modelValue!==void 0?a.modelValue:a.default??""},t);return o({clear:p}),e.watch(()=>a.modelValue,u=>{u===void 0&&(a.multi?r.value=[]:r.value=void 0)}),(u,x)=>{var b,k;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",u.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),d=>(e.openBlock(),e.createElementBlock("label",{key:`item-${d[e.unref(f)]}`,for:`item-${d[e.unref(f)]}`,onClick:e.withModifiers(s=>e.unref(i)(d),["stop","prevent"]),class:e.normalizeClass([e.unref(g)(d)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${d[e.unref(f)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${d[e.unref(f)]}`,value:d[e.unref(f)]},null,8,io),e.createElementVNode("span",so,e.toDisplayString(d[e.unref(w)]),1)],10,ao))),128))],2),u.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[u.layout==="inline"?(e.openBlock(),e.createElementBlock("div",co,[e.createTextVNode(e.toDisplayString(u.multi&&Array.isArray(e.unref(r))?(b=e.unref(r))==null?void 0:b.length:e.unref(r)!==void 0&&(e.unref(r)||e.unref(r)===null)?1:0)+" з "+e.toDisplayString(e.unref(h).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[0]||(x[0]=(...d)=>e.unref(p)&&e.unref(p)(...d))}," Очистити ",512),[[e.vShow,e.unref(r)!==""&&e.unref(r)!==void 0||e.unref(r)]])])):e.createCommentVNode("",!0),u.layout==="popover"?(e.openBlock(),e.createElementBlock("div",po,[e.createElementVNode("span",null,e.toDisplayString(u.multi&&Array.isArray(e.unref(r))?(k=e.unref(r))==null?void 0:k.length:e.unref(r)!==void 0&&(e.unref(r)||e.unref(r)===null)?1:0)+" з "+e.toDisplayString(e.unref(h).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[1]||(x[1]=(...d)=>e.unref(p)&&e.unref(p)(...d))}," Очистити ",512),[[e.vShow,e.unref(r)!==void 0&&e.unref(r)!==""||e.unref(r)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),fo=["disabled","title"],uo={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},go={class:"truncate text-ellipsis text-sm"},ho={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"},yo={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"},xo={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"},ze=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:o}){const l=c,a=e.computed(()=>We(l.mode)),t=e.ref(!1),r=e.ref({top:0,left:0}),g=e.ref(null),i=e.ref(null),p=e.ref(null);function w(){const y=i.value,z=p.value;if(!y||!z)return;const L=y.getBoundingClientRect(),E=z.offsetWidth,S=z.offsetHeight,D=window.innerWidth,_=window.innerHeight,M=8;let Z=L.bottom+M,{left:A}=L;const N=Math.max(D-E-10,10);if(A=Math.min(A,N),A=Math.max(A,10),Z+S>_-10){const F=L.top-S-M;Z=F>=10?F:Math.max(_-S-10,10)}Z<10&&(Z=10),r.value={top:Z,left:A}}function f(){t.value=!t.value,t.value&&e.nextTick(()=>{var y,z,L,E,S,D,_;w(),(y=l.fieldRef)!=null&&y.inputTextRef&&((E=(L=(z=l.fieldRef)==null?void 0:z.inputTextRef)==null?void 0:L.focus)==null||E.call(L)),(S=l.fieldRef)!=null&&S.loadData&&((_=(D=l.fieldRef)==null?void 0:D.loadData)==null||_.call(D))})}function h(y){var z,L,E;!((z=g.value)!=null&&z.contains(y.target))&&!((L=p.value)!=null&&L.contains(y.target))&&!((E=i.value)!=null&&E.contains(y.target))&&(t.value=!1)}function u(y){y.key==="Escape"&&(t.value=!1)}const x=e.ref(!1),b=e.ref("ua"),k=y=>{y.detail.key==="locale"&&(b.value=y.detail.newValue)};e.onMounted(()=>{x.value=!0,b.value=localStorage.locale,window.addEventListener("storage",k),document.addEventListener("click",h,!0),document.addEventListener("keydown",u),window.addEventListener("scroll",w,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",k),document.removeEventListener("click",h,!0),document.removeEventListener("keydown",u),window.removeEventListener("scroll",w,!0)});function d(){t.value=!1}o({close:d});function s(y){return Array.isArray(y)?y.filter(z=>z!=null&&z!=="").length:y&&typeof y=="object"?Object.values(y).filter(z=>z!=null&&z!=="").length:typeof y=="string"?y.trim()===""?0:1:typeof y=="number"?Number.isNaN(y)?0:1:y===null||y!==void 0?1:0}const n=e.computed(()=>{var L;const y=(L=l.fieldRef)==null?void 0:L.selectedLabels,z=s(y);return z>0?z:s(l.currentValue)}),m=e.computed(()=>{var z;const y=(z=l.fieldRef)==null?void 0:z.selectedLabels;return!y||["inline"].includes(l.layout||"")?l[b.value]||(l.label??""):Array.isArray(y)?y.length>0?y.join(", "):l.label??"":String(y)});return(y,z)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:f,disabled:y.disabled,ref_key:"triggerRef",ref:i,title:y.label,class:e.normalizeClass([a.value,y.width?e.unref(ve).getWidthClass(y.width):"w-full",y.layout==="inline"&&n.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",uo,[e.createElementVNode("span",go,e.toDisplayString(m.value),1),y.layout==="inline"&&n.value>0?(e.openBlock(),e.createElementBlock("span",ho,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)]),e.createVNode(Be,{class:"h-4 w-4 text-neutral-500"})],10,fo),x.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:p,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${r.value.top}px`,left:`${r.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",yo,[e.createElementVNode("div",xo,[e.renderSlot(y.$slots,"default")])])],4),[[e.vShow,t.value]])])):e.createCommentVNode("",!0)]))}}),bo={},ko={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 wo(c,o){return e.openBlock(),e.createElementBlock("svg",ko,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 Vo=ie(bo,[["render",wo]]),Co={},Bo={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 Eo(c,o){return e.openBlock(),e.createElementBlock("svg",Bo,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 No=ie(Co,[["render",Eo]]),_o={class:"flex gap-1"},So={class:"mb-1"},Mo={class:"mb-1"},Lo={class:"inline-flex rounded-sm shrink-0 pl-1"},Do=["title"],$o={class:"inline-flex rounded-sm shrink-0 pl-1"},zo=["title"],Po={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},Fo=["max","value","disabled"],jo=["min","value","disabled"],Ao=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=ce(),t=c,r=l,g=e.ref(null),{activeMode:i,innerValue:p,onSelectChange:w,nextClick:f,prevClick:h,currentLabel:u,clear:x}=Ge({...t,popoverRef:g},r);e.watch(()=>t.modelValue,d=>{d!==void 0?(p.value=d,r("update:modelValue",d)):(i.value="",p.value=[])}),e.watch(p,d=>{r("update:modelValue",d),r("change",{name:t.name,value:d})},{deep:!0});function b(d){const s=Array.isArray(p.value)?[...p.value]:[];p.value=[d,s[1]||""]}function k(d){const s=Array.isArray(p.value)?[...p.value]:[];p.value=[s[0]||"",d]}return o({clear:x,popoverRef:g}),(d,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",_o,[e.createVNode(ze,{ref_key:"popoverRef",ref:g,label:e.unref(u),"current-value":e.unref(p),mode:d.mode,width:typeof d.width=="number"&&e.unref(p).length?d.width-70:d.width,onClear:e.unref(x),layout:d.layout,class:e.normalizeClass(d.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:s[0]||(s[0]=n=>e.unref(w)("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(a)("filter.period"))+" ",1),e.unref(i)==="range"?(e.openBlock(),e.createBlock(me,{key:0})):e.createCommentVNode("",!0)])]),s[12]||(s[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:s[1]||(s[1]=n=>e.unref(w)("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(a)("filter.today"))+" ",1),e.unref(i)==="today"?(e.openBlock(),e.createBlock(me,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:s[2]||(s[2]=n=>e.unref(w)("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(a)("filter.week"))+" ",1),e.unref(i)==="week"?(e.openBlock(),e.createBlock(me,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:s[3]||(s[3]=n=>e.unref(w)("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(a)("filter.month"))+" ",1),e.unref(i)==="month"?(e.openBlock(),e.createBlock(me,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:s[4]||(s[4]=n=>e.unref(w)("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(a)("filter.quarter"))+" ",1),e.unref(i)==="quarter"?(e.openBlock(),e.createBlock(me,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",So,[e.createElementVNode("button",{type:"button",onClick:s[5]||(s[5]=n=>e.unref(w)("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(a)("filter.year"))+" ",1),e.unref(i)==="year"?(e.openBlock(),e.createBlock(me,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Mo,[e.createElementVNode("button",{type:"button",onClick:s[6]||(s[6]=n=>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(a)("filter.alltime"))+" ",1),e.unref(p)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(me,{key:0}))])])]),_:1,__:[12]},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(i)!==""&&e.unref(i)!=="range"&&e.unref(i)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Lo,[e.createElementVNode("button",{type:"button",title:e.unref(a)("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:s[7]||(s[7]=(...n)=>e.unref(h)&&e.unref(h)(...n))},[e.createVNode(Vo)],8,Do)]),e.createElementVNode("div",$o,[e.createElementVNode("button",{type:"button",title:e.unref(a)("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:s[8]||(s[8]=(...n)=>e.unref(f)&&e.unref(f)(...n))},[e.createVNode(No)],8,zo)])],64)):e.createCommentVNode("",!0),e.unref(i)!==""&&e.unref(i)==="range"?(e.openBlock(),e.createElementBlock("div",Po,[e.createElementVNode("input",{type:"date",max:e.unref(p)[1],locale:"uk-UA",value:e.unref(p)[0],onInput:s[9]||(s[9]=n=>b(n.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:d.disabled},null,40,Fo),e.createElementVNode("input",{type:"date",min:e.unref(p)[0],locale:"uk-UA",value:e.unref(p)[1],onInput:s[10]||(s[10]=n=>k(n.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:d.disabled},null,40,jo)])):e.createCommentVNode("",!0)]),(d.cleanable,e.createCommentVNode("",!0))],64))}}),To={class:"flex flex-wrap items-center gap-2"},Ro=["disabled","onClick"],Zo={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Oo=e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=c,t=l,{innerValue:r,isSelected:g,selectItem:i,clear:p,labelKey:w,valueKey:f,allOptions:h}=Me({...a,modelValue:a.modelValue??a.default??""},t),u=e.computed(()=>r.value!==void 0&&!(typeof r.value=="string"&&r.value==="")),x=e.computed(()=>u.value?1:0);function b(d){return g(d)?["bg-blue-600 text-white"].filter(s=>typeof s=="string"&&s.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(s=>typeof s=="string"&&s.trim().length>0).join(" ")}function k(d){a.disabled||i(d)}return o({clear:p}),e.watch(()=>a.modelValue,d=>{d===void 0&&(r.value=void 0)}),(d,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",To,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),n=>(e.openBlock(),e.createElementBlock("button",{key:n[e.unref(f)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",b(n)]),disabled:d.disabled,onClick:m=>k(n)},e.toDisplayString(n[e.unref(w)]),11,Ro))),128))]),d.cleanable&&d.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Zo,[e.createElementVNode("span",null,e.toDisplayString(x.value)+" з "+e.toDisplayString(e.unref(h).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:s[0]||(s[0]=(...n)=>e.unref(p)&&e.unref(p)(...n))}," Очистити ",512),[[e.vShow,u.value]])])):e.createCommentVNode("",!0)],64))}}),qe={radio:fl,checkbox:Ke,check:Ke,text:Sl,range:Al,date:ql,select:ro,tag:mo,button:Oo,"date:inline":Ao};function Pe(c,o){let l;switch(c.toLowerCase()){case"autocomplete":l="select";break;case"check":l="checkbox";break;default:l=c==null?void 0:c.toString().toLowerCase()}return l==="date"&&o&&o==="inline"&&(l="date:inline"),{component:qe[l]||qe.text,type:l}}const Io={style:{display:"inline-flex",margin:"0px",width:"100%"}},Ko={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},Uo={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},vo={class:"flex items-center"},Ho={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},Wo={class:"filter-layout__body"},Go=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=c,t=l,r=e.ref(),g=e.computed(()=>Pe(a.type,a.layout)),i=e.computed({get:()=>a.modelValue,set:h=>t("update:modelValue",h)});function p(h){t("clear",h)}function w(h,u){t("change",{name:h,value:u}),a.modelValue!==void 0&&t("update:modelValue",u)}function f(){t("clear",a.name)}return e.watch(()=>a.default,h=>{i.value=h}),e.watch(()=>a.modelValue,h=>{i.value=h}),o({filterRef:r}),(h,u)=>{var x,b,k;return e.openBlock(),e.createElementBlock("div",Io,[e.createElementVNode("div",Ko,[e.createElementVNode("div",Uo,[e.createElementVNode("div",vo,[e.createElementVNode("span",Ho,e.toDisplayString(h.label),1)]),typeof i.value=="string"&&i.value.trim()!==""||Array.isArray(i.value)&&i.value.length>0&&i.value.some(d=>d!==void 0)||i.value===null?(e.openBlock(),e.createBlock(Kt,{key:0,onClick:f})):e.createCommentVNode("",!0)]),e.createElementVNode("div",Wo,[((x=g.value)==null?void 0:x.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((b=g.value)==null?void 0:b.component),e.mergeProps({key:0},a,{type:(k=g.value)==null?void 0:k.type,class:a.itemClass,onChange:u[0]||(u[0]=d=>w(d.name,d.value)),onClear:u[1]||(u[1]=d=>p(d)),ref_key:"filterRef",ref:r}),null,16,["type","class"])):(e.openBlock(),e.createBlock(ze,{key:1,"current-value":i.value,label:h.label,mode:h.mode,onClear:f,fieldRef:r.value,width:void 0,disabled:h.disabled,layout:"vertical"},{default:e.withCtx(()=>{var d,s;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((d=g.value)==null?void 0:d.component),e.mergeProps({ref_key:"filterRef",ref:r},a,{type:(s=g.value)==null?void 0:s.type,class:a.itemClass,onChange:u[2]||(u[2]=n=>w(n.name,n.value)),onClear:u[3]||(u[3]=n=>p(n))}),null,16,["type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),Ye=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=c,t=l,r=e.ref(),g=e.computed(()=>Pe(a.type,a.layout)),i=e.computed({get:()=>a.modelValue,set:f=>t("update:modelValue",f)});function p(f=a.name){t("clear",f)}function w(f,h){t("change",{name:f,value:h}),a.modelValue!==void 0&&t("update:modelValue",h)}return e.watch(()=>a.default,f=>{i.value=f}),e.watch(()=>a.modelValue,f=>{i.value=f}),o({filterRef:r}),(f,h)=>{var u,x;return["text","date","button"].includes(f.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((u=g.value)==null?void 0:u.component),e.mergeProps({key:0},a,{type:(x=g.value)==null?void 0:x.type,class:f.itemClass,onChange:h[0]||(h[0]=b=>w(b.name,b.value)),onClear:h[1]||(h[1]=b=>p(b)),disabled:f.disabled,modelValue:i.value,"onUpdate:modelValue":h[2]||(h[2]=b=>i.value=b)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(ze,{key:1,"current-value":i.value,label:f.label,mode:f.mode,onClear:p,fieldRef:r.value,width:a.width,disabled:f.disabled,layout:"inline"},{default:e.withCtx(()=>{var b,k;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((b=g.value)==null?void 0:b.component),e.mergeProps({ref_key:"filterRef",ref:r},a,{modelValue:i.value,"onUpdate:modelValue":h[3]||(h[3]=d=>i.value=d),type:(k=g.value)==null?void 0:k.type,class:a.itemClass,onChange:h[4]||(h[4]=d=>w(d.name,d.value)),onClear:h[5]||(h[5]=d=>p(d))}),null,16,["modelValue","type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),qo=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=c,t=l,r=e.ref(),g=e.computed(()=>Pe(a.type,a.layout)),i=e.computed({get:()=>a.modelValue,set:f=>t("update:modelValue",f)});function p(f){t("clear",f)}function w(f,h){t("change",{name:f,value:h}),a.modelValue!==void 0&&t("update:modelValue",h)}return e.watch(()=>a.default,f=>{i.value=f}),e.watch(()=>a.modelValue,f=>{i.value=f}),e.watch(()=>a,f=>{i.value=f}),o({filterRef:r}),(f,h)=>{var u,x;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((u=g.value)==null?void 0:u.component),e.mergeProps(a,{type:(x=g.value)==null?void 0:x.type,class:a.itemClass,modelValue:i.value,"onUpdate:modelValue":h[0]||(h[0]=b=>i.value=b),onChange:h[1]||(h[1]=b=>w(b.name,b.value)),onClear:h[2]||(h[2]=b=>p(b)),ref_key:"filterRef",ref:r}),null,16,["type","class","modelValue"])}}}),ae=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const a=c,t=l,r=e.ref(),g=e.computed({get:()=>a.modelValue,set:f=>t("update:modelValue",f)});function i(f){t("clear",f)}function p(f,h){t("change",{name:f,value:h}),a.modelValue!==void 0&&t("update:modelValue",h)}e.watch(()=>a.default,f=>{g.value=f}),e.watch(()=>a.modelValue,f=>{g.value=f}),o({filterRef:r});function w(){switch(a.layout){case"inline":return Ye;case"vertical":return Go;case"popover":return qo;default:return Ye}}return(f,h)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w()),e.mergeProps(a,{onChange:h[0]||(h[0]=u=>p(u.name,u.value)),onClear:h[1]||(h[1]=u=>i(u)),modelValue:g.value,"onUpdate:modelValue":h[2]||(h[2]=u=>g.value=u)}),null,16,["modelValue"]))}});function Ee(c,o){const{slots:l}=c,a=s=>s?JSON.parse(JSON.stringify(e.toRaw(s))):{},t=e.ref(a(c.value));e.watch(()=>c.value,s=>{t.value=a(s)},{deep:!0,immediate:!0});const r=e.computed(()=>{var s;return(e.toRaw((s=l==null?void 0:l.default)==null?void 0:s.call(l))??[]).flatMap(n=>Array.isArray(n.children)?n.children:[n])});function g(s){delete t.value[s],o("clear",{data:e.toRaw(t.value),name:s})}function i(s,n){n===void 0?g(s):t.value={...t.value,[s]:n},o("change",{data:e.toRaw(t.value),name:s,value:n})}const p=e.computed(()=>r.value.map(s=>{var m,y,z;const n=(m=s.props)==null?void 0:m.name;return e.cloneVNode(s,{...s.props,layout:c.view,showClean:!0,modelValue:t.value[n],"onUpdate:modelValue":L=>{i(n,L)},onClear:()=>g(n),class:[c.itemClass,(y=s.props)==null?void 0:y.class],itemClass:[c.itemClass,(z=s.props)==null?void 0:z.itemClass].filter(L=>typeof L=="string"&&L.trim().length>0).join(" ")||void 0})})),w=e.computed(()=>new Map(p.value.map(s=>{var m;const n=(m=s.props)==null?void 0:m.name;return n?[n,s]:null}).filter(s=>s!==null)));function f(s=!1){t.value={},s||o("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const h=e.ref(""),u=e.computed(()=>{var s;return(s=c.schema)!=null&&s.value?Object.entries(t.value).filter(([n,m])=>c.schema&&!(n in c.schema.value)?!1:Array.isArray(m)?m.some(y=>y!==""&&y!==void 0):m!==""&&m!==void 0).length:0}),x=e.ref();e.watch(h,async()=>{var s,n;await e.nextTick(),(n=(s=x==null?void 0:x.value)==null?void 0:s.filterRef)!=null&&n.inputTextRef&&x.value.filterRef.inputTextRef.focus()});const b=e.computed(()=>{var s,n;return(s=c.schema)!=null&&s.value?Object.fromEntries(Object.entries((n=c.schema)==null?void 0:n.value).slice(0,c.limit)):{}}),k=e.computed(()=>{var n;if(p.value.length===0)return[];let s=0;if((n=c.schema)!=null&&n.value){const m=Object.entries(c.schema.value).length;c.limit&&m<c.limit?s=c.limit-m:s=0}return p.value.slice(0,s)}),d=e.computed(()=>p.value.length===0?[]:c.view!=="inline"?p.value:p.value.slice(k.value.length));return{activeFilter:t,activeFilterCount:u,onFilterChange:i,clearFilter:g,clearAllFilters:f,limitedSchema:b,filtersSlot:p,limitedFiltersSlot:k,popoverFiltersSlot:d,vnodeMap:w,selectedFilter:h,filterRef:x}}const Yo=e.defineComponent({__name:"popover",emits:["open","close"],setup(c,{emit:o}){const l=e.ref(!1),a=e.ref(null),t=e.ref(null),r=e.ref(null),g=e.ref({top:"0px",left:"0px",position:"absolute"});function i(){l.value=!l.value}function p(){const x=r.value,b=a.value;if(!x||!b)return;const k=x.getBoundingClientRect(),d=b.offsetWidth,s=window.innerWidth-k.left;let n=k.left+window.scrollX;d>s&&(n=window.innerWidth-d-18,n<18&&(n=18)),g.value={position:"absolute",top:`${k.bottom+window.scrollY+18}px`,left:`${n}px`}}const w=e.computed(()=>Object.entries(g.value).map(x=>x.join(":")).join(";"));function f(x){var k,d;const b=x.target;!((k=r.value)!=null&&k.contains(x.target))&&!((d=a.value)!=null&&d.contains(x.target))&&!b.closest("[data-inside-popover]")&&(l.value=!1)}const h=e.ref(!1);e.onMounted(()=>{h.value=!0}),e.onMounted(()=>{var x,b;r.value=((x=t.value)==null?void 0:x.querySelector("[data-popover-trigger]"))||null,(b=r.value)==null||b.addEventListener("click",i),document.addEventListener("click",f),window.addEventListener("resize",p),window.addEventListener("scroll",p,!0)}),e.onBeforeUnmount(()=>{var x;(x=r.value)==null||x.removeEventListener("click",i),document.removeEventListener("click",f),window.removeEventListener("resize",p),window.removeEventListener("scroll",p,!0)});const u=o;return e.watch(l,async x=>{x?(u("open"),await e.nextTick(),p()):u("close")}),(x,b)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:t},[e.renderSlot(x.$slots,"trigger"),h.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:a,class:"absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",style:e.normalizeStyle(w.value)},[e.renderSlot(x.$slots,"default")],4),[[e.vShow,l.value]])])):e.createCommentVNode("",!0)],512))}}),Qo={},Xo={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 Jo(c,o){return e.openBlock(),e.createElementBlock("svg",Xo,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 Qe=ie(Qo,[["render",Jo]]),en={class:"flex items-center gap-2 overflow-hidden"},tn={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"},ln={class:"flex max-h-[400px]"},on={class:"w-64 border-r border-gray-200 overflow-y-auto"},nn={class:"p-4 border-b"},rn={class:"text-sm text-gray-600"},an={class:"p-2"},sn=["onClick"],cn={class:"flex items-center gap-2"},dn={class:"text-sm font-medium"},pn={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"},mn=["onClick"],fn={class:"flex items-center gap-2"},un={class:"text-sm font-medium"},gn={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"},hn={key:0,class:"p-2 border-t"},yn={class:"flex-1 min-h-[300px] overflow-y-auto"},xn={key:0,class:"flex items-center justify-center h-full text-gray-500"},bn={class:"text-sm"},Xe=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const a=ce(),t=c,r=We(t.mode),g=e.useSlots(),i=l,p=e.ref({}),w=e.computed(()=>p!=null&&p.value?t.view!=="inline"?p==null?void 0:p.value:Object.fromEntries(Object.entries(p==null?void 0:p.value).slice(t.limit)):{}),{activeFilter:f,activeFilterCount:h,onFilterChange:u,clearFilter:x,clearAllFilters:b,popoverFiltersSlot:k,selectedFilter:d,filterRef:s}=Ee({...t,schema:p,slots:g},i),n=e.computed(()=>t.badgeCount??h.value);function m(L){return Array.isArray(L)?L.filter(E=>E!=null&&E!=="").length:L&&typeof L=="object"?Object.values(L).filter(E=>E!=null&&E!=="").length:L===null||L!==void 0&&L!==""?1:0}function y(L){return f.value?m(f.value[L]):0}function z(){if(w.value){const[L]=Object.keys(w.value);d.value=L}else k.value.length>0?d.value=k.value[0].props.name:d.value=""}return e.watch(()=>t.schema,L=>{p.value=L??{}},{deep:!0,immediate:!0}),o({clearFilter:x,clearAllFilters:b}),(L,E)=>(e.openBlock(),e.createBlock(Yo,{onOpen:z,onClose:E[5]||(E[5]=S=>d.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([L.itemClass,e.unref(r),"flex items-center justify-between gap-2",n.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",en,[e.createVNode(Qe,{class:"h-4 w-4"}),E[6]||(E[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),n.value>0?(e.openBlock(),e.createElementBlock("span",tn,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",ln,[e.createElementVNode("div",on,[e.createElementVNode("div",nn,[e.createElementVNode("p",rn,e.toDisplayString(e.unref(a)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",an,[L.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(w.value),([S,D])=>(e.openBlock(),e.createElementBlock("button",{key:S,onClick:()=>{d.value=S},class:e.normalizeClass(["flex w-full items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",e.unref(d)===S?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",cn,[e.createElementVNode("span",dn,e.toDisplayString(D.label),1)]),y(S)>0?(e.openBlock(),e.createElementBlock("div",pn,e.toDisplayString(y(S)),1)):e.createCommentVNode("",!0)],10,sn))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(S,D)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+D,onClick:_=>d.value=S.props.name,class:e.normalizeClass(["flex items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",e.unref(d)===S.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",fn,[e.createElementVNode("span",un,e.toDisplayString(S.props.label),1)]),y(S.props.name)>0?(e.openBlock(),e.createElementBlock("div",gn,e.toDisplayString(y(S.props.name)),1)):e.createCommentVNode("",!0)],10,mn))),128))]),e.unref(h)>0?(e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("button",{class:e.normalizeClass([L.itemClass,"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:E[0]||(E[0]=S=>e.unref(b)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",yn,[e.unref(d)===""?(e.openBlock(),e.createElementBlock("div",xn,[e.createElementVNode("p",bn,e.toDisplayString(e.unref(a)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(d)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[w.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(w.value),([S,D])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(d)===S?(e.openBlock(),e.createBlock(ae,e.mergeProps({key:S,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:s},{ref_for:!0},D,{class:[L.itemClass,D==null?void 0:D.class],"item-class":[L.itemClass,D==null?void 0:D.itemClass].filter(Boolean).join(" ")||void 0,onChange:E[1]||(E[1]=_=>e.unref(u)(_.name,_.value)),onClear:E[2]||(E[2]=_=>{e.unref(x)(_),e.unref(u)(_,void 0)}),modelValue:e.unref(f)[S],"onUpdate:modelValue":_=>e.unref(f)[S]=_,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(S,D)=>{var _,M;return e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+D},[e.unref(d)===S.props.name?(e.openBlock(),e.createBlock(ae,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},S.props,{ref_for:!0,ref_key:"filterRef",ref:s,class:[L.itemClass,(_=S.props)==null?void 0:_.class],"item-class":[L.itemClass,(M=S.props)==null?void 0:M.itemClass].filter(Boolean).join(" ")||void 0,onChange:E[3]||(E[3]=Z=>e.unref(u)(Z.name,Z.value)),onClear:E[4]||(E[4]=Z=>{e.unref(x)(Z),e.unref(u)(Z,void 0)}),modelValue:e.unref(f)[S.props.name],"onUpdate:modelValue":Z=>e.unref(f)[S.props.name]=Z,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),kn={class:"flex gap-1 items-center flex-wrap"},Je=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const a=ce(),t=c,r=l,g=e.useSlots(),i=e.ref({}),p=e.computed(()=>Object.keys(t.schema).length>t.limit),{activeFilter:w,activeFilterCount:f,onFilterChange:h,clearFilter:u,clearAllFilters:x,limitedSchema:b,filtersSlot:k,limitedFiltersSlot:d}=Ee({...t,schema:i,slots:g},r);function s(E){return Array.isArray(E)?E.some(S=>S!==""&&S!==void 0&&S!==null):E===null?!0:E&&typeof E=="object"?Object.values(E).some(S=>S!==""&&S!==void 0&&S!==null):E!==""&&E!==void 0}const n=e.computed(()=>{const E=Object.keys(b.value??{}),S=d.value.map(D=>{var _;return(_=D.props)==null?void 0:_.name}).filter(D=>typeof D=="string");return new Set([...E,...S])}),m=e.computed(()=>Object.entries(w.value??{}).filter(([E,S])=>n.value.has(E)&&s(S)).length),y=e.computed(()=>{const E=f.value??0,S=m.value??0;return Math.max(E-S,0)}),z=e.ref();function L(){z.value&&z.value.clearAllFilters(!0),x()}return e.watch(()=>t.schema,E=>{i.value=E},{deep:!0,immediate:!0}),o({clearFilter:u,clearAllFilters:x}),(E,S)=>(e.openBlock(),e.createElementBlock("div",kn,[E.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(b)),([D,_])=>(e.openBlock(),e.createBlock(ae,e.mergeProps({key:D,mode:E.mode,width:E.width?E.width:_==null?void 0:_.width},{ref_for:!0},_,{class:[E.itemClass,_==null?void 0:_.class],"item-class":[E.itemClass,_==null?void 0:_.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[0]||(S[0]=M=>e.unref(h)(M.name,M.value)),onClear:e.unref(u),layout:"inline",cleanable:!0,modelValue:e.unref(w)[D],"onUpdate:modelValue":M=>e.unref(w)[D]=M}),null,16,["mode","width","class","item-class","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(D,_)=>{var M,Z;return e.openBlock(),e.createBlock(ae,e.mergeProps({key:"slot-"+_,layout:"inline"},{ref_for:!0},D.props,{class:[E.itemClass,(M=D.props)==null?void 0:M.class],"item-class":[E.itemClass,(Z=D.props)==null?void 0:Z.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[1]||(S[1]=A=>e.unref(h)(A.name,A.value)),onClear:S[2]||(S[2]=A=>{e.unref(u)(A),e.unref(h)(A,void 0)}),cleanable:!0,modelValue:e.unref(w)[D.props.name],"onUpdate:modelValue":A=>e.unref(w)[D.props.name]=A}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128)),p.value?(e.openBlock(),e.createBlock(Xe,e.mergeProps({key:1},t,{schema:E.schema,limit:E.limit,onChange:S[3]||(S[3]=D=>e.unref(h)(D.name,D.value)),onClearAll:S[4]||(S[4]=D=>e.unref(x)()),onClear:S[5]||(S[5]=D=>e.unref(u)(D.name)),mode:E.mode,ref_key:"popoverRef",ref:z,cleanable:!0,"badge-count":y.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(D,_)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D),e.mergeProps({key:"slot-"+_,layout:"popover"},{ref_for:!0},D.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(f)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:L,class:e.normalizeClass([E.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(a)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),wn={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"},Vn={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Cn=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const a=c,t=l,r=e.useSlots(),{activeFilter:g,activeFilterCount:i,onFilterChange:p,clearFilter:w,clearAllFilters:f,filtersSlot:h}=Ee({...a,slots:r},t);return o({clearFilter:w,clearAllFilters:f}),(u,x)=>u.view==="vertical"?(e.openBlock(),e.createElementBlock("div",wn,[e.createElementVNode("div",Vn,[e.unref(i)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x[0]||(x[0]=b=>e.unref(f)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([u.itemClass,"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),type:"button"}," Очистити ",2)):e.createCommentVNode("",!0),u.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(u.schema),([b,k])=>(e.openBlock(),e.createBlock(ae,e.mergeProps({layout:"vertical"},{ref_for:!0},k,{class:[u.itemClass,k==null?void 0:k.class],"item-class":[u.itemClass,k==null?void 0:k.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[1]||(x[1]=d=>e.unref(p)(d.name,d.value)),onClear:x[2]||(x[2]=d=>{e.unref(w)(d),e.unref(p)(d,void 0)}),modelValue:e.unref(g)[b],"onUpdate:modelValue":d=>e.unref(g)[b]=d,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),(b,k)=>{var d,s;return e.openBlock(),e.createBlock(ae,e.mergeProps({key:"slot-"+k,layout:"vertical"},{ref_for:!0},b.props,{class:[u.itemClass,(d=b.props)==null?void 0:d.class],"item-class":[u.itemClass,(s=b.props)==null?void 0:s.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[3]||(x[3]=n=>e.unref(p)(n.name,n.value)),onClear:x[4]||(x[4]=n=>{e.unref(w)(n),e.unref(p)(n,void 0)}),modelValue:e.unref(g)[b.props.name],"onUpdate:modelValue":n=>e.unref(g)[b.props.name]=n,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))])])):e.createCommentVNode("",!0)}}),Bn=["onKeydown"],En=["disabled"],Nn={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"},_n={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Sn={class:"mb-3 flex items-center justify-between"},Mn={class:"text-[15px] font-semibold text-slate-800"},Ln={"aria-hidden":"true"},Dn={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},$n={key:0,class:"mt-3 flex justify-end"},zn=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{emit:o}){const l=ce(),a=c,t=o,r=e.ref({}),g=e.useSlots(),{activeFilter:i,activeFilterCount:p,onFilterChange:w,clearFilter:f,clearAllFilters:h,filtersSlot:u}=Ee({...a,schema:r.value,slots:g},t),x=e.ref(null),b=e.ref(null),k=e.reactive({open:!1,top:0,left:0}),d=e.computed(()=>k.open),s=e.computed(()=>!!a.disabled),n=e.computed(()=>r.value||{}),m=e.computed(()=>a.title??"Фільтр"),y=e.computed(()=>!!g.trigger),z=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",s.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),L=e.computed(()=>k.open?{position:"absolute",top:`${k.top}px`,left:`${k.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function E(){k.open=!1}function S(){if(!x.value)return;const A=x.value.getBoundingClientRect();k.top=A.bottom+window.scrollY+8,k.left=A.left+A.width/2+window.scrollX}function D(){k.open=!k.open,k.open&&e.nextTick(S)}function _(){s.value||D()}function M(){k.open&&S()}function Z(){h()}return e.onMounted(()=>{window.addEventListener("resize",M),window.addEventListener("scroll",M,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",M),window.removeEventListener("scroll",M,!0)}),e.watch(()=>a.schema,A=>{if(!A){r.value={};return}if(Array.isArray(A)){const N=A.filter(F=>F&&(F.name||F.id)).map(F=>{const T=F.name||F.id;return[T,{...F,name:T}]});r.value=Object.fromEntries(N);return}r.value=A},{deep:!0,immediate:!0}),e.watch(()=>a.disabled,A=>{A&&E()}),(A,N)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:x},[y.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",s.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(_,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(_,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(_,["prevent","stop"]),["space"])]},[e.renderSlot(A.$slots,"trigger",{toggle:_,open:d.value,disabled:s.value,activeCount:e.unref(p)})],42,Bn)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(z.value),type:"button",disabled:s.value,onClick:e.withModifiers(_,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(Qe,{class:"h-4 w-4"}),e.unref(p)>0?(e.openBlock(),e.createElementBlock("div",Nn,e.toDisplayString(e.unref(p)),1)):e.createCommentVNode("",!0)],10,En)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof A.width=="number"?`min-w-[${A.width+32+(Object.keys(n.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(L.value),ref_key:"panel",ref:b,onClick:N[4]||(N[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",_n,[e.createElementVNode("div",Sn,[e.createElementVNode("h3",Mn,e.toDisplayString(m.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:E},[e.createElementVNode("span",Ln,[e.createVNode($e,{class:"h-4 w-4"})]),N[5]||(N[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",Dn,[Object.keys(n.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(n.value),([F,T])=>(e.openBlock(),e.createBlock(ae,e.mergeProps({key:F},{ref_for:!0},{...T,layout:"inline"},{width:A.width?A.width:T==null?void 0:T.width,class:[A.itemClass,T==null?void 0:T.class],"item-class":[A.itemClass,T==null?void 0:T.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(i)[F],"onUpdate:modelValue":I=>e.unref(i)[F]=I,onChange:N[0]||(N[0]=I=>e.unref(w)(I.name,I.value)),onClear:N[1]||(N[1]=I=>{e.unref(f)(I),e.unref(w)(I,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(F,T)=>{var I,K;return e.openBlock(),e.createBlock(ae,e.mergeProps({key:"slot-"+T,ref_for:!0},{...F.props,layout:"inline"},{class:[A.itemClass,(I=F.props)==null?void 0:I.class],"item-class":[A.itemClass,(K=F.props)==null?void 0:K.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(i)[F.props.name],"onUpdate:modelValue":J=>e.unref(i)[F.props.name]=J,onChange:N[2]||(N[2]=J=>e.unref(w)(J.name,J.value)),onClear:N[3]||(N[3]=J=>{e.unref(f)(J),e.unref(w)(J,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))]),e.unref(p)>0?(e.openBlock(),e.createElementBlock("div",$n,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([A.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:Z},e.toDisplayString(e.unref(l)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),Ne=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const a=c,t=e.ref(p(a.value??{}));e.watch(()=>a.value,async d=>{var s,n;t.value=p(d??{}),(!d||Object.keys(d).length===0)&&(await e.nextTick(),(n=(s=g.value)==null?void 0:s.clearAllFilters)==null||n.call(s,!0))},{deep:!0,immediate:!0});const r=l,g=e.ref(),i=e.useSlots();function p(d){if(Array.isArray(d))return d.map(s=>p(s));if(d!==null&&typeof d=="object"){const s=e.toRaw(d),n={};for(const m in s)n[m]=p(s[m]);return n}return d}function w(d,s){s!==void 0?t.value={...t.value,[d]:s}:delete t.value[d],r("change",{data:p(t.value),name:d,value:p(s)})}function f(d){delete t.value[d],r("clear",{data:p(t.value),name:d}),r("change",{data:p(t.value),name:d,value:null})}function h(){t.value={},r("clear",{data:p(t.value),name:"ALL"}),r("change",{data:p(t.value),name:"ALL",value:null})}const u=e.ref({});function x(){switch(a.view){case"inline":return Je;case"vertical":return Cn;case"popover":return Xe;case"popover-inline":return zn;default:return Je}}e.watch(()=>a.schema,d=>{if(!d){u.value={};return}if(Array.isArray(d)&&!d.length){u.value={};return}Array.isArray(d)?u.value=d.filter(s=>s.type).reduce((s,n)=>(Object.assign(n,{name:n.id||n.name,type:{datepicker:"date"}[n.type.toLowerCase()]||n.type.toLowerCase(),label:n.label||n.ua}),s[n.name]=n,n.data&&!n.api&&!n.options&&Object.assign(n,{api:`/api/suggest/${n.data}`}),s),{}):(Object.entries(d).forEach(([s,n])=>{Object.assign(n,{name:s||n.name||n.id,type:n.type.toLowerCase()})}),u.value={...d})},{immediate:!0,deep:!0});function b(d){g.value.clearFilter(d),f(d)}function k(){g.value.clearAllFilters(),h()}return e.watch(()=>t.value,d=>{if(a.history){const s=new URL(window.location.href),n=new URLSearchParams(window.location.search);Object.keys(d).length>0?n.set("filter",Object.entries(d).filter(([,m])=>m).map(([m,y])=>`${m}=${y}`).join("|")):n.delete("filter"),s.search=decodeURI(n.toString()),window.history.pushState({},"",s)}}),o({clearAllFilters:k,clearFilter:b}),(d,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x()),e.mergeProps(a,{schema:u.value,onChange:s[0]||(s[0]=n=>w(n.name,n.value)),onClear:s[1]||(s[1]=n=>f(n.name)),onClearAll:h,ref_key:"filterRef",ref:g}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:2},[e.unref(i).trigger?{name:"trigger",fn:e.withCtx(n=>[e.renderSlot(d.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(n)))]),key:"0"}:void 0]),1040,["schema"]))}});Ne.install=function(c){c.component("Filter",Ne),c.component("FilterField",ae)};function Pn(c){const{page:o,id:l,filter:a,filterByView:t}=c,r=new URL(window.location.href),g=new URLSearchParams(window.location.search);o?g.set("page",o.toString()):g.delete("page"),l?g.set("id",l.toString()):g.delete("id"),a?g.set("filter",a):g.delete("filter"),typeof t=="boolean"?g.set("bbox",t?"1":"0"):g.delete("bbox"),r.search=decodeURI(g.toString()),window.history.pushState({},"",r)}const Fn={class:"flex items-center justify-between w-full gap-x-1"},jn={class:"flex items-center"},An=["disabled"],Tn={class:"flex items-center gap-x-1"},Rn=["onClick"],Zn=["disabled"],On={class:"flex justify-center items-center gap-x-5 ml-3"},In={class:"relative"},Kn={class:"hs-dropdown-menu z-50 bg-white shadow-md rounded-lg p-1 space-y-0.5 dark:bg-neutral-800 dark:border dark:border-neutral-700 right-0 dark:divide-neutral-700 absolute bottom-[100%]",role:"menu","aria-orientation":"vertical","aria-labelledby":"dropdown-button"},Un=["onClick"],vn={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-check text-blue-600",width:"14",height:"14"},Fe=e.defineComponent({__name:"pagination",props:{total:{},currentPage:{},pageSize:{}},emits:["update:currentPage","update:pageSize","pageChange","pageSizeChange"],setup(c,{emit:o}){const l=c,a=o,t=e.ref(l.currentPage),r=e.ref(l.pageSize),g=e.ref(!1);e.watch(()=>l.pageSize,x=>{r.value=x});const i=e.computed(()=>Math.ceil(l.total/l.pageSize)),p=e.computed(()=>{const b=Math.floor(3.5);let k=t.value-b,d=t.value+b;k<1&&(d+=1-k,k=1),d>i.value&&(k-=d-i.value,d=i.value),k=Math.max(1,k);const s=[];for(let n=k;n<=d;n+=1)s.push(n);return s}),w=()=>{t.value>1&&h(t.value-1)},f=()=>{t.value<i.value&&h(t.value+1)},h=x=>{t.value=x,a("update:currentPage",x),a("pageChange",x)},u=(x=r.value)=>{r.value=x,g.value=!1,a("update:pageSize",r.value),a("update:currentPage",1),a("pageSizeChange",r.value)};return e.watch(()=>l.currentPage,x=>{t.value=x}),(x,b)=>(e.openBlock(),e.createElementBlock("nav",Fn,[e.createElementVNode("div",jn,[e.createElementVNode("button",{type:"button","aria-label":"Previous",onClick:w,disabled:t.value===1,class:"border-white last:rounded-e-lg text-base h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 border text-sm rounded-lg bg-white text-gray-800 hover:shadow-sm hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50 dark:bg-neutral-700 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-800 py-2"},[...b[1]||(b[1]=[e.createElementVNode("svg",{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-chevron-down rotate-90",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1),e.createElementVNode("span",{"aria-hidden":"true",class:"sr-only"},"Previous",-1)])],8,An),e.createElementVNode("div",Tn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,k=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:k,onClick:d=>h(k),class:e.normalizeClass(t.value===k?"flex justify-center items-center rounded-lg text-sm dark:text-neutral-300 py-2 px-3 focus:outline-none disabled:opacity-50 disabled:pointer-events-none bg-[#e5e7eb] dark:bg-[#242424] border border-gray-200 text-base h-[38px] min-w-[38px]":"flex justify-center items-center rounded-lg text-sm dark:text-neutral-400 hover:bg-gray-100 py-2 px-3 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:hover:bg-neutral-800 dark:focus:bg-neutral-800 text-base h-[38px] min-w-[38px]")},e.toDisplayString(k),11,Rn))),128))]),e.createElementVNode("button",{type:"button","aria-label":"Next",onClick:f,disabled:t.value===i.value,class:"border-white last:rounded-e-lg text-base h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 border text-sm rounded-lg bg-white text-gray-800 hover:shadow-sm hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50 dark:bg-neutral-700 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-800 py-2"},[...b[2]||(b[2]=[e.createElementVNode("span",{"aria-hidden":"true",class:"sr-only"},"Next",-1),e.createElementVNode("svg",{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-chevron-down -rotate-90",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1)])],8,Zn)]),e.createElementVNode("div",On,[e.createElementVNode("div",In,[e.withDirectives(e.createElementVNode("div",Kn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],k=>e.createElementVNode("button",{type:"button",key:k,onClick:d=>u(k),class:"w-full flex items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm text-gray-800 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:hover:text-neutral-300 dark:focus:bg-neutral-700"},[e.createTextVNode(e.toDisplayString(k)+" ",1),r.value===k?(e.openBlock(),e.createElementBlock("svg",vn,[...b[3]||(b[3]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M5 12l5 5l10 -10"},null,-1)])])):e.createCommentVNode("",!0)],8,Un)),64))],512),[[e.vShow,g.value]]),e.createElementVNode("button",{type:"button",class:"py-3 px-3.5 inline-flex items-center gap-x-1 text-sm rounded-lg border border-gray-200 text-gray-800 shadow-sm hover:bg-gray-50 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 text-base h-[38px] min-w-[38px]","aria-haspopup":"menu","aria-expanded":"false","aria-label":"Dropdown",onClick:b[0]||(b[0]=k=>g.value=!g.value)},[e.createTextVNode(e.toDisplayString(r.value)+" ",1),b[4]||(b[4]=e.createElementVNode("svg",{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-chevron-down",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1))])])])]))}}),fe=(c,o)=>{const l=c.__vccOpts||c;for(const[a,t]of o)l[a]=t;return l},Hn={},Wn={class:"w-48 mx-auto mb-4",width:"178",height:"90",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Gn(c,o){return e.openBlock(),e.createElementBlock("svg",Wn,[...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-stone-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-stone-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-stone-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-stone-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter2)"><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-stone-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-stone-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-stone-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter2" 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 je=fe(Hn,[["render",Gn]]),qn={},Yn={xmlns:"http://www.w3.org/2000/svg",width:"21",height:"20",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-layout-sidebar-right-collapse"};function Qn(c,o){return e.openBlock(),e.createElementBlock("svg",Yn,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z"},null,-1),e.createElementVNode("path",{d:"M15 4v16"},null,-1),e.createElementVNode("path",{d:"M9 10l2 2l-2 2"},null,-1)])])}const Xn=fe(qn,[["render",Qn]]),Jn={},er={xmlns:"http://www.w3.org/2000/svg",width:"21",height:"20",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-layout-sidebar-right-expand"};function tr(c,o){return e.openBlock(),e.createElementBlock("svg",er,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z"},null,-1),e.createElementVNode("path",{d:"M15 4v16"},null,-1),e.createElementVNode("path",{d:"M10 10l-2 2l2 2"},null,-1)])])}const lr=fe(Jn,[["render",tr]]),or={},nr={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-map"};function rr(c,o){return e.openBlock(),e.createElementBlock("svg",nr,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M3 7l6 -3l6 3l6 -3v13l-6 3l-6 -3l-6 3v-13"},null,-1),e.createElementVNode("path",{d:"M9 4v13"},null,-1),e.createElementVNode("path",{d:"M15 7v13"},null,-1)])])}const ar=fe(or,[["render",rr]]),ir={},sr={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-table"};function cr(c,o){return e.openBlock(),e.createElementBlock("svg",sr,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z"},null,-1),e.createElementVNode("path",{d:"M3 10h18"},null,-1),e.createElementVNode("path",{d:"M10 3v18"},null,-1)])])}const dr=fe(ir,[["render",cr]]);function et(c,o){let l;return function(...a){clearTimeout(l),l=setTimeout(()=>c(...a),o)}}const pr={class:"fixed inset-0 z-50 pointer-events-none"},mr={key:0,class:"flex items-center justify-between gap-4 px-4 pb-3 border-b border-gray-200 shrink-0"},fr={class:"text-base font-semibold text-gray-900"},ur={class:"px-4 pb-3 min-h-0 shrink-0 overflow-hidden"},gr={class:"flex flex-col flex-1 min-h-0 overflow-hidden"},hr={class:"flex items-center justify-between gap-4 px-4 pb-3 border-b border-gray-200 shrink-0"},yr={class:"text-base font-semibold text-gray-900"},xr={class:"flex-1 min-h-0 overflow-auto p-4"},tt=152,lt=96,ot=270,nt=96,rt=56,ye=e.defineComponent({__name:"MobileModalShell",props:{open:{type:Boolean},title:{},topOffset:{},initialVariant:{},peekMode:{}},emits:["close","expand","collapse"],setup(c,{expose:o,emit:l}){const a=c,t=l,r=e.ref("full"),g=e.computed(()=>a.topOffset??"0px"),i=e.computed(()=>a.peekMode??"custom"),p=e.ref(0),w=e.ref(0);let f=null,h=0;const u=e.computed(()=>{if(r.value==="peek"){const n=i.value==="custom",m=n?tt:ot,y=n?lt:nt,z=n?40:60,L=Math.max(y,m+p.value-w.value);return{height:`min(${z}vh, ${L}px)`}}return{top:g.value}});e.watch(()=>a.open,n=>{n&&(r.value=a.initialVariant??"full"),p.value=0,w.value=0}),e.watch(()=>a.initialVariant,n=>{a.open&&n&&(r.value=n)});function x(){r.value!=="full"&&(r.value="full",t("expand")),p.value=0,w.value=0}function b(){r.value!=="peek"&&(r.value="peek",t("collapse")),p.value=0,w.value=0}function k(n){if(n.pointerId!==f)return;const m=n.clientY-h;if(r.value==="peek"){const y=i.value==="custom",E=Math.max(0,(y?tt:ot)-(y?lt:nt));m<0?(p.value=Math.max(0,-m),w.value=0):m>0&&(w.value=Math.min(m,E),p.value=0)}}function d(n){if(n.pointerId!==f)return;window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",d),f=null;const m=n.clientY-h;r.value==="full"?m>rt&&b():m<-rt&&x()}function s(n){var m,y;n.button!==0&&n.pointerType==="mouse"||(f=n.pointerId,h=n.clientY,p.value=0,w.value=0,(y=(m=n.currentTarget).setPointerCapture)==null||y.call(m,n.pointerId),window.addEventListener("pointermove",k),window.addEventListener("pointerup",d),window.addEventListener("pointercancel",d))}return e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",d)}),o({expand:x,collapseToPeek:b}),(n,m)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",pr,[e.createElementVNode("div",{class:e.normalizeClass(["absolute inset-0 bg-black/40 transition-opacity duration-150",r.value==="peek"?"opacity-0 pointer-events-none":"opacity-100 pointer-events-auto"]),onClick:m[0]||(m[0]=e.withModifiers(y=>r.value!=="peek"&&t("close"),["self"]))},null,2),e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-auto absolute left-0 right-0 bottom-0 flex flex-col overflow-hidden bg-white shadow-[0_-4px_24px_rgba(0,0,0,0.12)]",r.value==="peek"?"rounded-t-2xl":""]),style:e.normalizeStyle(u.value)},[e.createElementVNode("div",{class:"shrink-0 flex flex-col items-center pt-2 pb-1 cursor-grab active:cursor-grabbing touch-none select-none",onPointerdown:s},[...m[3]||(m[3]=[e.createElementVNode("div",{class:"h-1.5 w-10 rounded-full bg-stone-300","aria-hidden":"true"},null,-1)])],32),r.value==="peek"&&i.value==="custom"?(e.openBlock(),e.createElementBlock("div",mr,[e.createElementVNode("div",fr,e.toDisplayString(c.title),1),e.createElementVNode("button",{type:"button",class:"h-9 w-9 inline-flex items-center justify-center rounded-full border border-gray-200 text-gray-600 hover:bg-gray-50 relative z-[80]",onClick:m[1]||(m[1]=y=>t("close")),"aria-label":"Close"},[...m[4]||(m[4]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"w-5 h-5",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})],-1)])])])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",ur,[e.renderSlot(n.$slots,"peek",{expand:x,collapse:b},()=>[e.createElementVNode("button",{type:"button",class:"w-full text-left text-base font-semibold text-gray-900 py-2 rounded-lg hover:bg-stone-50",onClick:x},e.toDisplayString(c.title),1)])],512),[[e.vShow,r.value==="peek"&&i.value==="custom"]]),e.withDirectives(e.createElementVNode("div",gr,[e.createElementVNode("div",hr,[e.createElementVNode("div",yr,e.toDisplayString(c.title),1),e.createElementVNode("button",{type:"button",class:"h-9 w-9 inline-flex items-center justify-center rounded-full border border-gray-200 text-gray-600 hover:bg-gray-50 relative z-[80]",onClick:m[2]||(m[2]=y=>t("close")),"aria-label":"Close"},[...m[5]||(m[5]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"w-5 h-5",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})],-1)])])]),e.createElementVNode("div",xr,[e.renderSlot(n.$slots,"default")])],512),[[e.vShow,r.value==="full"||r.value==="peek"&&i.value==="clip-full"]])],6)],512)),[[e.vShow,c.open]])}}),br={class:"flex flex-col gap-2 pointer-events-auto self-end","data-peek-controls":"1"},kr=e.defineComponent({__name:"MapMobilePeekControlButtons",props:{onOpenLayers:{type:Function},onOpenLegend:{type:Function}},setup(c){return(o,l)=>(e.openBlock(),e.createElementBlock("div",br,[e.createElementVNode("button",{type:"button",class:"h-[28px] w-[28px] inline-flex items-center justify-center rounded-lg border border-gray-200 bg-white text-gray-800 shadow-md p-0 hover:bg-gray-50 cursor-pointer","aria-label":"Layers",onClick:l[0]||(l[0]=a=>c.onOpenLayers())},[...l[2]||(l[2]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M12 2 2 7l10 5 10-5-10-5Z"}),e.createElementVNode("path",{d:"M2 17l10 5 10-5"}),e.createElementVNode("path",{d:"M2 12l10 5 10-5"})],-1)])]),e.createElementVNode("button",{type:"button",class:"h-[28px] w-[28px] inline-flex items-center justify-center rounded-lg border border-gray-200 bg-white text-gray-800 shadow-md p-0 hover:bg-gray-50 cursor-pointer","aria-label":"Legend",onClick:l[1]||(l[1]=a=>c.onOpenLegend())},[...l[3]||(l[3]=[e.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 6h13"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M3 6h.01"></path><path d="M3 12h.01"></path><path d="M3 18h.01"></path></svg>',1)])])]))}});function at(c,o,l=12,a=12){const t=o??"";return`${window.location.origin}/api/vtile/${c}/ua/{z}/{x}/{y}.vmt?pointZoom=${a}&clusterZoom=${l}&filter=${t}`}function wr(c,o,l,a,t=12,r=12){if(!o)return;const g=at(c,a,t,r);o.addSource("vector",{type:"vector",tiles:[g],minzoom:0,maxzoom:12});const i=["coalesce",["get","point_count"],["get","pointCount"],["get","cluster_count"],["get","clusterCount"],0],p=[">",i,1],w=["<=",i,1],f=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],h=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]],u=["coalesce",["get","point_count_abbreviated"],["get","cluster_count_abbreviated"],["get","clusterCountAbbreviated"],i];o.addLayer({id:"vector-clusters",type:"circle",source:"vector","source-layer":c,filter:p,maxzoom:12,paint:{"circle-color":["step",i,"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",i,18,100,26,750,32],"circle-opacity":.85}}),o.addLayer({id:"vector-cluster-count",type:"symbol",source:"vector","source-layer":c,filter:p,maxzoom:12,layout:{"text-field":["to-string",u],"text-font":["Noto Sans Regular"],"text-size":12},paint:{"text-color":"#1f2937"}}),o.addLayer({id:"vector-circle",type:"circle",maxzoom:12,source:"vector","source-layer":c,filter:["all",w,f],paint:{"circle-color":l,"circle-stroke-color":"#eee","circle-stroke-width":1,"circle-radius":["interpolate",["linear"],["zoom"],10,5,15,12]}}),o.addLayer({id:"vector-fill",type:"fill",minzoom:12,source:"vector","source-layer":c,filter:h,paint:{"fill-color":l,"fill-opacity":.6}})}const Vr=[{id:"voyager",name:"Базова карта (voyager)",url:"https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",preview:"https://data.gki.com.ua/api-user/rtile/voyager/ua/12/2422/1400.png"},{id:"orto",name:"Ортофото 10К",url:"https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",preview:"https://data.gki.com.ua/api-user/rtile/orto10/ua/12/2422/1400.png"},{id:"esri",name:"Esri",url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",preview:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/12/2422/1400.png"},{id:"google",name:"Google",url:"https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}",preview:"https://mt1.google.com/vt/lyrs=s&x=2422&y=1400&z=12"}],Cr={class:"relative w-auto h-full"},Br={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px]"},Er={key:0,class:"text-[0.875rem] font-medium text-stone-700"},Nr=["aria-label"],_r={key:0,xmlns:"http://www.w3.org/2000/svg",class:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Sr={key:1,xmlns:"http://www.w3.org/2000/svg",class:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Mr={class:"flex justify-start items-center gap-2"},Lr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Dr={class:"text-[0.875rem]"},$r={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},zr={key:1,class:"p-[10px]"},Pr={class:"flex justify-start items-center gap-2"},Fr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},jr={class:"text-[0.875rem]"},Ar={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Tr={key:0,class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},Rr=["title","onClick"],Zr=["src"],Or={class:"absolute py-2 px-4 text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg top-[-46px] hidden whitespace-nowrap left-1/2 -translate-x-1/2"},Ir={class:"vs-mobile-peek-controls px-3 pb-3"},Kr={class:"vs-map-slot-layers--peek z-10 select-none",style:{position:"static",display:"grid !important","grid-template-columns":"repeat(3, minmax(0, 1fr))",gap:"12px",width:"100%"}},Ur=["title","onClick"],vr=["src"],Hr={class:"absolute py-2 px-4 text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg top-[-46px] hidden whitespace-nowrap left-1/2 -translate-x-1/2"},Wr={class:"vs-mobile-peek-controls flex justify-center w-full"},Gr={class:"w-full"},qr={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px] pb-[12px]"},Yr={class:"text-[0.875rem] font-medium text-stone-700"},Qr={class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out"},Xr={class:"p-[10px] pt-0"},Jr={class:"flex justify-start items-center gap-2"},ea={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},ta={class:"text-[0.875rem]"},la={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},xe="vector-clusters",it=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},filter:{},modelValue:{},zoom:{},minZoom:{},maxZoom:{},map:{},showPopup:{type:Boolean,default:!0},mobilePeekControls:{type:Boolean},layers:{},clusterZoom:{},pointZoom:{},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{},alwaysShowPolygon:{type:Boolean}},emits:["update:modelValue","update:map"],setup(c,{emit:o}){const l=c,a=o;let t,r=null;const g=e.getCurrentInstance(),i=e.ref(null),p=e.ref(!1),w=e.ref(!1),f=e.ref(!1),h=e.ref(!1);let u=null,x=null;const b=["vector-circle","vector-fill"],k=e.ref(!0),d=e.computed(()=>{var B,P;return((P=(B=g==null?void 0:g.appContext.config.globalProperties)==null?void 0:B.$settings)==null?void 0:P.basemaps)||[]}),s=e.computed(()=>(l.layers&&l.layers.length?l.layers:d.value.length?d.value:Vr).map((P,R)=>{var oe;const $=P.id||((oe=P.name)==null?void 0:oe.toString().toLowerCase().replace(/\s+/g,"-"))||`layer-${R}`,W=P.name||P.id||`layer-${R}`;return{...P,id:$,name:W}})),n=e.ref(""),m=e.computed(()=>s.value.find(B=>B.id===n.value)||s.value[0]);e.watch(s,B=>{var P;B.length&&(!n.value||!B.some(R=>R.id===n.value))&&(n.value=((P=B[0])==null?void 0:P.id)||"")},{immediate:!0});function y(B){return B?B.replace("{x}","2422").replace("{y}","1400").replace("{z}","12"):""}const z=e.ref(null),L=e.ref(null),E=e.computed(()=>l.showPopup!==!1),S=["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#17BECF","#BCBD22"];let D;const _=[30,48];let M=null,Z=[];function A(){if(typeof window>"u")return{zoom:null,center:null,hasQuery:!1};const B=new URLSearchParams(window.location.search),P=Number(B.get("z")),R=Number(B.get("y")),$=Number(B.get("x")),W=B.has("x")&&B.has("y"),oe=B.has("z");return{zoom:oe?P:null,center:W?[$,R]:null,hasQuery:W||oe}}function N(B,P){if(!B||typeof window>"u")return;const R=new URL(window.location.href);R.searchParams.set("z",P.toFixed(2)),R.searchParams.set("x",B[0].toFixed(6)),R.searchParams.set("y",B[1].toFixed(6)),window.history.replaceState({},"",R)}let F=!1;function T(){if(!t||!F)return;const B=t.getCenter();N([B.lng,B.lat],t.getZoom())}const I=()=>{F||(F=!0),T()};function K(B){return B?["==",["to-string",["get","id"]],B]:["==",["literal",1],0]}const J=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],be=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]];function le(){const B=K(l.modelValue),P=["all",B,J],R=["all",B,be];if(!t.getLayer("vector-highlight-circle")){const oe=(l.clusterZoom??12)-.01;t.addLayer({id:"vector-highlight-circle",type:"circle",maxzoom:oe,source:"vector","source-layer":l.table,paint:{"circle-color":"#ef4444","circle-opacity":.8,"circle-stroke-color":"#b91c1c","circle-stroke-width":0,"circle-radius":["interpolate",["linear"],["zoom"],10,10,12,11]}})}t.getLayer("vector-highlight-fill")||t.addLayer({id:"vector-highlight-fill",type:"line",minzoom:l.clusterZoom??12,source:"vector","source-layer":l.table,paint:{"line-color":"#b91c1c","line-width":3,"line-opacity":.8}}),t.setFilter("vector-highlight-circle",P),t.setFilter("vector-highlight-fill",R);const $=l.modelValue?"visible":"none";t.setLayoutProperty("vector-highlight-circle","visibility",$),t.setLayoutProperty("vector-highlight-fill","visibility",$),ke()}function te(B){if(!t||!Z.length)return;const P="#ef4444",R=B?["case",["all",["has","id"],["==",["to-string",["get","id"]],B]],P,Z]:Z;if(t.getLayer("vector-circle")&&t.setPaintProperty("vector-circle","circle-color",R),t.getLayer("vector-fill")){const $=B?["case",["all",["has","id"],["==",["to-string",["get","id"]],B]],P,Z]:Z;t.setPaintProperty("vector-fill","fill-color",$)}}function ke(){if(ue(),!l.modelValue)return;let B=!0;M=window.setInterval(()=>{B=!B;const P=B?.8:.2;t!=null&&t.getLayer("vector-highlight-circle")&&t.setPaintProperty("vector-highlight-circle","circle-opacity",P),t!=null&&t.getLayer("vector-highlight-fill")&&t.setPaintProperty("vector-highlight-fill","line-opacity",P)},600)}function ue(){M&&(clearInterval(M),M=null)}function we(){t&&(t.setCenter(l.center||_),t.setZoom(l.zoom||5))}function ge(){if(!(t!=null&&t.setLayerZoomRange))return;const B=l.minZoom??0,P=Math.min((l.maxZoom??18)+.01,24);if(l.alwaysShowPolygon)t.getLayer("vector-circle")&&t.setLayerZoomRange("vector-circle",B,0),t.getLayer("vector-highlight-circle")&&t.setLayerZoomRange("vector-highlight-circle",B,0),t.getLayer("vector-fill")&&t.setLayerZoomRange("vector-fill",B,P),t.getLayer("vector-highlight-fill")&&t.setLayerZoomRange("vector-highlight-fill",B,P),t.getLayer(xe)&&t.setLayerZoomRange(xe,B,0),t.getLayer("vector-cluster-count")&&t.setLayerZoomRange("vector-cluster-count",B,0);else{const R=l.clusterZoom??12,$=R-.01,W=k.value?$:P;t.getLayer("vector-circle")&&t.setLayerZoomRange("vector-circle",B,W),t.getLayer("vector-highlight-circle")&&t.setLayerZoomRange("vector-highlight-circle",B,W),t.getLayer("vector-fill")&&t.setLayerZoomRange("vector-fill",R,P),t.getLayer("vector-highlight-fill")&&t.setLayerZoomRange("vector-highlight-fill",R,P),t.getLayer(xe)&&t.setLayerZoomRange(xe,B,$),t.getLayer("vector-cluster-count")&&t.setLayerZoomRange("vector-cluster-count",B,$)}}function Te(){if(t!=null&&t.getSource("vector")){try{const P=t.querySourceFeatures("vector",{sourceLayerId:l.table}).some(R=>{var W;const $=(W=R.geometry)==null?void 0:W.type;return $==="Polygon"||$==="MultiPolygon"});k.value=P}catch{}ge()}}const ee=A();F=ee.hasQuery,e.onMounted(async()=>{D=(await fetch(`/api/data/${l.table}/${l.colorAttr}`).then(G=>G.json())).rows,D.forEach((G,v)=>{G.color||Object.assign(G,{color:S[v%10]})}),r=new maplibregl.Popup({closeButton:!1,closeOnClick:!1});const P=m.value;if(!P)return;const R=ee.center||l.center||_,$=ee.zoom||l.zoom||5;t=new maplibregl.Map({container:i.value,style:{version:8,sources:{[P.id]:{type:"raster",tiles:[P.url],tileSize:256}},layers:[{id:P.id,type:"raster",source:P.id,minzoom:0,maxzoom:19}]},center:R,zoom:$,minZoom:l.minZoom??3,maxZoom:l.maxZoom??18,attributionControl:!1}),a("update:map",t);const W=l.mobilePeekControls?"bottom-right":"top-right";if(t.addControl(new maplibregl.NavigationControl,W),l.mobilePeekControls){const G={onAdd:()=>{const v=document.createElement("div");return u=v,x=e.createApp(kr,{onOpenLayers:()=>{f.value=!0},onOpenLegend:()=>{h.value=!0}}),x.mount(v),v},onRemove:()=>{x==null||x.unmount(),x=null,u=null}};t.addControl(G,"bottom-right"),t.once("render",()=>{if(!u)return;const v=t.getContainer(),O=v.querySelector(".maplibregl-ctrl-bottom-right"),q=v.querySelector(".maplibregl-ctrl-zoom-in"),X=q==null?void 0:q.closest(".maplibregl-ctrl-group");!O||!X||u.parentElement===O&&(O.removeChild(u),O.insertBefore(u,X.nextSibling))})}t.on("zoom",()=>{}),t.on("moveend",I),t.on("zoomend",I),F&&T(),t.on("load",()=>{t==null||t.resize(),p.value=!0;const G=D.filter(O=>O.id).reduce((O,q)=>[q.id,q.color].concat(O),[]),v=["match",["get",l.colorAttr],...G,"#808080"];Z=v,wr(l.table,t,v,l.filter,l.clusterZoom,l.pointZoom??12),le(),te(l.modelValue),ge(),t.on("sourcedata",O=>{O.sourceId==="vector"&&O.isSourceLoaded&&t.getZoom()>=(l.clusterZoom??12)&&Te()})});const oe=G=>{var O,q;const v=(O=G.features)==null?void 0:O[0];(q=v==null?void 0:v.properties)!=null&&q.id&&a("update:modelValue",v.properties.id)};b.forEach(G=>{t.on("click",G,oe)}),t.on("click",xe,G=>{var de,se,Ve;const v=(de=G.features)==null?void 0:de[0];if(!v)return;const{geometry:O}=v,q=(O==null?void 0:O.type)==="Point"?O.coordinates:(Ve=(se=O==null?void 0:O.coordinates)==null?void 0:se[0])==null?void 0:Ve[0];if(!q)return;const X=Math.min(t.getZoom()+2,t.getMaxZoom());t.easeTo({center:q,zoom:X})}),[...b,xe].forEach(G=>{t.on("mouseenter",G,()=>{t.getCanvas().style.cursor="pointer"}),t.on("mouseleave",G,()=>{t.getCanvas().style.cursor=""})}),t.on("mousemove",G=>{var de,se;if(!E.value){(de=r==null?void 0:r.remove)==null||de.call(r);return}if(!r)return;const v=t.queryRenderedFeatures(G.point,{layers:b});if(!v||!v.length){r.remove();return}const O=v[0],{coordinates:q}=O.geometry,X=O.geometry.type==="Point"?q:q[0][0];L.value=O.properties,r.setLngLat(X).setHTML((se=z.value)==null?void 0:se.innerHTML).addTo(t)})}),e.watch(()=>l.center,B=>{t&&t.setCenter(B||_)}),e.watch(()=>l.zoom,B=>{t&&t.setZoom(B)}),e.watch(()=>l.minZoom,B=>{t&&(t.setMinZoom(B??3),ge())}),e.watch(()=>l.maxZoom,B=>{t&&(t.setMaxZoom(B??18),ge())});function he(B,P,R){if(!(t!=null&&t.getSource("vector")))return;const $=at(l.table,B??l.filter,P??l.clusterZoom??12,R??l.pointZoom??12);t.getSource("vector").setTiles([$])}return e.watch(()=>l.filter,B=>{he(B)}),e.watch(()=>l.clusterZoom,B=>{he(void 0,B),ge()}),e.watch(()=>l.pointZoom,B=>{he(void 0,void 0,B)}),e.watch(()=>l.alwaysShowPolygon,()=>{ge(),he()}),e.watch(()=>l.modelValue,B=>{if(!t)return;const P=K(B),R=["all",P,J],$=["all",P,be];if(t.getLayer("vector-highlight-circle")){t.setFilter("vector-highlight-circle",R);const W=B?"visible":"none";t.setLayoutProperty("vector-highlight-circle","visibility",W)}if(t.getLayer("vector-highlight-fill")){t.setFilter("vector-highlight-fill",$);const W=B?"visible":"none";t.setLayoutProperty("vector-highlight-fill","visibility",W)}te(B),B?ke():ue()}),e.watch(n,(B,P)=>{if(!t||!B)return;const R=s.value.find(W=>W.id===B);if(!R)return;t.getLayer(P)&&t.removeLayer(P),t.getSource(P)&&t.removeSource(P),t.addSource(B,{type:"raster",tiles:[R.url],tileSize:256});const $=t.getLayer("vector-clusters")?"vector-clusters":t.getLayer("vector-circle")?"vector-circle":void 0;t.addLayer({id:R.id,type:"raster",source:R.id,minzoom:0,maxzoom:19},$)}),e.onBeforeUnmount(()=>{ue(),t&&(t.off("moveend",I),t.off("zoomend",I),t.remove())}),(B,P)=>{const R=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Cr,[e.createElementVNode("div",{ref_key:"mapContainer",ref:i,class:"map-container w-auto relative"},null,512),e.withDirectives((e.openBlock(),e.createElementBlock("button",{type:"button",class:"absolute top-25 right-2 z-20 h-8 w-8 flex items-center justify-center rounded-lg bg-white border border-gray-200 shadow-[0_8px_20px_rgba(0,0,0,0.08)] text-[18px] leading-none text-gray-700 hover:bg-gray-50",title:"Повернутися до базового вигляду",onClick:we},[...P[3]||(P[3]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M3 11L12 3l9 8"}),e.createElementVNode("path",{d:"M5 9v10h4v-6h6v6h4V9"})],-1)])])),[[R,"Повернутися до базового вигляду"]]),e.createElementVNode("div",{class:e.normalizeClass(["absolute left-[20px] bottom-[74px] bg-white rounded-lg z-10 border legend-panel",{"legend-panel--has-header":l.legendTitle||l.isCollapsible}]),style:e.normalizeStyle(l.legendWidth?{width:l.legendWidth}:{maxWidth:"250px"})},[l.legendTitle||l.isCollapsible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Br,[l.legendTitle?(e.openBlock(),e.createElementBlock("span",Er,e.toDisplayString(l.legendTitle),1)):e.createCommentVNode("",!0),l.isCollapsible?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"legend-panel__toggle ml-auto shrink-0 p-1.5 rounded-full hover:bg-stone-100 text-stone-600","aria-label":w.value?"Згорнути легенду":"Розгорнути легенду",onClick:P[0]||(P[0]=$=>w.value=!w.value)},[w.value?(e.openBlock(),e.createElementBlock("svg",_r,[...P[4]||(P[4]=[e.createElementVNode("path",{d:"M6 9l6 6 6-6"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Sr,[...P[5]||(P[5]=[e.createElementVNode("path",{d:"m18 15-6-6-6 6"},null,-1)])]))],8,Nr)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out",style:e.normalizeStyle(l.isCollapsible&&!w.value?{maxHeight:"0",padding:"0",margin:"0",opacity:"0"}:{})},[e.createElementVNode("div",{class:e.normalizeClass(["p-[10px]",w.value&&(e.unref(D)||[]).length?"pt-0":"pt-2"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(D)||[],$=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:$.id},[e.createElementVNode("div",Mr,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+$.color)},null,4),e.createElementVNode("div",Lr,[e.createElementVNode("span",Dr,e.toDisplayString($.text),1),$.count!=null?(e.openBlock(),e.createElementBlock("span",$r,e.toDisplayString($.count),1)):e.createCommentVNode("",!0)])])]))),128))],2)],4)],64)):(e.openBlock(),e.createElementBlock("div",zr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(D)||[],$=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:$.id},[e.createElementVNode("div",Pr,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+$.color)},null,4),e.createElementVNode("div",Fr,[e.createElementVNode("span",jr,e.toDisplayString($.text),1),$.count!=null?(e.openBlock(),e.createElementBlock("span",Ar,e.toDisplayString($.count),1)):e.createCommentVNode("",!0)])])]))),128))]))],6),e.createElementVNode("div",{ref_key:"popupDiv",ref:z,style:{display:"none"}},[e.renderSlot(B.$slots,"default",{hoverData:L.value})],512),l.mobilePeekControls?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Tr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,$=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:$.id,title:$.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:n.value===$.id}]),onClick:W=>n.value=$.id},[e.createElementVNode("img",{src:$.preview||y($.url),class:"vs-map-slot-layers__image"},null,8,Zr),e.createElementVNode("div",Or,e.toDisplayString($.name),1)],10,Rr)),[[R,$.name]])),128))])),l.mobilePeekControls?(e.openBlock(),e.createBlock(ye,{key:1,open:f.value,title:"Шари","initial-variant":"peek","peek-mode":"clip-full","allow-expand":!1,onClose:P[1]||(P[1]=$=>f.value=!1)},{default:e.withCtx(()=>[e.createElementVNode("div",Ir,[e.createElementVNode("div",Kr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,$=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:$.id,title:$.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:n.value===$.id}]),onClick:W=>n.value=$.id},[e.createElementVNode("img",{src:$.preview||y($.url),class:"vs-map-slot-layers__image",style:{width:"100%",height:"100","object-fit":"cover",display:"block"}},null,8,vr),e.createElementVNode("div",Hr,e.toDisplayString($.name),1)],10,Ur)),[[R,$.name]])),128))])])]),_:1},8,["open"])):e.createCommentVNode("",!0),l.mobilePeekControls?(e.openBlock(),e.createBlock(ye,{key:2,open:h.value,title:"Легенда","initial-variant":"peek","peek-mode":"clip-full","peek-height-px":200,onClose:P[2]||(P[2]=$=>h.value=!1)},{default:e.withCtx(()=>[e.createElementVNode("div",Wr,[e.createElementVNode("div",Gr,[e.createElementVNode("div",qr,[e.createElementVNode("span",Yr,e.toDisplayString(l.legendTitle||"Легенда"),1)]),e.createElementVNode("div",Qr,[e.createElementVNode("div",Xr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(D)||[],$=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:$.id},[e.createElementVNode("div",Jr,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+$.color)},null,4),e.createElementVNode("div",ea,[e.createElementVNode("span",ta,e.toDisplayString($.text),1),$.count!=null?(e.openBlock(),e.createElementBlock("span",la,e.toDisplayString($.count),1)):e.createCommentVNode("",!0)])])]))),128))])])])])]),_:1},8,["open"])):e.createCommentVNode("",!0)],512)),[[e.vShow,p.value]])}}}),st={mounted(c,o){if(typeof document>"u")return;let l=null;const a=()=>{l=document.createElement("div"),l.textContent=o.value,Object.assign(l.style,{position:"absolute",background:"#333",color:"#fff",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:"9999"}),document.body.appendChild(l);const r=c.getBoundingClientRect();l.style.left=`${r.left+window.scrollX}px`,l.style.top=`${r.top+window.scrollY-l.offsetHeight-5}px`},t=()=>{l&&l.parentNode&&(l.parentNode.removeChild(l),l=null)};c.addEventListener("mouseenter",a),c.addEventListener("mouseleave",t),Object.assign(c,{tooltipHandlers:{showTooltip:a,hideTooltip:t}})},unmounted(c){if(typeof document>"u")return;const o=c.tooltipHandlers;o&&(c.removeEventListener("mouseenter",o.showTooltip),c.removeEventListener("mouseleave",o.hideTooltip))}},oa={},na={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-list-filter-icon lucide-list-filter"};function ra(c,o){return e.openBlock(),e.createElementBlock("svg",na,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M2 5h20"},null,-1),e.createElementVNode("path",{d:"M6 12h12"},null,-1),e.createElementVNode("path",{d:"M9 19h6"},null,-1)])])}const aa=fe(oa,[["render",ra]]),ia={},sa={xmlns:"http://www.w3.org/2000/svg",class:"w-5 h-5 shrink-0",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function ca(c,o){return e.openBlock(),e.createElementBlock("svg",sa,[...o[0]||(o[0]=[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"},null,-1),e.createElementVNode("path",{d:"m21 21-4.35-4.35"},null,-1)])])}const da=fe(ia,[["render",ca]]),pa={},ma={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-table-icon lucide-table"};function fa(c,o){return e.openBlock(),e.createElementBlock("svg",ma,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M12 3v18"},null,-1),e.createElementVNode("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"},null,-1),e.createElementVNode("path",{d:"M3 9h18"},null,-1),e.createElementVNode("path",{d:"M3 15h18"},null,-1)])])}const ua=fe(pa,[["render",fa]]),ga={class:"absolute inset-x-0 top-[12px] z-40 px-[12px] pointer-events-none"},ha={class:"flex flex-wrap gap-2"},ya=["disabled"],xa=e.defineComponent({__name:"MobileOverlayActions",props:{activeModal:{},filtersDisabled:{type:Boolean}},emits:["openSearch","openFilters","openTable"],setup(c){return(o,l)=>(e.openBlock(),e.createElementBlock("div",ga,[e.createElementVNode("div",ha,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["pointer-events-auto py-2 px-3 h-[44px] inline-flex items-center gap-x-2 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100",{"bg-stone-50":c.activeModal==="search"}]),onClick:l[0]||(l[0]=a=>o.$emit("openSearch"))},[e.createVNode(da)],2),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["pointer-events-auto py-2 px-3 h-[44px] inline-flex items-center gap-x-2 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100",{"bg-stone-50":c.activeModal==="filters"}]),disabled:c.filtersDisabled,onClick:l[1]||(l[1]=a=>o.$emit("openFilters"))},[e.createVNode(aa,{"stroke-width":1,class:"text-gray-900"}),l[3]||(l[3]=e.createElementVNode("span",{class:"font-medium"},"Фільтри",-1))],10,ya),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["pointer-events-auto py-2 px-3 h-[44px] inline-flex items-center gap-x-2 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100",{"bg-stone-50":c.activeModal==="table"}]),onClick:l[2]||(l[2]=a=>o.$emit("openTable"))},[e.createVNode(ua,{"stroke-width":1,class:"text-gray-900"}),l[4]||(l[4]=e.createElementVNode("span",{class:"font-medium"},"Таблиця",-1))],2)])]))}}),ba={key:0,class:"relative w-full h-full vs-mobile-parts-map"},ka={class:"flex flex-col min-h-0 gap-4"},wa={class:"flex flex-col min-h-0 flex-1"},Va={key:1,class:"wrapperTable flex flex-col min-h-0"},Ca={key:1,class:"text-center py-8"},Ba={key:2,class:"mt-4 pt-4 border-t border-stone-200 shrink-0"},Ea={class:"flex flex-col flex-1 min-h-0 overflow-hidden"},Na={id:"active-filters"},_a={class:"flex-1 min-h-0"},Sa={key:1,class:"text-sm text-stone-500"},Ma={class:"wrapperTable flex flex-col min-h-0"},La={key:1,class:"text-center py-12"},Da={key:0,class:"mt-4 pt-4 border-t border-stone-200"},$a=["onClick"],za={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},Pa={class:"flex items-center"},Fa=["title"],ja={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},Aa={class:"flex"},Ta={key:0,class:"flex items-center py-[15px] pb-[24px] pl-2 pr-6 gap-4"},Ra={class:"font-bold text-2xl mr-[10px]"},Za={class:"text-sm text-stone-500 font-medium"},Oa={key:0,class:"inline-flex items-center gap-2 text-sm text-stone-700 select-none ml-auto mt-auto"},Ia={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},Ka={key:1,class:"text-center py-28"},Ua={key:1},va={key:2,class:"my-5 pr-2"},Ha={class:"flex justify-between"},Wa={class:"w-full lg:w-1/2 relative"},Ga={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},ct="(max-width: 999px)",_e="0px",Ae=e.defineComponent({__name:"vs-parts-map",props:{title:{},table:{},map:{},rows:{},zoom:{},minZoom:{default:3},maxZoom:{default:18},center:{},initTotal:{},colorAttr:{},id:{},filters:{},history:{type:Boolean},layers:{},objectsInView:{type:Boolean,default:!0},clusterZoom:{default:12},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{},polygonFitBbox:{type:Boolean},alwaysShowPolygon:{type:Boolean},mobileFilterView:{},mobileFilterLimit:{}},emits:["change:filter","update:map"],setup(c,{emit:o}){var Ve,pt,mt,ft,ut,gt,ht;const l=e.getCurrentInstance();l&&!(l!=null&&l.appContext.directives.tooltip)&&(l.appContext.directives.tooltip=st);function a(V){return V?(V.type==="Point"?V.coordinates:null)||(V.type.includes("Multi")?V.coordinates[0][0][0]:V.coordinates[0][0]):null}function t(V){switch(V==null?void 0:V.type){case"Polygon":return V.coordinates[0];case"MultiPolygon":return V.coordinates.flatMap(C=>C[0]);case"LineString":return V.coordinates;case"MultiLineString":return V.coordinates.flat();default:return[]}}function r(V){if(!V||V.type==="Point"||V.type==="MultiPoint")return null;const C=t(V);if(!C.length)return null;let H=1/0,j=1/0,ne=-1/0,Y=-1/0;return C.forEach(([U,re])=>{U<H&&(H=U),re<j&&(j=re),U>ne&&(ne=U),re>Y&&(Y=re)}),[[H,j],[ne,Y]]}function g(V){return(V==null?void 0:V.type)==="Polygon"||(V==null?void 0:V.type)==="MultiPolygon"}const i=c,p=e.useSlots(),w=e.computed(()=>i.mobileFilterView??"vertical"),f=e.computed(()=>i.mobileFilterLimit!==void 0?{limit:i.mobileFilterLimit}:{}),h=o,u=e.ref(0);u.value=i.initTotal??((Ve=i.rows)==null?void 0:Ve.length)??0;const x=e.ref(""),b=e.ref(null),k=e.ref(!0),d=e.ref(((pt=i.rows)==null?void 0:pt.length)===1),s=e.ref(!1);let n=null;const m=e.ref(!1);typeof window<"u"&&(n=window.matchMedia(ct),m.value=n.matches,s.value=!0);const y=e.ref(i.rows),z=e.ref(1),L=e.ref(20),E=e.ref(i.filters||[]),S=e.ref(""),D=e.ref({}),_=e.ref(((mt=i.rows)==null?void 0:mt.length)===1?i.rows[0]:{}),M=e.ref(((ft=i.rows)==null?void 0:ft.length)===1?i.rows[0].id:""),Z=e.ref(((ut=i.rows)==null?void 0:ut.length)===1?a((gt=i.rows[0])==null?void 0:gt.geom):i.center||null),A=e.ref(((ht=i.rows)==null?void 0:ht.length)===1?14:i.zoom||5),N=e.ref(!1),F=e.ref(!1),T=e.ref("");let I=!1;const K=e.ref(null),J=e.ref(!1);function be(){if(!n)return;const V=m.value;m.value=n.matches,V!==m.value&&(K.value=null,e.nextTick(()=>{var C,H;(H=(C=b.value)==null?void 0:C.resize)==null||H.call(C)}))}const le=e.ref(null),te=e.ref(null),ke=e.computed(()=>{var V;return d.value&&!((V=_.value)!=null&&V.geom)}),ue=e.computed({get:()=>ke.value?"":M.value,set:V=>{M.value=V,m.value&&(V?(J.value=!0,K.value="details"):K.value==="details"&&(K.value=null))}});function we(){var Y,U,re;if(i.alwaysShowPolygon){le.value=null,te.value=null;return}if(!i.polygonFitBbox||!b.value||!((Y=_.value)!=null&&Y.geom)){le.value=null,te.value=null;return}const{geom:V}=_.value;if(!g(V)){le.value=null,te.value=null;return}const C=r(V);if(!C){le.value=null,te.value=null;return}const H=(re=(U=b.value).cameraForBounds)==null?void 0:re.call(U,C,{padding:20,maxZoom:16}),j=H==null?void 0:H.zoom,ne=i.clusterZoom??12;if(j!=null&&j<ne){const yt=Math.floor(j);le.value=yt,te.value=yt}else le.value=null,te.value=null}function ge(V){return Object.entries(V).filter(([,C])=>Array.isArray(C)?C.length:C).map(([C,H])=>`${C}=${H}`).join("|")}function Te(){var j,ne,Y,U;if(!b.value||!F.value)return;const V=(ne=(j=b.value).getBounds)==null?void 0:ne.call(j);if(!V)return;const C=(Y=V.getSouthWest)==null?void 0:Y.call(V),H=(U=V.getNorthEast)==null?void 0:U.call(V);!C||!H||(T.value=`${C.lng} ${C.lat},${H.lng} ${H.lat}`)}async function ee(V=!1){await e.nextTick();const C=ge(D.value);S.value=C,F.value?Te():T.value="";try{const H={search:x.value,limit:L.value.toString(),page:z.value.toString(),filter:C,...F.value&&T.value?{bbox:T.value}:{}},j=new URL(`/api/data/${i.table}`,window.location.origin)+(M.value?`/${M.value}`:""),ne=new URLSearchParams(H).toString(),Y=await fetch(`${j.toString()}?${ne}`).then(U=>U.json());if(M.value){let U;if(Y.rows.length>1?U=Y.rows.find(re=>re.id===M.value):[U]=Y.rows,_.value=U,!V&&(U!=null&&U.geom)){const re=i.polygonFitBbox?r(U.geom):null;re&&b.value?b.value.fitBounds(re,{padding:20,maxZoom:16,duration:500}):(Z.value=a(U.geom),A.value=14)}we(),d.value=!0}else le.value=null,te.value=null,d.value=!1,N.value||(A.value=i.zoom||5),y.value=Y==null?void 0:Y.rows;N.value=!1,u.value=Y.filtered,Pn({page:z.value,filter:C,id:M.value,filterByView:F.value})}catch(H){console.error(H.message)}}const he=et(()=>ee(),300),B=et(()=>ee(!0),400);function P(){!b.value||I||!F.value||(b.value.on("moveend",B),b.value.on("zoomend",B),I=!0)}function R(){!b.value||!I||(b.value.off("moveend",B),b.value.off("zoomend",B),I=!1)}function $(V){L.value=V,z.value=1,ee()}function W(V){z.value=V,ee()}function oe(V){D.value=V.data,z.value=1,M.value?M.value="":ee(),h("change:filter",V)}async function dt(){if(i.filters)return;const C=await(await fetch(`/api/filter/${i.table}`)).json();E.value=C.list}function G(){D.value={},x.value="",ee()}e.onMounted(async()=>{var H,j;n||(n=window.matchMedia(ct)),s.value||(m.value=n.matches,s.value=!0),n.addEventListener("change",be),m.value&&(k.value=!1);const V=new URLSearchParams(window.location.search);z.value=Number(V.get("page"))||1,L.value=Number(V.get("limit"))||L.value,M.value=V.get("id")||"",d.value=!!M.value,S.value=V.get("filter")||"";const C=V.get("bbox");C!==null?F.value=C!=="0":F.value=!1,(j=(H=V.get("filter"))==null?void 0:H.split("|"))==null||j.forEach(ne=>{const[Y,U]=ne.split("=");Y&&(D.value[Y]=U!=null&&U.includes(",")?U.split(","):[U])}),dt(),!y.value&&!M.value&&ee()}),e.onBeforeUnmount(()=>{n==null||n.removeEventListener("change",be),R()});function v(){N.value=!0,d.value=!1,_.value=null,M.value="",le.value=null,te.value=null}function O(V){K.value=V}function q(){K.value=null}async function X(){var V,C;await e.nextTick(),(C=(V=b.value)==null?void 0:V.resize)==null||C.call(V)}function de(){v(),q()}function se(V){if(J.value=!0,V!=null&&V.geom){const C=i.polygonFitBbox?r(V.geom):null;C&&b.value?b.value.fitBounds(C,{padding:20,maxZoom:16,duration:500}):(Z.value=a(V.geom),A.value=16)}_.value=V,M.value=V.id,we(),m.value&&(K.value="details")}return e.watch(K,async()=>{var V,C;await e.nextTick(),(C=(V=b.value)==null?void 0:V.resize)==null||C.call(V)}),e.watch(b,V=>{var C;h("update:map",V),V&&F.value&&P(),V&&i.polygonFitBbox&&((C=_.value)!=null&&C.geom)&&we()}),e.watch(x,V=>{V||ee()}),e.watch(M,()=>{ee()}),e.watch(F,()=>{F.value?P():R(),ee()}),(V,C)=>{var H;return s.value?(e.openBlock(),e.createElementBlock("section",{key:0,class:e.normalizeClass(m.value?"":"pt-[20px]")},[m.value?(e.openBlock(),e.createElementBlock("div",ba,[e.createVNode(it,{table:i.table,map:b.value,"onUpdate:map":C[0]||(C[0]=j=>b.value=j),zoom:A.value,minZoom:i.minZoom,maxZoom:i.maxZoom,colorAttr:i.colorAttr,filter:S.value,center:Z.value,clusterZoom:i.alwaysShowPolygon?0:le.value??i.clusterZoom,pointZoom:i.alwaysShowPolygon?0:te.value??12,alwaysShowPolygon:i.alwaysShowPolygon,modelValue:ue.value,"onUpdate:modelValue":C[1]||(C[1]=j=>ue.value=j),layers:i.layers,isCollapsible:i.isCollapsible,legendTitle:i.legendTitle,legendWidth:i.legendWidth,"show-popup":!1,"mobile-peek-controls":!0},{default:e.withCtx(({hoverData:j})=>[e.renderSlot(V.$slots,"popup",{data:j})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","pointZoom","alwaysShowPolygon","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.createVNode(xa,{"active-modal":K.value,"filters-disabled":!E.value.length,onOpenSearch:C[2]||(C[2]=j=>O("search")),onOpenFilters:C[3]||(C[3]=j=>O("filters")),onOpenTable:C[4]||(C[4]=j=>O("table"))},null,8,["active-modal","filters-disabled"]),e.createVNode(ye,{open:K.value==="search",title:"Пошук","top-offset":_e,"initial-variant":"full","peek-mode":"clip-full",onClose:q,onExpand:X,onCollapse:X},{default:e.withCtx(()=>[e.createElementVNode("div",ka,[e.createVNode(e.unref(ae),{type:"text",modelValue:x.value,"onUpdate:modelValue":C[5]||(C[5]=j=>x.value=j),name:"search",label:"Пошук",onChange:e.unref(he)},null,8,["modelValue","onChange"]),e.createElementVNode("div",wa,[e.unref(p)["mobile-search-results"]?e.renderSlot(V.$slots,"mobile-search-results",{key:0,rows:y.value,selectRow:se,closeModal:q}):(e.openBlock(),e.createElementBlock("div",Va,[u.value>=1?e.renderSlot(V.$slots,"table",{key:0,rows:y.value,selectRow:se,isMapVisible:!1}):(e.openBlock(),e.createElementBlock("div",Ca,[e.createVNode(je),C[19]||(C[19]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),C[20]||(C[20]=e.createElementVNode("p",{class:"font-normal text-sm text-gray-500 rounded-xl"}," Введіть, будь ласка, інші значення для пошуку. ",-1)),e.createElementVNode("button",{type:"button",class:"mt-[10px] py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs rounded-lg border border-stone-200 bg-white text-stone-800 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100",onClick:G}," Очистити дані пошуку ")]))])),u.value>=1?(e.openBlock(),e.createElementBlock("div",Ba,[e.createVNode(Fe,{total:u.value,currentPage:z.value??1,pageSize:L.value,onPageChange:C[6]||(C[6]=j=>W(j)),onPageSizeChange:C[7]||(C[7]=j=>$(j))},null,8,["total","currentPage","pageSize"])])):e.createCommentVNode("",!0)])])]),_:3},8,["open"]),e.createVNode(ye,{open:K.value==="filters",title:"Фільтри","top-offset":_e,"initial-variant":"full","peek-mode":"clip-full",onClose:q,onExpand:X,onCollapse:X},{default:e.withCtx(()=>[e.createElementVNode("div",Ea,[e.withDirectives(e.createElementVNode("div",Na,null,512),[[e.vShow,K.value==="filters"]]),e.createElementVNode("div",_a,[E.value.length?(e.openBlock(),e.createBlock(e.unref(Ne),e.mergeProps({key:0,schema:E.value,view:w.value},f.value,{value:D.value,teleportActive:"#active-filters",onChange:oe}),null,16,["schema","view","value"])):(e.openBlock(),e.createElementBlock("p",Sa,"Фільтри недоступні для цього переліку."))])])]),_:1},8,["open"]),e.createVNode(ye,{open:K.value==="table",title:"Таблиця","top-offset":_e,"initial-variant":"full","peek-mode":"clip-full",onClose:q,onExpand:X,onCollapse:X},{default:e.withCtx(()=>[e.createElementVNode("div",Ma,[u.value>=1?e.renderSlot(V.$slots,"table",{key:0,rows:y.value,selectRow:se,isMapVisible:!1}):(e.openBlock(),e.createElementBlock("div",La,[e.createVNode(je),C[21]||(C[21]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),C[22]||(C[22]=e.createElementVNode("p",{class:"font-normal text-sm text-gray-500 rounded-xl"}," Введіть, будь ласка, інші значення для пошуку. ",-1)),e.createElementVNode("button",{type:"button",class:"mt-[10px] py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs rounded-lg border border-stone-200 bg-white text-stone-800 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100",onClick:G}," Очистити дані пошуку ")]))]),u.value>=1?(e.openBlock(),e.createElementBlock("div",Da,[e.createVNode(Fe,{total:u.value,currentPage:z.value??1,pageSize:L.value,onPageChange:C[8]||(C[8]=j=>W(j)),onPageSizeChange:C[9]||(C[9]=j=>$(j))},null,8,["total","currentPage","pageSize"])])):e.createCommentVNode("",!0)]),_:3},8,["open"]),e.createVNode(ye,{open:K.value==="details",title:"Об'єкт","top-offset":_e,"initial-variant":J.value?"peek":"full","peek-mode":"custom",onClose:de,onExpand:X,onCollapse:X},{peek:e.withCtx(({expand:j})=>[e.unref(p)["mobile-details-peek"]?e.renderSlot(V.$slots,"mobile-details-peek",{key:0,selectedRow:_.value,expand:j,close:de}):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"w-full text-left text-base font-semibold text-gray-900 py-2 rounded-lg hover:bg-stone-50",onClick:j}," Деталі об'єкта ",8,$a))]),default:e.withCtx(()=>[e.renderSlot(V.$slots,"details",{table:i.table,selectedRow:_.value,closeObjCard:de})]),_:3},8,["open","initial-variant"]),e.renderSlot(V.$slots,"default",{table:i.table,map:b.value,selectedRow:_.value})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(V.$slots,"header",{title:i.title,total:u.value}),e.createElementVNode("div",za,[e.createVNode(e.unref(ae),{type:"text",modelValue:x.value,"onUpdate:modelValue":C[10]||(C[10]=j=>x.value=j),name:"search",label:"Пошук",onChange:e.unref(he)},null,8,["modelValue","onChange"]),E.value.length?(e.openBlock(),e.createBlock(e.unref(Ne),{key:0,schema:E.value,view:"inline",onChange:oe,limit:5,value:D.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",Pa,[e.createElementVNode("button",{type:"button",class:"map-visible-button py-2 px-2 hidden min-[1001px]:inline-flex items-center gap-x-1.5 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100",title:k.value?"Приховати карту":"Показати карту",onClick:C[11]||(C[11]=j=>k.value=!k.value)},[k.value?(e.openBlock(),e.createBlock(Xn,{key:0})):(e.openBlock(),e.createBlock(lr,{key:1})),C[23]||(C[23]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,Fa),e.createElementVNode("div",ja,[e.createElementVNode("button",{onClick:C[12]||(C[12]=j=>k.value=!1),class:"py-2 px-2 h-[38px] inline-flex items-center gap-x-1.5 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100"},[e.createVNode(dr)]),e.createElementVNode("button",{onClick:C[13]||(C[13]=j=>k.value=!0),class:"py-2 px-2 h-[38px] inline-flex items-center gap-x-1.5 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100"},[e.createVNode(ar)])])])]),e.createElementVNode("div",Aa,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",k.value?"w-2/4 mr-0":"w-full mr-3",d.value?"hidden":""])},[(H=V.$slots)!=null&&H.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ta,[e.createElementVNode("div",null,[e.createElementVNode("span",Ra,e.toDisplayString(i.title),1),e.createElementVNode("span",Za,e.toDisplayString(u.value),1),C[24]||(C[24]=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1))]),i.objectsInView?(e.openBlock(),e.createElementBlock("label",Oa,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"accent-blue-600 w-4 h-4","onUpdate:modelValue":C[14]||(C[14]=j=>F.value=j)},null,512),[[e.vModelCheckbox,F.value]]),C[25]||(C[25]=e.createElementVNode("span",null,"В межах видимої області",-1))])):e.createCommentVNode("",!0)])),e.createElementVNode("div",Ia,[u.value>=1?e.renderSlot(V.$slots,"table",{key:0,rows:y.value,selectRow:se}):(e.openBlock(),e.createElementBlock("div",Ka,[e.createVNode(je),C[26]||(C[26]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),C[27]||(C[27]=e.createElementVNode("p",{class:"font-normal text-sm text-gray-500 rounded-xl"}," Введіть, будь ласка, інші значення для пошуку. ",-1)),e.createElementVNode("button",{type:"button",class:"mt-[10px] py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs rounded-lg border border-stone-200 bg-white text-stone-800 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100",onClick:G}," Очистити дані пошуку ")]))]),u.value>=1?(e.openBlock(),e.createElementBlock("hr",Ua)):e.createCommentVNode("",!0),u.value>=1?(e.openBlock(),e.createElementBlock("div",va,[e.createElementVNode("div",Ha,[e.createVNode(Fe,{total:u.value,currentPage:z.value??1,pageSize:L.value,onPageChange:C[15]||(C[15]=j=>W(j)),onPageSizeChange:C[16]||(C[16]=j=>$(j))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(k.value?"lg:static lg:w-1/2 mr-0 pb-5":"pb-5 mr-3"),style:{height:"calc(100vh - 152px)"}},[e.renderSlot(V.$slots,"details",{table:i.table,selectedRow:_.value,closeObjCard:v})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",Wa,[e.createVNode(it,{table:i.table,map:b.value,"onUpdate:map":C[17]||(C[17]=j=>b.value=j),zoom:A.value,minZoom:i.minZoom,maxZoom:i.maxZoom,colorAttr:i.colorAttr,filter:S.value,center:Z.value,clusterZoom:i.alwaysShowPolygon?0:le.value??i.clusterZoom,pointZoom:i.alwaysShowPolygon?0:te.value??12,alwaysShowPolygon:i.alwaysShowPolygon,modelValue:ue.value,"onUpdate:modelValue":C[18]||(C[18]=j=>ue.value=j),layers:i.layers,isCollapsible:i.isCollapsible,legendTitle:i.legendTitle,legendWidth:i.legendWidth,"show-popup":!0},{default:e.withCtx(({hoverData:j})=>[e.renderSlot(V.$slots,"popup",{data:j})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","pointZoom","alwaysShowPolygon","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.renderSlot(V.$slots,"default",{table:i.table,map:b.value,selectedRow:_.value}),ke.value?(e.openBlock(),e.createElementBlock("div",Ga,[...C[28]||(C[28]=[e.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="text-white/80"><path d="M12.75 7.09a3 3 0 0 1 2.16 2.16"></path><path d="M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568"></path><path d="m2 2 20 20"></path><path d="M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533"></path><path d="M9.13 9.13a3 3 0 0 0 3.74 3.74"></path></svg><p class="mt-4 text-base font-[300] text-white">Геопросторові дані відсутні</p><p class="mt-2 max-w-xs text-center text-sm font-[200] text-white/70 leading-relaxed"> Координати або межі об&#39;єкта не внесені до системи. Об&#39;єкт відображається лише у текстовому форматі. </p>',3)])])):e.createCommentVNode("",!0)],512),[[e.vShow,k.value]])])],64))],2)):e.createCommentVNode("",!0)}}});return Ae.install=c=>{c.component("VsPartsMap",Ae),c._context.directives.tooltip||c.directive("tooltip",st)},Ae});
1
+ (function(e,pe){typeof exports=="object"&&typeof module<"u"?module.exports=pe(require("vue")):typeof define=="function"&&define.amd?define(["vue"],pe):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=pe(e.Vue))})(this,function(e){"use strict";const pe=(t,a)=>{const o=t.__vccOpts||t;for(const[r,l]of a)o[r]=l;return o};e.defineComponent({props:{modelValue:{type:Boolean,default:()=>!1},title:{type:String,default:()=>""},disabled:{type:Boolean,default:()=>!1}},data(){return{}},mounted(){this.modelValue||this.$emit("update:modelValue",!1)},computed:{modelState:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},labelCursorClasses(){return[{"cursor-not-allowed":this.disabled},{"cursor-pointer":!this.disabled}]}},methods:{handleEnterDown(t){const{keyCode:a}=t;a===13&&(this.modelState=!this.modelState)},addKeyHandler(){window.addEventListener("keydown",this.handleEnterDown)},removeKeyHandler(){window.removeEventListener("keydown",this.handleEnterDown)}}});const xt={},kt={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6 text-green-600"};function wt(t,a){return e.openBlock(),e.createElementBlock("svg",kt,a[0]||(a[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))}const Vt=pe(xt,[["render",wt]]),Ct={},Bt={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"orange",class:"size-6 text-orange-600"};function Et(t,a){return e.openBlock(),e.createElementBlock("svg",Bt,a[0]||(a[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))}const Nt=pe(Ct,[["render",Et]]),St={},_t={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6 text-blue-600"};function Mt(t,a){return e.openBlock(),e.createElementBlock("svg",_t,a[0]||(a[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"},null,-1)]))}const Dt=pe(St,[["render",Mt]]),zt={},$t={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"red",class:"size-6 text-red-600"};function Lt(t,a){return e.openBlock(),e.createElementBlock("svg",$t,a[0]||(a[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const Pt=pe(zt,[["render",Lt]]),Ft={class:"rounded-md border border-gray-300 bg-white p-4 shadow-sm"},At={class:"flex items-start gap-4 opacity-100 scale-5 transition-all duration-300"},jt={class:"flex-1"},Tt={class:"font-medium text-gray-900"},Ot={class:"mt-0.5 text-sm text-gray-700"},Rt=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(t){const a={success:Vt,warning:Nt,error:Pt,info:Dt};return(o,r)=>(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("div",At,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a[o.type]))),e.createElementVNode("div",jt,[e.createElementVNode("strong",Tt,e.toDisplayString(o.title),1),e.createElementVNode("p",Ot,e.toDisplayString(o.message),1)]),r[0]||(r[0]=e.createElementVNode("button",{class:"m-3 rounded-full p-1.5 text-gray-500 transition-colors hover:bg-gray-50 hover:text-gray-700",type:"button","aria-label":"Dismiss notify"},[e.createElementVNode("span",{class:"sr-only"},"Dismiss popup"),e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-5"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})])],-1))])]))}});e.reactive({visible:!0});const Ee={top:"top-4 left-1/2 transform -translate-x-1/2","left-bottom":"bottom-4 left-4 transform","right-bottom":"bottom-4 right-4 transform",bottom:"bottom-4 left-1/2 transform -translate-x-1/2"},xe=t=>{var m;const{type:a="info",title:o,message:r,position:l="right-bottom"}=t||{};let i=document.querySelector("#notify-root");i||(i=document.createElement("div"),i.id="notify-root",i.className=`fixed z-[2000] flex flex-col gap-3 ${Ee[l]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(i)),i.className.includes(Ee[l])||(Object.values(Ee).forEach(g=>{i.classList.remove(...g.split(" "))}),i.classList.add(...Ee[l].split(" ")));const h=document.createElement("div");i.appendChild(h);const n=e.createApp({render(){return e.h(Rt,{type:a,title:o,message:r,onClose:()=>{n.unmount(),h.remove()}})}});n.mount(h),(m=h.querySelector("button"))==null||m.addEventListener("click",()=>{h.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{n.unmount(),h.remove()},350)}),setTimeout(()=>{h.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{n.unmount(),h.remove()},350)},3500)},ce=(t,a)=>{const o=t.__vccOpts||t;for(const[r,l]of a)o[r]=l;return o},vt={},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-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function It(t,a){return e.openBlock(),e.createElementBlock("svg",Zt,[...a[0]||(a[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 Ut=ce(vt,[["render",It]]),Kt={},Ht={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(t,a){return e.openBlock(),e.createElementBlock("svg",Ht,[...a[0]||(a[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const fe=ce(Kt,[["render",Wt]]),qt={class:"flex items-center cursor-pointer w-full"},Gt={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Yt=["value"],Qt={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Xt={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Jt={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},De=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(t,{expose:a,emit:o}){const r=t,l=o;function i(){l("itemClick",r.value)}const h=e.ref(null),n=e.computed(()=>r.layout==="inline"&&r.type==="radio"),m=e.computed(()=>r.layout==="vertical"?"text-[13px]":"text-sm");return a({el:h}),(g,f)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:h},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between w-full",m.value])},[e.createElementVNode("div",qt,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(t.layout)?"text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-gray-500 cursor-pointer",{"bg-blue-100":t.highlighted,relative:n.value},m.value]),onClick:e.withModifiers(i,["stop","prevent"])},[n.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[t.type==="checkbox"?"rounded-[4px]":"rounded-full",t.color?`bg-[${t.color}] border-[#ffffff]`:t.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[t.isSelected?(e.openBlock(),e.createElementBlock("img",Gt)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:t.value},null,8,Yt),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",n.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Qt,e.toDisplayString(t.label??"Відсутні дані"),1),t.count?(e.openBlock(),e.createElementBlock("div",Xt," ("+e.toDisplayString(t.count)+") ",1)):e.createCommentVNode("",!0)],2),n.value&&t.isSelected?(e.openBlock(),e.createElementBlock("span",Jt,[e.createVNode(fe)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function ze(t,a){const{api:o,options:r=[],limit:l=20,dataKey:i="data",data:h}=t,n=i??h??"data";function m(s){return Array.isArray(s)?s[0]:s}const g=e.ref(m(t.modelValue)),f=e.ref(""),u=e.ref(!1),y=e.ref([]),w=e.ref("id"),p=e.ref("text"),k=e.ref(!1),V=e.ref(t.layout!=="popover"&&r.length>l);function d(s){const B=s.find(Boolean)??{},x=["id","value","code","key"].find(F=>F in B)??"id",L=["text","label","name","title"].find(F=>F in B)??"text";return{autoValueKey:x,autoLabelKey:L}}function c(s){if(s.length>0){const x=d(s);w.value=x.autoValueKey,p.value=x.autoLabelKey}const B=[...s].sort((x,L)=>t.sort==="count"?L.count&&x.count?L.count-x.count:0:t.sort==="name"?String(x[p.value]??"").localeCompare(String(L[p.value]??"")):0);y.value=B}r.length>0&&c(r);const E=e.computed(()=>{const s=y.value;return t.layout==="popover"||k.value?s:s.slice(0,l)});async function $(){if(o){u.value=!0;try{const s=new URL(o,window.location.origin);s.searchParams.set("json","1"),s.searchParams.set("limit",l.toString());const B=await fetch(s.toString());if(!B.ok){xe({type:"error",title:"Error",message:"Failed to fetch remote options"}),y.value=[];return}const x=await B.json();if(!x[n]){xe({type:"error",title:"Error",message:x}),y.value=[];return}c(x[n])}catch(s){console.error("Failed to fetch remote options:",s)}finally{u.value=!1}}}function z(){o&&y.value.length===0&&$()}e.watch(()=>t.modelValue,s=>{g.value=m(s)},{immediate:!0}),o||c(r);function b(s){return g.value===s[w.value]}function C(s){g.value=s[w.value],a("update:modelValue",g.value),a("change",{name:t.name,value:g.value})}function M(){g.value=void 0,a("update:modelValue",g.value),a("clear",t.name)}function P(){k.value=!k.value}return{innerValue:g,searchTerm:f,filteredOptions:E,isSelected:b,selectItem:C,clear:M,toggleShowAll:P,isReqProc:u,showAll:k,isEnableShowAll:V,labelKey:p,valueKey:w,allOptions:y,loadData:z}}function ve(t={color:"blue"}){return e.computed(()=>{const a=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${t.color}-500 focus:border-transparent
2
+ text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return(t==null?void 0:t.size)==="sm"?`${a}h-[32px]`:`${a}h-[38px]`})}function ye(){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 el(){return"font-medium border border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600"}function Ze(t){return t==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":t==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const Ie={en:{apply:"Apply",search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",max:"max",min:"min",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next",selectFieldHelp:"Select a field to start creating a filter."},uk:{apply:"Застосувати",search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",max:"макс",min:"мін",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період",selectFieldHelp:"Оберіть поле, щоб розпочати створення фільтра."}};function Ue(t){const a=t.split(".")[1],o=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(Ie[o||navigator.language]||Ie.uk)[a]}function le(){const t=e.getCurrentInstance();if(!t.appContext.config.globalProperties.$i18n)return Ue;const a=t.appContext.config.globalProperties.$t;return o=>{const r=a(o);return r===o?Ue(o):r}}const tl={},ll={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ol(t,a){return e.openBlock(),e.createElementBlock("svg",ll,[...a[0]||(a[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 $e=ce(tl,[["render",ol]]),nl={},al={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 rl(t,a){return e.openBlock(),e.createElementBlock("svg",al,[...a[0]||(a[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Ne=ce(nl,[["render",rl]]),il={},sl={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 cl(t,a){return e.openBlock(),e.createElementBlock("svg",sl,[...a[0]||(a[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Le=ce(il,[["render",cl]]),dl={key:0,class:"w-full"},ml={class:"flex flex-col items-center justify-center p-5 text-center"},pl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},fl={key:1,class:"py-2 px-2"},ul=["disabled"],gl=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=t,l=e.ref(null),i=ye(),h=le(),n=o,{innerValue:m,filteredOptions:g,isSelected:f,selectItem:u,clear:y,toggleShowAll:w,isReqProc:p,showAll:k,isEnableShowAll:V,labelKey:d,valueKey:c,allOptions:E,loadData:$}=ze({...r,modelValue:r.modelValue??r.default??""},n);return e.onMounted(()=>{r.api&&$()}),a({clear:y,inputTextRef:l}),e.watch(()=>r.modelValue,z=>{z===void 0&&(m.value=void 0)}),(z,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),C=>(e.openBlock(),e.createBlock(De,{layout:t.layout,key:C[e.unref(c)],count:C.count,label:C[e.unref(d)],color:C.color,type:"radio",value:C[e.unref(c)],"is-selected":e.unref(f)(C),onItemClick:M=>e.unref(u)(C)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(g).length===0&&!e.unref(p)?(e.openBlock(),e.createElementBlock("div",dl,[e.createElementVNode("div",ml,[e.createVNode($e),b[4]||(b[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(k)&&e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:b[0]||(b[0]=(...C)=>e.unref(w)&&e.unref(w)(...C)),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"},[b[5]||(b[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(Ne)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:b[1]||(b[1]=(...C)=>e.unref(w)&&e.unref(w)(...C)),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"},[b[6]||(b[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Le)])):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",pl,[e.createTextVNode(e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(E).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[2]||(b[2]=(...C)=>e.unref(y)&&e.unref(y)(...C))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("button",{type:"button",disabled:!(e.unref(m)!==""&&e.unref(m)!==void 0),class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100"),onClick:b[3]||(b[3]=(...C)=>e.unref(y)&&e.unref(y)(...C))},e.toDisplayString(e.unref(h)("filter.clear")),11,ul)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function Ke(t,a){const{api:o,options:r=[],limit:l=20,dataKey:i="data",data:h}=t,n=i??h??"data";function m(s){return Array.isArray(s)?s:s?[s]:[]}const g=e.ref(m(t.modelValue)),f=e.ref(""),u=e.ref(!1),y=e.ref([]),w=e.ref("id"),p=e.ref("text"),k=e.ref(!1),V=e.ref(t.layout!=="popover"&&r.length>l);function d(s){const B=s.find(Boolean)??{},x=["id","value","code","key"].find(F=>F in B)??"id",L=["text","label","name","title"].find(F=>F in B)??"text";return{autoValueKey:x,autoLabelKey:L}}function c(s){if(s.length>0){const x=d(s);w.value=x.autoValueKey,p.value=x.autoLabelKey}const B=[...s].sort((x,L)=>t.sort==="count"?L.count&&x.count?L.count-x.count:0:t.sort==="name"?String(x[p.value]).localeCompare(String(L[p.value])):0);y.value=B}r.length>0&&c(r);const E=e.computed(()=>{const s=y.value;return t.layout==="popover"||k.value?s:s.slice(0,l)});async function $(){if(o){u.value=!0;try{const s=new URL(o,window.location.origin);s.searchParams.set("json","1"),s.searchParams.set("limit",l.toString());const B=await fetch(s.toString());if(!B.ok){xe({type:"error",title:"Error",message:"Failed to fetch remote options"}),y.value=[];return}const x=await B.json();if(!x[n]){xe({type:"error",title:"Error",message:x}),y.value=[];return}c(x[n])}catch(s){console.error("Failed to fetch remote options:",s)}finally{u.value=!1}}}function z(){o&&y.value.length===0&&$()}e.watch(()=>t.modelValue,s=>{g.value=m(s)},{immediate:!0}),o||c(r);function b(s){return g.value&&g.value.includes(s[w.value])}function C(s){const B=g.value.includes(s[w.value]);g.value=B?g.value.filter(x=>x!==s[w.value]):[...g.value,s[w.value]],a("update:modelValue",g.value),a("change",{name:t.name,value:g.value})}function M(){g.value=[],a("update:modelValue",g.value),a("clear",t.name)}function P(){k.value=!k.value}return{innerValue:g,searchTerm:f,filteredOptions:E,isSelected:b,selectItem:C,clear:M,toggleShowAll:P,isReqProc:u,showAll:k,isEnableShowAll:V,labelKey:p,valueKey:w,allOptions:y,loadData:z}}const hl={key:0,class:"w-full"},yl={class:"flex flex-col items-center justify-center p-5 text-center"},bl={class:"max-w-sm mx-auto mt-6"},xl={class:"font-medium text-gray-800 dark:text-neutral-200"},kl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},wl={key:1,class:"py-2 px-2 border-t"},Vl=["disabled"],Cl={class:"text-xs text-gray-500"},He=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=le(),l=ye(),i=t,h=o,{innerValue:n,filteredOptions:m,isSelected:g,selectItem:f,clear:u,toggleShowAll:y,isReqProc:w,showAll:p,isEnableShowAll:k,labelKey:V,valueKey:d,allOptions:c,loadData:E}=Ke({...i,modelValue:i.modelValue},h);return e.onMounted(()=>{i.api&&E()}),e.watch(()=>i.modelValue,$=>{$===void 0&&(n.value=[])}),a({clear:u}),($,z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),b=>(e.openBlock(),e.createBlock(De,{layout:t.layout,count:b.count,label:b[e.unref(V)],color:b.color,type:"checkbox",value:b[e.unref(d)],"is-selected":e.unref(g)(b),onItemClick:C=>e.unref(f)(b)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(m).length===0&&!e.unref(w)?(e.openBlock(),e.createElementBlock("div",hl,[e.createElementVNode("div",yl,[e.createVNode($e),e.createElementVNode("div",bl,[e.createElementVNode("p",xl,e.toDisplayString(e.unref(r)("filter.notfound")),1),z[4]||(z[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(p)&&e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:z[0]||(z[0]=(...b)=>e.unref(y)&&e.unref(y)(...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(r)("filter.more"))+" ",1),e.createVNode(Ne)])):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:z[1]||(z[1]=(...b)=>e.unref(y)&&e.unref(y)(...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(r)("filter.less"))+" ",1),e.createVNode(Le)])):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",kl,[e.createTextVNode(e.toDisplayString(e.unref(n).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(r)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:z[2]||(z[2]=(...b)=>e.unref(u)&&e.unref(u)(...b))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(n).length!==0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",wl,[e.createElementVNode("button",{type:"button",disabled:e.unref(n).length===0,class:e.normalizeClass(e.unref(l)+" hover:bg-gray-100"),onClick:z[3]||(z[3]=(...b)=>e.unref(u)&&e.unref(u)(...b))},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.clear"))+" ",1),e.createElementVNode("span",Cl,e.toDisplayString(e.unref(n).length)+" з "+e.toDisplayString(e.unref(c).length),1)],10,Vl)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Bl={},El={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 Nl(t,a){return e.openBlock(),e.createElementBlock("svg",El,[...a[0]||(a[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 We=ce(Bl,[["render",Nl]]),Sl={},_l={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 Ml(t,a){return e.openBlock(),e.createElementBlock("svg",_l,[...a[0]||(a[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 Pe=ce(Sl,[["render",Ml]]);class qe{static getWidthClass(a){return typeof a=="number"?`max-w-[${a}px] min-w-[${a}px]`:typeof a=="string"?a.endsWith("%")||a.endsWith("px")?`max-w-[${a}]`:`max-w-${a}`:"w-full"}}const Dl={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},zl=["placeholder"],$l=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},type:{},label:{},width:{default:220},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{emit:a}){var g;const o=t,r=e.ref((o.placeholder||o.label||o.title||o.name||"search").toString()),l=a,i=e.ref(((g=o.modelValue)==null?void 0:g.toString())??"");e.watch(()=>o.modelValue,f=>{f!==i.value&&(i.value=(f==null?void 0:f.toString())??"")});let h=null;function n(){if(i.value=i.value.trimStart(),i.value.length===0){m();return}h&&clearTimeout(h),h=setTimeout(()=>{l("update:modelValue",i.value),l("change",{name:o.name,value:i.value})},300)}function m(){i.value="",l("update:modelValue",""),l("clear",o.name)}return(f,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",t.layout==="vertical"?"rounded-md":"rounded-sm",t.layout==="vertical"?"[&>input]:rounded-md":"[&>input]:rounded-sm",t.layout==="inline"?e.unref(qe).getWidthClass(t.width):"mb-2"+(t.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Dl,[e.createVNode(We)]),i.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(Pe)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":u[0]||(u[0]=y=>i.value=y),onInput:n,placeholder:r.value,class:e.normalizeClass(["!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500",t.layout==="vertical"?"rounded-md":"rounded-sm"])},null,42,zl),[[e.vModelText,i.value]])],2))}}),Ll={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Pl=["placeholder","disabled"],Fl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Al={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},jl=["placeholder","disabled"],Tl=["disabled"],Ol=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=ve(),l=ye(),i=le(),h=t,n=e.ref(h.modelValue??h.default??[]),m=o,g=e.computed({get:()=>h.modelValue??n.value,set:y=>{h.modelValue!==void 0?m("update:modelValue",y):n.value=y}});function f(){m("change",{name:h.name,value:g.value||n.value})}function u(){n.value=[],g.value=n.value,m("clear",h.name)}return e.watch(()=>h.modelValue,y=>{y!==void 0&&h.layout!=="popover"?(n.value=y,m("update:modelValue",y)):n.value=[]}),a({clear:u,currentValue:g}),(y,w)=>{var p,k;return 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",Ll,e.toDisplayString(e.unref(i)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((p=t.placeholder)==null?void 0:p[0])??e.unref(i)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":w[0]||(w[0]=V=>g.value[0]=V),disabled:t.disabled},null,10,Pl),[[e.vModelText,g.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",Fl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",Al,e.toDisplayString(e.unref(i)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((k=t.placeholder)==null?void 0:k[1])??e.unref(i)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":w[1]||(w[1]=V=>g.value[1]=V),disabled:t.disabled},null,10,jl),[[e.vModelText,g.value[1]]])]),["popover","inline","vertical"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:f,class:e.normalizeClass(e.unref(l)+(t.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(t.layout==="vertical"?"Ok":e.unref(i)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(g.value[0]||g.value[1]),onClick:u,class:e.normalizeClass(e.unref(l)+" hover:bg-gray-100")},e.toDisplayString(e.unref(i)("filter.clear")),11,Tl)):e.createCommentVNode("",!0)],2)]),(t.cleanable&&n.value.length,e.createCommentVNode("",!0))],64)}}});class X{static format(a){const o=a.getFullYear(),r=(a.getMonth()+1).toString().padStart(2,"0"),l=a.getDate().toString().padStart(2,"0");return`${o}-${r}-${l}`}static getShiftedDay(a,o=0){const r=a?new Date(a):new Date;return r.setDate(r.getDate()+o),this.format(r)}static getLastWeekRange(a,o,r=0){if(a&&o){const g=new Date(a),f=new Date(o);return g.setDate(g.getDate()+r*7),f.setDate(f.getDate()+r*7),[this.format(g),this.format(f)]}const l=new Date,i=l.getDay(),h=i===0?13:i-1+7,n=new Date(l);n.setDate(l.getDate()-h+r*7);const m=new Date(n);return m.setDate(n.getDate()+6),[this.format(n),this.format(m)]}static getMonthRange(a,o,r=0){let l;a?l=new Date(a):l=new Date,l=new Date(l.getFullYear(),l.getMonth()+r,1);const i=l,h=new Date(l.getFullYear(),l.getMonth()+1,0);return[this.format(i),this.format(h)]}static getQuarterRange(a,o,r=0){const l=a||o,i=l?new Date(l):new Date;let h=Math.floor(i.getMonth()/3);h+=r;const n=(h%4+4)%4*3,m=i.getFullYear()+Math.floor(h/4),g=new Date(m,n,1),f=new Date(m,n+3,0);return[this.format(g),this.format(f)]}static getYear(a,o=0){let r;return a&&/^\d{4}$/.test(a)?r=parseInt(a,10):a?r=new Date(a).getFullYear():r=new Date().getFullYear(),String(r+o)}static getYearRange(a,o=0){let r;return a&&/^\d{4}$/.test(a)?r=parseInt(a,10):a?r=new Date(a).getFullYear():r=new Date().getFullYear(),[this.format(new Date(r+o,0,1)),this.format(new Date(r+o+1,0,0))]}static getRangeFromDaysBefore(a){const o=new Date,r=new Date(o.getTime());return r.setDate(o.getDate()-a),[this.format(r),this.format(o)]}}function Ge(t,a){const{popoverRef:o}=t,r=le(),l=e.ref(""),i=e.ref(t.modelValue??t.default??[]),h=e.ref(0);function n(){const d=X.getRangeFromDaysBefore(h.value);return i.value=[...d],a("change",{name:t.name,value:i.value}),a("update:modelValue",i.value),d}function m(d){var E;l.value=d,(E=o.value)==null||E.close();const c=[];switch(l.value){case"today":c.push(X.getShiftedDay()),c.push(X.getShiftedDay());break;case"week":c.push(...X.getLastWeekRange());break;case"month":c.push(...X.getMonthRange());break;case"quarter":c.push(...X.getQuarterRange());break;case"year":c.push(...X.getYearRange());break;case"last_7_days":h.value=7,n();break;case"range":h.value=7,c.push(...n());break}i.value=[...c],a("change",{name:t.name,value:i.value}),a("update:modelValue",i.value)}function g(){const d=[];switch(l.value){case"today":d.push(X.getShiftedDay(i.value[0],1));break;case"week":d.push(...X.getLastWeekRange(i.value[0],i.value[1],1));break;case"month":d.push(...X.getMonthRange(i.value[0],i.value[1],1));break;case"quarter":d.push(...X.getQuarterRange(i.value[0],i.value[1],1));break;case"year":d.push(...X.getYearRange(i.value[0],1));break}i.value=[...d],a("change",{name:t.name,value:i.value}),a("update:modelValue",i.value)}function f(){const d=[];switch(l.value){case"today":d.push(X.getShiftedDay(i.value[0],-1));break;case"week":d.push(...X.getLastWeekRange(i.value[0],i.value[1],-1));break;case"month":d.push(...X.getMonthRange(i.value[0],i.value[1],-1));break;case"quarter":d.push(...X.getQuarterRange(i.value[0],i.value[1],-1));break;case"year":d.push(...X.getYearRange(i.value[0],-1));break}i.value=[...d],a("change",{name:t.name,value:i.value}),a("update:modelValue",i.value)}const u=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function y(d){const[c,E,$]=d.split("-");return`${$}.${E}.${c}`}function w(d,c="long"){const E=new Date(Date.UTC(2e3,d-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:c,timeZone:"UTC"}).format(E)}function p(d){const{value:c}=i;switch(d){case"today":return y(c[0]);case"range":return"Період";case"week":return c[0]&&c[1]?`${y(c[0])} – ${y(c[1])}`:"";case"quarter":if(c[0]){const E=new Date(c[0]),$=E.getFullYear(),z=E.getMonth();return`${Math.floor(z/3)+1} ${r("filter.quarter")} ${$}`}return"";case"month":if(c[0]){const[E,$]=c[0].split("-");return`${w(parseInt($,10))} ${E}`}return"";case"year":return c[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const k=e.computed(()=>l.value?p(l.value):t.label??"");function V(){l.value="",i.value=[],a("update:modelValue",[]),a("clear",t.name)}return{activeMode:l,innerValue:i,daysBefore:h,onDaysBeforeChange:n,onSelectChange:m,nextClick:g,prevClick:f,ukMonths:u,formatDisplayDate:y,getModeLabel:p,currentLabel:k,clear:V}}const Rl={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},vl={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},Zl=["max","disabled"],Il=["min","disabled"],Ul={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Kl=["max","disabled"],Hl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Wl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ql=["min","disabled"],Gl={class:"flex gap-1 px-2"},Yl=["title","onClick"],Ql={class:"pt-2 px-2"},Xl=["disabled"],Jl=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=t,l=ve(),i=ye(),h=el(),n=le(),m=o,g=e.ref(null),{activeMode:f,innerValue:u,onSelectChange:y,nextClick:w,prevClick:p,clear:k}=Ge({...r,popoverRef:g},m);e.watch(()=>r.modelValue,$=>{$!==void 0?(u.value=$,m("update:modelValue",$)):(f.value="",u.value=[])}),e.watch(u,$=>{m("update:modelValue",$),m("change",{name:r.name,value:$})},{deep:!0});const V=["today","week","month","quarter","year"],d={today:{label:"день",title:n("filter.today")},week:{label:"тиж.",title:n("filter.week")},month:{label:"міс.",title:n("filter.month")},quarter:{label:"кв.",title:n("filter.quarter")},year:{label:"рік",title:n("filter.year")}};function c($){var z;return((z=d[$])==null?void 0:z.label)??n(`filter.${$}`)}function E($){var z;return((z=d[$])==null?void 0:z.title)??n(`filter.${$}`)}return a({clear:k,popoverRef:g}),($,z)=>{var b;return e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Rl,[e.unref(f)!==""&&e.unref(f)==="range"?(e.openBlock(),e.createElementBlock("div",vl,[z[7]||(z[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":z[0]||(z[0]=C=>e.unref(u)[0]=C),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,8,Zl),[[e.vModelText,e.unref(u)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":z[1]||(z[1]=C=>e.unref(u)[1]=C),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,8,Il),[[e.vModelText,e.unref(u)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",Ul,e.toDisplayString(e.unref(n)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":z[2]||(z[2]=C=>e.unref(u)[0]=C),class:e.normalizeClass(e.unref(l)),disabled:t.disabled},null,10,Kl),[[e.vModelText,e.unref(u)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",Hl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",Wl,e.toDisplayString(e.unref(n)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":z[3]||(z[3]=C=>e.unref(u)[1]=C),class:e.normalizeClass(e.unref(l)),disabled:t.disabled},null,10,ql),[[e.vModelText,e.unref(u)[1]]])],2)],2),e.createElementVNode("div",Gl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(V,C=>e.createElementVNode("button",{key:C,class:e.normalizeClass(e.unref(h)+(e.unref(f)===C?" bg-blue-100":"")),title:E(C),onClick:M=>e.unref(y)(C)},e.toDisplayString(c(C)),11,Yl)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(h)),onClick:z[4]||(z[4]=(...C)=>e.unref(p)&&e.unref(p)(...C))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(h)),onClick:z[5]||(z[5]=(...C)=>e.unref(w)&&e.unref(w)(...C))},">",2)]),e.createElementVNode("div",Ql,[["popover"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:!((b=e.unref(u))!=null&&b.length)||!e.unref(u)[0]&&!e.unref(u)[1],class:e.normalizeClass(e.unref(i)+"hover:bg-gray-100"),onClick:z[6]||(z[6]=(...C)=>e.unref(k)&&e.unref(k)(...C))},e.toDisplayString(e.unref(n)("filter.clear")),11,Xl)):e.createCommentVNode("",!0)])],64)}}});function eo(t,a){const{api:o,options:r=[],limit:l=20,dataKey:i="data",data:h}=t,n=i??h??"data",m=t.multi;function g(_){return m?Array.isArray(_)?_:_?[_]:[]:Array.isArray(_)?_[0]:_}const f=e.ref(g(t.modelValue)),u=e.ref(""),y=e.ref(!1),w=e.ref(r),p=e.ref("id"),k=e.ref("text"),V=e.ref(!1),d=e.ref(t.layout!=="popover"&&r.length>l),c=e.ref([]),E=e.ref(0);function $(_){const R=_.find(Boolean)??{},Z=["id","value","code","key"].find(oe=>oe in R)??"id",G=["text","label","name","title"].find(oe=>oe in R)??"text";return{autoValueKey:Z,autoLabelKey:G}}if(r.length>0){const _=$(r);p.value=_.autoValueKey,k.value=_.autoLabelKey}const z=e.computed(()=>{if(o)return w.value;const _=w.value;if(t.layout==="popover")return _;if(!u.value)return V.value?_:_.slice(0,l);const R=u.value.toLowerCase();return _.filter(Z=>Z[k.value].toLowerCase().includes(R))});let b=null;async function C(_){if(o){y.value=!0;try{const R=new URL(o,window.location.origin);R.searchParams.set("json","1"),R.searchParams.set("key",_),R.searchParams.set("limit",l.toString());const Z=await fetch(R.toString());if(!Z.ok){xe({type:"error",title:"Error",message:"Failed to fetch remote options"}),w.value=[];return}const G=await Z.json();if(!G[n]){xe({type:"error",title:"Error",message:G}),w.value=[];return}if(w.value=G[n],w.value.length>0){const oe=$(w.value);p.value=oe.autoValueKey,k.value=oe.autoLabelKey}E.value=G.total}catch(R){console.error("Failed to fetch remote options:",R)}finally{y.value=!1}}}e.watch(u,_=>{o&&(b&&clearTimeout(b),b=setTimeout(()=>{C(_)},200))}),e.watch(()=>t.modelValue,_=>{f.value=g(_)},{immediate:!0}),e.watch(f,_=>{m?(!Array.isArray(_)||_.length===0)&&(c.value=[]):(_==null||typeof _=="string"&&_==="")&&(c.value=[])});function M(_){return m&&Array.isArray(f.value)?f.value.includes(_[p.value]):f.value&&f.value===_[p.value]}function P(_){if(m&&!Array.isArray(f.value)&&(f.value=[]),m&&Array.isArray(f.value)){const R=f.value.includes(_[p.value]);f.value=R?f.value.filter(Z=>Z!==_[p.value]):[...f.value,_[p.value]],c.value=R?c.value.filter(Z=>Z!==_[k.value]):[...c.value,_[k.value]]}else f.value=_[p.value],c.value=_[k.value];a("update:modelValue",f.value),a("change",{name:t.name,value:f.value})}function s(){m?(f.value=[],c.value=[]):(f.value=void 0,c.value=[]),a("update:modelValue",f.value),a("clear",t.name)}function B(){b&&clearTimeout(b),u.value="",V.value=!1}function x(){V.value=!V.value}e.onBeforeUnmount(()=>{b&&clearTimeout(b)});const L=e.ref(-1);e.watch(z,()=>{L.value=z.value.length>0?0:-1});function F(_){const R=z.value.length;if(_.key==="ArrowDown")_.preventDefault(),L.value=(L.value+1)%R;else if(_.key==="ArrowUp")_.preventDefault(),L.value=(L.value-1+R)%R;else if(_.key==="Enter"&&(_.preventDefault(),L.value>=0&&L.value<z.value.length)){const Z=z.value[L.value];P(Z)}}function O(){o&&w.value.length===0&&u.value.length===0&&C(u.value)}return{innerValue:f,searchTerm:u,filteredOptions:z,isSelected:M,selectItem:P,clear:s,resetSearch:B,toggleShowAll:x,isReqProc:y,showAll:V,isEnableShowAll:d,labelKey:k,valueKey:p,allOptions:w,highlightedIndex:L,onKeyDown:F,selectedLabels:c,totalCount:E,loadData:O}}const to={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},lo=["placeholder"],oo={key:0,class:"w-full"},no={class:"flex flex-col items-center justify-center p-5 text-center"},ao={class:"max-w-sm mx-auto mt-6"},ro={class:"font-medium text-gray-800 dark:text-neutral-200"},io={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},so={key:1,class:"py-2 px-2 border-t"},co=["disabled"],mo={class:"text-xs text-gray-500"},po=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=le(),l=ye(),i=t,h=o,n=e.ref(null),{innerValue:m,filteredOptions:g,isSelected:f,selectItem:u,clear:y,resetSearch:w,toggleShowAll:p,isReqProc:k,showAll:V,isEnableShowAll:d,searchTerm:c,labelKey:E,valueKey:$,highlightedIndex:z,onKeyDown:b,selectedLabels:C,totalCount:M,loadData:P}=eo({...i,modelValue:i.modelValue},h),s=e.computed(()=>i.multi?Array.isArray(m.value)&&m.value.length>0:m.value!=null&&m.value!==""),B=e.computed(()=>i.multi&&Array.isArray(m.value)?m.value.length:m.value!=null&&m.value!==""?1:0);e.onMounted(()=>{w(),i.layout!=="inline"&&(P(),n.value&&i.layout==="popover"&&n.value.focus())}),e.watch(()=>i.modelValue,L=>{L===void 0&&(i.multi?m.value=[]:m.value=void 0)});const x=e.ref([]);return e.watch(z,L=>{var F;L>=0&&x.value[L]&&((F=x.value[L])==null||F.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(g,()=>{x.value=[]}),a({clear:y,inputTextRef:n,selectedLabels:C,loadData:P}),(L,F)=>{var O;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col max-h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",to,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":F[0]||(F[0]=_=>e.isRef(c)?c.value=_:null),onKeydown:F[1]||(F[1]=(..._)=>e.unref(b)&&e.unref(b)(..._)),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(r)("filter.search"),type:"text",ref_key:"inputTextRef",ref:n},null,40,lo),[[e.vModelText,e.unref(c)]]),e.createVNode(We,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(c)!=""?(e.openBlock(),e.createBlock(Pe,{key:0,onClick:F[2]||(F[2]=_=>c.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(_,R)=>(e.openBlock(),e.createBlock(De,{layout:t.layout,count:_.count,label:_[e.unref(E)],color:_.color,type:t.multi?"checkbox":"radio",value:_[e.unref($)],"is-selected":e.unref(f)(_),highlighted:R===e.unref(z),onItemClick:Z=>e.unref(u)(_),ref_for:!0,ref:Z=>x.value[R]=Z==null?void 0:Z.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),t.type==="select"&&e.unref(g).length===0&&!e.unref(k)?(e.openBlock(),e.createElementBlock("div",oo,[e.createElementVNode("div",no,[e.createVNode($e),e.createElementVNode("div",ao,[e.createElementVNode("p",ro,e.toDisplayString(e.unref(r)("filter.notfound")),1),F[7]||(F[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(V)&&e.unref(d)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:F[3]||(F[3]=(..._)=>e.unref(p)&&e.unref(p)(..._)),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(r)("filter.more"))+" ",1),e.createVNode(Ne)])):e.createCommentVNode("",!0),e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:F[4]||(F[4]=(..._)=>e.unref(p)&&e.unref(p)(..._)),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(r)("filter.less"))+" ",1),e.createVNode(Le)])):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",io,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(m))?(O=e.unref(m))==null?void 0:O.length:e.unref(m)!==void 0&&(e.unref(m)||e.unref(m)===null)?1:0)+" / "+e.toDisplayString(e.unref(M))+" "+e.toDisplayString(e.unref(r)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:F[5]||(F[5]=(..._)=>e.unref(y)&&e.unref(y)(..._))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,s.value]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",so,[e.createElementVNode("button",{type:"button",disabled:!s.value,class:e.normalizeClass(e.unref(l)+" hover:bg-gray-100"),onClick:F[6]||(F[6]=(..._)=>e.unref(y)&&e.unref(y)(..._))},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.clear"))+" ",1),e.createElementVNode("span",mo,e.toDisplayString(B.value)+" з "+e.toDisplayString(e.unref(M)),1)],10,co)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),fo=["for","onClick"],uo=["id","name","value"],go={class:"block"},ho={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},yo={key:1,class:"pt-2 px-2 border-t"},bo=["disabled"],xo={class:"text-xs text-gray-500"},ko=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=t,l=o,i=ye(),h=le(),{innerValue:n,isSelected:m,selectItem:g,clear:f,labelKey:u,valueKey:y,allOptions:w}=r.multi?Ke({...r,modelValue:r.modelValue??r.default??[]},l):ze({...r,modelValue:r.modelValue!==void 0?r.modelValue:r.default??""},l),p=e.computed(()=>r.multi?Array.isArray(n.value)&&n.value.length>0:n.value!=null&&n.value!==""),k=e.computed(()=>r.multi&&Array.isArray(n.value)?n.value.length:n.value!=null&&n.value!==""?1:0);return a({clear:f}),e.watch(()=>r.modelValue,V=>{V===void 0&&(r.multi?n.value=[]:n.value=void 0)}),(V,d)=>{var c;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",t.layout==="popover"?"p-2 max-h-[calc(100%-55px)] overflow-y-auto":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),E=>(e.openBlock(),e.createElementBlock("label",{key:`item-${E[e.unref(y)]}`,for:`item-${E[e.unref(y)]}`,onClick:e.withModifiers($=>e.unref(g)(E),["stop","prevent"]),class:e.normalizeClass([e.unref(m)(E)?"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-${E[e.unref(y)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${E[e.unref(y)]}`,value:E[e.unref(y)]},null,8,uo),e.createElementVNode("span",go,e.toDisplayString(E[e.unref(u)]),1)],10,fo))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",ho,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(n))?(c=e.unref(n))==null?void 0:c.length:e.unref(n)!==void 0&&(e.unref(n)||e.unref(n)===null)?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:d[0]||(d[0]=(...E)=>e.unref(f)&&e.unref(f)(...E))}," Очистити ",512),[[e.vShow,p.value]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",yo,[e.createElementVNode("button",{type:"button",disabled:!p.value,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100"),onClick:d[1]||(d[1]=(...E)=>e.unref(f)&&e.unref(f)(...E))},[e.createTextVNode(e.toDisplayString(e.unref(h)("filter.clear"))+" ",1),e.createElementVNode("span",xo,e.toDisplayString(k.value)+" з "+e.toDisplayString(e.unref(w).length),1)],10,bo)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),wo=["disabled","title"],Vo={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},Co={class:"truncate text-ellipsis text-sm"},Bo={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"},Eo={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"},No={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"},Fe=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:a}){const o=t,r=e.computed(()=>Ze(o.mode)),l=e.ref(!1),i=e.ref({top:0,left:0}),h=e.ref(null),n=e.ref(null),m=e.ref(null);let g=null;function f(){const b=n.value,C=m.value;if(!b||!C)return;const M=b.getBoundingClientRect(),P=C.offsetWidth,s=C.offsetHeight,B=window.innerWidth,x=window.innerHeight,L=8;let F=M.bottom+L,{left:O}=M;const _=Math.max(B-P-10,10);if(O=Math.min(O,_),O=Math.max(O,10),F+s>x-10){const R=M.top-s-L;F=R>=10?R:Math.max(x-s-10,10)}F<10&&(F=10),i.value={top:F,left:O}}function u(){e.nextTick(()=>{f(),typeof window<"u"&&typeof window.requestAnimationFrame=="function"&&window.requestAnimationFrame(()=>f())})}function y(){l.value=!l.value,l.value&&(u(),e.nextTick(()=>{var b,C,M,P,s,B,x;(b=o.fieldRef)!=null&&b.inputTextRef&&((P=(M=(C=o.fieldRef)==null?void 0:C.inputTextRef)==null?void 0:M.focus)==null||P.call(M)),(s=o.fieldRef)!=null&&s.loadData&&Promise.resolve((x=(B=o.fieldRef)==null?void 0:B.loadData)==null?void 0:x.call(B)).finally(()=>{l.value&&u()})}))}function w(b){var C,M,P;!((C=h.value)!=null&&C.contains(b.target))&&!((M=m.value)!=null&&M.contains(b.target))&&!((P=n.value)!=null&&P.contains(b.target))&&(l.value=!1)}function p(b){b.key==="Escape"&&(l.value=!1)}const k=e.ref(!1),V=e.ref("ua"),d=b=>{b.detail.key==="locale"&&(V.value=b.detail.newValue)};e.onMounted(()=>{k.value=!0,V.value=localStorage.locale,window.addEventListener("storage",d),document.addEventListener("click",w,!0),document.addEventListener("keydown",p),window.addEventListener("scroll",f,!0),window.addEventListener("resize",f,!0),typeof ResizeObserver<"u"&&(g=new ResizeObserver(()=>{l.value&&u()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",d),document.removeEventListener("click",w,!0),document.removeEventListener("keydown",p),window.removeEventListener("scroll",f,!0),window.removeEventListener("resize",f,!0),g==null||g.disconnect(),g=null});function c(){l.value=!1}a({close:c}),e.watch([k,l,m],([b,C,M])=>{b&&C&&M&&(u(),g==null||g.observe(M))});function E(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 $=e.computed(()=>{var M;const b=(M=o.fieldRef)==null?void 0:M.selectedLabels,C=E(b);return C>0?C:E(o.currentValue)}),z=e.computed(()=>{var C;const b=(C=o.fieldRef)==null?void 0:C.selectedLabels;return!b||["inline"].includes(o.layout||"")?o[V.value]||(o.label??""):Array.isArray(b)?b.length>0?b.join(", "):o.label??"":String(b)});return(b,C)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:h},[e.createElementVNode("button",{onClick:y,disabled:t.disabled,ref_key:"triggerRef",ref:n,title:t.label,class:e.normalizeClass([r.value,t.width?e.unref(qe).getWidthClass(t.width):"w-full",t.layout==="inline"&&$.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Vo,[e.createElementVNode("span",Co,e.toDisplayString(z.value),1),t.layout==="inline"&&$.value>0?(e.openBlock(),e.createElementBlock("span",Bo,e.toDisplayString($.value),1)):e.createCommentVNode("",!0)]),e.createVNode(Ne,{class:"h-4 w-4 text-neutral-500"})],10,wo),k.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:m,class:"vsTailwind vs-popover__content w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${i.value.top}px`,left:`${i.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Eo,[e.createElementVNode("div",No,[e.renderSlot(b.$slots,"default")])])],4),[[e.vShow,l.value]])])):e.createCommentVNode("",!0)],512))}}),So={},_o={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 Mo(t,a){return e.openBlock(),e.createElementBlock("svg",_o,[...a[0]||(a[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Do=ce(So,[["render",Mo]]),zo={},$o={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 Lo(t,a){return e.openBlock(),e.createElementBlock("svg",$o,[...a[0]||(a[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Po=ce(zo,[["render",Lo]]),Fo={class:"flex gap-1"},Ao={class:"mb-1"},jo={class:"mb-1"},To={class:"inline-flex rounded-sm shrink-0 pl-1"},Oo=["title"],Ro={class:"inline-flex rounded-sm shrink-0 pl-1"},vo=["title"],Zo={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},Io=["max","value","disabled"],Uo=["min","value","disabled"],Ko=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=le(),l=t,i=o,h=e.ref(null),{activeMode:n,innerValue:m,onSelectChange:g,nextClick:f,prevClick:u,currentLabel:y,clear:w}=Ge({...l,popoverRef:h},i);e.watch(()=>l.modelValue,V=>{V!==void 0?(m.value=V,i("update:modelValue",V)):(n.value="",m.value=[])}),e.watch(m,V=>{i("update:modelValue",V),i("change",{name:l.name,value:V})},{deep:!0});function p(V){const d=Array.isArray(m.value)?[...m.value]:[];m.value=[V,d[1]||""]}function k(V){const d=Array.isArray(m.value)?[...m.value]:[];m.value=[d[0]||"",V]}return a({clear:w,popoverRef:h}),(V,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Fo,[e.createVNode(Fe,{ref_key:"popoverRef",ref:h,label:e.unref(y),"current-value":e.unref(m),mode:t.mode,width:typeof t.width=="number"&&e.unref(m).length?t.width-70:t.width,onClear:e.unref(w),layout:t.layout,class:e.normalizeClass(t.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[0]||(d[0]=c=>e.unref(g)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.period"))+" ",1),e.unref(n)==="range"?(e.openBlock(),e.createBlock(fe,{key:0})):e.createCommentVNode("",!0)])]),d[12]||(d[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:d[1]||(d[1]=c=>e.unref(g)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.today"))+" ",1),e.unref(n)==="today"?(e.openBlock(),e.createBlock(fe,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[2]||(d[2]=c=>e.unref(g)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.week"))+" ",1),e.unref(n)==="week"?(e.openBlock(),e.createBlock(fe,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[3]||(d[3]=c=>e.unref(g)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.month"))+" ",1),e.unref(n)==="month"?(e.openBlock(),e.createBlock(fe,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[4]||(d[4]=c=>e.unref(g)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.quarter"))+" ",1),e.unref(n)==="quarter"?(e.openBlock(),e.createBlock(fe,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ao,[e.createElementVNode("button",{type:"button",onClick:d[5]||(d[5]=c=>e.unref(g)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.year"))+" ",1),e.unref(n)==="year"?(e.openBlock(),e.createBlock(fe,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",jo,[e.createElementVNode("button",{type:"button",onClick:d[6]||(d[6]=c=>e.unref(w)()),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(r)("filter.alltime"))+" ",1),e.unref(m)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(fe,{key:0}))])])]),_:1},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(n)!==""&&e.unref(n)!=="range"&&e.unref(n)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",To,[e.createElementVNode("button",{type:"button",title:e.unref(r)("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:d[7]||(d[7]=(...c)=>e.unref(u)&&e.unref(u)(...c))},[e.createVNode(Do)],8,Oo)]),e.createElementVNode("div",Ro,[e.createElementVNode("button",{type:"button",title:e.unref(r)("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:d[8]||(d[8]=(...c)=>e.unref(f)&&e.unref(f)(...c))},[e.createVNode(Po)],8,vo)])],64)):e.createCommentVNode("",!0),e.unref(n)!==""&&e.unref(n)==="range"?(e.openBlock(),e.createElementBlock("div",Zo,[e.createElementVNode("input",{type:"date",max:e.unref(m)[1],locale:"uk-UA",value:e.unref(m)[0],onInput:d[9]||(d[9]=c=>p(c.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,40,Io),e.createElementVNode("input",{type:"date",min:e.unref(m)[0],locale:"uk-UA",value:e.unref(m)[1],onInput:d[10]||(d[10]=c=>k(c.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,40,Uo)])):e.createCommentVNode("",!0)]),(t.cleanable,e.createCommentVNode("",!0))],64))}}),Ho=["disabled","onClick"],Wo={key:0,class:"pt-2 px-2 border-t"},qo=["disabled"],Go=e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=t,l=o,i=ye(),h=le(),{innerValue:n,isSelected:m,selectItem:g,clear:f,labelKey:u,valueKey:y,allOptions:w}=ze({...r,modelValue:r.modelValue??r.default??""},l),p=e.computed(()=>n.value!==void 0&&!(typeof n.value=="string"&&n.value===""));function k(d){return m(d)?["bg-blue-600 text-white"].filter(c=>typeof c=="string"&&c.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(c=>typeof c=="string"&&c.trim().length>0).join(" ")}function V(d){r.disabled||g(d)}return a({clear:f}),e.watch(()=>r.modelValue,d=>{d===void 0&&(n.value=void 0)}),(d,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["flex flex-wrap items-center gap-2",t.layout==="popover"?"p-2 max-h-[calc(100%-55px)] overflow-y-auto":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),E=>(e.openBlock(),e.createElementBlock("button",{key:E[e.unref(y)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",k(E)]),disabled:t.disabled,onClick:$=>V(E)},e.toDisplayString(E[e.unref(u)]),11,Ho))),128))],2),t.cleanable&&t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Wo,[e.createElementVNode("button",{type:"button",disabled:!p.value,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100"),onClick:c[0]||(c[0]=(...E)=>e.unref(f)&&e.unref(f)(...E))},e.toDisplayString(e.unref(h)("filter.clear")),11,qo)])):e.createCommentVNode("",!0)],64))}}),Ye={radio:gl,checkbox:He,check:He,text:$l,range:Ol,date:Jl,select:po,tag:ko,button:Go,"date:inline":Ko};function Ae(t,a){let o;switch(t.toLowerCase()){case"autocomplete":o="select";break;case"check":o="checkbox";break;default:o=t==null?void 0:t.toString().toLowerCase()}return o==="date"&&a&&a==="inline"&&(o="date:inline"),{component:Ye[o]||Ye.text,type:o}}const Yo={style:{display:"inline-flex",margin:"0px",width:"100%"}},Qo={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},Xo={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},Jo={class:"flex items-center"},en={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},tn={class:"filter-layout__body"},ln=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=t,l=o,i=e.ref(),h=e.computed(()=>Ae(r.type,r.layout)),n=e.computed({get:()=>r.modelValue,set:u=>l("update:modelValue",u)});function m(u){l("clear",u)}function g(u,y){l("change",{name:u,value:y}),r.modelValue!==void 0&&l("update:modelValue",y)}function f(){var u,y;(y=(u=i.value)==null?void 0:u.clear)==null||y.call(u),l("clear",r.name)}return e.watch(()=>r.default,u=>{n.value=u}),e.watch(()=>r.modelValue,u=>{n.value=u}),a({filterRef:i}),(u,y)=>{var w,p,k;return e.openBlock(),e.createElementBlock("div",Yo,[e.createElementVNode("div",Qo,[e.createElementVNode("div",Xo,[e.createElementVNode("div",Jo,[e.createElementVNode("span",en,e.toDisplayString(t.label),1)]),typeof n.value=="string"&&n.value.trim()!==""||Array.isArray(n.value)&&n.value.length>0&&n.value.some(V=>V!==void 0)||n.value===null?(e.openBlock(),e.createBlock(Ut,{key:0,onClick:f})):e.createCommentVNode("",!0)]),e.createElementVNode("div",tn,[((w=h.value)==null?void 0:w.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((p=h.value)==null?void 0:p.component),e.mergeProps({key:0},r,{type:(k=h.value)==null?void 0:k.type,class:r.itemClass,onChange:y[0]||(y[0]=V=>g(V.name,V.value)),onClear:y[1]||(y[1]=V=>m(V)),ref_key:"filterRef",ref:i}),null,16,["type","class"])):(e.openBlock(),e.createBlock(Fe,{key:1,"current-value":n.value,label:t.label,mode:t.mode,onClear:f,fieldRef:i.value,width:void 0,disabled:t.disabled,layout:"vertical"},{default:e.withCtx(()=>{var V,d;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((V=h.value)==null?void 0:V.component),e.mergeProps({ref_key:"filterRef",ref:i},r,{type:(d=h.value)==null?void 0:d.type,class:r.itemClass,onChange:y[2]||(y[2]=c=>g(c.name,c.value)),onClear:y[3]||(y[3]=c=>m(c))}),null,16,["type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),Qe=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=t,l=o,i=e.ref(),h=e.computed(()=>Ae(r.type,r.layout)),n=e.computed({get:()=>r.modelValue,set:f=>l("update:modelValue",f)});function m(f=r.name){l("clear",f)}function g(f,u){l("change",{name:f,value:u}),r.modelValue!==void 0&&l("update:modelValue",u)}return e.watch(()=>r.default,f=>{n.value=f}),e.watch(()=>r.modelValue,f=>{n.value=f}),a({filterRef:i}),(f,u)=>{var y,w;return["text","date","button"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=h.value)==null?void 0:y.component),e.mergeProps({key:0},r,{type:(w=h.value)==null?void 0:w.type,class:t.itemClass,onChange:u[0]||(u[0]=p=>g(p.name,p.value)),onClear:u[1]||(u[1]=p=>m(p)),disabled:t.disabled,modelValue:n.value,"onUpdate:modelValue":u[2]||(u[2]=p=>n.value=p)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(Fe,{key:1,"current-value":n.value,label:t.label,mode:t.mode,onClear:m,fieldRef:i.value,width:r.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>{var p,k;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((p=h.value)==null?void 0:p.component),e.mergeProps({ref_key:"filterRef",ref:i},r,{modelValue:n.value,"onUpdate:modelValue":u[3]||(u[3]=V=>n.value=V),type:(k=h.value)==null?void 0:k.type,class:r.itemClass,onChange:u[4]||(u[4]=V=>g(V.name,V.value)),onClear:u[5]||(u[5]=V=>m(V))}),null,16,["modelValue","type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),on=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=t,l=o,i=e.ref(),h=e.computed(()=>Ae(r.type,r.layout)),n=e.computed({get:()=>r.modelValue,set:f=>l("update:modelValue",f)});function m(f){l("clear",f)}function g(f,u){l("change",{name:f,value:u}),r.modelValue!==void 0&&l("update:modelValue",u)}return e.watch(()=>r.default,f=>{n.value=f}),e.watch(()=>r.modelValue,f=>{n.value=f}),e.watch(()=>r,f=>{n.value=f}),a({filterRef:i}),(f,u)=>{var y,w;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=h.value)==null?void 0:y.component),e.mergeProps(r,{type:(w=h.value)==null?void 0:w.type,class:r.itemClass,modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=p=>n.value=p),onChange:u[1]||(u[1]=p=>g(p.name,p.value)),onClear:u[2]||(u[2]=p=>m(p)),ref_key:"filterRef",ref:i}),null,16,["type","class","modelValue"])}}}),se=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:a,emit:o}){const r=t,l=o,i=e.ref(),h=e.computed({get:()=>r.modelValue,set:f=>l("update:modelValue",f)});function n(f){l("clear",f)}function m(f,u){l("change",{name:f,value:u}),r.modelValue!==void 0&&l("update:modelValue",u)}e.watch(()=>r.default,f=>{h.value=f}),e.watch(()=>r.modelValue,f=>{h.value=f}),a({filterRef:i});function g(){switch(r.layout){case"inline":return Qe;case"vertical":return ln;case"popover":return on;default:return Qe}}return(f,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g()),e.mergeProps(r,{onChange:u[0]||(u[0]=y=>m(y.name,y.value)),onClear:u[1]||(u[1]=y=>n(y)),modelValue:h.value,"onUpdate:modelValue":u[2]||(u[2]=y=>h.value=y)}),null,16,["modelValue"]))}});function Se(t,a){const{slots:o}=t,r=d=>d?JSON.parse(JSON.stringify(e.toRaw(d))):{},l=e.ref(r(t.value));e.watch(()=>t.value,d=>{l.value=r(d)},{deep:!0,immediate:!0});const i=e.computed(()=>{var d;return(e.toRaw((d=o==null?void 0:o.default)==null?void 0:d.call(o))??[]).flatMap(c=>Array.isArray(c.children)?c.children:[c])});function h(d){delete l.value[d],a("clear",{data:e.toRaw(l.value),name:d})}function n(d,c){c===void 0?h(d):l.value={...l.value,[d]:c},a("change",{data:e.toRaw(l.value),name:d,value:c})}const m=e.computed(()=>i.value.map(d=>{var E,$,z;const c=(E=d.props)==null?void 0:E.name;return e.cloneVNode(d,{...d.props,layout:t.view,showClean:!0,modelValue:l.value[c],"onUpdate:modelValue":b=>{n(c,b)},onClear:()=>h(c),class:[t.itemClass,($=d.props)==null?void 0:$.class],itemClass:[t.itemClass,(z=d.props)==null?void 0:z.itemClass].filter(b=>typeof b=="string"&&b.trim().length>0).join(" ")||void 0})})),g=e.computed(()=>new Map(m.value.map(d=>{var E;const c=(E=d.props)==null?void 0:E.name;return c?[c,d]:null}).filter(d=>d!==null)));function f(d=!1){l.value={},d||a("clearAll",{data:e.toRaw(l.value),name:"ALL"})}const u=e.ref(""),y=e.computed(()=>{var d;return(d=t.schema)!=null&&d.value?Object.entries(l.value).filter(([c,E])=>t.schema&&!(c in t.schema.value)?!1:Array.isArray(E)?E.some($=>$!==""&&$!==void 0):E!==""&&E!==void 0).length:0}),w=e.ref();e.watch(u,async()=>{var d,c;await e.nextTick(),(c=(d=w==null?void 0:w.value)==null?void 0:d.filterRef)!=null&&c.inputTextRef&&w.value.filterRef.inputTextRef.focus()});const p=e.computed(()=>{var d,c;return(d=t.schema)!=null&&d.value?Object.fromEntries(Object.entries((c=t.schema)==null?void 0:c.value).slice(0,t.limit)):{}}),k=e.computed(()=>{var c;if(m.value.length===0)return[];let d=0;if((c=t.schema)!=null&&c.value){const E=Object.entries(t.schema.value).length;t.limit&&E<t.limit?d=t.limit-E:d=0}return m.value.slice(0,d)}),V=e.computed(()=>m.value.length===0?[]:t.view!=="inline"?m.value:m.value.slice(k.value.length));return{activeFilter:l,activeFilterCount:y,onFilterChange:n,clearFilter:h,clearAllFilters:f,limitedSchema:p,filtersSlot:m,limitedFiltersSlot:k,popoverFiltersSlot:V,vnodeMap:g,selectedFilter:u,filterRef:w}}const nn=e.defineComponent({__name:"popover",emits:["open","close"],setup(t,{emit:a}){const o=e.ref(!1),r=e.ref(null),l=e.ref(null),i=e.ref(null),h=e.ref({top:"0px",left:"0px",position:"absolute"}),n=e.ref(!1);function m(){o.value=!o.value}function g(){const p=i.value,k=r.value;if(!p||!k)return;const{left:V,bottom:d}=p.getBoundingClientRect();requestAnimationFrame(()=>{if(!k)return;const{width:c}=k.getBoundingClientRect(),E=k.offsetWidth||c,$=window.innerWidth||document.documentElement.clientWidth,z=$-V;let b=V;E>z&&(b=$-E-18),b<18&&(b=18);const C=$-E-18;b>C&&(b=Math.max(18,C)),h.value={position:"fixed",top:`${d+18}px`,left:`${b}px`},n.value=!0})}const f=e.computed(()=>Object.entries(h.value).map(p=>p.join(":")).join(";"));function u(p){var V,d;const k=p.target;!((V=i.value)!=null&&V.contains(p.target))&&!((d=r.value)!=null&&d.contains(p.target))&&!k.closest("[data-inside-popover]")&&(o.value=!1)}const y=e.ref(!1);e.onMounted(()=>{y.value=!0}),e.onMounted(()=>{var p,k;i.value=((p=l.value)==null?void 0:p.querySelector("[data-popover-trigger]"))||null,(k=i.value)==null||k.addEventListener("click",m),document.addEventListener("click",u),window.addEventListener("resize",g),window.addEventListener("scroll",g,!0)}),e.onBeforeUnmount(()=>{var p;(p=i.value)==null||p.removeEventListener("click",m),document.removeEventListener("click",u),window.removeEventListener("resize",g),window.removeEventListener("scroll",g,!0)});const w=a;return e.watch(o,async p=>{p?(n.value=!1,w("open"),await e.nextTick(),requestAnimationFrame(()=>{g()})):(w("close"),n.value=!1)}),(p,k)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:l},[e.renderSlot(p.$slots,"trigger"),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:r,class:"fixed z-[50] w-[calc(100vw-32px)] md:w-[600px] rounded-md border bg-white shadow-md transition-opacity duration-0",style:e.normalizeStyle([f.value,{visibility:n.value?"visible":"hidden",opacity:n.value?1:0}])},[e.renderSlot(p.$slots,"default")],4),[[e.vShow,o.value]])])):e.createCommentVNode("",!0)],512))}}),an={},rn={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 sn(t,a){return e.openBlock(),e.createElementBlock("svg",rn,[...a[0]||(a[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)])])}const Xe=ce(an,[["render",sn]]),cn={class:"flex items-center gap-2 overflow-hidden"},dn={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"},mn={class:"flex max-h-[400px] md:max-h-[400px]"},pn={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},fn={class:"p-2 md:p-4 border-b"},un={class:"text-xs md:text-sm text-gray-600"},gn={class:"p-1 md:p-2"},hn=["onClick"],yn={class:"flex items-center gap-1.5 md:gap-2"},bn={class:"text-xs md:text-sm font-medium line-clamp-3"},xn={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},kn=["onClick"],wn={class:"flex items-center gap-1.5 md:gap-2"},Vn={class:"text-xs md:text-sm font-medium truncate"},Cn={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Bn={key:0,class:"p-1 md:p-2 border-t"},En={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Nn={key:0,class:"flex items-center justify-center h-full text-gray-500"},Sn={class:"text-xs md:text-sm"},Je=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:a,emit:o}){const r=le(),l=t,i=Ze(l.mode),h=e.useSlots(),n=o,m=e.ref({}),g=e.computed(()=>m!=null&&m.value?l.view!=="inline"?m==null?void 0:m.value:Object.fromEntries(Object.entries(m==null?void 0:m.value).slice(l.limit)):{}),{activeFilter:f,activeFilterCount:u,onFilterChange:y,clearFilter:w,clearAllFilters:p,popoverFiltersSlot:k,selectedFilter:V,filterRef:d}=Se({...l,schema:m,slots:h},n),c=e.computed(()=>l.badgeCount??u.value);function E(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:b===null||b!==void 0&&b!==""?1:0}function $(b){return f.value?E(f.value[b]):0}function z(){if(g.value){const[b]=Object.keys(g.value);V.value=b}else k.value.length>0?V.value=k.value[0].props.name:V.value=""}return e.watch(()=>l.schema,b=>{m.value=b??{}},{deep:!0,immediate:!0}),a({clearFilter:w,clearAllFilters:p}),(b,C)=>(e.openBlock(),e.createBlock(nn,{onOpen:z,onClose:C[5]||(C[5]=M=>V.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,e.unref(i),"flex items-center justify-between gap-2",c.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",cn,[e.createVNode(Xe,{class:"h-4 w-4"}),C[6]||(C[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),c.value>0?(e.openBlock(),e.createElementBlock("span",dn,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",mn,[e.createElementVNode("div",pn,[e.createElementVNode("div",fn,[e.createElementVNode("p",un,e.toDisplayString(e.unref(r)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",gn,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([M,P])=>(e.openBlock(),e.createElementBlock("button",{key:M,onClick:()=>{V.value=M},class:e.normalizeClass(["flex w-full items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(V)===M?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",yn,[e.createElementVNode("span",bn,e.toDisplayString(P.label),1)]),$(M)>0?(e.openBlock(),e.createElementBlock("div",xn,e.toDisplayString($(M)),1)):e.createCommentVNode("",!0)],10,hn))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(M,P)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+P,onClick:s=>V.value=M.props.name,class:e.normalizeClass(["flex items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(V)===M.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",wn,[e.createElementVNode("span",Vn,e.toDisplayString(M.props.label),1)]),$(M.props.name)>0?(e.openBlock(),e.createElementBlock("div",Cn,e.toDisplayString($(M.props.name)),1)):e.createCommentVNode("",!0)],10,kn))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",Bn,[e.createElementVNode("button",{class:e.normalizeClass([t.itemClass,"w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:C[0]||(C[0]=M=>e.unref(p)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",En,[e.unref(V)===""?(e.openBlock(),e.createElementBlock("div",Nn,[e.createElementVNode("p",Sn,e.toDisplayString(e.unref(r)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(V)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[g.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([M,P])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(V)===M?(e.openBlock(),e.createBlock(se,e.mergeProps({key:M,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:d},{ref_for:!0},P,{class:[t.itemClass,P==null?void 0:P.class],"item-class":[t.itemClass,P==null?void 0:P.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[1]||(C[1]=s=>e.unref(y)(s.name,s.value)),onClear:C[2]||(C[2]=s=>{e.unref(w)(s),e.unref(y)(s,void 0)}),modelValue:e.unref(f)[M],"onUpdate:modelValue":s=>e.unref(f)[M]=s,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(M,P)=>{var s,B;return e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+P},[e.unref(V)===M.props.name?(e.openBlock(),e.createBlock(se,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},M.props,{ref_for:!0,ref_key:"filterRef",ref:d,class:[t.itemClass,(s=M.props)==null?void 0:s.class],"item-class":[t.itemClass,(B=M.props)==null?void 0:B.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[3]||(C[3]=x=>e.unref(y)(x.name,x.value)),onClear:C[4]||(C[4]=x=>{e.unref(w)(x),e.unref(y)(x,void 0)}),modelValue:e.unref(f)[M.props.name],"onUpdate:modelValue":x=>e.unref(f)[M.props.name]=x,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),_n={class:"flex gap-1 items-center flex-wrap"},et=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:a,emit:o}){const r=le(),l=t,i=o,h=e.useSlots(),n=e.ref({}),m=e.computed(()=>Object.keys(l.schema).length>l.limit),{activeFilter:g,activeFilterCount:f,onFilterChange:u,clearFilter:y,clearAllFilters:w,limitedSchema:p,filtersSlot:k,limitedFiltersSlot:V}=Se({...l,schema:n,slots:h},i);function d(C){return Array.isArray(C)?C.some(M=>M!==""&&M!==void 0&&M!==null):C===null?!0:C&&typeof C=="object"?Object.values(C).some(M=>M!==""&&M!==void 0&&M!==null):C!==""&&C!==void 0}const c=e.computed(()=>{const C=Object.keys(p.value??{}),M=V.value.map(P=>{var s;return(s=P.props)==null?void 0:s.name}).filter(P=>typeof P=="string");return new Set([...C,...M])}),E=e.computed(()=>Object.entries(g.value??{}).filter(([C,M])=>c.value.has(C)&&d(M)).length),$=e.computed(()=>{const C=f.value??0,M=E.value??0;return Math.max(C-M,0)}),z=e.ref();function b(){z.value&&z.value.clearAllFilters(!0),w()}return e.watch(()=>l.schema,C=>{n.value=C},{deep:!0,immediate:!0}),a({clearFilter:y,clearAllFilters:w}),(C,M)=>(e.openBlock(),e.createElementBlock("div",_n,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(p)),([P,s])=>(e.openBlock(),e.createBlock(se,e.mergeProps({key:P,mode:t.mode,width:t.width?t.width:s==null?void 0:s.width},{ref_for:!0},s,{class:[t.itemClass,s==null?void 0:s.class],"item-class":[t.itemClass,s==null?void 0:s.itemClass].filter(Boolean).join(" ")||void 0,onChange:M[0]||(M[0]=B=>e.unref(u)(B.name,B.value)),onClear:e.unref(y),layout:"inline",cleanable:!0,modelValue:e.unref(g)[P],"onUpdate:modelValue":B=>e.unref(g)[P]=B}),null,16,["mode","width","class","item-class","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(V),(P,s)=>{var B,x;return e.openBlock(),e.createBlock(se,e.mergeProps({key:"slot-"+s,layout:"inline"},{ref_for:!0},P.props,{class:[t.itemClass,(B=P.props)==null?void 0:B.class],"item-class":[t.itemClass,(x=P.props)==null?void 0:x.itemClass].filter(Boolean).join(" ")||void 0,onChange:M[1]||(M[1]=L=>e.unref(u)(L.name,L.value)),onClear:M[2]||(M[2]=L=>{e.unref(y)(L),e.unref(u)(L,void 0)}),cleanable:!0,modelValue:e.unref(g)[P.props.name],"onUpdate:modelValue":L=>e.unref(g)[P.props.name]=L}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128)),m.value?(e.openBlock(),e.createBlock(Je,e.mergeProps({key:1},l,{schema:t.schema,limit:t.limit,onChange:M[3]||(M[3]=P=>e.unref(u)(P.name,P.value)),onClearAll:M[4]||(M[4]=P=>e.unref(w)()),onClear:M[5]||(M[5]=P=>e.unref(y)(P.name)),mode:t.mode,ref_key:"popoverRef",ref:z,cleanable:!0,"badge-count":$.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(P,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(P),e.mergeProps({key:"slot-"+s,layout:"popover"},{ref_for:!0},P.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(f)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:b,class:e.normalizeClass([t.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(r)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),Mn={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"},Dn={class:"flex items-center vst-filters vsTailwind flex-col w-full"},zn=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:a,emit:o}){const r=t,l=o,i=e.useSlots(),{activeFilter:h,activeFilterCount:n,onFilterChange:m,clearFilter:g,clearAllFilters:f,filtersSlot:u}=Se({...r,slots:i},l);return a({clearFilter:g,clearAllFilters:f}),(y,w)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Mn,[e.createElementVNode("div",Dn,[e.unref(n)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:w[0]||(w[0]=p=>e.unref(f)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),type:"button"}," Очистити ",2)):e.createCommentVNode("",!0),t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(t.schema),([p,k])=>(e.openBlock(),e.createBlock(se,e.mergeProps({layout:"vertical"},{ref_for:!0},k,{class:[t.itemClass,k==null?void 0:k.class],"item-class":[t.itemClass,k==null?void 0:k.itemClass].filter(Boolean).join(" ")||void 0,onChange:w[1]||(w[1]=V=>e.unref(m)(V.name,V.value)),onClear:w[2]||(w[2]=V=>{e.unref(g)(V),e.unref(m)(V,void 0)}),modelValue:e.unref(h)[p],"onUpdate:modelValue":V=>e.unref(h)[p]=V,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(p,k)=>{var V,d;return e.openBlock(),e.createBlock(se,e.mergeProps({key:"slot-"+k,layout:"vertical"},{ref_for:!0},p.props,{class:[t.itemClass,(V=p.props)==null?void 0:V.class],"item-class":[t.itemClass,(d=p.props)==null?void 0:d.itemClass].filter(Boolean).join(" ")||void 0,onChange:w[3]||(w[3]=c=>e.unref(m)(c.name,c.value)),onClear:w[4]||(w[4]=c=>{e.unref(g)(c),e.unref(m)(c,void 0)}),modelValue:e.unref(h)[p.props.name],"onUpdate:modelValue":c=>e.unref(h)[p.props.name]=c,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))])])):e.createCommentVNode("",!0)}}),$n=["onKeydown"],Ln=["disabled"],Pn={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"},Fn={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},An={class:"mb-3 flex items-center justify-between"},jn={class:"text-[15px] font-semibold text-slate-800"},Tn={"aria-hidden":"true"},On={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},Rn={key:0,class:"mt-3 flex justify-end"},vn=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{emit:a}){const o=le(),r=t,l=a,i=e.ref({}),h=e.useSlots(),{activeFilter:n,activeFilterCount:m,onFilterChange:g,clearFilter:f,clearAllFilters:u,filtersSlot:y}=Se({...r,schema:i.value,slots:h},l),w=e.ref(null),p=e.ref(null),k=e.reactive({open:!1,top:0,left:0}),V=e.computed(()=>k.open),d=e.computed(()=>!!r.disabled),c=e.computed(()=>i.value||{}),E=e.computed(()=>r.title??"Фільтр"),$=e.computed(()=>!!h.trigger),z=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",d.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),b=e.computed(()=>k.open?{position:"absolute",top:`${k.top}px`,left:`${k.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function C(){k.open=!1}function M(){if(!w.value)return;const L=w.value.getBoundingClientRect();k.top=L.bottom+window.scrollY+8,k.left=L.left+L.width/2+window.scrollX}function P(){k.open=!k.open,k.open&&e.nextTick(M)}function s(){d.value||P()}function B(){k.open&&M()}function x(){u()}return e.onMounted(()=>{window.addEventListener("resize",B),window.addEventListener("scroll",B,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",B),window.removeEventListener("scroll",B,!0)}),e.watch(()=>r.schema,L=>{if(!L){i.value={};return}if(Array.isArray(L)){const F=L.filter(O=>O&&(O.name||O.id)).map(O=>{const _=O.name||O.id;return[_,{...O,name:_}]});i.value=Object.fromEntries(F);return}i.value=L},{deep:!0,immediate:!0}),e.watch(()=>r.disabled,L=>{L&&C()}),(L,F)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:w},[$.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",d.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(s,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(s,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(s,["prevent","stop"]),["space"])]},[e.renderSlot(L.$slots,"trigger",{toggle:s,open:V.value,disabled:d.value,activeCount:e.unref(m)})],42,$n)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(z.value),type:"button",disabled:d.value,onClick:e.withModifiers(s,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(Xe,{class:"h-4 w-4"}),e.unref(m)>0?(e.openBlock(),e.createElementBlock("div",Pn,e.toDisplayString(e.unref(m)),1)):e.createCommentVNode("",!0)],10,Ln)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[V.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof t.width=="number"?`min-w-[${t.width+32+(Object.keys(c.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(b.value),ref_key:"panel",ref:p,onClick:F[4]||(F[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Fn,[e.createElementVNode("div",An,[e.createElementVNode("h3",jn,e.toDisplayString(E.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:C},[e.createElementVNode("span",Tn,[e.createVNode(Pe,{class:"h-4 w-4"})]),F[5]||(F[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",On,[Object.keys(c.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(c.value),([O,_])=>(e.openBlock(),e.createBlock(se,e.mergeProps({key:O},{ref_for:!0},{..._,layout:"inline"},{width:t.width?t.width:_==null?void 0:_.width,class:[t.itemClass,_==null?void 0:_.class],"item-class":[t.itemClass,_==null?void 0:_.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(n)[O],"onUpdate:modelValue":R=>e.unref(n)[O]=R,onChange:F[0]||(F[0]=R=>e.unref(g)(R.name,R.value)),onClear:F[1]||(F[1]=R=>{e.unref(f)(R),e.unref(g)(R,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),(O,_)=>{var R,Z;return e.openBlock(),e.createBlock(se,e.mergeProps({key:"slot-"+_,ref_for:!0},{...O.props,layout:"inline"},{class:[t.itemClass,(R=O.props)==null?void 0:R.class],"item-class":[t.itemClass,(Z=O.props)==null?void 0:Z.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(n)[O.props.name],"onUpdate:modelValue":G=>e.unref(n)[O.props.name]=G,onChange:F[2]||(F[2]=G=>e.unref(g)(G.name,G.value)),onClear:F[3]||(F[3]=G=>{e.unref(f)(G),e.unref(g)(G,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))]),e.unref(m)>0?(e.openBlock(),e.createElementBlock("div",Rn,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([t.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:x},e.toDisplayString(e.unref(o)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),Zn={class:"mb-6 flex flex-wrap gap-2"},In=["onClick"],Un={class:"mr-2 flex items-center gap-1"},Kn={class:"font-semibold"},Hn={class:"text-xs text-gray-500"},_e=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:a,emit:o}){const r=t,l=e.useAttrs(),i=e.computed(()=>({...r,...l})),h=e.ref(f(r.value??{}));e.watch(()=>r.value,async s=>{var B,x;h.value=f(s??{}),(!s||Object.keys(s).length===0)&&(await e.nextTick(),(x=(B=m.value)==null?void 0:B.clearAllFilters)==null||x.call(B,!0))},{deep:!0,immediate:!0});const n=o,m=e.ref(),g=e.useSlots();function f(s){if(Array.isArray(s))return s.map(B=>f(B));if(s!==null&&typeof s=="object"){const B=e.toRaw(s),x={};for(const L in B)x[L]=f(B[L]);return x}return s}function u(s,B){B!==void 0?h.value={...h.value,[s]:B}:delete h.value[s],n("change",{data:f(h.value),name:s,value:f(B)})}function y(s){delete h.value[s],n("clear",{data:f(h.value),name:s}),n("change",{data:f(h.value),name:s,value:null})}function w(){h.value={},n("clear",{data:f(h.value),name:"ALL"}),n("change",{data:f(h.value),name:"ALL",value:null})}const p=e.ref({}),k=e.computed(()=>r.teleportActive);function V(){switch(r.view){case"inline":return et;case"vertical":return zn;case"popover":return Je;case"popover-inline":return vn;default:return et}}e.watch(()=>r.schema,s=>{if(!s){p.value={};return}if(Array.isArray(s)&&!s.length){p.value={};return}Array.isArray(s)?p.value=s.filter(B=>B.type).reduce((B,x)=>(Object.assign(x,{name:x.id||x.name,type:{datepicker:"date"}[x.type.toLowerCase()]||x.type.toLowerCase(),label:x.label||x.ua}),B[x.name]=x,x.data&&!x.api&&!x.options&&Object.assign(x,{api:`/api/suggest/${x.data}`}),B),{}):(Object.entries(s).forEach(([B,x])=>{Object.assign(x,{name:B||x.name||x.id,type:x.type.toLowerCase()})}),p.value={...s})},{immediate:!0,deep:!0});function d(s){m.value.clearFilter(s),y(s)}function c(){m.value.clearAllFilters(),w()}const E=e.computed(()=>Object.entries(h.value).filter(([,s])=>s==null?!1:Array.isArray(s)?s.length>0:typeof s=="string"?s.trim().length>0:!0).map(([s,B])=>{const x=p.value[s],L=(x==null?void 0:x.label)||(x==null?void 0:x.title)||s,F=z(x,B);return{key:s,label:L,value:F}}));function $(s){d(s)}function z(s,B){if(!s||B===void 0||B===null)return"";const x=b(B);if(!x.length)return"";const L=C(s);return x.map(F=>L.get(F)??F).filter(Boolean).join(", ")}function b(s){return Array.isArray(s)?s.map(B=>{var x;return((x=B==null?void 0:B.toString)==null?void 0:x.call(B))??""}).filter(Boolean):typeof s=="string"?s.split(",").map(B=>B.trim()).filter(Boolean):[]}function C(s){const B=new Map,x=s.valueKey||"id",L=s.labelKey||"text";return(s.options??[]).forEach(F=>{const O=M(F,x),_=P(F,L);O&&B.set(O,_||O)}),B}function M(s,B){var x,L;return s?((L=(x=s[B]??s.id??s.value??s.key)==null?void 0:x.toString)==null?void 0:L.call(x))??"":""}function P(s,B){var x,L;return s?((L=(x=s[B]??s.text??s.label??s.value??s.id)==null?void 0:x.toString)==null?void 0:L.call(x))??"":""}return e.watch(()=>h.value,s=>{if(r.history){const B=new URL(window.location.href),x=new URLSearchParams(window.location.search);Object.keys(s).length>0?x.set("filter",Object.entries(s).filter(([,L])=>L).map(([L,F])=>`${L}=${F}`).join("|")):x.delete("filter"),B.search=decodeURI(x.toString()),window.history.pushState({},"",B)}}),a({clearAllFilters:c,clearFilter:d}),(s,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V()),e.mergeProps(i.value,{schema:p.value,onChange:B[0]||(B[0]=x=>u(x.name,x.value)),onClear:B[1]||(B[1]=x=>y(x.name)),onClearAll:w,ref_key:"filterRef",ref:m}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:2},[e.unref(g).trigger?{name:"trigger",fn:e.withCtx(x=>[e.renderSlot(s.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(x)))]),key:"0"}:void 0]),1040,["schema"])),k.value&&E.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:k.value},[e.createElementVNode("div",Zn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,x=>(e.openBlock(),e.createElementBlock("button",{key:x.key,type:"button",class:"ga1u8 zw1wr sr4j9 flex items-center zu875 kew0r w9dei w4xo0 kghwt wz1vo focus:outline-hidden gugmw dark:bg-emerald-500 dark:hover:bg-emerald-600 dark:focus:bg-emerald-600 bg-white border border-gray-200 px-3 py-1 rounded-full text-sm text-gray-700",onClick:L=>$(x.key)},[e.createElementVNode("span",Un,[e.createElementVNode("span",Kn,e.toDisplayString(x.label),1),e.createElementVNode("span",Hn,"· "+e.toDisplayString(x.value),1)]),B[2]||(B[2]=e.createElementVNode("span",{class:"g424j flex flex-col jkwm1 items-center b9gop aqyoh ad7q2 kghwt t4363 q7nhl dark:text-emerald-500"},[e.createElementVNode("svg",{class:"e731n u28hb",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})])],-1))],8,In))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});_e.install=function(t){t.component("Filter",_e),t.component("FilterField",se)};function Wn(t){const{page:a,id:o,filter:r,filterByView:l}=t,i=new URL(window.location.href),h=new URLSearchParams(window.location.search);a?h.set("page",a.toString()):h.delete("page"),o?h.set("id",o.toString()):h.delete("id"),r?h.set("filter",r):h.delete("filter"),typeof l=="boolean"?h.set("bbox",l?"1":"0"):h.delete("bbox"),i.search=decodeURI(h.toString()),window.history.pushState({},"",i)}const qn={class:"flex items-center justify-between w-full gap-x-1"},Gn={class:"flex items-center"},Yn=["disabled"],Qn={class:"flex items-center gap-x-1"},Xn=["onClick"],Jn=["disabled"],ea={class:"flex justify-center items-center gap-x-5 ml-3"},ta={class:"relative"},la={class:"hs-dropdown-menu z-50 bg-white shadow-md rounded-lg p-1 space-y-0.5 dark:bg-neutral-800 dark:border dark:border-neutral-700 right-0 dark:divide-neutral-700 absolute bottom-[100%]",role:"menu","aria-orientation":"vertical","aria-labelledby":"dropdown-button"},oa=["onClick"],na={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-check text-blue-600",width:"14",height:"14"},je=e.defineComponent({__name:"pagination",props:{total:{},currentPage:{},pageSize:{}},emits:["update:currentPage","update:pageSize","pageChange","pageSizeChange"],setup(t,{emit:a}){const o=t,r=a,l=e.ref(o.currentPage),i=e.ref(o.pageSize),h=e.ref(!1);e.watch(()=>o.pageSize,w=>{i.value=w});const n=e.computed(()=>Math.ceil(o.total/o.pageSize)),m=e.computed(()=>{const p=Math.floor(3.5);let k=l.value-p,V=l.value+p;k<1&&(V+=1-k,k=1),V>n.value&&(k-=V-n.value,V=n.value),k=Math.max(1,k);const d=[];for(let c=k;c<=V;c+=1)d.push(c);return d}),g=()=>{l.value>1&&u(l.value-1)},f=()=>{l.value<n.value&&u(l.value+1)},u=w=>{l.value=w,r("update:currentPage",w),r("pageChange",w)},y=(w=i.value)=>{i.value=w,h.value=!1,r("update:pageSize",i.value),r("update:currentPage",1),r("pageSizeChange",i.value)};return e.watch(()=>o.currentPage,w=>{l.value=w}),(w,p)=>(e.openBlock(),e.createElementBlock("nav",qn,[e.createElementVNode("div",Gn,[e.createElementVNode("button",{type:"button","aria-label":"Previous",onClick:g,disabled:l.value===1,class:"border-white last:rounded-e-lg text-base h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 border text-sm rounded-lg bg-white text-gray-800 hover:shadow-sm hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50 dark:bg-neutral-700 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-800 py-2"},[...p[1]||(p[1]=[e.createElementVNode("svg",{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-chevron-down rotate-90",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1),e.createElementVNode("span",{"aria-hidden":"true",class:"sr-only"},"Previous",-1)])],8,Yn),e.createElementVNode("div",Qn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,k=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:k,onClick:V=>u(k),class:e.normalizeClass(l.value===k?"flex justify-center items-center rounded-lg text-sm dark:text-neutral-300 py-2 px-3 focus:outline-none disabled:opacity-50 disabled:pointer-events-none bg-[#e5e7eb] dark:bg-[#242424] border border-gray-200 text-base h-[38px] min-w-[38px]":"flex justify-center items-center rounded-lg text-sm dark:text-neutral-400 hover:bg-gray-100 py-2 px-3 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:hover:bg-neutral-800 dark:focus:bg-neutral-800 text-base h-[38px] min-w-[38px]")},e.toDisplayString(k),11,Xn))),128))]),e.createElementVNode("button",{type:"button","aria-label":"Next",onClick:f,disabled:l.value===n.value,class:"border-white last:rounded-e-lg text-base h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 border text-sm rounded-lg bg-white text-gray-800 hover:shadow-sm hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50 dark:bg-neutral-700 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-800 py-2"},[...p[2]||(p[2]=[e.createElementVNode("span",{"aria-hidden":"true",class:"sr-only"},"Next",-1),e.createElementVNode("svg",{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-chevron-down -rotate-90",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1)])],8,Jn)]),e.createElementVNode("div",ea,[e.createElementVNode("div",ta,[e.withDirectives(e.createElementVNode("div",la,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],k=>e.createElementVNode("button",{type:"button",key:k,onClick:V=>y(k),class:"w-full flex items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm text-gray-800 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:hover:text-neutral-300 dark:focus:bg-neutral-700"},[e.createTextVNode(e.toDisplayString(k)+" ",1),i.value===k?(e.openBlock(),e.createElementBlock("svg",na,[...p[3]||(p[3]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M5 12l5 5l10 -10"},null,-1)])])):e.createCommentVNode("",!0)],8,oa)),64))],512),[[e.vShow,h.value]]),e.createElementVNode("button",{type:"button",class:"py-3 px-3.5 inline-flex items-center gap-x-1 text-sm rounded-lg border border-gray-200 text-gray-800 shadow-sm hover:bg-gray-50 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 text-base h-[38px] min-w-[38px]","aria-haspopup":"menu","aria-expanded":"false","aria-label":"Dropdown",onClick:p[0]||(p[0]=k=>h.value=!h.value)},[e.createTextVNode(e.toDisplayString(i.value)+" ",1),p[4]||(p[4]=e.createElementVNode("svg",{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-chevron-down",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1))])])])]))}}),ue=(t,a)=>{const o=t.__vccOpts||t;for(const[r,l]of a)o[r]=l;return o},aa={},ra={class:"w-48 mx-auto mb-4",width:"178",height:"90",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ia(t,a){return e.openBlock(),e.createElementBlock("svg",ra,[...a[0]||(a[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-stone-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-stone-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-stone-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-stone-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter2)"><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-stone-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-stone-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-stone-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter2" 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 Te=ue(aa,[["render",ia]]),sa={},ca={xmlns:"http://www.w3.org/2000/svg",width:"21",height:"20",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-layout-sidebar-right-collapse"};function da(t,a){return e.openBlock(),e.createElementBlock("svg",ca,[...a[0]||(a[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z"},null,-1),e.createElementVNode("path",{d:"M15 4v16"},null,-1),e.createElementVNode("path",{d:"M9 10l2 2l-2 2"},null,-1)])])}const ma=ue(sa,[["render",da]]),pa={},fa={xmlns:"http://www.w3.org/2000/svg",width:"21",height:"20",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-layout-sidebar-right-expand"};function ua(t,a){return e.openBlock(),e.createElementBlock("svg",fa,[...a[0]||(a[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z"},null,-1),e.createElementVNode("path",{d:"M15 4v16"},null,-1),e.createElementVNode("path",{d:"M10 10l-2 2l2 2"},null,-1)])])}const ga=ue(pa,[["render",ua]]),ha={},ya={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-map"};function ba(t,a){return e.openBlock(),e.createElementBlock("svg",ya,[...a[0]||(a[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M3 7l6 -3l6 3l6 -3v13l-6 3l-6 -3l-6 3v-13"},null,-1),e.createElementVNode("path",{d:"M9 4v13"},null,-1),e.createElementVNode("path",{d:"M15 7v13"},null,-1)])])}const xa=ue(ha,[["render",ba]]),ka={},wa={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-table"};function Va(t,a){return e.openBlock(),e.createElementBlock("svg",wa,[...a[0]||(a[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z"},null,-1),e.createElementVNode("path",{d:"M3 10h18"},null,-1),e.createElementVNode("path",{d:"M10 3v18"},null,-1)])])}const Ca=ue(ka,[["render",Va]]);function tt(t,a){let o;return function(...r){clearTimeout(o),o=setTimeout(()=>t(...r),a)}}const Ba={class:"fixed inset-0 z-50 pointer-events-none"},Ea={key:0,class:"flex items-center justify-between gap-4 px-4 pb-3 border-b border-gray-200 shrink-0"},Na={class:"text-base font-semibold text-gray-900"},Sa={class:"px-4 pb-3 min-h-0 shrink-0 overflow-hidden"},_a={class:"flex flex-col flex-1 min-h-0 overflow-hidden"},Ma={class:"flex items-center justify-between gap-4 px-4 pb-3 border-b border-gray-200 shrink-0"},Da={class:"text-base font-semibold text-gray-900"},za={class:"flex-1 min-h-0 overflow-auto p-4"},lt=152,ot=96,nt=270,at=96,rt=56,ke=e.defineComponent({__name:"MobileModalShell",props:{open:{type:Boolean},title:{},topOffset:{},initialVariant:{},peekMode:{}},emits:["close","expand","collapse"],setup(t,{expose:a,emit:o}){const r=t,l=o,i=e.ref("full"),h=e.computed(()=>r.topOffset??"0px"),n=e.computed(()=>r.peekMode??"custom"),m=e.ref(0),g=e.ref(0);let f=null,u=0;const y=e.computed(()=>{if(i.value==="peek"){const c=n.value==="custom",E=c?lt:nt,$=c?ot:at,z=c?40:60,b=Math.max($,E+m.value-g.value);return{height:`min(${z}vh, ${b}px)`}}return{top:h.value}});e.watch(()=>r.open,c=>{c&&(i.value=r.initialVariant??"full"),m.value=0,g.value=0}),e.watch(()=>r.initialVariant,c=>{r.open&&c&&(i.value=c)});function w(){i.value!=="full"&&(i.value="full",l("expand")),m.value=0,g.value=0}function p(){i.value!=="peek"&&(i.value="peek",l("collapse")),m.value=0,g.value=0}function k(c){if(c.pointerId!==f)return;const E=c.clientY-u;if(i.value==="peek"){const $=n.value==="custom",C=Math.max(0,($?lt:nt)-($?ot:at));E<0?(m.value=Math.max(0,-E),g.value=0):E>0&&(g.value=Math.min(E,C),m.value=0)}}function V(c){if(c.pointerId!==f)return;window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",V),window.removeEventListener("pointercancel",V),f=null;const E=c.clientY-u;i.value==="full"?E>rt&&p():E<-rt&&w()}function d(c){var E,$;c.button!==0&&c.pointerType==="mouse"||(f=c.pointerId,u=c.clientY,m.value=0,g.value=0,($=(E=c.currentTarget).setPointerCapture)==null||$.call(E,c.pointerId),window.addEventListener("pointermove",k),window.addEventListener("pointerup",V),window.addEventListener("pointercancel",V))}return e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",V),window.removeEventListener("pointercancel",V)}),a({expand:w,collapseToPeek:p}),(c,E)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",Ba,[e.createElementVNode("div",{class:e.normalizeClass(["absolute inset-0 bg-black/40 transition-opacity duration-150",i.value==="peek"?"opacity-0 pointer-events-none":"opacity-100 pointer-events-auto"]),onClick:E[0]||(E[0]=e.withModifiers($=>i.value!=="peek"&&l("close"),["self"]))},null,2),e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-auto absolute left-0 right-0 bottom-0 flex flex-col overflow-hidden bg-white shadow-[0_-4px_24px_rgba(0,0,0,0.12)]",i.value==="peek"?"rounded-t-2xl":""]),style:e.normalizeStyle(y.value)},[e.createElementVNode("div",{class:"shrink-0 flex flex-col items-center pt-2 pb-1 cursor-grab active:cursor-grabbing touch-none select-none",onPointerdown:d},[...E[3]||(E[3]=[e.createElementVNode("div",{class:"h-1.5 w-10 rounded-full bg-stone-300","aria-hidden":"true"},null,-1)])],32),i.value==="peek"&&n.value==="custom"?(e.openBlock(),e.createElementBlock("div",Ea,[e.createElementVNode("div",Na,e.toDisplayString(t.title),1),e.createElementVNode("button",{type:"button",class:"h-9 w-9 inline-flex items-center justify-center rounded-full border border-gray-200 text-gray-600 hover:bg-gray-50 relative z-[80]",onClick:E[1]||(E[1]=$=>l("close")),"aria-label":"Close"},[...E[4]||(E[4]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"w-5 h-5",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})],-1)])])])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",Sa,[e.renderSlot(c.$slots,"peek",{expand:w,collapse:p},()=>[e.createElementVNode("button",{type:"button",class:"w-full text-left text-base font-semibold text-gray-900 py-2 rounded-lg hover:bg-stone-50",onClick:w},e.toDisplayString(t.title),1)])],512),[[e.vShow,i.value==="peek"&&n.value==="custom"]]),e.withDirectives(e.createElementVNode("div",_a,[e.createElementVNode("div",Ma,[e.createElementVNode("div",Da,e.toDisplayString(t.title),1),e.createElementVNode("button",{type:"button",class:"h-9 w-9 inline-flex items-center justify-center rounded-full border border-gray-200 text-gray-600 hover:bg-gray-50 relative z-[80]",onClick:E[2]||(E[2]=$=>l("close")),"aria-label":"Close"},[...E[5]||(E[5]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"w-5 h-5",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})],-1)])])]),e.createElementVNode("div",za,[e.renderSlot(c.$slots,"default")])],512),[[e.vShow,i.value==="full"||i.value==="peek"&&n.value==="clip-full"]])],6)],512)),[[e.vShow,t.open]])}}),$a={class:"flex flex-col gap-2 pointer-events-auto self-end","data-peek-controls":"1"},La=e.defineComponent({__name:"MapMobilePeekControlButtons",props:{onOpenLayers:{type:Function},onOpenLegend:{type:Function}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",$a,[e.createElementVNode("button",{type:"button",class:"h-[28px] w-[28px] inline-flex items-center justify-center rounded-lg border border-gray-200 bg-white text-gray-800 shadow-md p-0 hover:bg-gray-50 cursor-pointer","aria-label":"Layers",onClick:o[0]||(o[0]=r=>t.onOpenLayers())},[...o[2]||(o[2]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M12 2 2 7l10 5 10-5-10-5Z"}),e.createElementVNode("path",{d:"M2 17l10 5 10-5"}),e.createElementVNode("path",{d:"M2 12l10 5 10-5"})],-1)])]),e.createElementVNode("button",{type:"button",class:"h-[28px] w-[28px] inline-flex items-center justify-center rounded-lg border border-gray-200 bg-white text-gray-800 shadow-md p-0 hover:bg-gray-50 cursor-pointer","aria-label":"Legend",onClick:o[1]||(o[1]=r=>t.onOpenLegend())},[...o[3]||(o[3]=[e.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 6h13"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M3 6h.01"></path><path d="M3 12h.01"></path><path d="M3 18h.01"></path></svg>',1)])])]))}});function it(t,a,o=12,r=12){const l=a??"";return`${window.location.origin}/api/vtile/${t}/ua/{z}/{x}/{y}.vmt?pointZoom=${r}&clusterZoom=${o}&filter=${l}`}function Pa(t,a,o,r,l=12,i=12){if(!a)return;const h=it(t,r,l,i);a.addSource("vector",{type:"vector",tiles:[h],minzoom:0,maxzoom:12});const n=["coalesce",["get","point_count"],["get","pointCount"],["get","cluster_count"],["get","clusterCount"],0],m=[">",n,1],g=["<=",n,1],f=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],u=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]],y=["coalesce",["get","point_count_abbreviated"],["get","cluster_count_abbreviated"],["get","clusterCountAbbreviated"],n];a.addLayer({id:"vector-clusters",type:"circle",source:"vector","source-layer":t,filter:m,maxzoom:12,paint:{"circle-color":["step",n,"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",n,18,100,26,750,32],"circle-opacity":.85}}),a.addLayer({id:"vector-cluster-count",type:"symbol",source:"vector","source-layer":t,filter:m,maxzoom:12,layout:{"text-field":["to-string",y],"text-font":["Noto Sans Regular"],"text-size":12},paint:{"text-color":"#1f2937"}}),a.addLayer({id:"vector-circle",type:"circle",maxzoom:12,source:"vector","source-layer":t,filter:["all",g,f],paint:{"circle-color":o,"circle-stroke-color":"#eee","circle-stroke-width":1,"circle-radius":["interpolate",["linear"],["zoom"],10,5,15,12]}}),a.addLayer({id:"vector-fill",type:"fill",minzoom:12,source:"vector","source-layer":t,filter:u,paint:{"fill-color":o,"fill-opacity":.6}})}const Fa=[{id:"voyager",name:"Базова карта (voyager)",url:"https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",preview:"https://data.gki.com.ua/api-user/rtile/voyager/ua/12/2422/1400.png"},{id:"orto",name:"Ортофото 10К",url:"https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",preview:"https://data.gki.com.ua/api-user/rtile/orto10/ua/12/2422/1400.png"},{id:"esri",name:"Esri",url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",preview:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/12/2422/1400.png"},{id:"google",name:"Google",url:"https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}",preview:"https://mt1.google.com/vt/lyrs=s&x=2422&y=1400&z=12"}],Aa={class:"relative w-auto h-full"},ja={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px]"},Ta={key:0,class:"text-[0.875rem] font-medium text-stone-700"},Oa=["aria-label"],Ra={key:0,xmlns:"http://www.w3.org/2000/svg",class:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},va={key:1,xmlns:"http://www.w3.org/2000/svg",class:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Za={class:"flex justify-start items-center gap-2"},Ia={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Ua={class:"text-[0.875rem]"},Ka={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Ha={key:1,class:"p-[10px]"},Wa={class:"flex justify-start items-center gap-2"},qa={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Ga={class:"text-[0.875rem]"},Ya={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Qa={key:0,class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},Xa=["title","onClick"],Ja=["src"],er={class:"absolute py-2 px-4 text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg top-[-46px] hidden whitespace-nowrap left-1/2 -translate-x-1/2"},tr={class:"vs-mobile-peek-controls px-3 pb-3"},lr={class:"vs-map-slot-layers--peek z-10 select-none",style:{position:"static",display:"grid !important","grid-template-columns":"repeat(3, minmax(0, 1fr))",gap:"12px",width:"100%"}},or=["title","onClick"],nr=["src"],ar={class:"absolute py-2 px-4 text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg top-[-46px] hidden whitespace-nowrap left-1/2 -translate-x-1/2"},rr={class:"vs-mobile-peek-controls flex justify-center w-full"},ir={class:"w-full"},sr={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px] pb-[12px]"},cr={class:"text-[0.875rem] font-medium text-stone-700"},dr={class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out"},mr={class:"p-[10px] pt-0"},pr={class:"flex justify-start items-center gap-2"},fr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},ur={class:"text-[0.875rem]"},gr={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},we="vector-clusters",st=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},filter:{},modelValue:{},zoom:{},minZoom:{},maxZoom:{},map:{},showPopup:{type:Boolean,default:!0},mobilePeekControls:{type:Boolean},layers:{},clusterZoom:{},pointZoom:{},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{},alwaysShowPolygon:{type:Boolean}},emits:["update:modelValue","update:map"],setup(t,{emit:a}){const o=t,r=a;let l,i=null;const h=e.getCurrentInstance(),n=e.ref(null),m=e.ref(!1),g=e.ref(!1),f=e.ref(!1),u=e.ref(!1);let y=null,w=null;const p=["vector-circle","vector-fill"],k=e.ref(!0),V=e.computed(()=>{var D,j;return((j=(D=h==null?void 0:h.appContext.config.globalProperties)==null?void 0:D.$settings)==null?void 0:j.basemaps)||[]}),d=e.computed(()=>(o.layers&&o.layers.length?o.layers:V.value.length?V.value:Fa).map((j,v)=>{var ae;const A=j.id||((ae=j.name)==null?void 0:ae.toString().toLowerCase().replace(/\s+/g,"-"))||`layer-${v}`,W=j.name||j.id||`layer-${v}`;return{...j,id:A,name:W}})),c=e.ref(""),E=e.computed(()=>d.value.find(D=>D.id===c.value)||d.value[0]);e.watch(d,D=>{var j;D.length&&(!c.value||!D.some(v=>v.id===c.value))&&(c.value=((j=D[0])==null?void 0:j.id)||"")},{immediate:!0});function $(D){return D?D.replace("{x}","2422").replace("{y}","1400").replace("{z}","12"):""}const z=e.ref(null),b=e.ref(null),C=e.computed(()=>o.showPopup!==!1),M=["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#17BECF","#BCBD22"];let P;const s=[30,48];let B=null,x=[];function L(){if(typeof window>"u")return{zoom:null,center:null,hasQuery:!1};const D=new URLSearchParams(window.location.search),j=Number(D.get("z")),v=Number(D.get("y")),A=Number(D.get("x")),W=D.has("x")&&D.has("y"),ae=D.has("z");return{zoom:ae?j:null,center:W?[A,v]:null,hasQuery:W||ae}}function F(D,j){if(!D||typeof window>"u")return;const v=new URL(window.location.href);v.searchParams.set("z",j.toFixed(2)),v.searchParams.set("x",D[0].toFixed(6)),v.searchParams.set("y",D[1].toFixed(6)),window.history.replaceState({},"",v)}let O=!1;function _(){if(!l||!O)return;const D=l.getCenter();F([D.lng,D.lat],l.getZoom())}const R=()=>{O||(O=!0),_()};function Z(D){return D?["==",["to-string",["get","id"]],D]:["==",["literal",1],0]}const G=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],oe=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]];function ne(){const D=Z(o.modelValue),j=["all",D,G],v=["all",D,oe];if(!l.getLayer("vector-highlight-circle")){const ae=(o.clusterZoom??12)-.01;l.addLayer({id:"vector-highlight-circle",type:"circle",maxzoom:ae,source:"vector","source-layer":o.table,paint:{"circle-color":"#ef4444","circle-opacity":.8,"circle-stroke-color":"#b91c1c","circle-stroke-width":0,"circle-radius":["interpolate",["linear"],["zoom"],10,10,12,11]}})}l.getLayer("vector-highlight-fill")||l.addLayer({id:"vector-highlight-fill",type:"line",minzoom:o.clusterZoom??12,source:"vector","source-layer":o.table,paint:{"line-color":"#b91c1c","line-width":3,"line-opacity":.8}}),l.setFilter("vector-highlight-circle",j),l.setFilter("vector-highlight-fill",v);const A=o.modelValue?"visible":"none";l.setLayoutProperty("vector-highlight-circle","visibility",A),l.setLayoutProperty("vector-highlight-fill","visibility",A),Ve()}function te(D){if(!l||!x.length)return;const j="#ef4444",v=D?["case",["all",["has","id"],["==",["to-string",["get","id"]],D]],j,x]:x;if(l.getLayer("vector-circle")&&l.setPaintProperty("vector-circle","circle-color",v),l.getLayer("vector-fill")){const A=D?["case",["all",["has","id"],["==",["to-string",["get","id"]],D]],j,x]:x;l.setPaintProperty("vector-fill","fill-color",A)}}function Ve(){if(ge(),!o.modelValue)return;let D=!0;B=window.setInterval(()=>{D=!D;const j=D?.8:.2;l!=null&&l.getLayer("vector-highlight-circle")&&l.setPaintProperty("vector-highlight-circle","circle-opacity",j),l!=null&&l.getLayer("vector-highlight-fill")&&l.setPaintProperty("vector-highlight-fill","line-opacity",j)},600)}function ge(){B&&(clearInterval(B),B=null)}function Ce(){l&&(l.setCenter(o.center||s),l.setZoom(o.zoom||5))}function he(){if(!(l!=null&&l.setLayerZoomRange))return;const D=o.minZoom??0,j=Math.min((o.maxZoom??18)+.01,24);if(o.alwaysShowPolygon)l.getLayer("vector-circle")&&l.setLayerZoomRange("vector-circle",D,0),l.getLayer("vector-highlight-circle")&&l.setLayerZoomRange("vector-highlight-circle",D,0),l.getLayer("vector-fill")&&l.setLayerZoomRange("vector-fill",D,j),l.getLayer("vector-highlight-fill")&&l.setLayerZoomRange("vector-highlight-fill",D,j),l.getLayer(we)&&l.setLayerZoomRange(we,D,0),l.getLayer("vector-cluster-count")&&l.setLayerZoomRange("vector-cluster-count",D,0);else{const v=o.clusterZoom??12,A=v-.01,W=k.value?A:j;l.getLayer("vector-circle")&&l.setLayerZoomRange("vector-circle",D,W),l.getLayer("vector-highlight-circle")&&l.setLayerZoomRange("vector-highlight-circle",D,W),l.getLayer("vector-fill")&&l.setLayerZoomRange("vector-fill",v,j),l.getLayer("vector-highlight-fill")&&l.setLayerZoomRange("vector-highlight-fill",v,j),l.getLayer(we)&&l.setLayerZoomRange(we,D,A),l.getLayer("vector-cluster-count")&&l.setLayerZoomRange("vector-cluster-count",D,A)}}function Re(){if(l!=null&&l.getSource("vector")){try{const j=l.querySourceFeatures("vector",{sourceLayerId:o.table}).some(v=>{var W;const A=(W=v.geometry)==null?void 0:W.type;return A==="Polygon"||A==="MultiPolygon"});k.value=j}catch{}he()}}const ee=L();O=ee.hasQuery,e.onMounted(async()=>{P=(await fetch(`/api/data/${o.table}/${o.colorAttr}`).then(q=>q.json())).rows,P.forEach((q,K)=>{q.color||Object.assign(q,{color:M[K%10]})}),i=new maplibregl.Popup({closeButton:!1,closeOnClick:!1});const j=E.value;if(!j)return;const v=ee.center||o.center||s,A=ee.zoom||o.zoom||5;l=new maplibregl.Map({container:n.value,style:{version:8,sources:{[j.id]:{type:"raster",tiles:[j.url],tileSize:256}},layers:[{id:j.id,type:"raster",source:j.id,minzoom:0,maxzoom:19}]},center:v,zoom:A,minZoom:o.minZoom??3,maxZoom:o.maxZoom??18,attributionControl:!1}),r("update:map",l);const W=o.mobilePeekControls?"bottom-right":"top-right";if(l.addControl(new maplibregl.NavigationControl,W),o.mobilePeekControls){const q={onAdd:()=>{const K=document.createElement("div");return y=K,w=e.createApp(La,{onOpenLayers:()=>{f.value=!0},onOpenLegend:()=>{u.value=!0}}),w.mount(K),K},onRemove:()=>{w==null||w.unmount(),w=null,y=null}};l.addControl(q,"bottom-right"),l.once("render",()=>{if(!y)return;const K=l.getContainer(),I=K.querySelector(".maplibregl-ctrl-bottom-right"),Y=K.querySelector(".maplibregl-ctrl-zoom-in"),J=Y==null?void 0:Y.closest(".maplibregl-ctrl-group");!I||!J||y.parentElement===I&&(I.removeChild(y),I.insertBefore(y,J.nextSibling))})}l.on("zoom",()=>{}),l.on("moveend",R),l.on("zoomend",R),O&&_(),l.on("load",()=>{l==null||l.resize(),m.value=!0;const q=P.filter(I=>I.id).reduce((I,Y)=>[Y.id,Y.color].concat(I),[]),K=["match",["get",o.colorAttr],...q,"#808080"];x=K,Pa(o.table,l,K,o.filter,o.clusterZoom,o.pointZoom??12),ne(),te(o.modelValue),he(),l.on("sourcedata",I=>{I.sourceId==="vector"&&I.isSourceLoaded&&l.getZoom()>=(o.clusterZoom??12)&&Re()})});const ae=q=>{var I,Y;const K=(I=q.features)==null?void 0:I[0];(Y=K==null?void 0:K.properties)!=null&&Y.id&&r("update:modelValue",K.properties.id)};p.forEach(q=>{l.on("click",q,ae)}),l.on("click",we,q=>{var me,de,Be;const K=(me=q.features)==null?void 0:me[0];if(!K)return;const{geometry:I}=K,Y=(I==null?void 0:I.type)==="Point"?I.coordinates:(Be=(de=I==null?void 0:I.coordinates)==null?void 0:de[0])==null?void 0:Be[0];if(!Y)return;const J=Math.min(l.getZoom()+2,l.getMaxZoom());l.easeTo({center:Y,zoom:J})}),[...p,we].forEach(q=>{l.on("mouseenter",q,()=>{l.getCanvas().style.cursor="pointer"}),l.on("mouseleave",q,()=>{l.getCanvas().style.cursor=""})}),l.on("mousemove",q=>{var me,de;if(!C.value){(me=i==null?void 0:i.remove)==null||me.call(i);return}if(!i)return;const K=l.queryRenderedFeatures(q.point,{layers:p});if(!K||!K.length){i.remove();return}const I=K[0],{coordinates:Y}=I.geometry,J=I.geometry.type==="Point"?Y:Y[0][0];b.value=I.properties,i.setLngLat(J).setHTML((de=z.value)==null?void 0:de.innerHTML).addTo(l)})}),e.watch(()=>o.center,D=>{l&&l.setCenter(D||s)}),e.watch(()=>o.zoom,D=>{l&&l.setZoom(D)}),e.watch(()=>o.minZoom,D=>{l&&(l.setMinZoom(D??3),he())}),e.watch(()=>o.maxZoom,D=>{l&&(l.setMaxZoom(D??18),he())});function be(D,j,v){if(!(l!=null&&l.getSource("vector")))return;const A=it(o.table,D??o.filter,j??o.clusterZoom??12,v??o.pointZoom??12);l.getSource("vector").setTiles([A])}return e.watch(()=>o.filter,D=>{be(D)}),e.watch(()=>o.clusterZoom,D=>{be(void 0,D),he()}),e.watch(()=>o.pointZoom,D=>{be(void 0,void 0,D)}),e.watch(()=>o.alwaysShowPolygon,()=>{he(),be()}),e.watch(()=>o.modelValue,D=>{if(!l)return;const j=Z(D),v=["all",j,G],A=["all",j,oe];if(l.getLayer("vector-highlight-circle")){l.setFilter("vector-highlight-circle",v);const W=D?"visible":"none";l.setLayoutProperty("vector-highlight-circle","visibility",W)}if(l.getLayer("vector-highlight-fill")){l.setFilter("vector-highlight-fill",A);const W=D?"visible":"none";l.setLayoutProperty("vector-highlight-fill","visibility",W)}te(D),D?Ve():ge()}),e.watch(c,(D,j)=>{if(!l||!D)return;const v=d.value.find(W=>W.id===D);if(!v)return;l.getLayer(j)&&l.removeLayer(j),l.getSource(j)&&l.removeSource(j),l.addSource(D,{type:"raster",tiles:[v.url],tileSize:256});const A=l.getLayer("vector-clusters")?"vector-clusters":l.getLayer("vector-circle")?"vector-circle":void 0;l.addLayer({id:v.id,type:"raster",source:v.id,minzoom:0,maxzoom:19},A)}),e.onBeforeUnmount(()=>{ge(),l&&(l.off("moveend",R),l.off("zoomend",R),l.remove())}),(D,j)=>{const v=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Aa,[e.createElementVNode("div",{ref_key:"mapContainer",ref:n,class:"map-container w-auto relative"},null,512),e.withDirectives((e.openBlock(),e.createElementBlock("button",{type:"button",class:"absolute top-25 right-2 z-20 h-8 w-8 flex items-center justify-center rounded-lg bg-white border border-gray-200 shadow-[0_8px_20px_rgba(0,0,0,0.08)] text-[18px] leading-none text-gray-700 hover:bg-gray-50",title:"Повернутися до базового вигляду",onClick:Ce},[...j[3]||(j[3]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M3 11L12 3l9 8"}),e.createElementVNode("path",{d:"M5 9v10h4v-6h6v6h4V9"})],-1)])])),[[v,"Повернутися до базового вигляду"]]),e.createElementVNode("div",{class:e.normalizeClass(["absolute left-[20px] bottom-[74px] bg-white rounded-lg z-10 border legend-panel",{"legend-panel--has-header":o.legendTitle||o.isCollapsible}]),style:e.normalizeStyle(o.legendWidth?{width:o.legendWidth}:{maxWidth:"250px"})},[o.legendTitle||o.isCollapsible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ja,[o.legendTitle?(e.openBlock(),e.createElementBlock("span",Ta,e.toDisplayString(o.legendTitle),1)):e.createCommentVNode("",!0),o.isCollapsible?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"legend-panel__toggle ml-auto shrink-0 p-1.5 rounded-full hover:bg-stone-100 text-stone-600","aria-label":g.value?"Згорнути легенду":"Розгорнути легенду",onClick:j[0]||(j[0]=A=>g.value=!g.value)},[g.value?(e.openBlock(),e.createElementBlock("svg",Ra,[...j[4]||(j[4]=[e.createElementVNode("path",{d:"M6 9l6 6 6-6"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",va,[...j[5]||(j[5]=[e.createElementVNode("path",{d:"m18 15-6-6-6 6"},null,-1)])]))],8,Oa)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out",style:e.normalizeStyle(o.isCollapsible&&!g.value?{maxHeight:"0",padding:"0",margin:"0",opacity:"0"}:{})},[e.createElementVNode("div",{class:e.normalizeClass(["p-[10px]",g.value&&(e.unref(P)||[]).length?"pt-0":"pt-2"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(P)||[],A=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:A.id},[e.createElementVNode("div",Za,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+A.color)},null,4),e.createElementVNode("div",Ia,[e.createElementVNode("span",Ua,e.toDisplayString(A.text),1),A.count!=null?(e.openBlock(),e.createElementBlock("span",Ka,e.toDisplayString(A.count),1)):e.createCommentVNode("",!0)])])]))),128))],2)],4)],64)):(e.openBlock(),e.createElementBlock("div",Ha,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(P)||[],A=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:A.id},[e.createElementVNode("div",Wa,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+A.color)},null,4),e.createElementVNode("div",qa,[e.createElementVNode("span",Ga,e.toDisplayString(A.text),1),A.count!=null?(e.openBlock(),e.createElementBlock("span",Ya,e.toDisplayString(A.count),1)):e.createCommentVNode("",!0)])])]))),128))]))],6),e.createElementVNode("div",{ref_key:"popupDiv",ref:z,style:{display:"none"}},[e.renderSlot(D.$slots,"default",{hoverData:b.value})],512),o.mobilePeekControls?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Qa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,A=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:A.id,title:A.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:c.value===A.id}]),onClick:W=>c.value=A.id},[e.createElementVNode("img",{src:A.preview||$(A.url),class:"vs-map-slot-layers__image"},null,8,Ja),e.createElementVNode("div",er,e.toDisplayString(A.name),1)],10,Xa)),[[v,A.name]])),128))])),o.mobilePeekControls?(e.openBlock(),e.createBlock(ke,{key:1,open:f.value,title:"Шари","initial-variant":"peek","peek-mode":"clip-full","allow-expand":!1,onClose:j[1]||(j[1]=A=>f.value=!1)},{default:e.withCtx(()=>[e.createElementVNode("div",tr,[e.createElementVNode("div",lr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,A=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:A.id,title:A.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:c.value===A.id}]),onClick:W=>c.value=A.id},[e.createElementVNode("img",{src:A.preview||$(A.url),class:"vs-map-slot-layers__image",style:{width:"100%",height:"100","object-fit":"cover",display:"block"}},null,8,nr),e.createElementVNode("div",ar,e.toDisplayString(A.name),1)],10,or)),[[v,A.name]])),128))])])]),_:1},8,["open"])):e.createCommentVNode("",!0),o.mobilePeekControls?(e.openBlock(),e.createBlock(ke,{key:2,open:u.value,title:"Легенда","initial-variant":"peek","peek-mode":"clip-full","peek-height-px":200,onClose:j[2]||(j[2]=A=>u.value=!1)},{default:e.withCtx(()=>[e.createElementVNode("div",rr,[e.createElementVNode("div",ir,[e.createElementVNode("div",sr,[e.createElementVNode("span",cr,e.toDisplayString(o.legendTitle||"Легенда"),1)]),e.createElementVNode("div",dr,[e.createElementVNode("div",mr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(P)||[],A=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:A.id},[e.createElementVNode("div",pr,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+A.color)},null,4),e.createElementVNode("div",fr,[e.createElementVNode("span",ur,e.toDisplayString(A.text),1),A.count!=null?(e.openBlock(),e.createElementBlock("span",gr,e.toDisplayString(A.count),1)):e.createCommentVNode("",!0)])])]))),128))])])])])]),_:1},8,["open"])):e.createCommentVNode("",!0)],512)),[[e.vShow,m.value]])}}}),ct={mounted(t,a){if(typeof document>"u")return;let o=null;const r=()=>{o=document.createElement("div"),o.textContent=a.value,Object.assign(o.style,{position:"absolute",background:"#333",color:"#fff",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:"9999"}),document.body.appendChild(o);const i=t.getBoundingClientRect();o.style.left=`${i.left+window.scrollX}px`,o.style.top=`${i.top+window.scrollY-o.offsetHeight-5}px`},l=()=>{o&&o.parentNode&&(o.parentNode.removeChild(o),o=null)};t.addEventListener("mouseenter",r),t.addEventListener("mouseleave",l),Object.assign(t,{tooltipHandlers:{showTooltip:r,hideTooltip:l}})},unmounted(t){if(typeof document>"u")return;const a=t.tooltipHandlers;a&&(t.removeEventListener("mouseenter",a.showTooltip),t.removeEventListener("mouseleave",a.hideTooltip))}},hr={},yr={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-list-filter-icon lucide-list-filter"};function br(t,a){return e.openBlock(),e.createElementBlock("svg",yr,[...a[0]||(a[0]=[e.createElementVNode("path",{d:"M2 5h20"},null,-1),e.createElementVNode("path",{d:"M6 12h12"},null,-1),e.createElementVNode("path",{d:"M9 19h6"},null,-1)])])}const xr=ue(hr,[["render",br]]),kr={},wr={xmlns:"http://www.w3.org/2000/svg",class:"w-5 h-5 shrink-0",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function Vr(t,a){return e.openBlock(),e.createElementBlock("svg",wr,[...a[0]||(a[0]=[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"},null,-1),e.createElementVNode("path",{d:"m21 21-4.35-4.35"},null,-1)])])}const Cr=ue(kr,[["render",Vr]]),Br={},Er={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-table-icon lucide-table"};function Nr(t,a){return e.openBlock(),e.createElementBlock("svg",Er,[...a[0]||(a[0]=[e.createElementVNode("path",{d:"M12 3v18"},null,-1),e.createElementVNode("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"},null,-1),e.createElementVNode("path",{d:"M3 9h18"},null,-1),e.createElementVNode("path",{d:"M3 15h18"},null,-1)])])}const Sr=ue(Br,[["render",Nr]]),_r={class:"absolute inset-x-0 top-[12px] z-40 px-[12px] pointer-events-none"},Mr={class:"flex flex-wrap gap-2"},Dr=["disabled"],zr=e.defineComponent({__name:"MobileOverlayActions",props:{activeModal:{},filtersDisabled:{type:Boolean}},emits:["openSearch","openFilters","openTable"],setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",_r,[e.createElementVNode("div",Mr,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["pointer-events-auto py-2 px-3 h-[44px] inline-flex items-center gap-x-2 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100",{"bg-stone-50":t.activeModal==="search"}]),onClick:o[0]||(o[0]=r=>a.$emit("openSearch"))},[e.createVNode(Cr)],2),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["pointer-events-auto py-2 px-3 h-[44px] inline-flex items-center gap-x-2 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100",{"bg-stone-50":t.activeModal==="filters"}]),disabled:t.filtersDisabled,onClick:o[1]||(o[1]=r=>a.$emit("openFilters"))},[e.createVNode(xr,{"stroke-width":1,class:"text-gray-900"}),o[3]||(o[3]=e.createElementVNode("span",{class:"font-medium"},"Фільтри",-1))],10,Dr),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["pointer-events-auto py-2 px-3 h-[44px] inline-flex items-center gap-x-2 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100",{"bg-stone-50":t.activeModal==="table"}]),onClick:o[2]||(o[2]=r=>a.$emit("openTable"))},[e.createVNode(Sr,{"stroke-width":1,class:"text-gray-900"}),o[4]||(o[4]=e.createElementVNode("span",{class:"font-medium"},"Таблиця",-1))],2)])]))}}),$r={key:0,class:"relative w-full h-full vs-mobile-parts-map"},Lr={class:"flex flex-col min-h-0 gap-4"},Pr={class:"flex flex-col min-h-0 flex-1"},Fr={key:1,class:"wrapperTable flex flex-col min-h-0"},Ar={key:1,class:"text-center py-8"},jr={key:2,class:"mt-4 pt-4 border-t border-stone-200 shrink-0"},Tr={class:"flex flex-col flex-1 min-h-0 overflow-hidden"},Or={id:"active-filters"},Rr={class:"flex-1 min-h-0"},vr={key:1,class:"text-sm text-stone-500"},Zr={class:"wrapperTable flex flex-col min-h-0"},Ir={key:1,class:"text-center py-12"},Ur={key:0,class:"mt-4 pt-4 border-t border-stone-200"},Kr=["onClick"],Hr={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},Wr={class:"flex items-center"},qr=["title"],Gr={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},Yr={class:"flex"},Qr={key:0,class:"flex items-center py-[15px] pb-[24px] pl-2 pr-6 gap-4"},Xr={class:"font-bold text-2xl mr-[10px]"},Jr={class:"text-sm text-stone-500 font-medium"},ei={key:0,class:"inline-flex items-center gap-2 text-sm text-stone-700 select-none ml-auto mt-auto"},ti={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},li={key:1,class:"text-center py-28"},oi={key:1},ni={key:2,class:"my-5 pr-2"},ai={class:"flex justify-between"},ri={class:"w-full lg:w-1/2 relative"},ii={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},dt="(max-width: 999px)",Me="0px",Oe=e.defineComponent({__name:"vs-parts-map",props:{title:{},table:{},map:{},rows:{},zoom:{},minZoom:{default:3},maxZoom:{default:18},center:{},initTotal:{},colorAttr:{},id:{},filters:{},history:{type:Boolean},layers:{},objectsInView:{type:Boolean,default:!0},clusterZoom:{default:12},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{},polygonFitBbox:{type:Boolean},alwaysShowPolygon:{type:Boolean},mobileFilterView:{},mobileFilterLimit:{}},emits:["change:filter","update:map"],setup(t,{emit:a}){var Be,pt,ft,ut,gt,ht,yt;const o=e.getCurrentInstance();o&&!(o!=null&&o.appContext.directives.tooltip)&&(o.appContext.directives.tooltip=ct);function r(N){return N?(N.type==="Point"?N.coordinates:null)||(N.type.includes("Multi")?N.coordinates[0][0][0]:N.coordinates[0][0]):null}function l(N){switch(N==null?void 0:N.type){case"Polygon":return N.coordinates[0];case"MultiPolygon":return N.coordinates.flatMap(S=>S[0]);case"LineString":return N.coordinates;case"MultiLineString":return N.coordinates.flat();default:return[]}}function i(N){if(!N||N.type==="Point"||N.type==="MultiPoint")return null;const S=l(N);if(!S.length)return null;let H=1/0,T=1/0,re=-1/0,Q=-1/0;return S.forEach(([U,ie])=>{U<H&&(H=U),ie<T&&(T=ie),U>re&&(re=U),ie>Q&&(Q=ie)}),[[H,T],[re,Q]]}function h(N){return(N==null?void 0:N.type)==="Polygon"||(N==null?void 0:N.type)==="MultiPolygon"}const n=t,m=e.useSlots(),g=e.computed(()=>n.mobileFilterView??"vertical"),f=e.computed(()=>n.mobileFilterLimit!==void 0?{limit:n.mobileFilterLimit}:{}),u=a,y=e.ref(0);y.value=n.initTotal??((Be=n.rows)==null?void 0:Be.length)??0;const w=e.ref(""),p=e.ref(null),k=e.ref(!0),V=e.ref(((pt=n.rows)==null?void 0:pt.length)===1),d=e.ref(!1);let c=null;const E=e.ref(!1);typeof window<"u"&&(c=window.matchMedia(dt),E.value=c.matches,d.value=!0);const $=e.ref(n.rows),z=e.ref(1),b=e.ref(20),C=e.ref(n.filters||[]),M=e.ref(""),P=e.ref({}),s=e.ref(((ft=n.rows)==null?void 0:ft.length)===1?n.rows[0]:{}),B=e.ref(((ut=n.rows)==null?void 0:ut.length)===1?n.rows[0].id:""),x=e.ref(((gt=n.rows)==null?void 0:gt.length)===1?r((ht=n.rows[0])==null?void 0:ht.geom):n.center||null),L=e.ref(((yt=n.rows)==null?void 0:yt.length)===1?14:n.zoom||5),F=e.ref(!1),O=e.ref(!1),_=e.ref("");let R=!1;const Z=e.ref(null),G=e.ref(!1);function oe(){if(!c)return;const N=E.value;E.value=c.matches,N!==E.value&&(Z.value=null,e.nextTick(()=>{var S,H;(H=(S=p.value)==null?void 0:S.resize)==null||H.call(S)}))}const ne=e.ref(null),te=e.ref(null),Ve=e.computed(()=>{var N;return V.value&&!((N=s.value)!=null&&N.geom)}),ge=e.computed({get:()=>Ve.value?"":B.value,set:N=>{B.value=N,E.value&&(N?(G.value=!0,Z.value="details"):Z.value==="details"&&(Z.value=null))}});function Ce(){var Q,U,ie;if(n.alwaysShowPolygon){ne.value=null,te.value=null;return}if(!n.polygonFitBbox||!p.value||!((Q=s.value)!=null&&Q.geom)){ne.value=null,te.value=null;return}const{geom:N}=s.value;if(!h(N)){ne.value=null,te.value=null;return}const S=i(N);if(!S){ne.value=null,te.value=null;return}const H=(ie=(U=p.value).cameraForBounds)==null?void 0:ie.call(U,S,{padding:20,maxZoom:16}),T=H==null?void 0:H.zoom,re=n.clusterZoom??12;if(T!=null&&T<re){const bt=Math.floor(T);ne.value=bt,te.value=bt}else ne.value=null,te.value=null}function he(N){return Object.entries(N).filter(([,S])=>Array.isArray(S)?S.length:S).map(([S,H])=>`${S}=${H}`).join("|")}function Re(){var T,re,Q,U;if(!p.value||!O.value)return;const N=(re=(T=p.value).getBounds)==null?void 0:re.call(T);if(!N)return;const S=(Q=N.getSouthWest)==null?void 0:Q.call(N),H=(U=N.getNorthEast)==null?void 0:U.call(N);!S||!H||(_.value=`${S.lng} ${S.lat},${H.lng} ${H.lat}`)}async function ee(N=!1){await e.nextTick();const S=he(P.value);M.value=S,O.value?Re():_.value="";try{const H={search:w.value,limit:b.value.toString(),page:z.value.toString(),filter:S,...O.value&&_.value?{bbox:_.value}:{}},T=new URL(`/api/data/${n.table}`,window.location.origin)+(B.value?`/${B.value}`:""),re=new URLSearchParams(H).toString(),Q=await fetch(`${T.toString()}?${re}`).then(U=>U.json());if(B.value){let U;if(Q.rows.length>1?U=Q.rows.find(ie=>ie.id===B.value):[U]=Q.rows,s.value=U,!N&&(U!=null&&U.geom)){const ie=n.polygonFitBbox?i(U.geom):null;ie&&p.value?p.value.fitBounds(ie,{padding:20,maxZoom:16,duration:500}):(x.value=r(U.geom),L.value=14)}Ce(),V.value=!0}else ne.value=null,te.value=null,V.value=!1,F.value||(L.value=n.zoom||5),$.value=Q==null?void 0:Q.rows;F.value=!1,y.value=Q.filtered,Wn({page:z.value,filter:S,id:B.value,filterByView:O.value})}catch(H){console.error(H.message)}}const be=tt(()=>ee(),300),D=tt(()=>ee(!0),400);function j(){!p.value||R||!O.value||(p.value.on("moveend",D),p.value.on("zoomend",D),R=!0)}function v(){!p.value||!R||(p.value.off("moveend",D),p.value.off("zoomend",D),R=!1)}function A(N){b.value=N,z.value=1,ee()}function W(N){z.value=N,ee()}function ae(N){P.value=N.data,z.value=1,B.value?B.value="":ee(),u("change:filter",N)}async function mt(){if(n.filters)return;const S=await(await fetch(`/api/filter/${n.table}`)).json();C.value=S.list}function q(){P.value={},w.value="",ee()}e.onMounted(async()=>{var H,T;c||(c=window.matchMedia(dt)),d.value||(E.value=c.matches,d.value=!0),c.addEventListener("change",oe),E.value&&(k.value=!1);const N=new URLSearchParams(window.location.search);z.value=Number(N.get("page"))||1,b.value=Number(N.get("limit"))||b.value,B.value=N.get("id")||"",V.value=!!B.value,M.value=N.get("filter")||"";const S=N.get("bbox");S!==null?O.value=S!=="0":O.value=!1,(T=(H=N.get("filter"))==null?void 0:H.split("|"))==null||T.forEach(re=>{const[Q,U]=re.split("=");Q&&(P.value[Q]=U!=null&&U.includes(",")?U.split(","):[U])}),mt(),!$.value&&!B.value&&ee()}),e.onBeforeUnmount(()=>{c==null||c.removeEventListener("change",oe),v()});function K(){F.value=!0,V.value=!1,s.value=null,B.value="",ne.value=null,te.value=null}function I(N){Z.value=N}function Y(){Z.value=null}async function J(){var N,S;await e.nextTick(),(S=(N=p.value)==null?void 0:N.resize)==null||S.call(N)}function me(){K(),Y()}function de(N){if(G.value=!0,N!=null&&N.geom){const S=n.polygonFitBbox?i(N.geom):null;S&&p.value?p.value.fitBounds(S,{padding:20,maxZoom:16,duration:500}):(x.value=r(N.geom),L.value=16)}s.value=N,B.value=N.id,Ce(),E.value&&(Z.value="details")}return e.watch(Z,async()=>{var N,S;await e.nextTick(),(S=(N=p.value)==null?void 0:N.resize)==null||S.call(N)}),e.watch(p,N=>{var S;u("update:map",N),N&&O.value&&j(),N&&n.polygonFitBbox&&((S=s.value)!=null&&S.geom)&&Ce()}),e.watch(w,N=>{N||ee()}),e.watch(B,()=>{ee()}),e.watch(O,()=>{O.value?j():v(),ee()}),(N,S)=>{var H;return d.value?(e.openBlock(),e.createElementBlock("section",{key:0,class:e.normalizeClass(E.value?"":"pt-[20px]")},[E.value?(e.openBlock(),e.createElementBlock("div",$r,[e.createVNode(st,{table:n.table,map:p.value,"onUpdate:map":S[0]||(S[0]=T=>p.value=T),zoom:L.value,minZoom:n.minZoom,maxZoom:n.maxZoom,colorAttr:n.colorAttr,filter:M.value,center:x.value,clusterZoom:n.alwaysShowPolygon?0:ne.value??n.clusterZoom,pointZoom:n.alwaysShowPolygon?0:te.value??12,alwaysShowPolygon:n.alwaysShowPolygon,modelValue:ge.value,"onUpdate:modelValue":S[1]||(S[1]=T=>ge.value=T),layers:n.layers,isCollapsible:n.isCollapsible,legendTitle:n.legendTitle,legendWidth:n.legendWidth,"show-popup":!1,"mobile-peek-controls":!0},{default:e.withCtx(({hoverData:T})=>[e.renderSlot(N.$slots,"popup",{data:T})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","pointZoom","alwaysShowPolygon","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.createVNode(zr,{"active-modal":Z.value,"filters-disabled":!C.value.length,onOpenSearch:S[2]||(S[2]=T=>I("search")),onOpenFilters:S[3]||(S[3]=T=>I("filters")),onOpenTable:S[4]||(S[4]=T=>I("table"))},null,8,["active-modal","filters-disabled"]),e.createVNode(ke,{open:Z.value==="search",title:"Пошук","top-offset":Me,"initial-variant":"full","peek-mode":"clip-full",onClose:Y,onExpand:J,onCollapse:J},{default:e.withCtx(()=>[e.createElementVNode("div",Lr,[e.createVNode(e.unref(se),{type:"text",modelValue:w.value,"onUpdate:modelValue":S[5]||(S[5]=T=>w.value=T),name:"search",label:"Пошук",onChange:e.unref(be)},null,8,["modelValue","onChange"]),e.createElementVNode("div",Pr,[e.unref(m)["mobile-search-results"]?e.renderSlot(N.$slots,"mobile-search-results",{key:0,rows:$.value,selectRow:de,closeModal:Y}):(e.openBlock(),e.createElementBlock("div",Fr,[y.value>=1?e.renderSlot(N.$slots,"table",{key:0,rows:$.value,selectRow:de,isMapVisible:!1}):(e.openBlock(),e.createElementBlock("div",Ar,[e.createVNode(Te),S[19]||(S[19]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),S[20]||(S[20]=e.createElementVNode("p",{class:"font-normal text-sm text-gray-500 rounded-xl"}," Введіть, будь ласка, інші значення для пошуку. ",-1)),e.createElementVNode("button",{type:"button",class:"mt-[10px] py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs rounded-lg border border-stone-200 bg-white text-stone-800 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100",onClick:q}," Очистити дані пошуку ")]))])),y.value>=1?(e.openBlock(),e.createElementBlock("div",jr,[e.createVNode(je,{total:y.value,currentPage:z.value??1,pageSize:b.value,onPageChange:S[6]||(S[6]=T=>W(T)),onPageSizeChange:S[7]||(S[7]=T=>A(T))},null,8,["total","currentPage","pageSize"])])):e.createCommentVNode("",!0)])])]),_:3},8,["open"]),e.createVNode(ke,{open:Z.value==="filters",title:"Фільтри","top-offset":Me,"initial-variant":"full","peek-mode":"clip-full",onClose:Y,onExpand:J,onCollapse:J},{default:e.withCtx(()=>[e.createElementVNode("div",Tr,[e.withDirectives(e.createElementVNode("div",Or,null,512),[[e.vShow,Z.value==="filters"]]),e.createElementVNode("div",Rr,[C.value.length?(e.openBlock(),e.createBlock(e.unref(_e),e.mergeProps({key:0,schema:C.value,view:g.value},f.value,{value:P.value,teleportActive:"#active-filters",onChange:ae}),null,16,["schema","view","value"])):(e.openBlock(),e.createElementBlock("p",vr,"Фільтри недоступні для цього переліку."))])])]),_:1},8,["open"]),e.createVNode(ke,{open:Z.value==="table",title:"Таблиця","top-offset":Me,"initial-variant":"full","peek-mode":"clip-full",onClose:Y,onExpand:J,onCollapse:J},{default:e.withCtx(()=>[e.createElementVNode("div",Zr,[y.value>=1?e.renderSlot(N.$slots,"table",{key:0,rows:$.value,selectRow:de,isMapVisible:!1}):(e.openBlock(),e.createElementBlock("div",Ir,[e.createVNode(Te),S[21]||(S[21]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),S[22]||(S[22]=e.createElementVNode("p",{class:"font-normal text-sm text-gray-500 rounded-xl"}," Введіть, будь ласка, інші значення для пошуку. ",-1)),e.createElementVNode("button",{type:"button",class:"mt-[10px] py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs rounded-lg border border-stone-200 bg-white text-stone-800 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100",onClick:q}," Очистити дані пошуку ")]))]),y.value>=1?(e.openBlock(),e.createElementBlock("div",Ur,[e.createVNode(je,{total:y.value,currentPage:z.value??1,pageSize:b.value,onPageChange:S[8]||(S[8]=T=>W(T)),onPageSizeChange:S[9]||(S[9]=T=>A(T))},null,8,["total","currentPage","pageSize"])])):e.createCommentVNode("",!0)]),_:3},8,["open"]),e.createVNode(ke,{open:Z.value==="details",title:"Об'єкт","top-offset":Me,"initial-variant":G.value?"peek":"full","peek-mode":"custom",onClose:me,onExpand:J,onCollapse:J},{peek:e.withCtx(({expand:T})=>[e.unref(m)["mobile-details-peek"]?e.renderSlot(N.$slots,"mobile-details-peek",{key:0,selectedRow:s.value,expand:T,close:me}):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"w-full text-left text-base font-semibold text-gray-900 py-2 rounded-lg hover:bg-stone-50",onClick:T}," Деталі об'єкта ",8,Kr))]),default:e.withCtx(()=>[e.renderSlot(N.$slots,"details",{table:n.table,selectedRow:s.value,closeObjCard:me})]),_:3},8,["open","initial-variant"]),e.renderSlot(N.$slots,"default",{table:n.table,map:p.value,selectedRow:s.value})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(N.$slots,"header",{title:n.title,total:y.value}),e.createElementVNode("div",Hr,[e.createVNode(e.unref(se),{type:"text",modelValue:w.value,"onUpdate:modelValue":S[10]||(S[10]=T=>w.value=T),name:"search",label:"Пошук",onChange:e.unref(be)},null,8,["modelValue","onChange"]),C.value.length?(e.openBlock(),e.createBlock(e.unref(_e),{key:0,schema:C.value,view:"inline",onChange:ae,limit:5,value:P.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",Wr,[e.createElementVNode("button",{type:"button",class:"map-visible-button py-2 px-2 hidden min-[1001px]:inline-flex items-center gap-x-1.5 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100",title:k.value?"Приховати карту":"Показати карту",onClick:S[11]||(S[11]=T=>k.value=!k.value)},[k.value?(e.openBlock(),e.createBlock(ma,{key:0})):(e.openBlock(),e.createBlock(ga,{key:1})),S[23]||(S[23]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,qr),e.createElementVNode("div",Gr,[e.createElementVNode("button",{onClick:S[12]||(S[12]=T=>k.value=!1),class:"py-2 px-2 h-[38px] inline-flex items-center gap-x-1.5 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100"},[e.createVNode(Ca)]),e.createElementVNode("button",{onClick:S[13]||(S[13]=T=>k.value=!0),class:"py-2 px-2 h-[38px] inline-flex items-center gap-x-1.5 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100"},[e.createVNode(xa)])])])]),e.createElementVNode("div",Yr,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",k.value?"w-2/4 mr-0":"w-full mr-3",V.value?"hidden":""])},[(H=N.$slots)!=null&&H.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Qr,[e.createElementVNode("div",null,[e.createElementVNode("span",Xr,e.toDisplayString(n.title),1),e.createElementVNode("span",Jr,e.toDisplayString(y.value),1),S[24]||(S[24]=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1))]),n.objectsInView?(e.openBlock(),e.createElementBlock("label",ei,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"accent-blue-600 w-4 h-4","onUpdate:modelValue":S[14]||(S[14]=T=>O.value=T)},null,512),[[e.vModelCheckbox,O.value]]),S[25]||(S[25]=e.createElementVNode("span",null,"В межах видимої області",-1))])):e.createCommentVNode("",!0)])),e.createElementVNode("div",ti,[y.value>=1?e.renderSlot(N.$slots,"table",{key:0,rows:$.value,selectRow:de}):(e.openBlock(),e.createElementBlock("div",li,[e.createVNode(Te),S[26]||(S[26]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),S[27]||(S[27]=e.createElementVNode("p",{class:"font-normal text-sm text-gray-500 rounded-xl"}," Введіть, будь ласка, інші значення для пошуку. ",-1)),e.createElementVNode("button",{type:"button",class:"mt-[10px] py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs rounded-lg border border-stone-200 bg-white text-stone-800 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100",onClick:q}," Очистити дані пошуку ")]))]),y.value>=1?(e.openBlock(),e.createElementBlock("hr",oi)):e.createCommentVNode("",!0),y.value>=1?(e.openBlock(),e.createElementBlock("div",ni,[e.createElementVNode("div",ai,[e.createVNode(je,{total:y.value,currentPage:z.value??1,pageSize:b.value,onPageChange:S[15]||(S[15]=T=>W(T)),onPageSizeChange:S[16]||(S[16]=T=>A(T))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),V.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(k.value?"lg:static lg:w-1/2 mr-0 pb-5":"pb-5 mr-3"),style:{height:"calc(100vh - 152px)"}},[e.renderSlot(N.$slots,"details",{table:n.table,selectedRow:s.value,closeObjCard:K})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",ri,[e.createVNode(st,{table:n.table,map:p.value,"onUpdate:map":S[17]||(S[17]=T=>p.value=T),zoom:L.value,minZoom:n.minZoom,maxZoom:n.maxZoom,colorAttr:n.colorAttr,filter:M.value,center:x.value,clusterZoom:n.alwaysShowPolygon?0:ne.value??n.clusterZoom,pointZoom:n.alwaysShowPolygon?0:te.value??12,alwaysShowPolygon:n.alwaysShowPolygon,modelValue:ge.value,"onUpdate:modelValue":S[18]||(S[18]=T=>ge.value=T),layers:n.layers,isCollapsible:n.isCollapsible,legendTitle:n.legendTitle,legendWidth:n.legendWidth,"show-popup":!0},{default:e.withCtx(({hoverData:T})=>[e.renderSlot(N.$slots,"popup",{data:T})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","pointZoom","alwaysShowPolygon","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.renderSlot(N.$slots,"default",{table:n.table,map:p.value,selectedRow:s.value}),Ve.value?(e.openBlock(),e.createElementBlock("div",ii,[...S[28]||(S[28]=[e.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="text-white/80"><path d="M12.75 7.09a3 3 0 0 1 2.16 2.16"></path><path d="M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568"></path><path d="m2 2 20 20"></path><path d="M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533"></path><path d="M9.13 9.13a3 3 0 0 0 3.74 3.74"></path></svg><p class="mt-4 text-base font-[300] text-white">Геопросторові дані відсутні</p><p class="mt-2 max-w-xs text-center text-sm font-[200] text-white/70 leading-relaxed"> Координати або межі об&#39;єкта не внесені до системи. Об&#39;єкт відображається лише у текстовому форматі. </p>',3)])])):e.createCommentVNode("",!0)],512),[[e.vShow,k.value]])])],64))],2)):e.createCommentVNode("",!0)}}});return Oe.install=t=>{t.component("VsPartsMap",Oe),t._context.directives.tooltip||t.directive("tooltip",ct)},Oe});