@opengis/partsmap 0.1.29 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -84
- package/dist/index.js +2819 -2909
- package/dist/index.umd.cjs +2 -2
- package/dist/style.css +1 -1
- package/package.json +49 -49
package/dist/index.umd.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(e,fe){typeof exports=="object"&&typeof module<"u"?module.exports=fe(require("vue")):typeof define=="function"&&define.amd?define(["vue"],fe):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=fe(e.Vue))})(this,function(e){"use strict";const fe=(t,r)=>{const o=t.__vccOpts||t;for(const[n,l]of r)o[n]=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:r}=t;r===13&&(this.modelState=!this.modelState)},addKeyHandler(){window.addEventListener("keydown",this.handleEnterDown)},removeKeyHandler(){window.removeEventListener("keydown",this.handleEnterDown)}}});const yt={},xt={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 bt(t,r){return e.openBlock(),e.createElementBlock("svg",xt,r[0]||(r[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 kt=fe(yt,[["render",bt]]),wt={},Vt={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 Ct(t,r){return e.openBlock(),e.createElementBlock("svg",Vt,r[0]||(r[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 Bt=fe(wt,[["render",Ct]]),Et={},Nt={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(t,r){return e.openBlock(),e.createElementBlock("svg",Nt,r[0]||(r[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 _t=fe(Et,[["render",St]]),Mt={},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 zt(t,r){return e.openBlock(),e.createElementBlock("svg",Dt,r[0]||(r[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const jt=fe(Mt,[["render",zt]]),$t={class:"rounded-md border border-gray-300 bg-white p-4 shadow-sm"},Pt={class:"flex items-start gap-4 opacity-100 scale-5 transition-all duration-300"},Ft={class:"flex-1"},Lt={class:"font-medium text-gray-900"},At={class:"mt-0.5 text-sm text-gray-700"},Tt=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(t){const r={success:kt,warning:Bt,error:jt,info:_t};return(o,n)=>(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("div",Pt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r[o.type]))),e.createElementVNode("div",Ft,[e.createElementVNode("strong",Lt,e.toDisplayString(o.title),1),e.createElementVNode("p",At,e.toDisplayString(o.message),1)]),n[0]||(n[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 De={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"},Ce=t=>{var g;const{type:r="info",title:o,message:n,position:l="right-bottom"}=t||{};let s=document.querySelector("#notify-root");s||(s=document.createElement("div"),s.id="notify-root",s.className=`fixed z-[2000] flex flex-col gap-3 ${De[l]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(s)),s.className.includes(De[l])||(Object.values(De).forEach(x=>{s.classList.remove(...x.split(" "))}),s.classList.add(...De[l].split(" ")));const m=document.createElement("div");s.appendChild(m);const a=e.createApp({render(){return e.h(Tt,{type:r,title:o,message:n,onClose:()=>{a.unmount(),m.remove()}})}});a.mount(m),(g=m.querySelector("button"))==null||g.addEventListener("click",()=>{m.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{a.unmount(),m.remove()},350)}),setTimeout(()=>{m.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{a.unmount(),m.remove()},350)},3500)},ce=(t,r)=>{const o=t.__vccOpts||t;for(const[n,l]of r)o[n]=l;return o},Rt={},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 Ot(t,r){return e.openBlock(),e.createElementBlock("svg",Zt,[...r[0]||(r[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=ce(Rt,[["render",Ot]]),vt={},Ut={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function It(t,r){return e.openBlock(),e.createElementBlock("svg",Ut,[...r[0]||(r[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const ue=ce(vt,[["render",It]]),Ht={class:"flex items-center cursor-pointer w-full"},Wt={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},qt=["value"],Gt={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Yt={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Qt={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},Fe=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(t,{expose:r,emit:o}){const n=t,l=o;function s(){l("itemClick",n.value)}const m=e.ref(null),a=e.computed(()=>n.layout==="inline"&&n.type==="radio"),g=e.computed(()=>n.layout==="vertical"?"text-[13px]":"text-sm");return r({el:m}),(x,c)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:m},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between w-full",g.value])},[e.createElementVNode("div",Ht,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(t.layout)?"text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-gray-500 cursor-pointer",{"bg-blue-100":t.highlighted,relative:a.value},g.value]),onClick:e.withModifiers(s,["stop","prevent"])},[a.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[t.type==="checkbox"?"rounded-[4px]":"rounded-full",t.color?`bg-[${t.color}] border-[#ffffff]`:t.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[t.isSelected?(e.openBlock(),e.createElementBlock("img",Wt)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:t.value},null,8,qt),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",a.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Gt,e.toDisplayString(t.label??"Відсутні дані"),1),t.count?(e.openBlock(),e.createElementBlock("div",Yt," ("+e.toDisplayString(t.count)+") ",1)):e.createCommentVNode("",!0)],2),a.value&&t.isSelected?(e.openBlock(),e.createElementBlock("span",Qt,[e.createVNode(ue)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function Le(t,r){const{api:o,options:n=[],limit:l=20,dataKey:s="data",data:m}=t,a=s??m??"data";function g(i){return Array.isArray(i)?i[0]:i}const x=e.ref(g(t.modelValue)),c=e.ref(""),h=e.ref(!1),k=e.ref([]),w=e.ref("id"),p=e.ref("text"),V=e.ref(!1),b=e.ref(t.layout!=="popover"&&n.length>l);function d(i){const u=i.find(Boolean)??{},y=["id","value","code","key"].find(L=>L in u)??"id",P=["text","label","name","title"].find(L=>L in u)??"text";return{autoValueKey:y,autoLabelKey:P}}function f(i){if(i.length>0){const y=d(i);w.value=y.autoValueKey,p.value=y.autoLabelKey}const u=[...i].sort((y,P)=>t.sort==="count"?P.count&&y.count?P.count-y.count:0:t.sort==="name"?String(y[p.value]??"").localeCompare(String(P[p.value]??"")):0);k.value=u}n.length>0&&f(n);const $=e.computed(()=>{const i=k.value;return t.layout==="popover"||V.value?i:i.slice(0,l)});async function S(){if(o){h.value=!0;try{const i=new URL(o,window.location.origin);i.searchParams.set("json","1"),i.searchParams.set("limit",l.toString());const u=await fetch(i.toString());if(!u.ok){Ce({type:"error",title:"Error",message:"Failed to fetch remote options"}),k.value=[];return}const y=await u.json();if(!y[a]){Ce({type:"error",title:"Error",message:y}),k.value=[];return}f(y[a])}catch(i){console.error("Failed to fetch remote options:",i)}finally{h.value=!1}}}function _(){o&&k.value.length===0&&S()}e.watch(()=>t.modelValue,i=>{x.value=g(i)},{immediate:!0}),o||f(n);function N(i){return x.value===i[w.value]}function M(i){x.value=i[w.value],r("update:modelValue",x.value),r("change",{name:t.name,value:x.value})}function D(){x.value=void 0,r("update:modelValue",x.value),r("clear",t.name)}function B(){V.value=!V.value}return{innerValue:x,searchTerm:c,filteredOptions:$,isSelected:N,selectItem:M,clear:D,toggleShowAll:B,isReqProc:h,showAll:V,isEnableShowAll:b,labelKey:p,valueKey:w,allOptions:k,loadData:_}}const Xt={},Jt={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function el(t,r){return e.openBlock(),e.createElementBlock("svg",Jt,[...r[0]||(r[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 Ae=ce(Xt,[["render",el]]),tl={},ll={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 ol(t,r){return e.openBlock(),e.createElementBlock("svg",ll,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const ze=ce(tl,[["render",ol]]),nl={},rl={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 al(t,r){return e.openBlock(),e.createElementBlock("svg",rl,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Te=ce(nl,[["render",al]]),il={key:0,class:"w-full"},sl={class:"flex flex-col items-center justify-center p-5 text-center"},cl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},dl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},ml=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:r,emit:o}){const n=t,l=e.ref(null),s=o,{innerValue:m,filteredOptions:a,isSelected:g,selectItem:x,clear:c,toggleShowAll:h,isReqProc:k,showAll:w,isEnableShowAll:p,labelKey:V,valueKey:b,allOptions:d,loadData:f}=Le({...n,modelValue:n.modelValue??n.default??""},s);return e.onMounted(()=>{n.api&&f()}),r({clear:c,inputTextRef:l}),e.watch(()=>n.modelValue,$=>{$===void 0&&(m.value=void 0)}),($,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto 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(a),_=>(e.openBlock(),e.createBlock(Fe,{layout:t.layout,key:_[e.unref(b)],count:_.count,label:_[e.unref(V)],color:_.color,type:"radio",value:_[e.unref(b)],"is-selected":e.unref(g)(_),onItemClick:N=>e.unref(x)(_)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(a).length===0&&!e.unref(k)?(e.openBlock(),e.createElementBlock("div",il,[e.createElementVNode("div",sl,[e.createVNode(Ae),S[4]||(S[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(w)&&e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:S[0]||(S[0]=(..._)=>e.unref(h)&&e.unref(h)(..._)),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"},[S[5]||(S[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(ze)])):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:S[1]||(S[1]=(..._)=>e.unref(h)&&e.unref(h)(..._)),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"},[S[6]||(S[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Te)])):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",cl,[e.createTextVNode(e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(d).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[2]||(S[2]=(..._)=>e.unref(c)&&e.unref(c)(..._))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",dl,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(d).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[3]||(S[3]=(..._)=>e.unref(c)&&e.unref(c)(..._))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function He(t,r){const{api:o,options:n=[],limit:l=20,dataKey:s="data",data:m}=t,a=s??m??"data";function g(i){return Array.isArray(i)?i:i?[i]:[]}const x=e.ref(g(t.modelValue)),c=e.ref(""),h=e.ref(!1),k=e.ref([]),w=e.ref("id"),p=e.ref("text"),V=e.ref(!1),b=e.ref(t.layout!=="popover"&&n.length>l);function d(i){const u=i.find(Boolean)??{},y=["id","value","code","key"].find(L=>L in u)??"id",P=["text","label","name","title"].find(L=>L in u)??"text";return{autoValueKey:y,autoLabelKey:P}}function f(i){if(i.length>0){const y=d(i);w.value=y.autoValueKey,p.value=y.autoLabelKey}const u=[...i].sort((y,P)=>t.sort==="count"?P.count&&y.count?P.count-y.count:0:t.sort==="name"?String(y[p.value]).localeCompare(String(P[p.value])):0);k.value=u}n.length>0&&f(n);const $=e.computed(()=>{const i=k.value;return t.layout==="popover"||V.value?i:i.slice(0,l)});async function S(){if(o){h.value=!0;try{const i=new URL(o,window.location.origin);i.searchParams.set("json","1"),i.searchParams.set("limit",l.toString());const u=await fetch(i.toString());if(!u.ok){Ce({type:"error",title:"Error",message:"Failed to fetch remote options"}),k.value=[];return}const y=await u.json();if(!y[a]){Ce({type:"error",title:"Error",message:y}),k.value=[];return}f(y[a])}catch(i){console.error("Failed to fetch remote options:",i)}finally{h.value=!1}}}function _(){o&&k.value.length===0&&S()}e.watch(()=>t.modelValue,i=>{x.value=g(i)},{immediate:!0}),o||f(n);function N(i){return x.value&&x.value.includes(i[w.value])}function M(i){const u=x.value.includes(i[w.value]);x.value=u?x.value.filter(y=>y!==i[w.value]):[...x.value,i[w.value]],r("update:modelValue",x.value),r("change",{name:t.name,value:x.value})}function D(){x.value=[],r("update:modelValue",x.value),r("clear",t.name)}function B(){V.value=!V.value}return{innerValue:x,searchTerm:c,filteredOptions:$,isSelected:N,selectItem:M,clear:D,toggleShowAll:B,isReqProc:h,showAll:V,isEnableShowAll:b,labelKey:p,valueKey:w,allOptions:k,loadData:_}}const We={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 qe(t){const r=t.split(".")[1],o=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(We[o||navigator.language]||We.uk)[r]}function de(){const t=e.getCurrentInstance();if(!t.appContext.config.globalProperties.$i18n)return qe;const r=t.appContext.config.globalProperties.$t;return o=>{const n=r(o);return n===o?qe(o):n}}const pl={key:0,class:"w-full"},fl={class:"flex flex-col items-center justify-center p-5 text-center"},ul={class:"max-w-sm mx-auto mt-6"},gl={class:"font-medium text-gray-800 dark:text-neutral-200"},hl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},yl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ge=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:r,emit:o}){const n=de(),l=t,s=o,{innerValue:m,filteredOptions:a,isSelected:g,selectItem:x,clear:c,toggleShowAll:h,isReqProc:k,showAll:w,isEnableShowAll:p,labelKey:V,valueKey:b,allOptions:d,loadData:f}=He({...l,modelValue:l.modelValue},s);return e.onMounted(()=>{l.api&&f()}),e.watch(()=>l.modelValue,$=>{$===void 0&&(m.value=[])}),r({clear:c}),($,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto 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(a),_=>(e.openBlock(),e.createBlock(Fe,{layout:t.layout,count:_.count,label:_[e.unref(V)],color:_.color,type:"checkbox",value:_[e.unref(b)],"is-selected":e.unref(g)(_),onItemClick:N=>e.unref(x)(_)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(a).length===0&&!e.unref(k)?(e.openBlock(),e.createElementBlock("div",pl,[e.createElementVNode("div",fl,[e.createVNode(Ae),e.createElementVNode("div",ul,[e.createElementVNode("p",gl,e.toDisplayString(e.unref(n)("filter.notfound")),1),S[4]||(S[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(w)&&e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:S[0]||(S[0]=(..._)=>e.unref(h)&&e.unref(h)(..._)),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(n)("filter.more"))+" ",1),e.createVNode(ze)])):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:S[1]||(S[1]=(..._)=>e.unref(h)&&e.unref(h)(..._)),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(n)("filter.less"))+" ",1),e.createVNode(Te)])):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",hl,[e.createTextVNode(e.toDisplayString(e.unref(m).length)+" / "+e.toDisplayString(e.unref(d).length)+" "+e.toDisplayString(e.unref(n)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[2]||(S[2]=(..._)=>e.unref(c)&&e.unref(c)(..._))},e.toDisplayString(e.unref(n)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",yl,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m).length)+" / "+e.toDisplayString(e.unref(d).length)+" "+e.toDisplayString(e.unref(n)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[3]||(S[3]=(..._)=>e.unref(c)&&e.unref(c)(..._))},e.toDisplayString(e.unref(n)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),xl={},bl={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 kl(t,r){return e.openBlock(),e.createElementBlock("svg",bl,[...r[0]||(r[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 Ye=ce(xl,[["render",kl]]),wl={},Vl={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 Cl(t,r){return e.openBlock(),e.createElementBlock("svg",Vl,[...r[0]||(r[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 Re=ce(wl,[["render",Cl]]);class Qe{static getWidthClass(r){return typeof r=="number"?`max-w-[${r}px] min-w-[${r}px]`:typeof r=="string"?r.endsWith("%")||r.endsWith("px")?`max-w-[${r}]`:`max-w-${r}`:"w-full"}}const Bl={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},El=["placeholder"],Nl=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:r}){var x;const o=t,n=e.ref((o.placeholder||o.label||o.title||o.name||"search").toString()),l=r,s=e.ref(((x=o.modelValue)==null?void 0:x.toString())??"");e.watch(()=>o.modelValue,c=>{c!==s.value&&(s.value=(c==null?void 0:c.toString())??"")});let m=null;function a(){if(s.value=s.value.trimStart(),s.value.length===0){g();return}m&&clearTimeout(m),m=setTimeout(()=>{l("update:modelValue",s.value),l("change",{name:o.name,value:s.value})},300)}function g(){s.value="",l("update:modelValue",""),l("clear",o.name)}return(c,h)=>(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",Bl,[e.createVNode(Ye)]),s.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(Re)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":h[0]||(h[0]=k=>s.value=k),onInput:a,placeholder:n.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,El),[[e.vModelText,s.value]])],2))}});function Xe(t={color:"blue"}){return e.computed(()=>{const r=`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"?`${r}h-[32px]`:`${r}h-[38px]`})}function Sl(){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 _l(){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 Je(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 Ml={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Dl=["placeholder","disabled"],zl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},jl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},$l=["placeholder","disabled"],Pl=["disabled"],Fl=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:r,emit:o}){const n=Xe(),l=Sl(),s=de(),m=t,a=e.ref(m.modelValue??m.default??[]),g=o,x=e.computed({get:()=>m.modelValue??a.value,set:k=>{m.modelValue!==void 0?g("update:modelValue",k):a.value=k}});function c(){g("change",{name:m.name,value:x.value||a.value})}function h(){a.value=[],x.value=a.value,g("clear",m.name)}return e.watch(()=>m.modelValue,k=>{k!==void 0&&m.layout!=="popover"?(a.value=k,g("update:modelValue",k)):a.value=[]}),r({clear:h,currentValue:x}),(k,w)=>{var p,V;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",Ml,e.toDisplayString(e.unref(s)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(n)),placeholder:((p=t.placeholder)==null?void 0:p[0])??e.unref(s)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":w[0]||(w[0]=b=>x.value[0]=b),disabled:t.disabled},null,10,Dl),[[e.vModelText,x.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",zl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",jl,e.toDisplayString(e.unref(s)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(n)),placeholder:((V=t.placeholder)==null?void 0:V[1])??e.unref(s)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":w[1]||(w[1]=b=>x.value[1]=b),disabled:t.disabled},null,10,$l),[[e.vModelText,x.value[1]]])]),["popover","inline","vertical"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:c,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(s)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(x.value[0]||x.value[1]),onClick:h,class:e.normalizeClass(e.unref(l)+" hover:bg-gray-100")},e.toDisplayString(e.unref(s)("filter.clear")),11,Pl)):e.createCommentVNode("",!0)],2)]),(t.cleanable&&a.value.length,e.createCommentVNode("",!0))],64)}}});class J{static format(r){const o=r.getFullYear(),n=(r.getMonth()+1).toString().padStart(2,"0"),l=r.getDate().toString().padStart(2,"0");return`${o}-${n}-${l}`}static getShiftedDay(r,o=0){const n=r?new Date(r):new Date;return n.setDate(n.getDate()+o),this.format(n)}static getLastWeekRange(r,o,n=0){if(r&&o){const x=new Date(r),c=new Date(o);return x.setDate(x.getDate()+n*7),c.setDate(c.getDate()+n*7),[this.format(x),this.format(c)]}const l=new Date,s=l.getDay(),m=s===0?13:s-1+7,a=new Date(l);a.setDate(l.getDate()-m+n*7);const g=new Date(a);return g.setDate(a.getDate()+6),[this.format(a),this.format(g)]}static getMonthRange(r,o,n=0){let l;r?l=new Date(r):l=new Date,l=new Date(l.getFullYear(),l.getMonth()+n,1);const s=l,m=new Date(l.getFullYear(),l.getMonth()+1,0);return[this.format(s),this.format(m)]}static getQuarterRange(r,o,n=0){const l=r||o,s=l?new Date(l):new Date;let m=Math.floor(s.getMonth()/3);m+=n;const a=(m%4+4)%4*3,g=s.getFullYear()+Math.floor(m/4),x=new Date(g,a,1),c=new Date(g,a+3,0);return[this.format(x),this.format(c)]}static getYear(r,o=0){let n;return r&&/^\d{4}$/.test(r)?n=parseInt(r,10):r?n=new Date(r).getFullYear():n=new Date().getFullYear(),String(n+o)}static getYearRange(r,o=0){let n;return r&&/^\d{4}$/.test(r)?n=parseInt(r,10):r?n=new Date(r).getFullYear():n=new Date().getFullYear(),[this.format(new Date(n+o,0,1)),this.format(new Date(n+o+1,0,0))]}static getRangeFromDaysBefore(r){const o=new Date,n=new Date(o.getTime());return n.setDate(o.getDate()-r),[this.format(n),this.format(o)]}}function et(t,r){const{popoverRef:o}=t,n=de(),l=e.ref(""),s=e.ref(t.modelValue??t.default??[]),m=e.ref(0);function a(){const d=J.getRangeFromDaysBefore(m.value);return s.value=[...d],r("change",{name:t.name,value:s.value}),r("update:modelValue",s.value),d}function g(d){var $;l.value=d,($=o.value)==null||$.close();const f=[];switch(l.value){case"today":f.push(J.getShiftedDay()),f.push(J.getShiftedDay());break;case"week":f.push(...J.getLastWeekRange());break;case"month":f.push(...J.getMonthRange());break;case"quarter":f.push(...J.getQuarterRange());break;case"year":f.push(...J.getYearRange());break;case"last_7_days":m.value=7,a();break;case"range":m.value=7,f.push(...a());break}s.value=[...f],r("change",{name:t.name,value:s.value}),r("update:modelValue",s.value)}function x(){const d=[];switch(l.value){case"today":d.push(J.getShiftedDay(s.value[0],1));break;case"week":d.push(...J.getLastWeekRange(s.value[0],s.value[1],1));break;case"month":d.push(...J.getMonthRange(s.value[0],s.value[1],1));break;case"quarter":d.push(...J.getQuarterRange(s.value[0],s.value[1],1));break;case"year":d.push(...J.getYearRange(s.value[0],1));break}s.value=[...d],r("change",{name:t.name,value:s.value}),r("update:modelValue",s.value)}function c(){const d=[];switch(l.value){case"today":d.push(J.getShiftedDay(s.value[0],-1));break;case"week":d.push(...J.getLastWeekRange(s.value[0],s.value[1],-1));break;case"month":d.push(...J.getMonthRange(s.value[0],s.value[1],-1));break;case"quarter":d.push(...J.getQuarterRange(s.value[0],s.value[1],-1));break;case"year":d.push(...J.getYearRange(s.value[0],-1));break}s.value=[...d],r("change",{name:t.name,value:s.value}),r("update:modelValue",s.value)}const h=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function k(d){const[f,$,S]=d.split("-");return`${S}.${$}.${f}`}function w(d,f="long"){const $=new Date(Date.UTC(2e3,d-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:f,timeZone:"UTC"}).format($)}function p(d){const{value:f}=s;switch(d){case"today":return k(f[0]);case"range":return"Період";case"week":return f[0]&&f[1]?`${k(f[0])} – ${k(f[1])}`:"";case"quarter":if(f[0]){const $=new Date(f[0]),S=$.getFullYear(),_=$.getMonth();return`${Math.floor(_/3)+1} ${n("filter.quarter")} ${S}`}return"";case"month":if(f[0]){const[$,S]=f[0].split("-");return`${w(parseInt(S,10))} ${$}`}return"";case"year":return f[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const V=e.computed(()=>l.value?p(l.value):t.label??"");function b(){l.value="",s.value=[],r("update:modelValue",[]),r("clear",t.name)}return{activeMode:l,innerValue:s,daysBefore:m,onDaysBeforeChange:a,onSelectChange:g,nextClick:x,prevClick:c,ukMonths:h,formatDisplayDate:k,getModeLabel:p,currentLabel:V,clear:b}}const Ll={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},Al={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},Tl=["max","disabled"],Rl=["min","disabled"],Zl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ol=["max","disabled"],Kl={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"},Ul=["min","disabled"],Il={class:"flex gap-1 pt-2"},Hl=["title","onClick"],Wl=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:r,emit:o}){const n=t,l=Xe(),s=_l(),m=de(),a=o,g=e.ref(null),{activeMode:x,innerValue:c,onSelectChange:h,nextClick:k,prevClick:w,clear:p}=et({...n,popoverRef:g},a);e.watch(()=>n.modelValue,$=>{$!==void 0?(c.value=$,a("update:modelValue",$)):(x.value="",c.value=[])}),e.watch(c,$=>{a("update:modelValue",$),a("change",{name:n.name,value:$})},{deep:!0});const V=["today","week","month","quarter","year"],b={today:{label:"день",title:m("filter.today")},week:{label:"тиж.",title:m("filter.week")},month:{label:"міс.",title:m("filter.month")},quarter:{label:"кв.",title:m("filter.quarter")},year:{label:"рік",title:m("filter.year")}};function d($){var S;return((S=b[$])==null?void 0:S.label)??m(`filter.${$}`)}function f($){var S;return((S=b[$])==null?void 0:S.title)??m(`filter.${$}`)}return r({clear:p,popoverRef:g}),($,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ll,[e.unref(x)!==""&&e.unref(x)==="range"?(e.openBlock(),e.createElementBlock("div",Al,[S[7]||(S[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA","onUpdate:modelValue":S[0]||(S[0]=_=>e.unref(c)[0]=_),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,Tl),[[e.vModelText,e.unref(c)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA","onUpdate:modelValue":S[1]||(S[1]=_=>e.unref(c)[1]=_),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,Rl),[[e.vModelText,e.unref(c)[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",Zl,e.toDisplayString(e.unref(m)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA","onUpdate:modelValue":S[2]||(S[2]=_=>e.unref(c)[0]=_),class:e.normalizeClass(e.unref(l)),disabled:t.disabled},null,10,Ol),[[e.vModelText,e.unref(c)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",Kl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",vl,e.toDisplayString(e.unref(m)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA","onUpdate:modelValue":S[3]||(S[3]=_=>e.unref(c)[1]=_),class:e.normalizeClass(e.unref(l)),disabled:t.disabled},null,10,Ul),[[e.vModelText,e.unref(c)[1]]])],2)],2),e.createElementVNode("div",Il,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(V,_=>e.createElementVNode("button",{key:_,class:e.normalizeClass(e.unref(s)+(e.unref(x)===_?" bg-blue-100":"")),title:f(_),onClick:N=>e.unref(h)(_)},e.toDisplayString(d(_)),11,Hl)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(s)),onClick:S[4]||(S[4]=(..._)=>e.unref(w)&&e.unref(w)(..._))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(s)),onClick:S[5]||(S[5]=(..._)=>e.unref(k)&&e.unref(k)(..._))},">",2)]),(t.cleanable,e.createCommentVNode("",!0))],64))}});function ql(t,r){const{api:o,options:n=[],limit:l=20,dataKey:s="data",data:m}=t,a=s??m??"data",g=t.multi;function x(j){return g?Array.isArray(j)?j:j?[j]:[]:Array.isArray(j)?j[0]:j}const c=e.ref(x(t.modelValue)),h=e.ref(""),k=e.ref(!1),w=e.ref(n),p=e.ref("id"),V=e.ref("text"),b=e.ref(!1),d=e.ref(t.layout!=="popover"&&n.length>l),f=e.ref([]),$=e.ref(0);function S(j){const R=j.find(Boolean)??{},G=["id","value","code","key"].find(oe=>oe in R)??"id",v=["text","label","name","title"].find(oe=>oe in R)??"text";return{autoValueKey:G,autoLabelKey:v}}if(n.length>0){const j=S(n);p.value=j.autoValueKey,V.value=j.autoLabelKey}const _=e.computed(()=>{if(o)return w.value;const j=w.value;if(t.layout==="popover")return j;if(!h.value)return b.value?j:j.slice(0,l);const R=h.value.toLowerCase();return j.filter(G=>G[V.value].toLowerCase().includes(R))});let N=null;async function M(j){if(o){k.value=!0;try{const R=new URL(o,window.location.origin);R.searchParams.set("json","1"),R.searchParams.set("key",j),R.searchParams.set("limit",l.toString());const G=await fetch(R.toString());if(!G.ok){Ce({type:"error",title:"Error",message:"Failed to fetch remote options"}),w.value=[];return}const v=await G.json();if(!v[a]){Ce({type:"error",title:"Error",message:v}),w.value=[];return}if(w.value=v[a],w.value.length>0){const oe=S(w.value);p.value=oe.autoValueKey,V.value=oe.autoLabelKey}$.value=v.total}catch(R){console.error("Failed to fetch remote options:",R)}finally{k.value=!1}}}e.watch(h,j=>{o&&(N&&clearTimeout(N),N=setTimeout(()=>{M(j)},200))}),e.watch(()=>t.modelValue,j=>{c.value=x(j)},{immediate:!0}),e.watch(c,j=>{g?(!Array.isArray(j)||j.length===0)&&(f.value=[]):(j==null||typeof j=="string"&&j==="")&&(f.value=[])});function D(j){return g&&Array.isArray(c.value)?c.value.includes(j[p.value]):c.value&&c.value===j[p.value]}function B(j){if(g&&!Array.isArray(c.value)&&(c.value=[]),g&&Array.isArray(c.value)){const R=c.value.includes(j[p.value]);c.value=R?c.value.filter(G=>G!==j[p.value]):[...c.value,j[p.value]],f.value=R?f.value.filter(G=>G!==j[V.value]):[...f.value,j[V.value]]}else c.value=j[p.value],f.value=j[V.value];r("update:modelValue",c.value),r("change",{name:t.name,value:c.value})}function i(){g?(c.value=[],f.value=[]):(c.value=void 0,f.value=[]),r("update:modelValue",c.value),r("clear",t.name)}function u(){N&&clearTimeout(N),h.value="",b.value=!1}function y(){b.value=!b.value}e.onBeforeUnmount(()=>{N&&clearTimeout(N)});const P=e.ref(-1);e.watch(_,()=>{P.value=_.value.length>0?0:-1});function L(j){const R=_.value.length;if(j.key==="ArrowDown")j.preventDefault(),P.value=(P.value+1)%R;else if(j.key==="ArrowUp")j.preventDefault(),P.value=(P.value-1+R)%R;else if(j.key==="Enter"&&(j.preventDefault(),P.value>=0&&P.value<_.value.length)){const G=_.value[P.value];B(G)}}function Z(){o&&w.value.length===0&&h.value.length===0&&M(h.value)}return{innerValue:c,searchTerm:h,filteredOptions:_,isSelected:D,selectItem:B,clear:i,resetSearch:u,toggleShowAll:y,isReqProc:k,showAll:b,isEnableShowAll:d,labelKey:V,valueKey:p,allOptions:w,highlightedIndex:P,onKeyDown:L,selectedLabels:f,totalCount:$,loadData:Z}}const Gl={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Yl=["placeholder"],Ql={key:0,class:"w-full"},Xl={class:"flex flex-col items-center justify-center p-5 text-center"},Jl={class:"max-w-sm mx-auto mt-6"},eo={class:"font-medium text-gray-800 dark:text-neutral-200"},to={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},lo={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},oo=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:r,emit:o}){const n=de(),l=t,s=o,m=e.ref(null),{innerValue:a,filteredOptions:g,isSelected:x,selectItem:c,clear:h,resetSearch:k,toggleShowAll:w,isReqProc:p,showAll:V,isEnableShowAll:b,searchTerm:d,labelKey:f,valueKey:$,highlightedIndex:S,onKeyDown:_,selectedLabels:N,totalCount:M,loadData:D}=ql({...l,modelValue:l.modelValue},s);e.onMounted(()=>{k(),l.layout!=="inline"&&(D(),m.value&&l.layout==="popover"&&m.value.focus())}),e.watch(()=>l.modelValue,i=>{i===void 0&&(l.multi?a.value=[]:a.value=void 0)});const B=e.ref([]);return e.watch(S,i=>{var u;i>=0&&B.value[i]&&((u=B.value[i])==null||u.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(g,()=>{B.value=[]}),r({clear:h,inputTextRef:m,selectedLabels:N,loadData:D}),(i,u)=>{var y,P;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Gl,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=L=>e.isRef(d)?d.value=L:null),onKeydown:u[1]||(u[1]=(...L)=>e.unref(_)&&e.unref(_)(...L)),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(n)("filter.search"),type:"text",ref_key:"inputTextRef",ref:m},null,40,Yl),[[e.vModelText,e.unref(d)]]),e.createVNode(Ye,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(d)!=""?(e.openBlock(),e.createBlock(Re,{key:0,onClick:u[2]||(u[2]=L=>d.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(L,Z)=>(e.openBlock(),e.createBlock(Fe,{layout:t.layout,count:L.count,label:L[e.unref(f)],color:L.color,type:t.multi?"checkbox":"radio",value:L[e.unref($)],"is-selected":e.unref(x)(L),highlighted:Z===e.unref(S),onItemClick:j=>e.unref(c)(L),ref_for:!0,ref:j=>B.value[Z]=j==null?void 0:j.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(p)?(e.openBlock(),e.createElementBlock("div",Ql,[e.createElementVNode("div",Xl,[e.createVNode(Ae),e.createElementVNode("div",Jl,[e.createElementVNode("p",eo,e.toDisplayString(e.unref(n)("filter.notfound")),1),u[7]||(u[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(b)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u[3]||(u[3]=(...L)=>e.unref(w)&&e.unref(w)(...L)),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(n)("filter.more"))+" ",1),e.createVNode(ze)])):e.createCommentVNode("",!0),e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:u[4]||(u[4]=(...L)=>e.unref(w)&&e.unref(w)(...L)),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(n)("filter.less"))+" ",1),e.createVNode(Te)])):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",to,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(a))?(y=e.unref(a))==null?void 0:y.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" / "+e.toDisplayString(e.unref(M))+" "+e.toDisplayString(e.unref(n)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[5]||(u[5]=(...L)=>e.unref(h)&&e.unref(h)(...L))},e.toDisplayString(e.unref(n)("filter.clear")),513),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",lo,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(a))?(P=e.unref(a))==null?void 0:P.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" / "+e.toDisplayString(e.unref(M))+" "+e.toDisplayString(e.unref(n)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[6]||(u[6]=(...L)=>e.unref(h)&&e.unref(h)(...L))},e.toDisplayString(e.unref(n)("filter.clear")),513),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),no=["for","onClick"],ro=["id","name","value"],ao={class:"block"},io={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},so={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},co=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:r,emit:o}){const n=t,l=o,{innerValue:s,isSelected:m,selectItem:a,clear:g,labelKey:x,valueKey:c,allOptions:h}=n.multi?He({...n,modelValue:n.modelValue??n.default??[]},l):Le({...n,modelValue:n.modelValue!==void 0?n.modelValue:n.default??""},l);return r({clear:g}),e.watch(()=>n.modelValue,k=>{k===void 0&&(n.multi?s.value=[]:s.value=void 0)}),(k,w)=>{var p,V;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"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),b=>(e.openBlock(),e.createElementBlock("label",{key:`item-${b[e.unref(c)]}`,for:`item-${b[e.unref(c)]}`,onClick:e.withModifiers(d=>e.unref(a)(b),["stop","prevent"]),class:e.normalizeClass([e.unref(m)(b)?"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-${b[e.unref(c)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${b[e.unref(c)]}`,value:b[e.unref(c)]},null,8,ro),e.createElementVNode("span",ao,e.toDisplayString(b[e.unref(x)]),1)],10,no))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",io,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(s))?(p=e.unref(s))==null?void 0:p.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" з "+e.toDisplayString(e.unref(h).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[0]||(w[0]=(...b)=>e.unref(g)&&e.unref(g)(...b))}," Очистити ",512),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",so,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(s))?(V=e.unref(s))==null?void 0:V.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" з "+e.toDisplayString(e.unref(h).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[1]||(w[1]=(...b)=>e.unref(g)&&e.unref(g)(...b))}," Очистити ",512),[[e.vShow,e.unref(s)!==void 0&&e.unref(s)!==""||e.unref(s)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),mo=["disabled","title"],po={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},fo={class:"truncate text-ellipsis text-sm"},uo={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"},go={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"},ho={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(t,{expose:r}){const o=t,n=e.computed(()=>Je(o.mode)),l=e.ref(!1),s=e.ref({top:0,left:0}),m=e.ref(null),a=e.ref(null),g=e.ref(null);let x=null;function c(){const N=a.value,M=g.value;if(!N||!M)return;const D=N.getBoundingClientRect(),B=M.offsetWidth,i=M.offsetHeight,u=window.innerWidth,y=window.innerHeight,P=8;let L=D.bottom+P,{left:Z}=D;const j=Math.max(u-B-10,10);if(Z=Math.min(Z,j),Z=Math.max(Z,10),L+i>y-10){const R=D.top-i-P;L=R>=10?R:Math.max(y-i-10,10)}L<10&&(L=10),s.value={top:L,left:Z}}function h(){e.nextTick(()=>{c(),typeof window<"u"&&typeof window.requestAnimationFrame=="function"&&window.requestAnimationFrame(()=>c())})}function k(){l.value=!l.value,l.value&&(h(),e.nextTick(()=>{var N,M,D,B,i,u,y;(N=o.fieldRef)!=null&&N.inputTextRef&&((B=(D=(M=o.fieldRef)==null?void 0:M.inputTextRef)==null?void 0:D.focus)==null||B.call(D)),(i=o.fieldRef)!=null&&i.loadData&&Promise.resolve((y=(u=o.fieldRef)==null?void 0:u.loadData)==null?void 0:y.call(u)).finally(()=>{l.value&&h()})}))}function w(N){var M,D,B;!((M=m.value)!=null&&M.contains(N.target))&&!((D=g.value)!=null&&D.contains(N.target))&&!((B=a.value)!=null&&B.contains(N.target))&&(l.value=!1)}function p(N){N.key==="Escape"&&(l.value=!1)}const V=e.ref(!1),b=e.ref("ua"),d=N=>{N.detail.key==="locale"&&(b.value=N.detail.newValue)};e.onMounted(()=>{V.value=!0,b.value=localStorage.locale,window.addEventListener("storage",d),document.addEventListener("click",w,!0),document.addEventListener("keydown",p),window.addEventListener("scroll",c,!0),window.addEventListener("resize",c,!0),typeof ResizeObserver<"u"&&(x=new ResizeObserver(()=>{l.value&&h()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",d),document.removeEventListener("click",w,!0),document.removeEventListener("keydown",p),window.removeEventListener("scroll",c,!0),window.removeEventListener("resize",c,!0),x==null||x.disconnect(),x=null});function f(){l.value=!1}r({close:f}),e.watch([V,l,g],([N,M,D])=>{N&&M&&D&&(h(),x==null||x.observe(D))});function $(N){return Array.isArray(N)?N.filter(M=>M!=null&&M!=="").length:N&&typeof N=="object"?Object.values(N).filter(M=>M!=null&&M!=="").length:typeof N=="string"?N.trim()===""?0:1:typeof N=="number"?Number.isNaN(N)?0:1:N===null||N!==void 0?1:0}const S=e.computed(()=>{var D;const N=(D=o.fieldRef)==null?void 0:D.selectedLabels,M=$(N);return M>0?M:$(o.currentValue)}),_=e.computed(()=>{var M;const N=(M=o.fieldRef)==null?void 0:M.selectedLabels;return!N||["inline"].includes(o.layout||"")?o[b.value]||(o.label??""):Array.isArray(N)?N.length>0?N.join(", "):o.label??"":String(N)});return(N,M)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:m},[e.createElementVNode("button",{onClick:k,disabled:t.disabled,ref_key:"triggerRef",ref:a,title:t.label,class:e.normalizeClass([n.value,t.width?e.unref(Qe).getWidthClass(t.width):"w-full",t.layout==="inline"&&S.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",po,[e.createElementVNode("span",fo,e.toDisplayString(_.value),1),t.layout==="inline"&&S.value>0?(e.openBlock(),e.createElementBlock("span",uo,e.toDisplayString(S.value),1)):e.createCommentVNode("",!0)]),e.createVNode(ze,{class:"h-4 w-4 text-neutral-500"})],10,mo),V.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:g,class:"vsTailwind vs-popover__content w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${s.value.top}px`,left:`${s.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",go,[e.createElementVNode("div",ho,[e.renderSlot(N.$slots,"default")])])],4),[[e.vShow,l.value]])])):e.createCommentVNode("",!0)],512))}}),yo={},xo={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 bo(t,r){return e.openBlock(),e.createElementBlock("svg",xo,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const ko=ce(yo,[["render",bo]]),wo={},Vo={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 Co(t,r){return e.openBlock(),e.createElementBlock("svg",Vo,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Bo=ce(wo,[["render",Co]]),Eo={class:"flex gap-1"},No={class:"mb-1"},So={class:"mb-1"},_o={class:"inline-flex rounded-sm shrink-0 pl-1"},Mo=["title"],Do={class:"inline-flex rounded-sm shrink-0 pl-1"},zo=["title"],jo={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},$o=["max","value","disabled"],Po=["min","value","disabled"],Fo=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:r,emit:o}){const n=de(),l=t,s=o,m=e.ref(null),{activeMode:a,innerValue:g,onSelectChange:x,nextClick:c,prevClick:h,currentLabel:k,clear:w}=et({...l,popoverRef:m},s);e.watch(()=>l.modelValue,b=>{b!==void 0?(g.value=b,s("update:modelValue",b)):(a.value="",g.value=[])}),e.watch(g,b=>{s("update:modelValue",b),s("change",{name:l.name,value:b})},{deep:!0});function p(b){const d=Array.isArray(g.value)?[...g.value]:[];g.value=[b,d[1]||""]}function V(b){const d=Array.isArray(g.value)?[...g.value]:[];g.value=[d[0]||"",b]}return r({clear:w,popoverRef:m}),(b,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Eo,[e.createVNode(Ze,{ref_key:"popoverRef",ref:m,label:e.unref(k),"current-value":e.unref(g),mode:t.mode,width:typeof t.width=="number"&&e.unref(g).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]=f=>e.unref(x)("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(n)("filter.period"))+" ",1),e.unref(a)==="range"?(e.openBlock(),e.createBlock(ue,{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]=f=>e.unref(x)("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(n)("filter.today"))+" ",1),e.unref(a)==="today"?(e.openBlock(),e.createBlock(ue,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[2]||(d[2]=f=>e.unref(x)("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(n)("filter.week"))+" ",1),e.unref(a)==="week"?(e.openBlock(),e.createBlock(ue,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[3]||(d[3]=f=>e.unref(x)("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(n)("filter.month"))+" ",1),e.unref(a)==="month"?(e.openBlock(),e.createBlock(ue,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[4]||(d[4]=f=>e.unref(x)("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(n)("filter.quarter"))+" ",1),e.unref(a)==="quarter"?(e.openBlock(),e.createBlock(ue,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",No,[e.createElementVNode("button",{type:"button",onClick:d[5]||(d[5]=f=>e.unref(x)("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(n)("filter.year"))+" ",1),e.unref(a)==="year"?(e.openBlock(),e.createBlock(ue,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",So,[e.createElementVNode("button",{type:"button",onClick:d[6]||(d[6]=f=>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(n)("filter.alltime"))+" ",1),e.unref(g)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ue,{key:0}))])])]),_:1},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(a)!==""&&e.unref(a)!=="range"&&e.unref(a)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",_o,[e.createElementVNode("button",{type:"button",title:e.unref(n)("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]=(...f)=>e.unref(h)&&e.unref(h)(...f))},[e.createVNode(ko)],8,Mo)]),e.createElementVNode("div",Do,[e.createElementVNode("button",{type:"button",title:e.unref(n)("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]=(...f)=>e.unref(c)&&e.unref(c)(...f))},[e.createVNode(Bo)],8,zo)])],64)):e.createCommentVNode("",!0),e.unref(a)!==""&&e.unref(a)==="range"?(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("input",{type:"date",max:e.unref(g)[1],locale:"uk-UA",value:e.unref(g)[0],onInput:d[9]||(d[9]=f=>p(f.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,$o),e.createElementVNode("input",{type:"date",min:e.unref(g)[0],locale:"uk-UA",value:e.unref(g)[1],onInput:d[10]||(d[10]=f=>V(f.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,Po)])):e.createCommentVNode("",!0)]),(t.cleanable,e.createCommentVNode("",!0))],64))}}),Lo={class:"flex flex-wrap items-center gap-2"},Ao=["disabled","onClick"],To={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ro=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:r,emit:o}){const n=t,l=o,{innerValue:s,isSelected:m,selectItem:a,clear:g,labelKey:x,valueKey:c,allOptions:h}=Le({...n,modelValue:n.modelValue??n.default??""},l),k=e.computed(()=>s.value!==void 0&&!(typeof s.value=="string"&&s.value==="")),w=e.computed(()=>k.value?1:0);function p(b){return m(b)?["bg-blue-600 text-white"].filter(d=>typeof d=="string"&&d.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(d=>typeof d=="string"&&d.trim().length>0).join(" ")}function V(b){n.disabled||a(b)}return r({clear:g}),e.watch(()=>n.modelValue,b=>{b===void 0&&(s.value=void 0)}),(b,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Lo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),f=>(e.openBlock(),e.createElementBlock("button",{key:f[e.unref(c)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",p(f)]),disabled:t.disabled,onClick:$=>V(f)},e.toDisplayString(f[e.unref(x)]),11,Ao))),128))]),t.cleanable&&t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",To,[e.createElementVNode("span",null,e.toDisplayString(w.value)+" з "+e.toDisplayString(e.unref(h).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:d[0]||(d[0]=(...f)=>e.unref(g)&&e.unref(g)(...f))}," Очистити ",512),[[e.vShow,k.value]])])):e.createCommentVNode("",!0)],64))}}),tt={radio:ml,checkbox:Ge,check:Ge,text:Nl,range:Fl,date:Wl,select:oo,tag:co,button:Ro,"date:inline":Fo};function Oe(t,r){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"&&r&&r==="inline"&&(o="date:inline"),{component:tt[o]||tt.text,type:o}}const Zo={style:{display:"inline-flex",margin:"0px",width:"100%"}},Oo={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},Ko={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},vo={class:"flex items-center"},Uo={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},Io={class:"filter-layout__body"},Ho=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:r,emit:o}){const n=t,l=o,s=e.ref(),m=e.computed(()=>Oe(n.type,n.layout)),a=e.computed({get:()=>n.modelValue,set:h=>l("update:modelValue",h)});function g(h){l("clear",h)}function x(h,k){l("change",{name:h,value:k}),n.modelValue!==void 0&&l("update:modelValue",k)}function c(){var h,k;(k=(h=s.value)==null?void 0:h.clear)==null||k.call(h),l("clear",n.name)}return e.watch(()=>n.default,h=>{a.value=h}),e.watch(()=>n.modelValue,h=>{a.value=h}),r({filterRef:s}),(h,k)=>{var w,p,V;return e.openBlock(),e.createElementBlock("div",Zo,[e.createElementVNode("div",Oo,[e.createElementVNode("div",Ko,[e.createElementVNode("div",vo,[e.createElementVNode("span",Uo,e.toDisplayString(t.label),1)]),typeof a.value=="string"&&a.value.trim()!==""||Array.isArray(a.value)&&a.value.length>0&&a.value.some(b=>b!==void 0)||a.value===null?(e.openBlock(),e.createBlock(Kt,{key:0,onClick:c})):e.createCommentVNode("",!0)]),e.createElementVNode("div",Io,[((w=m.value)==null?void 0:w.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((p=m.value)==null?void 0:p.component),e.mergeProps({key:0},n,{type:(V=m.value)==null?void 0:V.type,class:n.itemClass,onChange:k[0]||(k[0]=b=>x(b.name,b.value)),onClear:k[1]||(k[1]=b=>g(b)),ref_key:"filterRef",ref:s}),null,16,["type","class"])):(e.openBlock(),e.createBlock(Ze,{key:1,"current-value":a.value,label:t.label,mode:t.mode,onClear:c,fieldRef:s.value,width:void 0,disabled:t.disabled,layout:"vertical"},{default:e.withCtx(()=>{var b,d;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((b=m.value)==null?void 0:b.component),e.mergeProps({ref_key:"filterRef",ref:s},n,{type:(d=m.value)==null?void 0:d.type,class:n.itemClass,onChange:k[2]||(k[2]=f=>x(f.name,f.value)),onClear:k[3]||(k[3]=f=>g(f))}),null,16,["type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),lt=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:r,emit:o}){const n=t,l=o,s=e.ref(),m=e.computed(()=>Oe(n.type,n.layout)),a=e.computed({get:()=>n.modelValue,set:c=>l("update:modelValue",c)});function g(c=n.name){l("clear",c)}function x(c,h){l("change",{name:c,value:h}),n.modelValue!==void 0&&l("update:modelValue",h)}return e.watch(()=>n.default,c=>{a.value=c}),e.watch(()=>n.modelValue,c=>{a.value=c}),r({filterRef:s}),(c,h)=>{var k,w;return["text","date","button"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((k=m.value)==null?void 0:k.component),e.mergeProps({key:0},n,{type:(w=m.value)==null?void 0:w.type,class:t.itemClass,onChange:h[0]||(h[0]=p=>x(p.name,p.value)),onClear:h[1]||(h[1]=p=>g(p)),disabled:t.disabled,modelValue:a.value,"onUpdate:modelValue":h[2]||(h[2]=p=>a.value=p)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(Ze,{key:1,"current-value":a.value,label:t.label,mode:t.mode,onClear:g,fieldRef:s.value,width:n.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>{var p,V;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((p=m.value)==null?void 0:p.component),e.mergeProps({ref_key:"filterRef",ref:s},n,{modelValue:a.value,"onUpdate:modelValue":h[3]||(h[3]=b=>a.value=b),type:(V=m.value)==null?void 0:V.type,class:n.itemClass,onChange:h[4]||(h[4]=b=>x(b.name,b.value)),onClear:h[5]||(h[5]=b=>g(b))}),null,16,["modelValue","type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),Wo=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:r,emit:o}){const n=t,l=o,s=e.ref(),m=e.computed(()=>Oe(n.type,n.layout)),a=e.computed({get:()=>n.modelValue,set:c=>l("update:modelValue",c)});function g(c){l("clear",c)}function x(c,h){l("change",{name:c,value:h}),n.modelValue!==void 0&&l("update:modelValue",h)}return e.watch(()=>n.default,c=>{a.value=c}),e.watch(()=>n.modelValue,c=>{a.value=c}),e.watch(()=>n,c=>{a.value=c}),r({filterRef:s}),(c,h)=>{var k,w;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((k=m.value)==null?void 0:k.component),e.mergeProps(n,{type:(w=m.value)==null?void 0:w.type,class:n.itemClass,modelValue:a.value,"onUpdate:modelValue":h[0]||(h[0]=p=>a.value=p),onChange:h[1]||(h[1]=p=>x(p.name,p.value)),onClear:h[2]||(h[2]=p=>g(p)),ref_key:"filterRef",ref:s}),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:r,emit:o}){const n=t,l=o,s=e.ref(),m=e.computed({get:()=>n.modelValue,set:c=>l("update:modelValue",c)});function a(c){l("clear",c)}function g(c,h){l("change",{name:c,value:h}),n.modelValue!==void 0&&l("update:modelValue",h)}e.watch(()=>n.default,c=>{m.value=c}),e.watch(()=>n.modelValue,c=>{m.value=c}),r({filterRef:s});function x(){switch(n.layout){case"inline":return lt;case"vertical":return Ho;case"popover":return Wo;default:return lt}}return(c,h)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x()),e.mergeProps(n,{onChange:h[0]||(h[0]=k=>g(k.name,k.value)),onClear:h[1]||(h[1]=k=>a(k)),modelValue:m.value,"onUpdate:modelValue":h[2]||(h[2]=k=>m.value=k)}),null,16,["modelValue"]))}});function je(t,r){const{slots:o}=t,n=d=>d?JSON.parse(JSON.stringify(e.toRaw(d))):{},l=e.ref(n(t.value));e.watch(()=>t.value,d=>{l.value=n(d)},{deep:!0,immediate:!0});const s=e.computed(()=>{var d;return(e.toRaw((d=o==null?void 0:o.default)==null?void 0:d.call(o))??[]).flatMap(f=>Array.isArray(f.children)?f.children:[f])});function m(d){delete l.value[d],r("clear",{data:e.toRaw(l.value),name:d})}function a(d,f){f===void 0?m(d):l.value={...l.value,[d]:f},r("change",{data:e.toRaw(l.value),name:d,value:f})}const g=e.computed(()=>s.value.map(d=>{var $,S,_;const f=($=d.props)==null?void 0:$.name;return e.cloneVNode(d,{...d.props,layout:t.view,showClean:!0,modelValue:l.value[f],"onUpdate:modelValue":N=>{a(f,N)},onClear:()=>m(f),class:[t.itemClass,(S=d.props)==null?void 0:S.class],itemClass:[t.itemClass,(_=d.props)==null?void 0:_.itemClass].filter(N=>typeof N=="string"&&N.trim().length>0).join(" ")||void 0})})),x=e.computed(()=>new Map(g.value.map(d=>{var $;const f=($=d.props)==null?void 0:$.name;return f?[f,d]:null}).filter(d=>d!==null)));function c(d=!1){l.value={},d||r("clearAll",{data:e.toRaw(l.value),name:"ALL"})}const h=e.ref(""),k=e.computed(()=>{var d;return(d=t.schema)!=null&&d.value?Object.entries(l.value).filter(([f,$])=>t.schema&&!(f in t.schema.value)?!1:Array.isArray($)?$.some(S=>S!==""&&S!==void 0):$!==""&&$!==void 0).length:0}),w=e.ref();e.watch(h,async()=>{var d,f;await e.nextTick(),(f=(d=w==null?void 0:w.value)==null?void 0:d.filterRef)!=null&&f.inputTextRef&&w.value.filterRef.inputTextRef.focus()});const p=e.computed(()=>{var d,f;return(d=t.schema)!=null&&d.value?Object.fromEntries(Object.entries((f=t.schema)==null?void 0:f.value).slice(0,t.limit)):{}}),V=e.computed(()=>{var f;if(g.value.length===0)return[];let d=0;if((f=t.schema)!=null&&f.value){const $=Object.entries(t.schema.value).length;t.limit&&$<t.limit?d=t.limit-$:d=0}return g.value.slice(0,d)}),b=e.computed(()=>g.value.length===0?[]:t.view!=="inline"?g.value:g.value.slice(V.value.length));return{activeFilter:l,activeFilterCount:k,onFilterChange:a,clearFilter:m,clearAllFilters:c,limitedSchema:p,filtersSlot:g,limitedFiltersSlot:V,popoverFiltersSlot:b,vnodeMap:x,selectedFilter:h,filterRef:w}}const qo=e.defineComponent({__name:"popover",emits:["open","close"],setup(t,{emit:r}){const o=e.ref(!1),n=e.ref(null),l=e.ref(null),s=e.ref(null),m=e.ref({top:"0px",left:"0px",position:"absolute"}),a=e.ref(!1);function g(){o.value=!o.value}function x(){const p=s.value,V=n.value;if(!p||!V)return;const{left:b,bottom:d}=p.getBoundingClientRect();requestAnimationFrame(()=>{if(!V)return;const{width:f}=V.getBoundingClientRect(),$=V.offsetWidth||f,S=window.innerWidth||document.documentElement.clientWidth,_=S-b;let N=b;$>_&&(N=S-$-18),N<18&&(N=18);const M=S-$-18;N>M&&(N=Math.max(18,M)),m.value={position:"fixed",top:`${d+18}px`,left:`${N}px`},a.value=!0})}const c=e.computed(()=>Object.entries(m.value).map(p=>p.join(":")).join(";"));function h(p){var b,d;const V=p.target;!((b=s.value)!=null&&b.contains(p.target))&&!((d=n.value)!=null&&d.contains(p.target))&&!V.closest("[data-inside-popover]")&&(o.value=!1)}const k=e.ref(!1);e.onMounted(()=>{k.value=!0}),e.onMounted(()=>{var p,V;s.value=((p=l.value)==null?void 0:p.querySelector("[data-popover-trigger]"))||null,(V=s.value)==null||V.addEventListener("click",g),document.addEventListener("click",h),window.addEventListener("resize",x),window.addEventListener("scroll",x,!0)}),e.onBeforeUnmount(()=>{var p;(p=s.value)==null||p.removeEventListener("click",g),document.removeEventListener("click",h),window.removeEventListener("resize",x),window.removeEventListener("scroll",x,!0)});const w=r;return e.watch(o,async p=>{p?(a.value=!1,w("open"),await e.nextTick(),requestAnimationFrame(()=>{x()})):(w("close"),a.value=!1)}),(p,V)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:l},[e.renderSlot(p.$slots,"trigger"),k.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:n,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([c.value,{visibility:a.value?"visible":"hidden",opacity:a.value?1:0}])},[e.renderSlot(p.$slots,"default")],4),[[e.vShow,o.value]])])):e.createCommentVNode("",!0)],512))}}),Go={},Yo={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 Qo(t,r){return e.openBlock(),e.createElementBlock("svg",Yo,[...r[0]||(r[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)])])}const ot=ce(Go,[["render",Qo]]),Xo={class:"flex items-center gap-2 overflow-hidden"},Jo={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"},en={class:"flex max-h-[400px] md:max-h-[400px]"},tn={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},ln={class:"p-2 md:p-4 border-b"},on={class:"text-xs md:text-sm text-gray-600"},nn={class:"p-1 md:p-2"},rn=["onClick"],an={class:"flex items-center gap-1.5 md:gap-2"},sn={class:"text-xs md:text-sm font-medium line-clamp-3"},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"},dn=["onClick"],mn={class:"flex items-center gap-1.5 md:gap-2"},pn={class:"text-xs md:text-sm font-medium truncate"},fn={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"},un={key:0,class:"p-1 md:p-2 border-t"},gn={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},hn={key:0,class:"flex items-center justify-center h-full text-gray-500"},yn={class:"text-xs md:text-sm"},nt=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:r,emit:o}){const n=de(),l=t,s=Je(l.mode),m=e.useSlots(),a=o,g=e.ref({}),x=e.computed(()=>g!=null&&g.value?l.view!=="inline"?g==null?void 0:g.value:Object.fromEntries(Object.entries(g==null?void 0:g.value).slice(l.limit)):{}),{activeFilter:c,activeFilterCount:h,onFilterChange:k,clearFilter:w,clearAllFilters:p,popoverFiltersSlot:V,selectedFilter:b,filterRef:d}=je({...l,schema:g,slots:m},a),f=e.computed(()=>l.badgeCount??h.value);function $(N){return Array.isArray(N)?N.filter(M=>M!=null&&M!=="").length:N&&typeof N=="object"?Object.values(N).filter(M=>M!=null&&M!=="").length:N===null||N!==void 0&&N!==""?1:0}function S(N){return c.value?$(c.value[N]):0}function _(){if(x.value){const[N]=Object.keys(x.value);b.value=N}else V.value.length>0?b.value=V.value[0].props.name:b.value=""}return e.watch(()=>l.schema,N=>{g.value=N??{}},{deep:!0,immediate:!0}),r({clearFilter:w,clearAllFilters:p}),(N,M)=>(e.openBlock(),e.createBlock(qo,{onOpen:_,onClose:M[5]||(M[5]=D=>b.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,e.unref(s),"flex items-center justify-between gap-2",f.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",Xo,[e.createVNode(ot,{class:"h-4 w-4"}),M[6]||(M[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),f.value>0?(e.openBlock(),e.createElementBlock("span",Jo,e.toDisplayString(f.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",en,[e.createElementVNode("div",tn,[e.createElementVNode("div",ln,[e.createElementVNode("p",on,e.toDisplayString(e.unref(n)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",nn,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(x.value),([D,B])=>(e.openBlock(),e.createElementBlock("button",{key:D,onClick:()=>{b.value=D},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(b)===D?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",an,[e.createElementVNode("span",sn,e.toDisplayString(B.label),1)]),S(D)>0?(e.openBlock(),e.createElementBlock("div",cn,e.toDisplayString(S(D)),1)):e.createCommentVNode("",!0)],10,rn))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(V),(D,B)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+B,onClick:i=>b.value=D.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(b)===D.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",mn,[e.createElementVNode("span",pn,e.toDisplayString(D.props.label),1)]),S(D.props.name)>0?(e.openBlock(),e.createElementBlock("div",fn,e.toDisplayString(S(D.props.name)),1)):e.createCommentVNode("",!0)],10,dn))),128))]),e.unref(h)>0?(e.openBlock(),e.createElementBlock("div",un,[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:M[0]||(M[0]=D=>e.unref(p)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",gn,[e.unref(b)===""?(e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("p",yn,e.toDisplayString(e.unref(n)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[x.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(x.value),([D,B])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(b)===D?(e.openBlock(),e.createBlock(se,e.mergeProps({key:D,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:d},{ref_for:!0},B,{class:[t.itemClass,B==null?void 0:B.class],"item-class":[t.itemClass,B==null?void 0:B.itemClass].filter(Boolean).join(" ")||void 0,onChange:M[1]||(M[1]=i=>e.unref(k)(i.name,i.value)),onClear:M[2]||(M[2]=i=>{e.unref(w)(i),e.unref(k)(i,void 0)}),modelValue:e.unref(c)[D],"onUpdate:modelValue":i=>e.unref(c)[D]=i,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(V),(D,B)=>{var i,u;return e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+B},[e.unref(b)===D.props.name?(e.openBlock(),e.createBlock(se,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},D.props,{ref_for:!0,ref_key:"filterRef",ref:d,class:[t.itemClass,(i=D.props)==null?void 0:i.class],"item-class":[t.itemClass,(u=D.props)==null?void 0:u.itemClass].filter(Boolean).join(" ")||void 0,onChange:M[3]||(M[3]=y=>e.unref(k)(y.name,y.value)),onClear:M[4]||(M[4]=y=>{e.unref(w)(y),e.unref(k)(y,void 0)}),modelValue:e.unref(c)[D.props.name],"onUpdate:modelValue":y=>e.unref(c)[D.props.name]=y,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),xn={class:"flex gap-1 items-center flex-wrap"},rt=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:r,emit:o}){const n=de(),l=t,s=o,m=e.useSlots(),a=e.ref({}),g=e.computed(()=>Object.keys(l.schema).length>l.limit),{activeFilter:x,activeFilterCount:c,onFilterChange:h,clearFilter:k,clearAllFilters:w,limitedSchema:p,filtersSlot:V,limitedFiltersSlot:b}=je({...l,schema:a,slots:m},s);function d(M){return Array.isArray(M)?M.some(D=>D!==""&&D!==void 0&&D!==null):M===null?!0:M&&typeof M=="object"?Object.values(M).some(D=>D!==""&&D!==void 0&&D!==null):M!==""&&M!==void 0}const f=e.computed(()=>{const M=Object.keys(p.value??{}),D=b.value.map(B=>{var i;return(i=B.props)==null?void 0:i.name}).filter(B=>typeof B=="string");return new Set([...M,...D])}),$=e.computed(()=>Object.entries(x.value??{}).filter(([M,D])=>f.value.has(M)&&d(D)).length),S=e.computed(()=>{const M=c.value??0,D=$.value??0;return Math.max(M-D,0)}),_=e.ref();function N(){_.value&&_.value.clearAllFilters(!0),w()}return e.watch(()=>l.schema,M=>{a.value=M},{deep:!0,immediate:!0}),r({clearFilter:k,clearAllFilters:w}),(M,D)=>(e.openBlock(),e.createElementBlock("div",xn,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(p)),([B,i])=>(e.openBlock(),e.createBlock(se,e.mergeProps({key:B,mode:t.mode,width:t.width?t.width:i==null?void 0:i.width},{ref_for:!0},i,{class:[t.itemClass,i==null?void 0:i.class],"item-class":[t.itemClass,i==null?void 0:i.itemClass].filter(Boolean).join(" ")||void 0,onChange:D[0]||(D[0]=u=>e.unref(h)(u.name,u.value)),onClear:e.unref(k),layout:"inline",cleanable:!0,modelValue:e.unref(x)[B],"onUpdate:modelValue":u=>e.unref(x)[B]=u}),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(b),(B,i)=>{var u,y;return e.openBlock(),e.createBlock(se,e.mergeProps({key:"slot-"+i,layout:"inline"},{ref_for:!0},B.props,{class:[t.itemClass,(u=B.props)==null?void 0:u.class],"item-class":[t.itemClass,(y=B.props)==null?void 0:y.itemClass].filter(Boolean).join(" ")||void 0,onChange:D[1]||(D[1]=P=>e.unref(h)(P.name,P.value)),onClear:D[2]||(D[2]=P=>{e.unref(k)(P),e.unref(h)(P,void 0)}),cleanable:!0,modelValue:e.unref(x)[B.props.name],"onUpdate:modelValue":P=>e.unref(x)[B.props.name]=P}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128)),g.value?(e.openBlock(),e.createBlock(nt,e.mergeProps({key:1},l,{schema:t.schema,limit:t.limit,onChange:D[3]||(D[3]=B=>e.unref(h)(B.name,B.value)),onClearAll:D[4]||(D[4]=B=>e.unref(w)()),onClear:D[5]||(D[5]=B=>e.unref(k)(B.name)),mode:t.mode,ref_key:"popoverRef",ref:_,cleanable:!0,"badge-count":S.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(V),(B,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(B),e.mergeProps({key:"slot-"+i,layout:"popover"},{ref_for:!0},B.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(c)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:N,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(n)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),bn={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"},kn={class:"flex items-center vst-filters vsTailwind flex-col w-full"},wn=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:r,emit:o}){const n=t,l=o,s=e.useSlots(),{activeFilter:m,activeFilterCount:a,onFilterChange:g,clearFilter:x,clearAllFilters:c,filtersSlot:h}=je({...n,slots:s},l);return r({clearFilter:x,clearAllFilters:c}),(k,w)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("div",kn,[e.unref(a)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:w[0]||(w[0]=p=>e.unref(c)()),"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,V])=>(e.openBlock(),e.createBlock(se,e.mergeProps({layout:"vertical"},{ref_for:!0},V,{class:[t.itemClass,V==null?void 0:V.class],"item-class":[t.itemClass,V==null?void 0:V.itemClass].filter(Boolean).join(" ")||void 0,onChange:w[1]||(w[1]=b=>e.unref(g)(b.name,b.value)),onClear:w[2]||(w[2]=b=>{e.unref(x)(b),e.unref(g)(b,void 0)}),modelValue:e.unref(m)[p],"onUpdate:modelValue":b=>e.unref(m)[p]=b,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),(p,V)=>{var b,d;return e.openBlock(),e.createBlock(se,e.mergeProps({key:"slot-"+V,layout:"vertical"},{ref_for:!0},p.props,{class:[t.itemClass,(b=p.props)==null?void 0:b.class],"item-class":[t.itemClass,(d=p.props)==null?void 0:d.itemClass].filter(Boolean).join(" ")||void 0,onChange:w[3]||(w[3]=f=>e.unref(g)(f.name,f.value)),onClear:w[4]||(w[4]=f=>{e.unref(x)(f),e.unref(g)(f,void 0)}),modelValue:e.unref(m)[p.props.name],"onUpdate:modelValue":f=>e.unref(m)[p.props.name]=f,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))])])):e.createCommentVNode("",!0)}}),Vn=["onKeydown"],Cn=["disabled"],Bn={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"},En={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Nn={class:"mb-3 flex items-center justify-between"},Sn={class:"text-[15px] font-semibold text-slate-800"},_n={"aria-hidden":"true"},Mn={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},Dn={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:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{emit:r}){const o=de(),n=t,l=r,s=e.ref({}),m=e.useSlots(),{activeFilter:a,activeFilterCount:g,onFilterChange:x,clearFilter:c,clearAllFilters:h,filtersSlot:k}=je({...n,schema:s.value,slots:m},l),w=e.ref(null),p=e.ref(null),V=e.reactive({open:!1,top:0,left:0}),b=e.computed(()=>V.open),d=e.computed(()=>!!n.disabled),f=e.computed(()=>s.value||{}),$=e.computed(()=>n.title??"Фільтр"),S=e.computed(()=>!!m.trigger),_=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"]),N=e.computed(()=>V.open?{position:"absolute",top:`${V.top}px`,left:`${V.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function M(){V.open=!1}function D(){if(!w.value)return;const P=w.value.getBoundingClientRect();V.top=P.bottom+window.scrollY+8,V.left=P.left+P.width/2+window.scrollX}function B(){V.open=!V.open,V.open&&e.nextTick(D)}function i(){d.value||B()}function u(){V.open&&D()}function y(){h()}return e.onMounted(()=>{window.addEventListener("resize",u),window.addEventListener("scroll",u,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",u),window.removeEventListener("scroll",u,!0)}),e.watch(()=>n.schema,P=>{if(!P){s.value={};return}if(Array.isArray(P)){const L=P.filter(Z=>Z&&(Z.name||Z.id)).map(Z=>{const j=Z.name||Z.id;return[j,{...Z,name:j}]});s.value=Object.fromEntries(L);return}s.value=P},{deep:!0,immediate:!0}),e.watch(()=>n.disabled,P=>{P&&M()}),(P,L)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:w},[S.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(i,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(i,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(i,["prevent","stop"]),["space"])]},[e.renderSlot(P.$slots,"trigger",{toggle:i,open:b.value,disabled:d.value,activeCount:e.unref(g)})],42,Vn)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(_.value),type:"button",disabled:d.value,onClick:e.withModifiers(i,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(ot,{class:"h-4 w-4"}),e.unref(g)>0?(e.openBlock(),e.createElementBlock("div",Bn,e.toDisplayString(e.unref(g)),1)):e.createCommentVNode("",!0)],10,Cn)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof t.width=="number"?`min-w-[${t.width+32+(Object.keys(f.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(N.value),ref_key:"panel",ref:p,onClick:L[4]||(L[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",En,[e.createElementVNode("div",Nn,[e.createElementVNode("h3",Sn,e.toDisplayString($.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:M},[e.createElementVNode("span",_n,[e.createVNode(Re,{class:"h-4 w-4"})]),L[5]||(L[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",Mn,[Object.keys(f.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(f.value),([Z,j])=>(e.openBlock(),e.createBlock(se,e.mergeProps({key:Z},{ref_for:!0},{...j,layout:"inline"},{width:t.width?t.width:j==null?void 0:j.width,class:[t.itemClass,j==null?void 0:j.class],"item-class":[t.itemClass,j==null?void 0:j.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(a)[Z],"onUpdate:modelValue":R=>e.unref(a)[Z]=R,onChange:L[0]||(L[0]=R=>e.unref(x)(R.name,R.value)),onClear:L[1]||(L[1]=R=>{e.unref(c)(R),e.unref(x)(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(k),(Z,j)=>{var R,G;return e.openBlock(),e.createBlock(se,e.mergeProps({key:"slot-"+j,ref_for:!0},{...Z.props,layout:"inline"},{class:[t.itemClass,(R=Z.props)==null?void 0:R.class],"item-class":[t.itemClass,(G=Z.props)==null?void 0:G.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(a)[Z.props.name],"onUpdate:modelValue":v=>e.unref(a)[Z.props.name]=v,onChange:L[2]||(L[2]=v=>e.unref(x)(v.name,v.value)),onClear:L[3]||(L[3]=v=>{e.unref(c)(v),e.unref(x)(v,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))]),e.unref(g)>0?(e.openBlock(),e.createElementBlock("div",Dn,[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:y},e.toDisplayString(e.unref(o)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),jn={class:"mb-6 flex flex-wrap gap-2"},$n=["onClick"],Pn={class:"mr-2 flex items-center gap-1"},Fn={class:"font-semibold"},Ln={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:r,emit:o}){const n=t,l=e.useAttrs(),s=e.computed(()=>({...n,...l})),m=e.ref(c(n.value??{}));e.watch(()=>n.value,async i=>{var u,y;m.value=c(i??{}),(!i||Object.keys(i).length===0)&&(await e.nextTick(),(y=(u=g.value)==null?void 0:u.clearAllFilters)==null||y.call(u,!0))},{deep:!0,immediate:!0});const a=o,g=e.ref(),x=e.useSlots();function c(i){if(Array.isArray(i))return i.map(u=>c(u));if(i!==null&&typeof i=="object"){const u=e.toRaw(i),y={};for(const P in u)y[P]=c(u[P]);return y}return i}function h(i,u){u!==void 0?m.value={...m.value,[i]:u}:delete m.value[i],a("change",{data:c(m.value),name:i,value:c(u)})}function k(i){delete m.value[i],a("clear",{data:c(m.value),name:i}),a("change",{data:c(m.value),name:i,value:null})}function w(){m.value={},a("clear",{data:c(m.value),name:"ALL"}),a("change",{data:c(m.value),name:"ALL",value:null})}const p=e.ref({}),V=e.computed(()=>n.teleportActive);function b(){switch(n.view){case"inline":return rt;case"vertical":return wn;case"popover":return nt;case"popover-inline":return zn;default:return rt}}e.watch(()=>n.schema,i=>{if(!i){p.value={};return}if(Array.isArray(i)&&!i.length){p.value={};return}Array.isArray(i)?p.value=i.filter(u=>u.type).reduce((u,y)=>(Object.assign(y,{name:y.id||y.name,type:{datepicker:"date"}[y.type.toLowerCase()]||y.type.toLowerCase(),label:y.label||y.ua}),u[y.name]=y,y.data&&!y.api&&!y.options&&Object.assign(y,{api:`/api/suggest/${y.data}`}),u),{}):(Object.entries(i).forEach(([u,y])=>{Object.assign(y,{name:u||y.name||y.id,type:y.type.toLowerCase()})}),p.value={...i})},{immediate:!0,deep:!0});function d(i){g.value.clearFilter(i),k(i)}function f(){g.value.clearAllFilters(),w()}const $=e.computed(()=>Object.entries(m.value).filter(([,i])=>i==null?!1:Array.isArray(i)?i.length>0:typeof i=="string"?i.trim().length>0:!0).map(([i,u])=>{const y=p.value[i],P=(y==null?void 0:y.label)||(y==null?void 0:y.title)||i,L=_(y,u);return{key:i,label:P,value:L}}));function S(i){d(i)}function _(i,u){if(!i||u===void 0||u===null)return"";const y=N(u);if(!y.length)return"";const P=M(i);return y.map(L=>P.get(L)??L).filter(Boolean).join(", ")}function N(i){return Array.isArray(i)?i.map(u=>{var y;return((y=u==null?void 0:u.toString)==null?void 0:y.call(u))??""}).filter(Boolean):typeof i=="string"?i.split(",").map(u=>u.trim()).filter(Boolean):[]}function M(i){const u=new Map,y=i.valueKey||"id",P=i.labelKey||"text";return(i.options??[]).forEach(L=>{const Z=D(L,y),j=B(L,P);Z&&u.set(Z,j||Z)}),u}function D(i,u){var y,P;return i?((P=(y=i[u]??i.id??i.value??i.key)==null?void 0:y.toString)==null?void 0:P.call(y))??"":""}function B(i,u){var y,P;return i?((P=(y=i[u]??i.text??i.label??i.value??i.id)==null?void 0:y.toString)==null?void 0:P.call(y))??"":""}return e.watch(()=>m.value,i=>{if(n.history){const u=new URL(window.location.href),y=new URLSearchParams(window.location.search);Object.keys(i).length>0?y.set("filter",Object.entries(i).filter(([,P])=>P).map(([P,L])=>`${P}=${L}`).join("|")):y.delete("filter"),u.search=decodeURI(y.toString()),window.history.pushState({},"",u)}}),r({clearAllFilters:f,clearFilter:d}),(i,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(s.value,{schema:p.value,onChange:u[0]||(u[0]=y=>h(y.name,y.value)),onClear:u[1]||(u[1]=y=>k(y.name)),onClearAll:w,ref_key:"filterRef",ref:g}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(x).trigger?{name:"trigger",fn:e.withCtx(y=>[e.renderSlot(i.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(y)))]),key:"0"}:void 0]),1040,["schema"])),V.value&&$.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:V.value},[e.createElementVNode("div",jn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,y=>(e.openBlock(),e.createElementBlock("button",{key:y.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:P=>S(y.key)},[e.createElementVNode("span",Pn,[e.createElementVNode("span",Fn,e.toDisplayString(y.label),1),e.createElementVNode("span",Ln,"· "+e.toDisplayString(y.value),1)]),u[2]||(u[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,$n))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});$e.install=function(t){t.component("Filter",$e),t.component("FilterField",se)};function An(t){const{page:r,id:o,filter:n,filterByView:l}=t,s=new URL(window.location.href),m=new URLSearchParams(window.location.search);r?m.set("page",r.toString()):m.delete("page"),o?m.set("id",o.toString()):m.delete("id"),n?m.set("filter",n):m.delete("filter"),typeof l=="boolean"?m.set("bbox",l?"1":"0"):m.delete("bbox"),s.search=decodeURI(m.toString()),window.history.pushState({},"",s)}const Tn={class:"flex items-center justify-between w-full gap-x-1"},Rn={class:"flex items-center"},Zn=["disabled"],On={class:"flex items-center gap-x-1"},Kn=["onClick"],vn=["disabled"],Un={class:"flex justify-center items-center gap-x-5 ml-3"},In={class:"relative"},Hn={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"},Wn=["onClick"],qn={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"},Ke=e.defineComponent({__name:"pagination",props:{total:{},currentPage:{},pageSize:{}},emits:["update:currentPage","update:pageSize","pageChange","pageSizeChange"],setup(t,{emit:r}){const o=t,n=r,l=e.ref(o.currentPage),s=e.ref(o.pageSize),m=e.ref(!1);e.watch(()=>o.pageSize,w=>{s.value=w});const a=e.computed(()=>Math.ceil(o.total/o.pageSize)),g=e.computed(()=>{const p=Math.floor(3.5);let V=l.value-p,b=l.value+p;V<1&&(b+=1-V,V=1),b>a.value&&(V-=b-a.value,b=a.value),V=Math.max(1,V);const d=[];for(let f=V;f<=b;f+=1)d.push(f);return d}),x=()=>{l.value>1&&h(l.value-1)},c=()=>{l.value<a.value&&h(l.value+1)},h=w=>{l.value=w,n("update:currentPage",w),n("pageChange",w)},k=(w=s.value)=>{s.value=w,m.value=!1,n("update:pageSize",s.value),n("update:currentPage",1),n("pageSizeChange",s.value)};return e.watch(()=>o.currentPage,w=>{l.value=w}),(w,p)=>(e.openBlock(),e.createElementBlock("nav",Tn,[e.createElementVNode("div",Rn,[e.createElementVNode("button",{type:"button","aria-label":"Previous",onClick:x,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,Zn),e.createElementVNode("div",On,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,V=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:V,onClick:b=>h(V),class:e.normalizeClass(l.value===V?"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(V),11,Kn))),128))]),e.createElementVNode("button",{type:"button","aria-label":"Next",onClick:c,disabled:l.value===a.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,vn)]),e.createElementVNode("div",Un,[e.createElementVNode("div",In,[e.withDirectives(e.createElementVNode("div",Hn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],V=>e.createElementVNode("button",{type:"button",key:V,onClick:b=>k(V),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(V)+" ",1),s.value===V?(e.openBlock(),e.createElementBlock("svg",qn,[...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,Wn)),64))],512),[[e.vShow,m.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]=V=>m.value=!m.value)},[e.createTextVNode(e.toDisplayString(s.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))])])])]))}}),me=(t,r)=>{const o=t.__vccOpts||t;for(const[n,l]of r)o[n]=l;return o},Gn={},Yn={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 Qn(t,r){return e.openBlock(),e.createElementBlock("svg",Yn,[...r[0]||(r[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 ve=me(Gn,[["render",Qn]]),Xn={},Jn={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 er(t,r){return e.openBlock(),e.createElementBlock("svg",Jn,[...r[0]||(r[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 tr=me(Xn,[["render",er]]),lr={},or={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 nr(t,r){return e.openBlock(),e.createElementBlock("svg",or,[...r[0]||(r[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 rr=me(lr,[["render",nr]]),ar={},ir={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 sr(t,r){return e.openBlock(),e.createElementBlock("svg",ir,[...r[0]||(r[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 cr=me(ar,[["render",sr]]),dr={},mr={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 pr(t,r){return e.openBlock(),e.createElementBlock("svg",mr,[...r[0]||(r[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 fr=me(dr,[["render",pr]]);function at(t,r){let o;return function(...n){clearTimeout(o),o=setTimeout(()=>t(...n),r)}}const ur={class:"fixed inset-0 z-50 pointer-events-none"},gr={class:"text-base font-semibold text-gray-900"},hr={class:"px-4 pb-3 min-h-0 shrink-0 overflow-hidden"},yr={class:"flex flex-col flex-1 min-h-0 overflow-hidden"},xr={class:"text-base font-semibold text-gray-900"},br={class:"flex-1 min-h-0 overflow-auto p-4"},kr=152,it=96,wr=270,st=96,Be=me(e.defineComponent({__name:"MobileModalShell",props:{open:{type:Boolean},title:{},topOffset:{},initialVariant:{},peekMode:{}},emits:["close","expand","collapse"],setup(t,{expose:r,emit:o}){const n=t,l=o,s=e.ref("full"),m=e.computed(()=>n.topOffset??"0px"),a=e.computed(()=>n.peekMode??"custom"),g=e.ref(!1),x=e.ref(0);let c=null,h=0,k=0;function w(B,i,u){return Math.max(B,Math.min(u,i))}function p(B){if(!B)return 0;const i=Number.parseFloat(B);return Number.isFinite(i)?i:0}function V(){if(typeof window>"u")return 0;const B=p(m.value);return Math.max(0,window.innerHeight-B)}function b(){const B=a.value==="custom",i=B?kr:wr,u=B?it:st,y=B?40:60;if(typeof window>"u")return Math.max(u,i);const P=window.innerHeight*(y/100);return w(u,i,P)}function d(){return a.value==="custom"?it:st}function f(B){const i=V(),u=b(),y=d(),P=s.value==="full"?i:u;return i<=0?Math.max(y,P):w(y,P-B,i)}const $=e.computed(()=>({height:`${f(x.value)}px`}));e.watch(()=>n.open,B=>{B&&(s.value=n.initialVariant??"full"),g.value=!1,x.value=0}),e.watch(()=>n.initialVariant,B=>{n.open&&B&&(s.value=B)});function S(){s.value!=="full"&&(s.value="full",l("expand")),g.value||(x.value=0)}function _(){s.value!=="peek"&&(s.value="peek",l("collapse")),g.value||(x.value=0)}function N(B){if(B.pointerId!==c)return;B.cancelable&&B.preventDefault();const i=B.clientY-h;x.value=k+i}function M(B){if(B.pointerId!==c)return;window.removeEventListener("pointermove",N),window.removeEventListener("pointerup",M),window.removeEventListener("pointercancel",M),c=null;const i=B.clientY-h,u=k+i;x.value=u;const y=f(u),L=(typeof window<"u"?window.innerHeight:0)*.6,Z=L>0&&y>=L,j=L>0&&!Z;if(!(s.value==="peek"&&Z||s.value==="full"&&j)){g.value=!0;return}g.value=!1,x.value=0,s.value==="peek"&&Z?S():s.value==="full"&&j&&_()}function D(B){var i,u;B.button!==0&&B.pointerType==="mouse"||(B.cancelable&&B.preventDefault(),c=B.pointerId,h=B.clientY,k=x.value,g.value=!0,(u=(i=B.currentTarget).setPointerCapture)==null||u.call(i,B.pointerId),window.addEventListener("pointermove",N,{passive:!1}),window.addEventListener("pointerup",M),window.addEventListener("pointercancel",M))}return e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",N),window.removeEventListener("pointerup",M),window.removeEventListener("pointercancel",M)}),r({expand:S,collapseToPeek:_}),(B,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",ur,[e.createElementVNode("div",{class:e.normalizeClass(["absolute inset-0 bg-black/40 transition-opacity duration-150",s.value==="peek"?"opacity-0 pointer-events-none":"opacity-100 pointer-events-auto"]),onClick:i[0]||(i[0]=e.withModifiers(u=>s.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)] vs-mobile-modal-shell__panel",[s.value==="peek"?"rounded-t-2xl":"",g.value?"vs-mobile-modal-shell__panel--dragging":""]]),style:e.normalizeStyle($.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},[...i[5]||(i[5]=[e.createElementVNode("div",{class:"h-1.5 w-10 rounded-full bg-stone-300","aria-hidden":"true"},null,-1)])],32),s.value==="peek"&&a.value==="custom"?(e.openBlock(),e.createElementBlock("div",{key:0,class:"flex items-center justify-between gap-4 px-4 pb-3 border-b border-gray-200 shrink-0 touch-none select-none cursor-grab active:cursor-grabbing",onPointerdown:D},[e.createElementVNode("div",gr,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]",onPointerdown:i[1]||(i[1]=e.withModifiers(()=>{},["stop"])),onClick:i[2]||(i[2]=u=>l("close")),"aria-label":"Close"},[...i[6]||(i[6]=[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)])],32)],32)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",hr,[e.renderSlot(B.$slots,"peek",{expand:S,collapse:_},()=>[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:S},e.toDisplayString(t.title),1)],!0)],512),[[e.vShow,s.value==="peek"&&a.value==="custom"]]),e.withDirectives(e.createElementVNode("div",yr,[e.createElementVNode("div",{class:"flex items-center justify-between gap-4 px-4 pb-3 border-b border-gray-200 shrink-0 touch-none select-none cursor-grab active:cursor-grabbing",onPointerdown:D},[e.createElementVNode("div",xr,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]",onPointerdown:i[3]||(i[3]=e.withModifiers(()=>{},["stop"])),onClick:i[4]||(i[4]=u=>l("close")),"aria-label":"Close"},[...i[7]||(i[7]=[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)])],32)],32),e.createElementVNode("div",br,[e.renderSlot(B.$slots,"default",{},void 0,!0)])],512),[[e.vShow,s.value==="full"||s.value==="peek"&&a.value==="clip-full"]])],6)],512)),[[e.vShow,t.open]])}}),[["__scopeId","data-v-80e656ca"]]),Vr={class:"flex flex-col gap-2 pointer-events-auto self-end","data-peek-controls":"1"},Cr=e.defineComponent({__name:"MapMobilePeekControlButtons",props:{onOpenLayers:{type:Function},onOpenLegend:{type:Function}},setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",Vr,[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]=n=>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]=n=>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 ct(t,r,o=12,n=12){const l=r??"";return`${window.location.origin}/api/vtile/${t}/ua/{z}/{x}/{y}.vmt?pointZoom=${n}&clusterZoom=${o}&filter=${l}`}function Br(t,r,o,n,l,s=12,m=12,a){if(!r)return;const g=ct(t,l,s,m),x=a??s,c=x-.01,h=x;r.addSource("vector",{type:"vector",tiles:[g],minzoom:0,maxzoom:22});const k=["coalesce",["get","point_count"],["get","pointCount"],["get","cluster_count"],["get","clusterCount"],0],w=[">",k,1],p=["<=",k,1],V=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],b=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]],d=["coalesce",["get","point_count_abbreviated"],["get","cluster_count_abbreviated"],["get","clusterCountAbbreviated"],k];r.addLayer({id:"vector-clusters",type:"circle",source:"vector","source-layer":t,filter:w,maxzoom:12,paint:{"circle-color":["step",k,"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",k,18,100,26,750,32],"circle-opacity":.85}}),r.addLayer({id:"vector-cluster-count",type:"symbol",source:"vector","source-layer":t,filter:w,maxzoom:12,layout:{"text-field":["to-string",d],"text-font":["Noto Sans Regular"],"text-size":12},paint:{"text-color":"#1f2937"}}),r.addLayer({id:"vector-circle",type:"circle",maxzoom:c,source:"vector","source-layer":t,filter:["all",p,V],paint:{"circle-color":o,"circle-stroke-color":n||"#eee","circle-stroke-width":1,"circle-radius":["interpolate",["linear"],["zoom"],10,5,15,12]}}),r.addLayer({id:"vector-fill",type:"fill",minzoom:h,source:"vector","source-layer":t,filter:b,paint:{"fill-color":o,"fill-opacity":.6}}),r.addLayer({id:"vector-stroke",type:"line",minzoom:h,source:"vector","source-layer":t,filter:b,paint:{"line-color":n||o,"line-width":4,"line-opacity":1,"line-dasharray":[2,2]}})}const Er=[{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"}],Nr={class:"relative w-auto h-full"},Sr={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px]"},_r={key:0,class:"text-[0.875rem] font-medium text-stone-700"},Mr=["aria-label"],Dr={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"},zr={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"},jr={key:0,class:"mb-2"},$r={class:"flex justify-start items-center gap-2"},Pr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Fr={class:"text-[0.875rem]"},Lr={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Ar={class:"flex justify-start items-center gap-2"},Tr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Rr={class:"text-[0.875rem]"},Zr={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Or={key:1,class:"p-[10px]"},Kr={key:0,class:"mb-2"},vr={class:"flex justify-start items-center gap-2"},Ur={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Ir={class:"text-[0.875rem]"},Hr={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Wr={class:"flex justify-start items-center gap-2"},qr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Gr={class:"text-[0.875rem]"},Yr={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Qr={key:0,class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},Xr=["title","onClick"],Jr=["src"],ea={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"},ta={class:"vs-mobile-peek-controls px-3 pb-3"},la={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%"}},oa=["title","onClick"],na=["src"],ra={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"},aa={class:"vs-mobile-peek-controls flex justify-center w-full"},ia={class:"w-full"},sa={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px] pb-[12px]"},ca={class:"text-[0.875rem] font-medium text-stone-700"},da={class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out"},ma={class:"p-[10px] pt-0"},pa={class:"flex justify-start items-center gap-2"},fa={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},ua={class:"text-[0.875rem]"},ga={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Ee="vector-clusters",dt=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},strokeAttr:{},filter:{},modelValue:{},zoom:{},minZoom:{},maxZoom:{},map:{},showPopup:{type:Boolean,default:!0},mobilePeekControls:{type:Boolean},layers:{},clusterZoom:{},pointZoom:{},polygonZoom:{},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{},alwaysShowPolygon:{type:Boolean}},emits:["update:modelValue","update:map"],setup(t,{emit:r}){const o=t,n=r;let l,s=null;const m=e.getCurrentInstance(),a=e.ref(null),g=e.ref(!1),x=e.ref(!1),c=e.ref(!1),h=e.ref(!1);let k=null,w=null;const p=["vector-circle","vector-fill","vector-stroke"],V=e.ref(!1),b=e.computed(()=>{var F,A;return((A=(F=m==null?void 0:m.appContext.config.globalProperties)==null?void 0:F.$settings)==null?void 0:A.basemaps)||[]}),d=e.computed(()=>(o.layers&&o.layers.length?o.layers:b.value.length?b.value:Er).map((A,O)=>{var ae;const z=A.id||((ae=A.name)==null?void 0:ae.toString().toLowerCase().replace(/\s+/g,"-"))||`layer-${O}`,I=A.name||A.id||`layer-${O}`;return{...A,id:z,name:I}})),f=e.ref(""),$=e.computed(()=>d.value.find(F=>F.id===f.value)||d.value[0]);e.watch(d,F=>{var A;F.length&&(!f.value||!F.some(O=>O.id===f.value))&&(f.value=((A=F[0])==null?void 0:A.id)||"")},{immediate:!0});function S(F){return F?F.replace("{x}","2422").replace("{y}","1400").replace("{z}","12"):""}const _=e.ref(null),N=e.ref(null),M=e.computed(()=>o.showPopup!==!1),D=["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#17BECF","#BCBD22"],B=["#0a7a34","#7c3aed","#d97706","#dc2626"];let i,u=[];const y=[30,48];let P=null,L=[];function Z(){if(typeof window>"u")return{zoom:null,center:null,hasQuery:!1};const F=new URLSearchParams(window.location.search),A=Number(F.get("z")),O=Number(F.get("y")),z=Number(F.get("x")),I=F.has("x")&&F.has("y"),ae=F.has("z");return{zoom:ae?A:null,center:I?[z,O]:null,hasQuery:I||ae}}function j(F,A){if(!F||typeof window>"u")return;const O=new URL(window.location.href);O.searchParams.set("z",A.toFixed(2)),O.searchParams.set("x",F[0].toFixed(6)),O.searchParams.set("y",F[1].toFixed(6)),window.history.replaceState({},"",O)}let R=!1;function G(){if(!l||!R)return;const F=l.getCenter();j([F.lng,F.lat],l.getZoom())}const v=()=>{R||(R=!0),G()};function oe(F){return F?["==",["to-string",["get","id"]],F]:["==",["literal",1],0]}const _e=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],ne=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]];function ee(){return typeof o.polygonZoom=="number"?o.polygonZoom:typeof o.clusterZoom=="number"?o.clusterZoom:12}function xe(){const F=oe(o.modelValue),A=["all",F,_e],O=["all",F,ne];if(!l.getLayer("vector-highlight-circle")){const I=ee(),ae=I!=null?I-.01:24;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]}})}if(!l.getLayer("vector-highlight-fill")){const I=ee();l.addLayer({id:"vector-highlight-fill",type:"line",minzoom:I??24,source:"vector","source-layer":o.table,paint:{"line-color":"#b91c1c","line-width":3,"line-opacity":.8}})}l.setFilter("vector-highlight-circle",A),l.setFilter("vector-highlight-fill",O);const z=o.modelValue?"visible":"none";l.setLayoutProperty("vector-highlight-circle","visibility",z),l.setLayoutProperty("vector-highlight-fill","visibility",z),be()}function Ne(F){if(!l||!L.length)return;const A="#ef4444",O=F?["case",["all",["has","id"],["==",["to-string",["get","id"]],F]],A,L]:L;if(l.getLayer("vector-circle")&&l.setPaintProperty("vector-circle","circle-color",O),l.getLayer("vector-fill")){const z=F?["case",["all",["has","id"],["==",["to-string",["get","id"]],F]],A,L]:L;l.setPaintProperty("vector-fill","fill-color",z)}}function be(){if(ke(),!o.modelValue)return;let F=!0;P=window.setInterval(()=>{F=!F;const A=F?.8:.2;l!=null&&l.getLayer("vector-highlight-circle")&&l.setPaintProperty("vector-highlight-circle","circle-opacity",A),l!=null&&l.getLayer("vector-highlight-fill")&&l.setPaintProperty("vector-highlight-fill","line-opacity",A)},600)}function ke(){P&&(clearInterval(P),P=null)}function Ie(){l&&(l.setCenter(o.center||y),l.setZoom(o.zoom||5))}function ge(){if(!(l!=null&&l.setLayerZoomRange))return;const F=o.minZoom??0,A=Math.min((o.maxZoom??18)+.01,24),z=(o.clusterZoom??12)-.01,I=ee(),ae=I-.01,he=V.value?ae:A,we=I;o.alwaysShowPolygon?(l.getLayer("vector-circle")&&l.setLayerZoomRange("vector-circle",F,0),l.getLayer("vector-highlight-circle")&&l.setLayerZoomRange("vector-highlight-circle",F,0),l.getLayer("vector-fill")&&l.setLayerZoomRange("vector-fill",F,A),l.getLayer("vector-highlight-fill")&&l.setLayerZoomRange("vector-highlight-fill",F,A),l.getLayer(Ee)&&l.setLayerZoomRange(Ee,F,0),l.getLayer("vector-cluster-count")&&l.setLayerZoomRange("vector-cluster-count",F,0)):(l.getLayer("vector-circle")&&l.setLayerZoomRange("vector-circle",F,he),l.getLayer("vector-highlight-circle")&&l.setLayerZoomRange("vector-highlight-circle",F,he),l.getLayer("vector-fill")&&l.setLayerZoomRange("vector-fill",we,A),l.getLayer("vector-stroke")&&l.setLayerZoomRange("vector-stroke",we,A),l.getLayer("vector-highlight-fill")&&l.setLayerZoomRange("vector-highlight-fill",we,A),l.getLayer(Ee)&&l.setLayerZoomRange(Ee,F,z),l.getLayer("vector-cluster-count")&&l.setLayerZoomRange("vector-cluster-count",F,z))}function re(){if(l!=null&&l.getSource("vector")){try{const A=l.querySourceFeatures("vector",{sourceLayer:o.table}).some(O=>{var I;const z=(I=O.geometry)==null?void 0:I.type;return z==="Polygon"||z==="MultiPolygon"});V.value=A}catch{}ge()}}const Se=Z();R=Se.hasQuery,e.onMounted(async()=>{i=(await fetch(`/api/data/${o.table}/${o.colorAttr}`).then(W=>W.json())).rows,i.forEach((W,U)=>{W.color||Object.assign(W,{color:D[U%10]})});const A=o.strokeAttr;if(u=[],A){u=(await fetch(`/api/data/${o.table}/${A}`).then(K=>K.json())).rows||[];let U=0;u.forEach((K,Q)=>{K.color||!K.id||(Object.assign(K,{color:B[U%B.length]}),U+=1)})}s=new maplibregl.Popup({closeButton:!1,closeOnClick:!1});const O=$.value;if(!O)return;const z=Se.center||o.center||y,I=Se.zoom||o.zoom||5;l=new maplibregl.Map({container:a.value,style:{version:8,sources:{[O.id]:{type:"raster",tiles:[O.url],tileSize:256}},layers:[{id:O.id,type:"raster",source:O.id,minzoom:0,maxzoom:19}]},center:z,zoom:I,minZoom:o.minZoom??3,maxZoom:o.maxZoom??18,attributionControl:!1}),n("update:map",l);const ae=o.mobilePeekControls?"bottom-right":"top-right";if(l.addControl(new maplibregl.NavigationControl,ae),o.mobilePeekControls){const W={onAdd:()=>{const U=document.createElement("div");return k=U,w=e.createApp(Cr,{onOpenLayers:()=>{c.value=!0},onOpenLegend:()=>{h.value=!0}}),w.mount(U),U},onRemove:()=>{w==null||w.unmount(),w=null,k=null}};l.addControl(W,"bottom-right"),l.once("render",()=>{if(!k)return;const U=l.getContainer(),K=U.querySelector(".maplibregl-ctrl-bottom-right"),Q=U.querySelector(".maplibregl-ctrl-zoom-in"),q=Q==null?void 0:Q.closest(".maplibregl-ctrl-group");!K||!q||k.parentElement===K&&(K.removeChild(k),K.insertBefore(k,q.nextSibling))})}l.on("zoom",()=>{}),l.on("moveend",v),l.on("zoomend",v),R&&G(),l.on("load",()=>{l==null||l.resize(),g.value=!0;const W=i.filter(q=>q.id!=null&&q.id!=="").reduce((q,te)=>[String(te.id),te.color].concat(q),[]),U=["match",["to-string",["get",o.colorAttr]],...W,"#808080"],K=(u||[]).filter(q=>q.id!=null&&q.id!=="").reduce((q,te)=>[String(te.id),te.color].concat(q),[]),Q=A?["match",["to-string",["get",A]],...K,"rgba(0,0,0,0)"]:"rgba(0,0,0,0)";L=U,Br(o.table,l,U,Q,o.filter,o.clusterZoom,o.pointZoom??12,o.polygonZoom),xe(),Ne(o.modelValue),ge(),l.on("sourcedata",q=>{q.sourceId==="vector"&&q.isSourceLoaded&&ee()!=null&&re()})});const he=W=>{var K,Q;const U=(K=W.features)==null?void 0:K[0];(Q=U==null?void 0:U.properties)!=null&&Q.id&&n("update:modelValue",U.properties.id)};p.forEach(W=>{l.on("click",W,he)}),l.on("click",Ee,W=>{var te,ye,Me;const U=(te=W.features)==null?void 0:te[0];if(!U)return;const{geometry:K}=U,Q=(K==null?void 0:K.type)==="Point"?K.coordinates:(Me=(ye=K==null?void 0:K.coordinates)==null?void 0:ye[0])==null?void 0:Me[0];if(!Q)return;const q=Math.min(l.getZoom()+2,l.getMaxZoom());l.easeTo({center:Q,zoom:q})}),[...p,Ee].forEach(W=>{l.on("mouseenter",W,()=>{l.getCanvas().style.cursor="pointer"}),l.on("mouseleave",W,()=>{l.getCanvas().style.cursor=""})}),l.on("mousemove",W=>{var te,ye;if(!M.value){(te=s==null?void 0:s.remove)==null||te.call(s);return}if(!s)return;const U=l.queryRenderedFeatures(W.point,{layers:p});if(!U||!U.length){s.remove();return}const K=U[0],{coordinates:Q}=K.geometry,q=K.geometry.type==="Point"?Q:Q[0][0];N.value=K.properties,s.setLngLat(q).setHTML((ye=_.value)==null?void 0:ye.innerHTML).addTo(l)})}),e.watch(()=>o.center,F=>{l&&l.setCenter(F||y)}),e.watch(()=>o.zoom,F=>{l&&l.setZoom(F)}),e.watch(()=>o.minZoom,F=>{l&&(l.setMinZoom(F??3),ge())}),e.watch(()=>o.maxZoom,F=>{l&&(l.setMaxZoom(F??18),ge())});function pe(F,A,O){if(!(l!=null&&l.getSource("vector")))return;const z=ct(o.table,F??o.filter,A??o.clusterZoom??12,O??o.pointZoom??12);l.getSource("vector").setTiles([z])}return e.watch(()=>o.filter,F=>{pe(F)}),e.watch(()=>o.clusterZoom,F=>{pe(void 0,F),ge()}),e.watch(()=>o.pointZoom,F=>{pe(void 0,void 0,F)}),e.watch(()=>o.alwaysShowPolygon,()=>{ge(),pe()}),e.watch(()=>o.polygonZoom,()=>{re()}),e.watch(()=>o.modelValue,F=>{if(!l)return;const A=oe(F),O=["all",A,_e],z=["all",A,ne];if(l.getLayer("vector-highlight-circle")){l.setFilter("vector-highlight-circle",O);const I=F?"visible":"none";l.setLayoutProperty("vector-highlight-circle","visibility",I)}if(l.getLayer("vector-highlight-fill")){l.setFilter("vector-highlight-fill",z);const I=F?"visible":"none";l.setLayoutProperty("vector-highlight-fill","visibility",I)}Ne(F),F?be():ke()}),e.watch(f,(F,A)=>{if(!l||!F)return;const O=d.value.find(I=>I.id===F);if(!O)return;l.getLayer(A)&&l.removeLayer(A),l.getSource(A)&&l.removeSource(A),l.addSource(F,{type:"raster",tiles:[O.url],tileSize:256});const z=l.getLayer("vector-clusters")?"vector-clusters":l.getLayer("vector-circle")?"vector-circle":void 0;l.addLayer({id:O.id,type:"raster",source:O.id,minzoom:0,maxzoom:19},z)}),e.onBeforeUnmount(()=>{ke(),l&&(l.off("moveend",v),l.off("zoomend",v),l.remove())}),(F,A)=>{const O=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Nr,[e.createElementVNode("div",{ref_key:"mapContainer",ref:a,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:Ie},[...A[3]||(A[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)])])),[[O,"Повернутися до базового вигляду"]]),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",Sr,[o.legendTitle?(e.openBlock(),e.createElementBlock("span",_r,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":x.value?"Згорнути легенду":"Розгорнути легенду",onClick:A[0]||(A[0]=z=>x.value=!x.value)},[x.value?(e.openBlock(),e.createElementBlock("svg",Dr,[...A[4]||(A[4]=[e.createElementVNode("path",{d:"M6 9l6 6 6-6"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",zr,[...A[5]||(A[5]=[e.createElementVNode("path",{d:"m18 15-6-6-6 6"},null,-1)])]))],8,Mr)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out",style:e.normalizeStyle(o.isCollapsible&&!x.value?{maxHeight:"0",padding:"0",margin:"0",opacity:"0"}:{})},[e.createElementVNode("div",{class:e.normalizeClass(["p-[10px]",x.value&&(e.unref(i)||[]).length?"pt-0":"pt-2"])},[(e.unref(u)||[]).some(z=>z==null?void 0:z.id)?(e.openBlock(),e.createElementBlock("div",jr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((e.unref(u)||[]).filter(z=>z==null?void 0:z.id),z=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:`stroke-${z.id}`},[e.createElementVNode("div",$r,[e.createElementVNode("span",{class:"inline-block w-[22px] border-t-[4px] border-dashed",style:e.normalizeStyle({borderTopColor:z.color||"#808080"})},null,4),e.createElementVNode("div",Pr,[e.createElementVNode("span",Fr,e.toDisplayString(z.text),1),z.count!=null?(e.openBlock(),e.createElementBlock("span",Lr,e.toDisplayString(z.count),1)):e.createCommentVNode("",!0)])])]))),128))])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i)||[],z=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:z.id},[e.createElementVNode("div",Ar,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+z.color)},null,4),e.createElementVNode("div",Tr,[e.createElementVNode("span",Rr,e.toDisplayString(z.text),1),z.count!=null?(e.openBlock(),e.createElementBlock("span",Zr,e.toDisplayString(z.count),1)):e.createCommentVNode("",!0)])])]))),128))],2)],4)],64)):(e.openBlock(),e.createElementBlock("div",Or,[(e.unref(u)||[]).some(z=>z==null?void 0:z.id)?(e.openBlock(),e.createElementBlock("div",Kr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList((e.unref(u)||[]).filter(z=>z==null?void 0:z.id),z=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:`stroke-${z.id}`},[e.createElementVNode("div",vr,[e.createElementVNode("span",{class:"inline-block w-[22px] border-t-[4px] border-dashed",style:e.normalizeStyle({borderTopColor:z.color||"#808080"})},null,4),e.createElementVNode("div",Ur,[e.createElementVNode("span",Ir,e.toDisplayString(z.text),1),z.count!=null?(e.openBlock(),e.createElementBlock("span",Hr,e.toDisplayString(z.count),1)):e.createCommentVNode("",!0)])])]))),128))])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i)||[],z=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:z.id},[e.createElementVNode("div",Wr,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+z.color)},null,4),e.createElementVNode("div",qr,[e.createElementVNode("span",Gr,e.toDisplayString(z.text),1),z.count!=null?(e.openBlock(),e.createElementBlock("span",Yr,e.toDisplayString(z.count),1)):e.createCommentVNode("",!0)])])]))),128))]))],6),e.createElementVNode("div",{ref_key:"popupDiv",ref:_,style:{display:"none"}},[e.renderSlot(F.$slots,"default",{hoverData:N.value})],512),o.mobilePeekControls?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Qr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,z=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:z.id,title:z.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:f.value===z.id}]),onClick:I=>f.value=z.id},[e.createElementVNode("img",{src:z.preview||S(z.url),class:"vs-map-slot-layers__image"},null,8,Jr),e.createElementVNode("div",ea,e.toDisplayString(z.name),1)],10,Xr)),[[O,z.name]])),128))])),o.mobilePeekControls?(e.openBlock(),e.createBlock(Be,{key:1,open:c.value,title:"Шари","initial-variant":"peek","peek-mode":"clip-full","allow-expand":!1,onClose:A[1]||(A[1]=z=>c.value=!1)},{default:e.withCtx(()=>[e.createElementVNode("div",ta,[e.createElementVNode("div",la,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,z=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:z.id,title:z.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:f.value===z.id}]),onClick:I=>f.value=z.id},[e.createElementVNode("img",{src:z.preview||S(z.url),class:"vs-map-slot-layers__image",style:{width:"100%",height:"100","object-fit":"cover",display:"block"}},null,8,na),e.createElementVNode("div",ra,e.toDisplayString(z.name),1)],10,oa)),[[O,z.name]])),128))])])]),_:1},8,["open"])):e.createCommentVNode("",!0),o.mobilePeekControls?(e.openBlock(),e.createBlock(Be,{key:2,open:h.value,title:"Легенда","initial-variant":"peek","peek-mode":"clip-full","peek-height-px":200,onClose:A[2]||(A[2]=z=>h.value=!1)},{default:e.withCtx(()=>[e.createElementVNode("div",aa,[e.createElementVNode("div",ia,[e.createElementVNode("div",sa,[e.createElementVNode("span",ca,e.toDisplayString(o.legendTitle||"Легенда"),1)]),e.createElementVNode("div",da,[e.createElementVNode("div",ma,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i)||[],z=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:z.id},[e.createElementVNode("div",pa,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+z.color)},null,4),e.createElementVNode("div",fa,[e.createElementVNode("span",ua,e.toDisplayString(z.text),1),z.count!=null?(e.openBlock(),e.createElementBlock("span",ga,e.toDisplayString(z.count),1)):e.createCommentVNode("",!0)])])]))),128))])])])])]),_:1},8,["open"])):e.createCommentVNode("",!0)],512)),[[e.vShow,g.value]])}}}),mt={mounted(t,r){if(typeof document>"u")return;let o=null;const n=()=>{o=document.createElement("div"),o.textContent=r.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 s=t.getBoundingClientRect();o.style.left=`${s.left+window.scrollX}px`,o.style.top=`${s.top+window.scrollY-o.offsetHeight-5}px`},l=()=>{o&&o.parentNode&&(o.parentNode.removeChild(o),o=null)};t.addEventListener("mouseenter",n),t.addEventListener("mouseleave",l),Object.assign(t,{tooltipHandlers:{showTooltip:n,hideTooltip:l}})},unmounted(t){if(typeof document>"u")return;const r=t.tooltipHandlers;r&&(t.removeEventListener("mouseenter",r.showTooltip),t.removeEventListener("mouseleave",r.hideTooltip))}},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:"lucide lucide-list-filter-icon lucide-list-filter"};function xa(t,r){return e.openBlock(),e.createElementBlock("svg",ya,[...r[0]||(r[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 ba=me(ha,[["render",xa]]),ka={},wa={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 Va(t,r){return e.openBlock(),e.createElementBlock("svg",wa,[...r[0]||(r[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 Ca=me(ka,[["render",Va]]),Ba={},Ea={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 Na(t,r){return e.openBlock(),e.createElementBlock("svg",Ea,[...r[0]||(r[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 Sa=me(Ba,[["render",Na]]),_a={class:"absolute inset-x-0 top-[12px] z-40 px-[12px] pointer-events-none"},Ma={class:"flex flex-wrap gap-2"},Da=["disabled"],za={key:0,class:"pointer-events-none absolute top-1 right-0.5 h-3 w-3 rounded-full bg-blue-400","aria-hidden":"true"},ja=e.defineComponent({__name:"MobileOverlayActions",props:{activeModal:{},filtersDisabled:{type:Boolean},hasActiveFilters:{type:Boolean}},emits:["openSearch","openFilters","openTable"],setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",_a,[e.createElementVNode("div",Ma,[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]=n=>r.$emit("openSearch"))},[e.createVNode(Ca)],2),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["pointer-events-auto relative 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]=n=>r.$emit("openFilters"))},[e.createVNode(ba,{"stroke-width":1,class:"text-gray-900"}),o[3]||(o[3]=e.createElementVNode("span",{class:"font-medium"},"Фільтри",-1)),t.hasActiveFilters&&!t.filtersDisabled?(e.openBlock(),e.createElementBlock("span",za)):e.createCommentVNode("",!0)],10,Da),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]=n=>r.$emit("openTable"))},[e.createVNode(Sa,{"stroke-width":1,class:"text-gray-900"}),o[4]||(o[4]=e.createElementVNode("span",{class:"font-medium"},"Таблиця",-1))],2)])]))}}),$a={key:0,class:"relative w-full h-full vs-mobile-parts-map"},Pa={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},Fa={class:"flex flex-col min-h-0 gap-4"},La={class:"flex flex-col min-h-0 flex-1"},Aa={key:1,class:"wrapperTable flex flex-col min-h-0"},Ta={key:1,class:"text-center py-8"},Ra={key:2,class:"mt-4 pt-4 border-t border-stone-200 shrink-0"},Za={class:"flex flex-col flex-1 min-h-0 overflow-hidden"},Oa={id:"active-filters"},Ka={class:"flex-1 min-h-0"},va={key:1,class:"text-sm text-stone-500"},Ua={class:"wrapperTable flex flex-col min-h-0"},Ia={key:1,class:"text-center py-12"},Ha={key:0,class:"mt-4 pt-4 border-t border-stone-200"},Wa=["onClick"],qa={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},Ga={class:"flex items-center"},Ya=["title"],Qa={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},Xa={class:"flex"},Ja={key:0,class:"flex items-center py-[15px] pb-[24px] pl-2 pr-6 gap-4"},ei={class:"font-bold text-2xl mr-[10px]"},ti={class:"text-sm text-stone-500 font-medium"},li={key:0,class:"inline-flex items-center gap-2 text-sm text-stone-700 select-none ml-auto mt-auto"},oi={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},ni={key:1,class:"text-center py-28"},ri={key:1},ai={key:2,class:"my-5 pr-2"},ii={class:"flex justify-between"},si={class:"w-full lg:w-1/2 relative"},ci={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},pt="(max-width: 999px)",Pe="0px",Ue=e.defineComponent({__name:"vs-parts-map",props:{title:{},table:{},map:{},rows:{},geom:{default:"geom"},zoom:{},minZoom:{default:3},maxZoom:{default:18},center:{},initTotal:{},colorAttr:{},strokeAttr:{},id:{},filters:{},history:{type:Boolean},layers:{},objectsInView:{type:Boolean,default:!0},clusterZoom:{default:12},polygonZoom:{},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{},polygonFitBbox:{type:Boolean},alwaysShowPolygon:{type:Boolean},mobileFilterView:{},mobileFilterLimit:{}},emits:["change:filter","update:map"],setup(t,{emit:r}){var te,ye,Me,ft,ut,gt,ht;const o=e.getCurrentInstance();o&&!(o!=null&&o.appContext.directives.tooltip)&&(o.appContext.directives.tooltip=mt);function n(C){return C?(C.type==="Point"?C.coordinates:null)||(C.type.includes("Multi")?C.coordinates[0][0][0]:C.coordinates[0][0]):null}function l(C){switch(C==null?void 0:C.type){case"Polygon":return C.coordinates[0];case"MultiPolygon":return C.coordinates.flatMap(E=>E[0]);case"LineString":return C.coordinates;case"MultiLineString":return C.coordinates.flat();default:return[]}}function s(C){if(!C||C.type==="Point"||C.type==="MultiPoint")return null;const E=l(C);if(!E.length)return null;let H=1/0,T=1/0,le=-1/0,X=-1/0;return E.forEach(([Y,ie])=>{Y<H&&(H=Y),ie<T&&(T=ie),Y>le&&(le=Y),ie>X&&(X=ie)}),[[H,T],[le,X]]}function m(C){return(C==null?void 0:C.type)==="Polygon"||(C==null?void 0:C.type)==="MultiPolygon"}const a=t,g=e.useSlots(),x=e.computed(()=>a.mobileFilterView??"vertical"),c=e.computed(()=>a.mobileFilterLimit!==void 0?{limit:a.mobileFilterLimit}:{}),h=r,k=e.ref(0);k.value=a.initTotal??((te=a.rows)==null?void 0:te.length)??0;const w=e.ref(""),p=e.ref(null),V=e.ref(!0),b=e.ref(((ye=a.rows)==null?void 0:ye.length)===1),d=e.ref(!1);let f=null;const $=e.ref(!1);typeof window<"u"&&(f=window.matchMedia(pt),$.value=f.matches,d.value=!0);const S=e.ref(a.rows),_=e.ref(1),N=e.ref(20),M=e.ref(a.filters||[]),D=e.ref(""),B=e.ref({}),i=e.computed(()=>Object.values(B.value).some(C=>Array.isArray(C)?C.some(E=>E!=null&&E!==""):C&&typeof C=="object"?Object.values(C).some(E=>E!=null&&E!==""):C===null?!0:C!==void 0&&C!=="")),u=e.ref(((Me=a.rows)==null?void 0:Me.length)===1?a.rows[0]:{}),y=e.ref(((ft=a.rows)==null?void 0:ft.length)===1?a.rows[0].id:""),P=e.ref(((ut=a.rows)==null?void 0:ut.length)===1?n((gt=a.rows[0])==null?void 0:gt[a.geom]):a.center||null),L=e.ref(((ht=a.rows)==null?void 0:ht.length)===1?14:a.zoom||5),Z=e.ref(!1),j=e.ref(!1),R=e.ref("");let G=!1;const v=e.ref(null),oe=e.ref(!1);function _e(){if(!f)return;const C=$.value;$.value=f.matches,C!==$.value&&(v.value=null,e.nextTick(()=>{var E,H;(H=(E=p.value)==null?void 0:E.resize)==null||H.call(E)}))}const ne=e.ref(null),ee=e.ref(null),xe=C=>(C==null?void 0:C[a.geom])??(C==null?void 0:C.geom),Ne=e.computed(()=>b.value&&!xe(u.value)),be=e.computed({get:()=>Ne.value?"":y.value,set:C=>{y.value=C,$.value&&(C?(oe.value=!0,v.value="details"):v.value==="details"&&(v.value=null))}});function ke(){var Y,ie;if(a.alwaysShowPolygon){ne.value=null,ee.value=null;return}const C=xe(u.value);if(!a.polygonFitBbox||!p.value||!C){ne.value=null,ee.value=null;return}const E=C;if(!m(E)){ne.value=null,ee.value=null;return}const H=s(E);if(!H){ne.value=null,ee.value=null;return}const T=(ie=(Y=p.value).cameraForBounds)==null?void 0:ie.call(Y,H,{padding:20,maxZoom:16}),le=T==null?void 0:T.zoom,X=a.clusterZoom??12;if(le!=null&&le<X){const Ve=Math.floor(le);ne.value=Ve,ee.value=Ve}else ne.value=null,ee.value=null}function Ie(C){return Object.entries(C).filter(([,E])=>Array.isArray(E)?E.length:E).map(([E,H])=>`${E}=${H}`).join("|")}function ge(){var T,le,X,Y;if(!p.value||!j.value)return;const C=(le=(T=p.value).getBounds)==null?void 0:le.call(T);if(!C)return;const E=(X=C.getSouthWest)==null?void 0:X.call(C),H=(Y=C.getNorthEast)==null?void 0:Y.call(C);!E||!H||(R.value=`${E.lng} ${E.lat},${H.lng} ${H.lat}`)}async function re(C=!1){await e.nextTick();const E=Ie(B.value);D.value=E,j.value?ge():R.value="";try{const H={search:w.value,limit:N.value.toString(),page:_.value.toString(),filter:E,...j.value&&R.value?{bbox:R.value}:{}},T=new URL(`/api/data/${a.table}`,window.location.origin)+(y.value?`/${y.value}`:""),le=new URLSearchParams(H).toString(),X=await fetch(`${T.toString()}?${le}`).then(Y=>Y.json());if(y.value){let Y;X.rows.length>1?Y=X.rows.find(Ve=>Ve.id===y.value):[Y]=X.rows,u.value=Y;const ie=xe(Y);if(!C&&ie){const Ve=a.polygonFitBbox?s(ie):null;Ve&&p.value?p.value.fitBounds(Ve,{padding:20,maxZoom:16,duration:500}):(P.value=n(ie),L.value=14)}else!C&&ie&&(P.value=n(ie),L.value=14);ke(),b.value=!0}else ne.value=null,ee.value=null,b.value=!1,Z.value||(L.value=a.zoom||5),S.value=X==null?void 0:X.rows;Z.value=!1,k.value=X.filtered,An({page:_.value,filter:E,id:y.value,filterByView:j.value})}catch(H){console.error(H.message)}}const Se=at(()=>re(),300),pe=at(()=>re(!0),400);function F(){!p.value||G||!j.value||(p.value.on("moveend",pe),p.value.on("zoomend",pe),G=!0)}function A(){!p.value||!G||(p.value.off("moveend",pe),p.value.off("zoomend",pe),G=!1)}function O(C){N.value=C,_.value=1,re()}function z(C){_.value=C,re()}function I(C){B.value=C.data,_.value=1,y.value?y.value="":re(),h("change:filter",C)}async function ae(){if(a.filters)return;const E=await(await fetch(`/api/filter/${a.table}`)).json();M.value=E.list}function he(){B.value={},w.value="",re()}e.onMounted(async()=>{var H,T;f||(f=window.matchMedia(pt)),d.value||($.value=f.matches,d.value=!0),f.addEventListener("change",_e),$.value&&(V.value=!1);const C=new URLSearchParams(window.location.search);_.value=Number(C.get("page"))||1,N.value=Number(C.get("limit"))||N.value,y.value=C.get("id")||"",b.value=!!y.value,D.value=C.get("filter")||"";const E=C.get("bbox");E!==null?j.value=E!=="0":j.value=!1,(T=(H=C.get("filter"))==null?void 0:H.split("|"))==null||T.forEach(le=>{const[X,Y]=le.split("=");X&&(B.value[X]=Y!=null&&Y.includes(",")?Y.split(","):[Y])}),ae(),!S.value&&!y.value&&re()}),e.onBeforeUnmount(()=>{f==null||f.removeEventListener("change",_e),A()});function we(){Z.value=!0,b.value=!1,u.value=null,y.value="",ne.value=null,ee.value=null}function W(C){v.value=C}function U(){v.value=null}async function K(){var C,E;await e.nextTick(),(E=(C=p.value)==null?void 0:C.resize)==null||E.call(C)}function Q(){we(),U()}function q(C){oe.value=!0;const E=xe(C);if(E){const H=a.polygonFitBbox?s(E):null;H&&p.value?p.value.fitBounds(H,{padding:20,maxZoom:16,duration:500}):(P.value=n(E),L.value=16)}else C!=null&&C[a.geom]&&(P.value=n(C[a.geom]),L.value=16);u.value=C,y.value=C.id,ke(),$.value&&(v.value="details")}return e.watch(v,async()=>{var C,E;await e.nextTick(),(E=(C=p.value)==null?void 0:C.resize)==null||E.call(C)}),e.watch(p,C=>{h("update:map",C),C&&j.value&&F(),C&&a.polygonFitBbox&&xe(u.value)&&ke()}),e.watch(w,C=>{C||re()}),e.watch(y,()=>{re()}),e.watch(j,()=>{j.value?F():A(),re()}),(C,E)=>{var H;return d.value?(e.openBlock(),e.createElementBlock("section",{key:0,class:e.normalizeClass($.value?"":"pt-[20px]")},[$.value?(e.openBlock(),e.createElementBlock("div",$a,[e.createVNode(dt,{table:a.table,map:p.value,"onUpdate:map":E[0]||(E[0]=T=>p.value=T),zoom:L.value,minZoom:a.minZoom,maxZoom:a.maxZoom,colorAttr:a.colorAttr,strokeAttr:a.strokeAttr,filter:D.value,center:P.value,clusterZoom:a.alwaysShowPolygon?0:ne.value??a.clusterZoom,pointZoom:a.alwaysShowPolygon?0:ee.value??12,polygonZoom:a.polygonZoom,alwaysShowPolygon:a.alwaysShowPolygon,modelValue:be.value,"onUpdate:modelValue":E[1]||(E[1]=T=>be.value=T),layers:a.layers,isCollapsible:a.isCollapsible,legendTitle:a.legendTitle,legendWidth:a.legendWidth,"show-popup":!1,"mobile-peek-controls":!0},{default:e.withCtx(({hoverData:T})=>[e.renderSlot(C.$slots,"popup",{data:T})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","strokeAttr","filter","center","clusterZoom","pointZoom","polygonZoom","alwaysShowPolygon","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),Ne.value?(e.openBlock(),e.createElementBlock("div",Pa,[...E[19]||(E[19]=[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"> Координати або межі об'єкта не внесені до системи. Об'єкт відображається лише у текстовому форматі. </p>',3)])])):e.createCommentVNode("",!0),e.createVNode(ja,{"active-modal":v.value,"filters-disabled":!M.value.length,"has-active-filters":i.value,onOpenSearch:E[2]||(E[2]=T=>W("search")),onOpenFilters:E[3]||(E[3]=T=>W("filters")),onOpenTable:E[4]||(E[4]=T=>W("table"))},null,8,["active-modal","filters-disabled","has-active-filters"]),e.createVNode(Be,{open:v.value==="search",title:"Пошук","top-offset":Pe,"initial-variant":"full","peek-mode":"clip-full",onClose:U,onExpand:K,onCollapse:K},{default:e.withCtx(()=>[e.createElementVNode("div",Fa,[e.createVNode(e.unref(se),{type:"text",modelValue:w.value,"onUpdate:modelValue":E[5]||(E[5]=T=>w.value=T),name:"search",label:"Пошук",onChange:e.unref(Se)},null,8,["modelValue","onChange"]),e.createElementVNode("div",La,[e.unref(g)["mobile-search-results"]?e.renderSlot(C.$slots,"mobile-search-results",{key:0,rows:S.value,selectRow:q,closeModal:U}):(e.openBlock(),e.createElementBlock("div",Aa,[k.value>=1?e.renderSlot(C.$slots,"table",{key:0,rows:S.value,selectRow:q,isMapVisible:!1}):(e.openBlock(),e.createElementBlock("div",Ta,[e.createVNode(ve),E[20]||(E[20]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),E[21]||(E[21]=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:he}," Очистити дані пошуку ")]))])),k.value>=1?(e.openBlock(),e.createElementBlock("div",Ra,[e.createVNode(Ke,{total:k.value,currentPage:_.value??1,pageSize:N.value,onPageChange:E[6]||(E[6]=T=>z(T)),onPageSizeChange:E[7]||(E[7]=T=>O(T))},null,8,["total","currentPage","pageSize"])])):e.createCommentVNode("",!0)])])]),_:3},8,["open"]),e.createVNode(Be,{open:v.value==="filters",title:"Фільтри","top-offset":Pe,"initial-variant":"full","peek-mode":"clip-full",onClose:U,onExpand:K,onCollapse:K},{default:e.withCtx(()=>[e.createElementVNode("div",Za,[e.withDirectives(e.createElementVNode("div",Oa,null,512),[[e.vShow,v.value==="filters"]]),e.createElementVNode("div",Ka,[M.value.length?(e.openBlock(),e.createBlock(e.unref($e),e.mergeProps({key:0,schema:M.value,view:x.value},c.value,{value:B.value,teleportActive:"#active-filters",onChange:I}),null,16,["schema","view","value"])):(e.openBlock(),e.createElementBlock("p",va,"Фільтри недоступні для цього переліку."))])])]),_:1},8,["open"]),e.createVNode(Be,{open:v.value==="table",title:"Таблиця","top-offset":Pe,"initial-variant":"full","peek-mode":"clip-full",onClose:U,onExpand:K,onCollapse:K},{default:e.withCtx(()=>[e.createElementVNode("div",Ua,[k.value>=1?e.renderSlot(C.$slots,"table",{key:0,rows:S.value,selectRow:q,isMapVisible:!1}):(e.openBlock(),e.createElementBlock("div",Ia,[e.createVNode(ve),E[22]||(E[22]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),E[23]||(E[23]=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:he}," Очистити дані пошуку ")]))]),k.value>=1?(e.openBlock(),e.createElementBlock("div",Ha,[e.createVNode(Ke,{total:k.value,currentPage:_.value??1,pageSize:N.value,onPageChange:E[8]||(E[8]=T=>z(T)),onPageSizeChange:E[9]||(E[9]=T=>O(T))},null,8,["total","currentPage","pageSize"])])):e.createCommentVNode("",!0)]),_:3},8,["open"]),e.createVNode(Be,{open:v.value==="details",title:"Об'єкт","top-offset":Pe,"initial-variant":oe.value?"peek":"full","peek-mode":"custom",onClose:Q,onExpand:K,onCollapse:K},{peek:e.withCtx(({expand:T})=>[e.unref(g)["mobile-details-peek"]?e.renderSlot(C.$slots,"mobile-details-peek",{key:0,selectedRow:u.value,expand:T,close:Q}):(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,Wa))]),default:e.withCtx(()=>[e.renderSlot(C.$slots,"details",{table:a.table,selectedRow:u.value,closeObjCard:Q})]),_:3},8,["open","initial-variant"]),e.renderSlot(C.$slots,"default",{table:a.table,map:p.value,selectedRow:u.value})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(C.$slots,"header",{title:a.title,total:k.value}),e.createElementVNode("div",qa,[e.createVNode(e.unref(se),{type:"text",modelValue:w.value,"onUpdate:modelValue":E[10]||(E[10]=T=>w.value=T),name:"search",label:"Пошук",onChange:e.unref(Se)},null,8,["modelValue","onChange"]),M.value.length?(e.openBlock(),e.createBlock(e.unref($e),{key:0,schema:M.value,view:"inline",onChange:I,limit:5,value:B.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ga,[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:V.value?"Приховати карту":"Показати карту",onClick:E[11]||(E[11]=T=>V.value=!V.value)},[V.value?(e.openBlock(),e.createBlock(tr,{key:0})):(e.openBlock(),e.createBlock(rr,{key:1})),E[24]||(E[24]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,Ya),e.createElementVNode("div",Qa,[e.createElementVNode("button",{onClick:E[12]||(E[12]=T=>V.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(fr)]),e.createElementVNode("button",{onClick:E[13]||(E[13]=T=>V.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(cr)])])])]),e.createElementVNode("div",Xa,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",V.value?"w-2/4 mr-0":"w-full mr-3",b.value?"hidden":""])},[(H=C.$slots)!=null&&H.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ja,[e.createElementVNode("div",null,[e.createElementVNode("span",ei,e.toDisplayString(a.title),1),e.createElementVNode("span",ti,e.toDisplayString(k.value),1),E[25]||(E[25]=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1))]),a.objectsInView?(e.openBlock(),e.createElementBlock("label",li,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"accent-blue-600 w-4 h-4","onUpdate:modelValue":E[14]||(E[14]=T=>j.value=T)},null,512),[[e.vModelCheckbox,j.value]]),E[26]||(E[26]=e.createElementVNode("span",null,"В межах видимої області",-1))])):e.createCommentVNode("",!0)])),e.createElementVNode("div",oi,[k.value>=1?e.renderSlot(C.$slots,"table",{key:0,rows:S.value,selectRow:q}):(e.openBlock(),e.createElementBlock("div",ni,[e.createVNode(ve),E[27]||(E[27]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),E[28]||(E[28]=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:he}," Очистити дані пошуку ")]))]),k.value>=1?(e.openBlock(),e.createElementBlock("hr",ri)):e.createCommentVNode("",!0),k.value>=1?(e.openBlock(),e.createElementBlock("div",ai,[e.createElementVNode("div",ii,[e.createVNode(Ke,{total:k.value,currentPage:_.value??1,pageSize:N.value,onPageChange:E[15]||(E[15]=T=>z(T)),onPageSizeChange:E[16]||(E[16]=T=>O(T))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(V.value?"lg:static lg:w-1/2 mr-0 pb-5":"pb-5 mr-3"),style:{height:"calc(100vh - 152px)"}},[e.renderSlot(C.$slots,"details",{table:a.table,selectedRow:u.value,closeObjCard:we})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",si,[e.createVNode(dt,{table:a.table,map:p.value,"onUpdate:map":E[17]||(E[17]=T=>p.value=T),zoom:L.value,minZoom:a.minZoom,maxZoom:a.maxZoom,colorAttr:a.colorAttr,strokeAttr:a.strokeAttr,filter:D.value,center:P.value,clusterZoom:a.alwaysShowPolygon?0:ne.value??a.clusterZoom,pointZoom:a.alwaysShowPolygon?0:ee.value??12,polygonZoom:a.polygonZoom,alwaysShowPolygon:a.alwaysShowPolygon,modelValue:be.value,"onUpdate:modelValue":E[18]||(E[18]=T=>be.value=T),layers:a.layers,isCollapsible:a.isCollapsible,legendTitle:a.legendTitle,legendWidth:a.legendWidth,"show-popup":!0},{default:e.withCtx(({hoverData:T})=>[e.renderSlot(C.$slots,"popup",{data:T})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","strokeAttr","filter","center","clusterZoom","pointZoom","polygonZoom","alwaysShowPolygon","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.renderSlot(C.$slots,"default",{table:a.table,map:p.value,selectedRow:u.value}),Ne.value?(e.openBlock(),e.createElementBlock("div",ci,[...E[29]||(E[29]=[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"> Координати або межі об'єкта не внесені до системи. Об'єкт відображається лише у текстовому форматі. </p>',3)])])):e.createCommentVNode("",!0)],512),[[e.vShow,V.value]])])],64))],2)):e.createCommentVNode("",!0)}}});return Ue.install=t=>{t.component("VsPartsMap",Ue),t._context.directives.tooltip||t.directive("tooltip",mt)},Ue});
|
|
1
|
+
(function(e,ue){typeof exports=="object"&&typeof module<"u"?module.exports=ue(require("vue")):typeof define=="function"&&define.amd?define(["vue"],ue):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=ue(e.Vue))})(this,function(e){"use strict";const ue=(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 yt={},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 xt(t,a){return e.openBlock(),e.createElementBlock("svg",bt,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 kt=ue(yt,[["render",xt]]),wt={},Vt={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 Ct(t,a){return e.openBlock(),e.createElementBlock("svg",Vt,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 Bt=ue(wt,[["render",Ct]]),Et={},Nt={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(t,a){return e.openBlock(),e.createElementBlock("svg",Nt,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 _t=ue(Et,[["render",St]]),Mt={},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 zt(t,a){return e.openBlock(),e.createElementBlock("svg",Dt,a[0]||(a[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const $t=ue(Mt,[["render",zt]]),Lt={class:"rounded-md border border-gray-300 bg-white p-4 shadow-sm"},Pt={class:"flex items-start gap-4 opacity-100 scale-5 transition-all duration-300"},Ft={class:"flex-1"},At={class:"font-medium text-gray-900"},jt={class:"mt-0.5 text-sm text-gray-700"},Tt=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(t){const a={success:kt,warning:Bt,error:$t,info:_t};return(o,r)=>(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("div",Pt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a[o.type]))),e.createElementVNode("div",Ft,[e.createElementVNode("strong",At,e.toDisplayString(o.title),1),e.createElementVNode("p",jt,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 Be={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"},be=t=>{var d;const{type:a="info",title:o,message:r,position:l="right-bottom"}=t||{};let s=document.querySelector("#notify-root");s||(s=document.createElement("div"),s.id="notify-root",s.className=`fixed z-[2000] flex flex-col gap-3 ${Be[l]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(s)),s.className.includes(Be[l])||(Object.values(Be).forEach(h=>{s.classList.remove(...h.split(" "))}),s.classList.add(...Be[l].split(" ")));const b=document.createElement("div");s.appendChild(b);const n=e.createApp({render(){return e.h(Tt,{type:a,title:o,message:r,onClose:()=>{n.unmount(),b.remove()}})}});n.mount(b),(d=b.querySelector("button"))==null||d.addEventListener("click",()=>{b.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{n.unmount(),b.remove()},350)}),setTimeout(()=>{b.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{n.unmount(),b.remove()},350)},3500)},ce=(t,a)=>{const o=t.__vccOpts||t;for(const[r,l]of a)o[r]=l;return o},vt={},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 Rt(t,a){return e.openBlock(),e.createElementBlock("svg",Ot,[...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 Zt=ce(vt,[["render",Rt]]),Ut={},It={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 Kt(t,a){return e.openBlock(),e.createElementBlock("svg",It,[...a[0]||(a[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const ge=ce(Ut,[["render",Kt]]),Ht={class:"flex items-center cursor-pointer w-full"},Wt={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},qt=["value"],Yt={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Gt={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Qt={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},ze=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 s(){l("itemClick",r.value)}const b=e.ref(null),n=e.computed(()=>r.layout==="inline"&&r.type==="radio"),d=e.computed(()=>r.layout==="vertical"?"text-[13px]":"text-sm");return a({el:b}),(h,f)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:b},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between w-full",d.value])},[e.createElementVNode("div",Ht,[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},d.value]),onClick:e.withModifiers(s,["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",Wt)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:t.value},null,8,qt),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",Yt,e.toDisplayString(t.label??"Відсутні дані"),1),t.count?(e.openBlock(),e.createElementBlock("div",Gt," ("+e.toDisplayString(t.count)+") ",1)):e.createCommentVNode("",!0)],2),n.value&&t.isSelected?(e.openBlock(),e.createElementBlock("span",Qt,[e.createVNode(ge)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function $e(t,a){const{api:o,options:r=[],limit:l=20,dataKey:s="data",data:b}=t,n=s??b??"data";function d(i){return Array.isArray(i)?i[0]:i}const h=e.ref(d(t.modelValue)),f=e.ref(""),u=e.ref(!1),y=e.ref([]),C=e.ref("id"),m=e.ref("text"),V=e.ref(!1),B=e.ref(t.layout!=="popover"&&r.length>l);function c(i){const w=i.find(Boolean)??{},g=["id","value","code","key"].find(P=>P in w)??"id",L=["text","label","name","title"].find(P=>P in w)??"text";return{autoValueKey:g,autoLabelKey:L}}function p(i){if(i.length>0){const g=c(i);C.value=g.autoValueKey,m.value=g.autoLabelKey}const w=[...i].sort((g,L)=>t.sort==="count"?L.count&&g.count?L.count-g.count:0:t.sort==="name"?String(g[m.value]??"").localeCompare(String(L[m.value]??"")):0);y.value=w}r.length>0&&p(r);const D=e.computed(()=>{const i=y.value;return t.layout==="popover"||V.value?i:i.slice(0,l)});async function A(){if(o){u.value=!0;try{const i=new URL(o,window.location.origin);i.searchParams.set("json","1"),i.searchParams.set("limit",l.toString());const w=await fetch(i.toString());if(!w.ok){be({type:"error",title:"Error",message:"Failed to fetch remote options"}),y.value=[];return}const g=await w.json();if(!g[n]){be({type:"error",title:"Error",message:g}),y.value=[];return}p(g[n])}catch(i){console.error("Failed to fetch remote options:",i)}finally{u.value=!1}}}function z(){o&&y.value.length===0&&A()}e.watch(()=>t.modelValue,i=>{h.value=d(i)},{immediate:!0}),o||p(r);function x(i){return h.value===i[C.value]}function k(i){h.value=i[C.value],a("update:modelValue",h.value),a("change",{name:t.name,value:h.value})}function M(){h.value=void 0,a("update:modelValue",h.value),a("clear",t.name)}function S(){V.value=!V.value}return{innerValue:h,searchTerm:f,filteredOptions:D,isSelected:x,selectItem:k,clear:M,toggleShowAll:S,isReqProc:u,showAll:V,isEnableShowAll:B,labelKey:m,valueKey:C,allOptions:y,loadData:z}}function Ze(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 he(){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 Xt(){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 Ue(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 Ke(t){const a=t.split(".")[1],o=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(Ie[o||navigator.language]||Ie.uk)[a]}function te(){const t=e.getCurrentInstance();if(!t.appContext.config.globalProperties.$i18n)return Ke;const a=t.appContext.config.globalProperties.$t;return o=>{const r=a(o);return r===o?Ke(o):r}}const Jt={},el={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function tl(t,a){return e.openBlock(),e.createElementBlock("svg",el,[...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 Le=ce(Jt,[["render",tl]]),ll={},ol={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 nl(t,a){return e.openBlock(),e.createElementBlock("svg",ol,[...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 Ee=ce(ll,[["render",nl]]),al={},rl={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 il(t,a){return e.openBlock(),e.createElementBlock("svg",rl,[...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 Pe=ce(al,[["render",il]]),sl={key:0,class:"w-full"},cl={class:"flex flex-col items-center justify-center p-5 text-center"},dl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ml={key:1,class:"py-2 px-2"},pl=["disabled"],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(t,{expose:a,emit:o}){const r=t,l=e.ref(null),s=he(),b=te(),n=o,{innerValue:d,filteredOptions:h,isSelected:f,selectItem:u,clear:y,toggleShowAll:C,isReqProc:m,showAll:V,isEnableShowAll:B,labelKey:c,valueKey:p,allOptions:D,loadData:A}=$e({...r,modelValue:r.modelValue??r.default??""},n);return e.onMounted(()=>{r.api&&A()}),a({clear:y,inputTextRef:l}),e.watch(()=>r.modelValue,z=>{z===void 0&&(d.value=void 0)}),(z,x)=>(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(h),k=>(e.openBlock(),e.createBlock(ze,{layout:t.layout,key:k[e.unref(p)],count:k.count,label:k[e.unref(c)],color:k.color,type:"radio",value:k[e.unref(p)],"is-selected":e.unref(f)(k),onItemClick:M=>e.unref(u)(k)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(h).length===0&&!e.unref(m)?(e.openBlock(),e.createElementBlock("div",sl,[e.createElementVNode("div",cl,[e.createVNode(Le),x[4]||(x[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(V)&&e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:x[0]||(x[0]=(...k)=>e.unref(C)&&e.unref(C)(...k)),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"},[x[5]||(x[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(Ee)])):e.createCommentVNode("",!0),e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:x[1]||(x[1]=(...k)=>e.unref(C)&&e.unref(C)(...k)),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"},[x[6]||(x[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Pe)])):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",dl,[e.createTextVNode(e.toDisplayString(e.unref(d)||e.unref(d)===null?1:0)+" з "+e.toDisplayString(e.unref(D).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[2]||(x[2]=(...k)=>e.unref(y)&&e.unref(y)(...k))}," Очистити ",512),[[e.vShow,e.unref(d)!==""&&e.unref(d)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("button",{type:"button",disabled:!(e.unref(d)!==""&&e.unref(d)!==void 0),class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:x[3]||(x[3]=(...k)=>e.unref(y)&&e.unref(y)(...k))},e.toDisplayString(e.unref(b)("filter.clear")),11,pl)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function He(t,a){const{api:o,options:r=[],limit:l=20,dataKey:s="data",data:b}=t,n=s??b??"data";function d(i){return Array.isArray(i)?i:i?[i]:[]}const h=e.ref(d(t.modelValue)),f=e.ref(""),u=e.ref(!1),y=e.ref([]),C=e.ref("id"),m=e.ref("text"),V=e.ref(!1),B=e.ref(t.layout!=="popover"&&r.length>l);function c(i){const w=i.find(Boolean)??{},g=["id","value","code","key"].find(P=>P in w)??"id",L=["text","label","name","title"].find(P=>P in w)??"text";return{autoValueKey:g,autoLabelKey:L}}function p(i){if(i.length>0){const g=c(i);C.value=g.autoValueKey,m.value=g.autoLabelKey}const w=[...i].sort((g,L)=>t.sort==="count"?L.count&&g.count?L.count-g.count:0:t.sort==="name"?String(g[m.value]).localeCompare(String(L[m.value])):0);y.value=w}r.length>0&&p(r);const D=e.computed(()=>{const i=y.value;return t.layout==="popover"||V.value?i:i.slice(0,l)});async function A(){if(o){u.value=!0;try{const i=new URL(o,window.location.origin);i.searchParams.set("json","1"),i.searchParams.set("limit",l.toString());const w=await fetch(i.toString());if(!w.ok){be({type:"error",title:"Error",message:"Failed to fetch remote options"}),y.value=[];return}const g=await w.json();if(!g[n]){be({type:"error",title:"Error",message:g}),y.value=[];return}p(g[n])}catch(i){console.error("Failed to fetch remote options:",i)}finally{u.value=!1}}}function z(){o&&y.value.length===0&&A()}e.watch(()=>t.modelValue,i=>{h.value=d(i)},{immediate:!0}),o||p(r);function x(i){return h.value&&h.value.includes(i[C.value])}function k(i){const w=h.value.includes(i[C.value]);h.value=w?h.value.filter(g=>g!==i[C.value]):[...h.value,i[C.value]],a("update:modelValue",h.value),a("change",{name:t.name,value:h.value})}function M(){h.value=[],a("update:modelValue",h.value),a("clear",t.name)}function S(){V.value=!V.value}return{innerValue:h,searchTerm:f,filteredOptions:D,isSelected:x,selectItem:k,clear:M,toggleShowAll:S,isReqProc:u,showAll:V,isEnableShowAll:B,labelKey:m,valueKey:C,allOptions:y,loadData:z}}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"},bl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},xl={key:1,class:"py-2 px-2 border-t"},kl=["disabled"],wl={class:"text-xs text-gray-500"},We=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=te(),l=he(),s=t,b=o,{innerValue:n,filteredOptions:d,isSelected:h,selectItem:f,clear:u,toggleShowAll:y,isReqProc:C,showAll:m,isEnableShowAll:V,labelKey:B,valueKey:c,allOptions:p,loadData:D}=He({...s,modelValue:s.modelValue},b);return e.onMounted(()=>{s.api&&D()}),e.watch(()=>s.modelValue,A=>{A===void 0&&(n.value=[])}),a({clear:u}),(A,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(d),x=>(e.openBlock(),e.createBlock(ze,{layout:t.layout,count:x.count,label:x[e.unref(B)],color:x.color,type:"checkbox",value:x[e.unref(c)],"is-selected":e.unref(h)(x),onItemClick:k=>e.unref(f)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(d).length===0&&!e.unref(C)?(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(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(m)&&e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:z[0]||(z[0]=(...x)=>e.unref(y)&&e.unref(y)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.more"))+" ",1),e.createVNode(Ee)])):e.createCommentVNode("",!0),e.unref(m)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:z[1]||(z[1]=(...x)=>e.unref(y)&&e.unref(y)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.less"))+" ",1),e.createVNode(Pe)])):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",bl,[e.createTextVNode(e.toDisplayString(e.unref(n).length)+" / "+e.toDisplayString(e.unref(p).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]=(...x)=>e.unref(u)&&e.unref(u)(...x))},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",xl,[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]=(...x)=>e.unref(u)&&e.unref(u)(...x))},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.clear"))+" ",1),e.createElementVNode("span",wl,e.toDisplayString(e.unref(n).length)+" з "+e.toDisplayString(e.unref(p).length),1)],10,kl)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Vl={},Cl={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 Bl(t,a){return e.openBlock(),e.createElementBlock("svg",Cl,[...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 qe=ce(Vl,[["render",Bl]]),El={},Nl={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 Sl(t,a){return e.openBlock(),e.createElementBlock("svg",Nl,[...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 Fe=ce(El,[["render",Sl]]);class Ye{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 _l={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Ml=["placeholder"],Dl=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 h;const o=t,r=e.ref((o.placeholder||o.label||o.title||o.name||"search").toString()),l=a,s=e.ref(((h=o.modelValue)==null?void 0:h.toString())??"");e.watch(()=>o.modelValue,f=>{f!==s.value&&(s.value=(f==null?void 0:f.toString())??"")});let b=null;function n(){if(s.value=s.value.trimStart(),s.value.length===0){d();return}b&&clearTimeout(b),b=setTimeout(()=>{l("update:modelValue",s.value),l("change",{name:o.name,value:s.value})},300)}function d(){s.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(Ye).getWidthClass(t.width):"mb-2"+(t.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",_l,[e.createVNode(qe)]),s.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:d,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(Fe)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":u[0]||(u[0]=y=>s.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,Ml),[[e.vModelText,s.value]])],2))}}),zl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},$l=["placeholder","disabled"],Ll={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"],Al=["disabled"],jl=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=Ze(),l=he(),s=te(),b=t,n=e.ref(b.modelValue??b.default??[]),d=o,h=e.computed({get:()=>b.modelValue??n.value,set:y=>{b.modelValue!==void 0?d("update:modelValue",y):n.value=y}});function f(){d("change",{name:b.name,value:h.value||n.value})}function u(){n.value=[],h.value=n.value,d("clear",b.name)}return e.watch(()=>b.modelValue,y=>{y!==void 0&&b.layout!=="popover"?(n.value=y,d("update:modelValue",y)):n.value=[]}),a({clear:u,currentValue:h}),(y,C)=>{var m,V;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",zl,e.toDisplayString(e.unref(s)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((m=t.placeholder)==null?void 0:m[0])??e.unref(s)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":C[0]||(C[0]=B=>h.value[0]=B),disabled:t.disabled},null,10,$l),[[e.vModelText,h.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",Ll," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",Pl,e.toDisplayString(e.unref(s)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((V=t.placeholder)==null?void 0:V[1])??e.unref(s)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":C[1]||(C[1]=B=>h.value[1]=B),disabled:t.disabled},null,10,Fl),[[e.vModelText,h.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(s)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(h.value[0]||h.value[1]),onClick:u,class:e.normalizeClass(e.unref(l)+" hover:bg-gray-100")},e.toDisplayString(e.unref(s)("filter.clear")),11,Al)):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 h=new Date(a),f=new Date(o);return h.setDate(h.getDate()+r*7),f.setDate(f.getDate()+r*7),[this.format(h),this.format(f)]}const l=new Date,s=l.getDay(),b=s===0?13:s-1+7,n=new Date(l);n.setDate(l.getDate()-b+r*7);const d=new Date(n);return d.setDate(n.getDate()+6),[this.format(n),this.format(d)]}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 s=l,b=new Date(l.getFullYear(),l.getMonth()+1,0);return[this.format(s),this.format(b)]}static getQuarterRange(a,o,r=0){const l=a||o,s=l?new Date(l):new Date;let b=Math.floor(s.getMonth()/3);b+=r;const n=(b%4+4)%4*3,d=s.getFullYear()+Math.floor(b/4),h=new Date(d,n,1),f=new Date(d,n+3,0);return[this.format(h),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=te(),l=e.ref(""),s=e.ref(t.modelValue??t.default??[]),b=e.ref(0);function n(){const c=X.getRangeFromDaysBefore(b.value);return s.value=[...c],a("change",{name:t.name,value:s.value}),a("update:modelValue",s.value),c}function d(c){var D;l.value=c,(D=o.value)==null||D.close();const p=[];switch(l.value){case"today":p.push(X.getShiftedDay()),p.push(X.getShiftedDay());break;case"week":p.push(...X.getLastWeekRange());break;case"month":p.push(...X.getMonthRange());break;case"quarter":p.push(...X.getQuarterRange());break;case"year":p.push(...X.getYearRange());break;case"last_7_days":b.value=7,n();break;case"range":b.value=7,p.push(...n());break}s.value=[...p],a("change",{name:t.name,value:s.value}),a("update:modelValue",s.value)}function h(){const c=[];switch(l.value){case"today":c.push(X.getShiftedDay(s.value[0],1));break;case"week":c.push(...X.getLastWeekRange(s.value[0],s.value[1],1));break;case"month":c.push(...X.getMonthRange(s.value[0],s.value[1],1));break;case"quarter":c.push(...X.getQuarterRange(s.value[0],s.value[1],1));break;case"year":c.push(...X.getYearRange(s.value[0],1));break}s.value=[...c],a("change",{name:t.name,value:s.value}),a("update:modelValue",s.value)}function f(){const c=[];switch(l.value){case"today":c.push(X.getShiftedDay(s.value[0],-1));break;case"week":c.push(...X.getLastWeekRange(s.value[0],s.value[1],-1));break;case"month":c.push(...X.getMonthRange(s.value[0],s.value[1],-1));break;case"quarter":c.push(...X.getQuarterRange(s.value[0],s.value[1],-1));break;case"year":c.push(...X.getYearRange(s.value[0],-1));break}s.value=[...c],a("change",{name:t.name,value:s.value}),a("update:modelValue",s.value)}const u=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function y(c){const[p,D,A]=c.split("-");return`${A}.${D}.${p}`}function C(c,p="long"){const D=new Date(Date.UTC(2e3,c-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:p,timeZone:"UTC"}).format(D)}function m(c){const{value:p}=s;switch(c){case"today":return y(p[0]);case"range":return"Період";case"week":return p[0]&&p[1]?`${y(p[0])} – ${y(p[1])}`:"";case"quarter":if(p[0]){const D=new Date(p[0]),A=D.getFullYear(),z=D.getMonth();return`${Math.floor(z/3)+1} ${r("filter.quarter")} ${A}`}return"";case"month":if(p[0]){const[D,A]=p[0].split("-");return`${C(parseInt(A,10))} ${D}`}return"";case"year":return p[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const V=e.computed(()=>l.value?m(l.value):t.label??"");function B(){l.value="",s.value=[],a("update:modelValue",[]),a("clear",t.name)}return{activeMode:l,innerValue:s,daysBefore:b,onDaysBeforeChange:n,onSelectChange:d,nextClick:h,prevClick:f,ukMonths:u,formatDisplayDate:y,getModeLabel:m,currentLabel:V,clear:B}}const Tl={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"},Ol=["max","disabled"],Rl=["min","disabled"],Zl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ul=["max","disabled"],Il={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Kl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Hl=["min","disabled"],Wl={class:"flex gap-1 px-2"},ql=["title","onClick"],Yl={class:"pt-2 px-2"},Gl=["disabled"],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(t,{expose:a,emit:o}){const r=t,l=Ze(),s=he(),b=Xt(),n=te(),d=o,h=e.ref(null),{activeMode:f,innerValue:u,onSelectChange:y,nextClick:C,prevClick:m,clear:V}=Ge({...r,popoverRef:h},d);e.watch(()=>r.modelValue,A=>{A!==void 0?(u.value=A,d("update:modelValue",A)):(f.value="",u.value=[])}),e.watch(u,A=>{d("update:modelValue",A),d("change",{name:r.name,value:A})},{deep:!0});const B=["today","week","month","quarter","year"],c={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 p(A){var z;return((z=c[A])==null?void 0:z.label)??n(`filter.${A}`)}function D(A){var z;return((z=c[A])==null?void 0:z.title)??n(`filter.${A}`)}return a({clear:V,popoverRef:h}),(A,z)=>{var x;return e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Tl,[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]=k=>e.unref(u)[0]=k),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,Ol),[[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]=k=>e.unref(u)[1]=k),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,Rl),[[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",Zl,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]=k=>e.unref(u)[0]=k),class:e.normalizeClass(e.unref(l)),disabled:t.disabled},null,10,Ul),[[e.vModelText,e.unref(u)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",Il," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",Kl,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]=k=>e.unref(u)[1]=k),class:e.normalizeClass(e.unref(l)),disabled:t.disabled},null,10,Hl),[[e.vModelText,e.unref(u)[1]]])],2)],2),e.createElementVNode("div",Wl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(B,k=>e.createElementVNode("button",{key:k,class:e.normalizeClass(e.unref(b)+(e.unref(f)===k?" bg-blue-100":"")),title:D(k),onClick:M=>e.unref(y)(k)},e.toDisplayString(p(k)),11,ql)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(b)),onClick:z[4]||(z[4]=(...k)=>e.unref(m)&&e.unref(m)(...k))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(b)),onClick:z[5]||(z[5]=(...k)=>e.unref(C)&&e.unref(C)(...k))},">",2)]),e.createElementVNode("div",Yl,[["popover"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:!((x=e.unref(u))!=null&&x.length)||!e.unref(u)[0]&&!e.unref(u)[1],class:e.normalizeClass(e.unref(s)+"hover:bg-gray-100"),onClick:z[6]||(z[6]=(...k)=>e.unref(V)&&e.unref(V)(...k))},e.toDisplayString(e.unref(n)("filter.clear")),11,Gl)):e.createCommentVNode("",!0)])],64)}}});function Xl(t,a){const{api:o,options:r=[],limit:l=20,dataKey:s="data",data:b}=t,n=s??b??"data",d=t.multi;function h(_){return d?Array.isArray(_)?_:_?[_]:[]:Array.isArray(_)?_[0]:_}const f=e.ref(h(t.modelValue)),u=e.ref(""),y=e.ref(!1),C=e.ref(r),m=e.ref("id"),V=e.ref("text"),B=e.ref(!1),c=e.ref(t.layout!=="popover"&&r.length>l),p=e.ref([]),D=e.ref(0);function A(_){const v=_.find(Boolean)??{},U=["id","value","code","key"].find(le=>le in v)??"id",Z=["text","label","name","title"].find(le=>le in v)??"text";return{autoValueKey:U,autoLabelKey:Z}}if(r.length>0){const _=A(r);m.value=_.autoValueKey,V.value=_.autoLabelKey}const z=e.computed(()=>{if(o)return C.value;const _=C.value;if(t.layout==="popover")return _;if(!u.value)return B.value?_:_.slice(0,l);const v=u.value.toLowerCase();return _.filter(U=>U[V.value].toLowerCase().includes(v))});let x=null;async function k(_){if(o){y.value=!0;try{const v=new URL(o,window.location.origin);v.searchParams.set("json","1"),v.searchParams.set("key",_),v.searchParams.set("limit",l.toString());const U=await fetch(v.toString());if(!U.ok){be({type:"error",title:"Error",message:"Failed to fetch remote options"}),C.value=[];return}const Z=await U.json();if(!Z[n]){be({type:"error",title:"Error",message:Z}),C.value=[];return}if(C.value=Z[n],C.value.length>0){const le=A(C.value);m.value=le.autoValueKey,V.value=le.autoLabelKey}D.value=Z.total}catch(v){console.error("Failed to fetch remote options:",v)}finally{y.value=!1}}}e.watch(u,_=>{o&&(x&&clearTimeout(x),x=setTimeout(()=>{k(_)},200))}),e.watch(()=>t.modelValue,_=>{f.value=h(_)},{immediate:!0}),e.watch(f,_=>{d?(!Array.isArray(_)||_.length===0)&&(p.value=[]):(_==null||typeof _=="string"&&_==="")&&(p.value=[])});function M(_){return d&&Array.isArray(f.value)?f.value.includes(_[m.value]):f.value&&f.value===_[m.value]}function S(_){if(d&&!Array.isArray(f.value)&&(f.value=[]),d&&Array.isArray(f.value)){const v=f.value.includes(_[m.value]);f.value=v?f.value.filter(U=>U!==_[m.value]):[...f.value,_[m.value]],p.value=v?p.value.filter(U=>U!==_[V.value]):[...p.value,_[V.value]]}else f.value=_[m.value],p.value=_[V.value];a("update:modelValue",f.value),a("change",{name:t.name,value:f.value})}function i(){d?(f.value=[],p.value=[]):(f.value=void 0,p.value=[]),a("update:modelValue",f.value),a("clear",t.name)}function w(){x&&clearTimeout(x),u.value="",B.value=!1}function g(){B.value=!B.value}e.onBeforeUnmount(()=>{x&&clearTimeout(x)});const L=e.ref(-1);e.watch(z,()=>{L.value=z.value.length>0?0:-1});function P(_){const v=z.value.length;if(_.key==="ArrowDown")_.preventDefault(),L.value=(L.value+1)%v;else if(_.key==="ArrowUp")_.preventDefault(),L.value=(L.value-1+v)%v;else if(_.key==="Enter"&&(_.preventDefault(),L.value>=0&&L.value<z.value.length)){const U=z.value[L.value];S(U)}}function O(){o&&C.value.length===0&&u.value.length===0&&k(u.value)}return{innerValue:f,searchTerm:u,filteredOptions:z,isSelected:M,selectItem:S,clear:i,resetSearch:w,toggleShowAll:g,isReqProc:y,showAll:B,isEnableShowAll:c,labelKey:V,valueKey:m,allOptions:C,highlightedIndex:L,onKeyDown:P,selectedLabels:p,totalCount:D,loadData:O}}const Jl={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},eo=["placeholder"],to={key:0,class:"w-full"},lo={class:"flex flex-col items-center justify-center p-5 text-center"},oo={class:"max-w-sm mx-auto mt-6"},no={class:"font-medium text-gray-800 dark:text-neutral-200"},ao={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ro={key:1,class:"py-2 px-2 border-t"},io=["disabled"],so={class:"text-xs text-gray-500"},co=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=te(),l=he(),s=t,b=o,n=e.ref(null),{innerValue:d,filteredOptions:h,isSelected:f,selectItem:u,clear:y,resetSearch:C,toggleShowAll:m,isReqProc:V,showAll:B,isEnableShowAll:c,searchTerm:p,labelKey:D,valueKey:A,highlightedIndex:z,onKeyDown:x,selectedLabels:k,totalCount:M,loadData:S}=Xl({...s,modelValue:s.modelValue},b),i=e.computed(()=>s.multi?Array.isArray(d.value)&&d.value.length>0:d.value!=null&&d.value!==""),w=e.computed(()=>s.multi&&Array.isArray(d.value)?d.value.length:d.value!=null&&d.value!==""?1:0);e.onMounted(()=>{C(),s.layout!=="inline"&&(S(),n.value&&s.layout==="popover"&&n.value.focus())}),e.watch(()=>s.modelValue,L=>{L===void 0&&(s.multi?d.value=[]:d.value=void 0)});const g=e.ref([]);return e.watch(z,L=>{var P;L>=0&&g.value[L]&&((P=g.value[L])==null||P.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(h,()=>{g.value=[]}),a({clear:y,inputTextRef:n,selectedLabels:k,loadData:S}),(L,P)=>{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",Jl,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":P[0]||(P[0]=_=>e.isRef(p)?p.value=_:null),onKeydown:P[1]||(P[1]=(..._)=>e.unref(x)&&e.unref(x)(..._)),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,eo),[[e.vModelText,e.unref(p)]]),e.createVNode(qe,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(p)!=""?(e.openBlock(),e.createBlock(Fe,{key:0,onClick:P[2]||(P[2]=_=>p.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(h),(_,v)=>(e.openBlock(),e.createBlock(ze,{layout:t.layout,count:_.count,label:_[e.unref(D)],color:_.color,type:t.multi?"checkbox":"radio",value:_[e.unref(A)],"is-selected":e.unref(f)(_),highlighted:v===e.unref(z),onItemClick:U=>e.unref(u)(_),ref_for:!0,ref:U=>g.value[v]=U==null?void 0:U.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),t.type==="select"&&e.unref(h).length===0&&!e.unref(V)?(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("div",lo,[e.createVNode(Le),e.createElementVNode("div",oo,[e.createElementVNode("p",no,e.toDisplayString(e.unref(r)("filter.notfound")),1),P[7]||(P[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(B)&&e.unref(c)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:P[3]||(P[3]=(..._)=>e.unref(m)&&e.unref(m)(..._)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.more"))+" ",1),e.createVNode(Ee)])):e.createCommentVNode("",!0),e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:P[4]||(P[4]=(..._)=>e.unref(m)&&e.unref(m)(..._)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.less"))+" ",1),e.createVNode(Pe)])):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",ao,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(d))?(O=e.unref(d))==null?void 0:O.length:e.unref(d)!==void 0&&(e.unref(d)||e.unref(d)===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:P[5]||(P[5]=(..._)=>e.unref(y)&&e.unref(y)(..._))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,i.value]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("button",{type:"button",disabled:!i.value,class:e.normalizeClass(e.unref(l)+" hover:bg-gray-100"),onClick:P[6]||(P[6]=(..._)=>e.unref(y)&&e.unref(y)(..._))},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.clear"))+" ",1),e.createElementVNode("span",so,e.toDisplayString(w.value)+" з "+e.toDisplayString(e.unref(M)),1)],10,io)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),mo=["for","onClick"],po=["id","name","value"],fo={class:"block"},uo={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},go={key:1,class:"pt-2 px-2 border-t"},ho=["disabled"],yo={class:"text-xs text-gray-500"},bo=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,s=he(),b=te(),{innerValue:n,isSelected:d,selectItem:h,clear:f,labelKey:u,valueKey:y,allOptions:C}=r.multi?He({...r,modelValue:r.modelValue??r.default??[]},l):$e({...r,modelValue:r.modelValue!==void 0?r.modelValue:r.default??""},l),m=e.computed(()=>r.multi?Array.isArray(n.value)&&n.value.length>0:n.value!=null&&n.value!==""),V=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,B=>{B===void 0&&(r.multi?n.value=[]:n.value=void 0)}),(B,c)=>{var p;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(C),D=>(e.openBlock(),e.createElementBlock("label",{key:`item-${D[e.unref(y)]}`,for:`item-${D[e.unref(y)]}`,onClick:e.withModifiers(A=>e.unref(h)(D),["stop","prevent"]),class:e.normalizeClass([e.unref(d)(D)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${D[e.unref(y)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${D[e.unref(y)]}`,value:D[e.unref(y)]},null,8,po),e.createElementVNode("span",fo,e.toDisplayString(D[e.unref(u)]),1)],10,mo))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",uo,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(n))?(p=e.unref(n))==null?void 0:p.length:e.unref(n)!==void 0&&(e.unref(n)||e.unref(n)===null)?1:0)+" з "+e.toDisplayString(e.unref(C).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[0]||(c[0]=(...D)=>e.unref(f)&&e.unref(f)(...D))}," Очистити ",512),[[e.vShow,m.value]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",go,[e.createElementVNode("button",{type:"button",disabled:!m.value,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:c[1]||(c[1]=(...D)=>e.unref(f)&&e.unref(f)(...D))},[e.createTextVNode(e.toDisplayString(e.unref(b)("filter.clear"))+" ",1),e.createElementVNode("span",yo,e.toDisplayString(V.value)+" з "+e.toDisplayString(e.unref(C).length),1)],10,ho)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),xo=["disabled","title"],ko={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},wo={class:"truncate text-ellipsis text-sm"},Vo={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"},Co={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"},Bo={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"},Ae=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(()=>Ue(o.mode)),l=e.ref(!1),s=e.ref({top:0,left:0}),b=e.ref(null),n=e.ref(null),d=e.ref(null);let h=null;function f(){const x=n.value,k=d.value;if(!x||!k)return;const M=x.getBoundingClientRect(),S=k.offsetWidth,i=k.offsetHeight,w=window.innerWidth,g=window.innerHeight,L=8;let P=M.bottom+L,{left:O}=M;const _=Math.max(w-S-10,10);if(O=Math.min(O,_),O=Math.max(O,10),P+i>g-10){const v=M.top-i-L;P=v>=10?v:Math.max(g-i-10,10)}P<10&&(P=10),s.value={top:P,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 x,k,M,S,i,w,g;(x=o.fieldRef)!=null&&x.inputTextRef&&((S=(M=(k=o.fieldRef)==null?void 0:k.inputTextRef)==null?void 0:M.focus)==null||S.call(M)),(i=o.fieldRef)!=null&&i.loadData&&Promise.resolve((g=(w=o.fieldRef)==null?void 0:w.loadData)==null?void 0:g.call(w)).finally(()=>{l.value&&u()})}))}function C(x){var k,M,S;!((k=b.value)!=null&&k.contains(x.target))&&!((M=d.value)!=null&&M.contains(x.target))&&!((S=n.value)!=null&&S.contains(x.target))&&(l.value=!1)}function m(x){x.key==="Escape"&&(l.value=!1)}const V=e.ref(!1),B=e.ref("ua"),c=x=>{x.detail.key==="locale"&&(B.value=x.detail.newValue)};e.onMounted(()=>{V.value=!0,B.value=localStorage.locale,window.addEventListener("storage",c),document.addEventListener("click",C,!0),document.addEventListener("keydown",m),window.addEventListener("scroll",f,!0),window.addEventListener("resize",f,!0),typeof ResizeObserver<"u"&&(h=new ResizeObserver(()=>{l.value&&u()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",c),document.removeEventListener("click",C,!0),document.removeEventListener("keydown",m),window.removeEventListener("scroll",f,!0),window.removeEventListener("resize",f,!0),h==null||h.disconnect(),h=null});function p(){l.value=!1}a({close:p}),e.watch([V,l,d],([x,k,M])=>{x&&k&&M&&(u(),h==null||h.observe(M))});function D(x){return Array.isArray(x)?x.filter(k=>k!=null&&k!=="").length:x&&typeof x=="object"?Object.values(x).filter(k=>k!=null&&k!=="").length:typeof x=="string"?x.trim()===""?0:1:typeof x=="number"?Number.isNaN(x)?0:1:x===null||x!==void 0?1:0}const A=e.computed(()=>{var M;const x=(M=o.fieldRef)==null?void 0:M.selectedLabels,k=D(x);return k>0?k:D(o.currentValue)}),z=e.computed(()=>{var k;const x=(k=o.fieldRef)==null?void 0:k.selectedLabels;return!x||["inline"].includes(o.layout||"")?o[B.value]||(o.label??""):Array.isArray(x)?x.length>0?x.join(", "):o.label??"":String(x)});return(x,k)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:b},[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(Ye).getWidthClass(t.width):"w-full",t.layout==="inline"&&A.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",ko,[e.createElementVNode("span",wo,e.toDisplayString(z.value),1),t.layout==="inline"&&A.value>0?(e.openBlock(),e.createElementBlock("span",Vo,e.toDisplayString(A.value),1)):e.createCommentVNode("",!0)]),e.createVNode(Ee,{class:"h-4 w-4 text-neutral-500"})],10,xo),V.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:d,class:"vsTailwind vs-popover__content w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${s.value.top}px`,left:`${s.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Co,[e.createElementVNode("div",Bo,[e.renderSlot(x.$slots,"default")])])],4),[[e.vShow,l.value]])])):e.createCommentVNode("",!0)],512))}}),Eo={},No={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 So(t,a){return e.openBlock(),e.createElementBlock("svg",No,[...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 _o=ce(Eo,[["render",So]]),Mo={},Do={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 zo(t,a){return e.openBlock(),e.createElementBlock("svg",Do,[...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 $o=ce(Mo,[["render",zo]]),Lo={class:"flex gap-1"},Po={class:"mb-1"},Fo={class:"mb-1"},Ao={class:"inline-flex rounded-sm shrink-0 pl-1"},jo=["title"],To={class:"inline-flex rounded-sm shrink-0 pl-1"},vo=["title"],Oo={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},Ro=["max","value","disabled"],Zo=["min","value","disabled"],Uo=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=te(),l=t,s=o,b=e.ref(null),{activeMode:n,innerValue:d,onSelectChange:h,nextClick:f,prevClick:u,currentLabel:y,clear:C}=Ge({...l,popoverRef:b},s);e.watch(()=>l.modelValue,B=>{B!==void 0?(d.value=B,s("update:modelValue",B)):(n.value="",d.value=[])}),e.watch(d,B=>{s("update:modelValue",B),s("change",{name:l.name,value:B})},{deep:!0});function m(B){const c=Array.isArray(d.value)?[...d.value]:[];d.value=[B,c[1]||""]}function V(B){const c=Array.isArray(d.value)?[...d.value]:[];d.value=[c[0]||"",B]}return a({clear:C,popoverRef:b}),(B,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Lo,[e.createVNode(Ae,{ref_key:"popoverRef",ref:b,label:e.unref(y),"current-value":e.unref(d),mode:t.mode,width:typeof t.width=="number"&&e.unref(d).length?t.width-70:t.width,onClear:e.unref(C),layout:t.layout,class:e.normalizeClass(t.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[0]||(c[0]=p=>e.unref(h)("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(ge,{key:0})):e.createCommentVNode("",!0)])]),c[12]||(c[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:c[1]||(c[1]=p=>e.unref(h)("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(ge,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[2]||(c[2]=p=>e.unref(h)("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(ge,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[3]||(c[3]=p=>e.unref(h)("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(ge,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[4]||(c[4]=p=>e.unref(h)("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(ge,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Po,[e.createElementVNode("button",{type:"button",onClick:c[5]||(c[5]=p=>e.unref(h)("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(ge,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Fo,[e.createElementVNode("button",{type:"button",onClick:c[6]||(c[6]=p=>e.unref(C)()),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(d)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ge,{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",Ao,[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:c[7]||(c[7]=(...p)=>e.unref(u)&&e.unref(u)(...p))},[e.createVNode(_o)],8,jo)]),e.createElementVNode("div",To,[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:c[8]||(c[8]=(...p)=>e.unref(f)&&e.unref(f)(...p))},[e.createVNode($o)],8,vo)])],64)):e.createCommentVNode("",!0),e.unref(n)!==""&&e.unref(n)==="range"?(e.openBlock(),e.createElementBlock("div",Oo,[e.createElementVNode("input",{type:"date",max:e.unref(d)[1],locale:"uk-UA",value:e.unref(d)[0],onInput:c[9]||(c[9]=p=>m(p.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,Ro),e.createElementVNode("input",{type:"date",min:e.unref(d)[0],locale:"uk-UA",value:e.unref(d)[1],onInput:c[10]||(c[10]=p=>V(p.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,Zo)])):e.createCommentVNode("",!0)]),(t.cleanable,e.createCommentVNode("",!0))],64))}}),Io=["disabled","onClick"],Ko={key:0,class:"pt-2 px-2 border-t"},Ho=["disabled"],Wo=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,s=he(),b=te(),{innerValue:n,isSelected:d,selectItem:h,clear:f,labelKey:u,valueKey:y,allOptions:C}=$e({...r,modelValue:r.modelValue??r.default??""},l),m=e.computed(()=>n.value!==void 0&&!(typeof n.value=="string"&&n.value===""));function V(c){return d(c)?["bg-blue-600 text-white"].filter(p=>typeof p=="string"&&p.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(p=>typeof p=="string"&&p.trim().length>0).join(" ")}function B(c){r.disabled||h(c)}return a({clear:f}),e.watch(()=>r.modelValue,c=>{c===void 0&&(n.value=void 0)}),(c,p)=>(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(C),D=>(e.openBlock(),e.createElementBlock("button",{key:D[e.unref(y)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",V(D)]),disabled:t.disabled,onClick:A=>B(D)},e.toDisplayString(D[e.unref(u)]),11,Io))),128))],2),t.cleanable&&t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ko,[e.createElementVNode("button",{type:"button",disabled:!m.value,class:e.normalizeClass(e.unref(s)+" hover:bg-gray-100"),onClick:p[0]||(p[0]=(...D)=>e.unref(f)&&e.unref(f)(...D))},e.toDisplayString(e.unref(b)("filter.clear")),11,Ho)])):e.createCommentVNode("",!0)],64))}}),Qe={radio:fl,checkbox:We,check:We,text:Dl,range:jl,date:Ql,select:co,tag:bo,button:Wo,"date:inline":Uo};function je(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:Qe[o]||Qe.text,type:o}}const qo={style:{display:"inline-flex",margin:"0px",width:"100%"}},Yo={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},Go={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},Qo={class:"flex items-center"},Xo={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},Jo={class:"filter-layout__body"},en=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,s=e.ref(),b=e.computed(()=>je(r.type,r.layout)),n=e.computed({get:()=>r.modelValue,set:u=>l("update:modelValue",u)});function d(u){l("clear",u)}function h(u,y){l("change",{name:u,value:y}),r.modelValue!==void 0&&l("update:modelValue",y)}function f(){var u,y;(y=(u=s.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:s}),(u,y)=>{var C,m,V;return e.openBlock(),e.createElementBlock("div",qo,[e.createElementVNode("div",Yo,[e.createElementVNode("div",Go,[e.createElementVNode("div",Qo,[e.createElementVNode("span",Xo,e.toDisplayString(t.label),1)]),typeof n.value=="string"&&n.value.trim()!==""||Array.isArray(n.value)&&n.value.length>0&&n.value.some(B=>B!==void 0)||n.value===null?(e.openBlock(),e.createBlock(Zt,{key:0,onClick:f})):e.createCommentVNode("",!0)]),e.createElementVNode("div",Jo,[((C=b.value)==null?void 0:C.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((m=b.value)==null?void 0:m.component),e.mergeProps({key:0},r,{type:(V=b.value)==null?void 0:V.type,class:r.itemClass,onChange:y[0]||(y[0]=B=>h(B.name,B.value)),onClear:y[1]||(y[1]=B=>d(B)),ref_key:"filterRef",ref:s}),null,16,["type","class"])):(e.openBlock(),e.createBlock(Ae,{key:1,"current-value":n.value,label:t.label,mode:t.mode,onClear:f,fieldRef:s.value,width:void 0,disabled:t.disabled,layout:"vertical"},{default:e.withCtx(()=>{var B,c;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((B=b.value)==null?void 0:B.component),e.mergeProps({ref_key:"filterRef",ref:s},r,{type:(c=b.value)==null?void 0:c.type,class:r.itemClass,onChange:y[2]||(y[2]=p=>h(p.name,p.value)),onClear:y[3]||(y[3]=p=>d(p))}),null,16,["type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),Xe=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,s=e.ref(),b=e.computed(()=>je(r.type,r.layout)),n=e.computed({get:()=>r.modelValue,set:f=>l("update:modelValue",f)});function d(f=r.name){l("clear",f)}function h(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:s}),(f,u)=>{var y,C;return["text","date","button"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=b.value)==null?void 0:y.component),e.mergeProps({key:0},r,{type:(C=b.value)==null?void 0:C.type,class:t.itemClass,onChange:u[0]||(u[0]=m=>h(m.name,m.value)),onClear:u[1]||(u[1]=m=>d(m)),disabled:t.disabled,modelValue:n.value,"onUpdate:modelValue":u[2]||(u[2]=m=>n.value=m)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(Ae,{key:1,"current-value":n.value,label:t.label,mode:t.mode,onClear:d,fieldRef:s.value,width:r.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>{var m,V;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((m=b.value)==null?void 0:m.component),e.mergeProps({ref_key:"filterRef",ref:s},r,{modelValue:n.value,"onUpdate:modelValue":u[3]||(u[3]=B=>n.value=B),type:(V=b.value)==null?void 0:V.type,class:r.itemClass,onChange:u[4]||(u[4]=B=>h(B.name,B.value)),onClear:u[5]||(u[5]=B=>d(B))}),null,16,["modelValue","type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),tn=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,s=e.ref(),b=e.computed(()=>je(r.type,r.layout)),n=e.computed({get:()=>r.modelValue,set:f=>l("update:modelValue",f)});function d(f){l("clear",f)}function h(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:s}),(f,u)=>{var y,C;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=b.value)==null?void 0:y.component),e.mergeProps(r,{type:(C=b.value)==null?void 0:C.type,class:r.itemClass,modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=m=>n.value=m),onChange:u[1]||(u[1]=m=>h(m.name,m.value)),onClear:u[2]||(u[2]=m=>d(m)),ref_key:"filterRef",ref:s}),null,16,["type","class","modelValue"])}}}),re=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,s=e.ref(),b=e.computed({get:()=>r.modelValue,set:f=>l("update:modelValue",f)});function n(f){l("clear",f)}function d(f,u){l("change",{name:f,value:u}),r.modelValue!==void 0&&l("update:modelValue",u)}e.watch(()=>r.default,f=>{b.value=f}),e.watch(()=>r.modelValue,f=>{b.value=f}),a({filterRef:s});function h(){switch(r.layout){case"inline":return Xe;case"vertical":return en;case"popover":return tn;default:return Xe}}return(f,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h()),e.mergeProps(r,{onChange:u[0]||(u[0]=y=>d(y.name,y.value)),onClear:u[1]||(u[1]=y=>n(y)),modelValue:b.value,"onUpdate:modelValue":u[2]||(u[2]=y=>b.value=y)}),null,16,["modelValue"]))}});function Ne(t,a){const{slots:o}=t,r=c=>c?JSON.parse(JSON.stringify(e.toRaw(c))):{},l=e.ref(r(t.value));e.watch(()=>t.value,c=>{l.value=r(c)},{deep:!0,immediate:!0});const s=e.computed(()=>{var c;return(e.toRaw((c=o==null?void 0:o.default)==null?void 0:c.call(o))??[]).flatMap(p=>Array.isArray(p.children)?p.children:[p])});function b(c){delete l.value[c],a("clear",{data:e.toRaw(l.value),name:c})}function n(c,p){p===void 0?b(c):l.value={...l.value,[c]:p},a("change",{data:e.toRaw(l.value),name:c,value:p})}const d=e.computed(()=>s.value.map(c=>{var D,A,z;const p=(D=c.props)==null?void 0:D.name;return e.cloneVNode(c,{...c.props,layout:t.view,showClean:!0,modelValue:l.value[p],"onUpdate:modelValue":x=>{n(p,x)},onClear:()=>b(p),class:[t.itemClass,(A=c.props)==null?void 0:A.class],itemClass:[t.itemClass,(z=c.props)==null?void 0:z.itemClass].filter(x=>typeof x=="string"&&x.trim().length>0).join(" ")||void 0})})),h=e.computed(()=>new Map(d.value.map(c=>{var D;const p=(D=c.props)==null?void 0:D.name;return p?[p,c]:null}).filter(c=>c!==null)));function f(c=!1){l.value={},c||a("clearAll",{data:e.toRaw(l.value),name:"ALL"})}const u=e.ref(""),y=e.computed(()=>{var c;return(c=t.schema)!=null&&c.value?Object.entries(l.value).filter(([p,D])=>t.schema&&!(p in t.schema.value)?!1:Array.isArray(D)?D.some(A=>A!==""&&A!==void 0):D!==""&&D!==void 0).length:0}),C=e.ref();e.watch(u,async()=>{var c,p;await e.nextTick(),(p=(c=C==null?void 0:C.value)==null?void 0:c.filterRef)!=null&&p.inputTextRef&&C.value.filterRef.inputTextRef.focus()});const m=e.computed(()=>{var c,p;return(c=t.schema)!=null&&c.value?Object.fromEntries(Object.entries((p=t.schema)==null?void 0:p.value).slice(0,t.limit)):{}}),V=e.computed(()=>{var p;if(d.value.length===0)return[];let c=0;if((p=t.schema)!=null&&p.value){const D=Object.entries(t.schema.value).length;t.limit&&D<t.limit?c=t.limit-D:c=0}return d.value.slice(0,c)}),B=e.computed(()=>d.value.length===0?[]:t.view!=="inline"?d.value:d.value.slice(V.value.length));return{activeFilter:l,activeFilterCount:y,onFilterChange:n,clearFilter:b,clearAllFilters:f,limitedSchema:m,filtersSlot:d,limitedFiltersSlot:V,popoverFiltersSlot:B,vnodeMap:h,selectedFilter:u,filterRef:C}}const ln=e.defineComponent({__name:"popover",emits:["open","close"],setup(t,{emit:a}){const o=e.ref(!1),r=e.ref(null),l=e.ref(null),s=e.ref(null),b=e.ref({top:"0px",left:"0px",position:"absolute"}),n=e.ref(!1);function d(){o.value=!o.value}function h(){const m=s.value,V=r.value;if(!m||!V)return;const{left:B,bottom:c}=m.getBoundingClientRect();requestAnimationFrame(()=>{if(!V)return;const{width:p}=V.getBoundingClientRect(),D=V.offsetWidth||p,A=window.innerWidth||document.documentElement.clientWidth,z=A-B;let x=B;D>z&&(x=A-D-18),x<18&&(x=18);const k=A-D-18;x>k&&(x=Math.max(18,k)),b.value={position:"fixed",top:`${c+18}px`,left:`${x}px`},n.value=!0})}const f=e.computed(()=>Object.entries(b.value).map(m=>m.join(":")).join(";"));function u(m){var B,c;const V=m.target;!((B=s.value)!=null&&B.contains(m.target))&&!((c=r.value)!=null&&c.contains(m.target))&&!V.closest("[data-inside-popover]")&&(o.value=!1)}const y=e.ref(!1);e.onMounted(()=>{y.value=!0}),e.onMounted(()=>{var m,V;s.value=((m=l.value)==null?void 0:m.querySelector("[data-popover-trigger]"))||null,(V=s.value)==null||V.addEventListener("click",d),document.addEventListener("click",u),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0)}),e.onBeforeUnmount(()=>{var m;(m=s.value)==null||m.removeEventListener("click",d),document.removeEventListener("click",u),window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)});const C=a;return e.watch(o,async m=>{m?(n.value=!1,C("open"),await e.nextTick(),requestAnimationFrame(()=>{h()})):(C("close"),n.value=!1)}),(m,V)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:l},[e.renderSlot(m.$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(m.$slots,"default")],4),[[e.vShow,o.value]])])):e.createCommentVNode("",!0)],512))}}),on={},nn={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 an(t,a){return e.openBlock(),e.createElementBlock("svg",nn,[...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 Je=ce(on,[["render",an]]),rn={class:"flex items-center gap-2 overflow-hidden"},sn={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"},cn={class:"flex max-h-[400px] md:max-h-[400px]"},dn={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},mn={class:"p-2 md:p-4 border-b"},pn={class:"text-xs md:text-sm text-gray-600"},fn={class:"p-1 md:p-2"},un=["onClick"],gn={class:"flex items-center gap-1.5 md:gap-2"},hn={class:"text-xs md:text-sm font-medium line-clamp-3"},yn={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=["onClick"],xn={class:"flex items-center gap-1.5 md:gap-2"},kn={class:"text-xs md:text-sm font-medium truncate"},wn={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"},Vn={key:0,class:"p-1 md:p-2 border-t"},Cn={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Bn={key:0,class:"flex items-center justify-center h-full text-gray-500"},En={class:"text-xs md:text-sm"},et=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=te(),l=t,s=Ue(l.mode),b=e.useSlots(),n=o,d=e.ref({}),h=e.computed(()=>d!=null&&d.value?l.view!=="inline"?d==null?void 0:d.value:Object.fromEntries(Object.entries(d==null?void 0:d.value).slice(l.limit)):{}),{activeFilter:f,activeFilterCount:u,onFilterChange:y,clearFilter:C,clearAllFilters:m,popoverFiltersSlot:V,selectedFilter:B,filterRef:c}=Ne({...l,schema:d,slots:b},n),p=e.computed(()=>l.badgeCount??u.value);function D(x){return Array.isArray(x)?x.filter(k=>k!=null&&k!=="").length:x&&typeof x=="object"?Object.values(x).filter(k=>k!=null&&k!=="").length:x===null||x!==void 0&&x!==""?1:0}function A(x){return f.value?D(f.value[x]):0}function z(){if(h.value){const[x]=Object.keys(h.value);B.value=x}else V.value.length>0?B.value=V.value[0].props.name:B.value=""}return e.watch(()=>l.schema,x=>{d.value=x??{}},{deep:!0,immediate:!0}),a({clearFilter:C,clearAllFilters:m}),(x,k)=>(e.openBlock(),e.createBlock(ln,{onOpen:z,onClose:k[5]||(k[5]=M=>B.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,e.unref(s),"flex items-center justify-between gap-2",p.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",rn,[e.createVNode(Je,{class:"h-4 w-4"}),k[6]||(k[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),p.value>0?(e.openBlock(),e.createElementBlock("span",sn,e.toDisplayString(p.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",cn,[e.createElementVNode("div",dn,[e.createElementVNode("div",mn,[e.createElementVNode("p",pn,e.toDisplayString(e.unref(r)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",fn,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(h.value),([M,S])=>(e.openBlock(),e.createElementBlock("button",{key:M,onClick:()=>{B.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(B)===M?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",gn,[e.createElementVNode("span",hn,e.toDisplayString(S.label),1)]),A(M)>0?(e.openBlock(),e.createElementBlock("div",yn,e.toDisplayString(A(M)),1)):e.createCommentVNode("",!0)],10,un))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(V),(M,S)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+S,onClick:i=>B.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(B)===M.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",xn,[e.createElementVNode("span",kn,e.toDisplayString(M.props.label),1)]),A(M.props.name)>0?(e.openBlock(),e.createElementBlock("div",wn,e.toDisplayString(A(M.props.name)),1)):e.createCommentVNode("",!0)],10,bn))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",Vn,[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:k[0]||(k[0]=M=>e.unref(m)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Cn,[e.unref(B)===""?(e.openBlock(),e.createElementBlock("div",Bn,[e.createElementVNode("p",En,e.toDisplayString(e.unref(r)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(B)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[h.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(h.value),([M,S])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(B)===M?(e.openBlock(),e.createBlock(re,e.mergeProps({key:M,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:c},{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:k[1]||(k[1]=i=>e.unref(y)(i.name,i.value)),onClear:k[2]||(k[2]=i=>{e.unref(C)(i),e.unref(y)(i,void 0)}),modelValue:e.unref(f)[M],"onUpdate:modelValue":i=>e.unref(f)[M]=i,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(V),(M,S)=>{var i,w;return e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+S},[e.unref(B)===M.props.name?(e.openBlock(),e.createBlock(re,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},M.props,{ref_for:!0,ref_key:"filterRef",ref:c,class:[t.itemClass,(i=M.props)==null?void 0:i.class],"item-class":[t.itemClass,(w=M.props)==null?void 0:w.itemClass].filter(Boolean).join(" ")||void 0,onChange:k[3]||(k[3]=g=>e.unref(y)(g.name,g.value)),onClear:k[4]||(k[4]=g=>{e.unref(C)(g),e.unref(y)(g,void 0)}),modelValue:e.unref(f)[M.props.name],"onUpdate:modelValue":g=>e.unref(f)[M.props.name]=g,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Nn={class:"flex gap-1 items-center flex-wrap"},tt=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=te(),l=t,s=o,b=e.useSlots(),n=e.ref({}),d=e.computed(()=>Object.keys(l.schema).length>l.limit),{activeFilter:h,activeFilterCount:f,onFilterChange:u,clearFilter:y,clearAllFilters:C,limitedSchema:m,filtersSlot:V,limitedFiltersSlot:B}=Ne({...l,schema:n,slots:b},s);function c(k){return Array.isArray(k)?k.some(M=>M!==""&&M!==void 0&&M!==null):k===null?!0:k&&typeof k=="object"?Object.values(k).some(M=>M!==""&&M!==void 0&&M!==null):k!==""&&k!==void 0}const p=e.computed(()=>{const k=Object.keys(m.value??{}),M=B.value.map(S=>{var i;return(i=S.props)==null?void 0:i.name}).filter(S=>typeof S=="string");return new Set([...k,...M])}),D=e.computed(()=>Object.entries(h.value??{}).filter(([k,M])=>p.value.has(k)&&c(M)).length),A=e.computed(()=>{const k=f.value??0,M=D.value??0;return Math.max(k-M,0)}),z=e.ref();function x(){z.value&&z.value.clearAllFilters(!0),C()}return e.watch(()=>l.schema,k=>{n.value=k},{deep:!0,immediate:!0}),a({clearFilter:y,clearAllFilters:C}),(k,M)=>(e.openBlock(),e.createElementBlock("div",Nn,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(m)),([S,i])=>(e.openBlock(),e.createBlock(re,e.mergeProps({key:S,mode:t.mode,width:t.width?t.width:i==null?void 0:i.width},{ref_for:!0},i,{class:[t.itemClass,i==null?void 0:i.class],"item-class":[t.itemClass,i==null?void 0:i.itemClass].filter(Boolean).join(" ")||void 0,onChange:M[0]||(M[0]=w=>e.unref(u)(w.name,w.value)),onClear:e.unref(y),layout:"inline",cleanable:!0,modelValue:e.unref(h)[S],"onUpdate:modelValue":w=>e.unref(h)[S]=w}),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(B),(S,i)=>{var w,g;return e.openBlock(),e.createBlock(re,e.mergeProps({key:"slot-"+i,layout:"inline"},{ref_for:!0},S.props,{class:[t.itemClass,(w=S.props)==null?void 0:w.class],"item-class":[t.itemClass,(g=S.props)==null?void 0:g.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(h)[S.props.name],"onUpdate:modelValue":L=>e.unref(h)[S.props.name]=L}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128)),d.value?(e.openBlock(),e.createBlock(et,e.mergeProps({key:1},l,{schema:t.schema,limit:t.limit,onChange:M[3]||(M[3]=S=>e.unref(u)(S.name,S.value)),onClearAll:M[4]||(M[4]=S=>e.unref(C)()),onClear:M[5]||(M[5]=S=>e.unref(y)(S.name)),mode:t.mode,ref_key:"popoverRef",ref:z,cleanable:!0,"badge-count":A.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(V),(S,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S),e.mergeProps({key:"slot-"+i,layout:"popover"},{ref_for:!0},S.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:x,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)]))}}),Sn={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"},_n={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Mn=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,s=e.useSlots(),{activeFilter:b,activeFilterCount:n,onFilterChange:d,clearFilter:h,clearAllFilters:f,filtersSlot:u}=Ne({...r,slots:s},l);return a({clearFilter:h,clearAllFilters:f}),(y,C)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Sn,[e.createElementVNode("div",_n,[e.unref(n)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:C[0]||(C[0]=m=>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),([m,V])=>(e.openBlock(),e.createBlock(re,e.mergeProps({layout:"vertical"},{ref_for:!0},V,{class:[t.itemClass,V==null?void 0:V.class],"item-class":[t.itemClass,V==null?void 0:V.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[1]||(C[1]=B=>e.unref(d)(B.name,B.value)),onClear:C[2]||(C[2]=B=>{e.unref(h)(B),e.unref(d)(B,void 0)}),modelValue:e.unref(b)[m],"onUpdate:modelValue":B=>e.unref(b)[m]=B,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),(m,V)=>{var B,c;return e.openBlock(),e.createBlock(re,e.mergeProps({key:"slot-"+V,layout:"vertical"},{ref_for:!0},m.props,{class:[t.itemClass,(B=m.props)==null?void 0:B.class],"item-class":[t.itemClass,(c=m.props)==null?void 0:c.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[3]||(C[3]=p=>e.unref(d)(p.name,p.value)),onClear:C[4]||(C[4]=p=>{e.unref(h)(p),e.unref(d)(p,void 0)}),modelValue:e.unref(b)[m.props.name],"onUpdate:modelValue":p=>e.unref(b)[m.props.name]=p,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))])])):e.createCommentVNode("",!0)}}),Dn=["onKeydown"],zn=["disabled"],$n={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"},Ln={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Pn={class:"mb-3 flex items-center justify-between"},Fn={class:"text-[15px] font-semibold text-slate-800"},An={"aria-hidden":"true"},jn={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},Tn={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=te(),r=t,l=a,s=e.ref({}),b=e.useSlots(),{activeFilter:n,activeFilterCount:d,onFilterChange:h,clearFilter:f,clearAllFilters:u,filtersSlot:y}=Ne({...r,schema:s.value,slots:b},l),C=e.ref(null),m=e.ref(null),V=e.reactive({open:!1,top:0,left:0}),B=e.computed(()=>V.open),c=e.computed(()=>!!r.disabled),p=e.computed(()=>s.value||{}),D=e.computed(()=>r.title??"Фільтр"),A=e.computed(()=>!!b.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",c.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),x=e.computed(()=>V.open?{position:"absolute",top:`${V.top}px`,left:`${V.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function k(){V.open=!1}function M(){if(!C.value)return;const L=C.value.getBoundingClientRect();V.top=L.bottom+window.scrollY+8,V.left=L.left+L.width/2+window.scrollX}function S(){V.open=!V.open,V.open&&e.nextTick(M)}function i(){c.value||S()}function w(){V.open&&M()}function g(){u()}return e.onMounted(()=>{window.addEventListener("resize",w),window.addEventListener("scroll",w,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",w),window.removeEventListener("scroll",w,!0)}),e.watch(()=>r.schema,L=>{if(!L){s.value={};return}if(Array.isArray(L)){const P=L.filter(O=>O&&(O.name||O.id)).map(O=>{const _=O.name||O.id;return[_,{...O,name:_}]});s.value=Object.fromEntries(P);return}s.value=L},{deep:!0,immediate:!0}),e.watch(()=>r.disabled,L=>{L&&k()}),(L,P)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:C},[A.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",c.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(i,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(i,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(i,["prevent","stop"]),["space"])]},[e.renderSlot(L.$slots,"trigger",{toggle:i,open:B.value,disabled:c.value,activeCount:e.unref(d)})],42,Dn)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(z.value),type:"button",disabled:c.value,onClick:e.withModifiers(i,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(Je,{class:"h-4 w-4"}),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",$n,e.toDisplayString(e.unref(d)),1)):e.createCommentVNode("",!0)],10,zn)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[B.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof t.width=="number"?`min-w-[${t.width+32+(Object.keys(p.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(x.value),ref_key:"panel",ref:m,onClick:P[4]||(P[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Ln,[e.createElementVNode("div",Pn,[e.createElementVNode("h3",Fn,e.toDisplayString(D.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:k},[e.createElementVNode("span",An,[e.createVNode(Fe,{class:"h-4 w-4"})]),P[5]||(P[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",jn,[Object.keys(p.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(p.value),([O,_])=>(e.openBlock(),e.createBlock(re,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":v=>e.unref(n)[O]=v,onChange:P[0]||(P[0]=v=>e.unref(h)(v.name,v.value)),onClear:P[1]||(P[1]=v=>{e.unref(f)(v),e.unref(h)(v,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 v,U;return e.openBlock(),e.createBlock(re,e.mergeProps({key:"slot-"+_,ref_for:!0},{...O.props,layout:"inline"},{class:[t.itemClass,(v=O.props)==null?void 0:v.class],"item-class":[t.itemClass,(U=O.props)==null?void 0:U.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(n)[O.props.name],"onUpdate:modelValue":Z=>e.unref(n)[O.props.name]=Z,onChange:P[2]||(P[2]=Z=>e.unref(h)(Z.name,Z.value)),onClear:P[3]||(P[3]=Z=>{e.unref(f)(Z),e.unref(h)(Z,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))]),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",Tn,[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:g},e.toDisplayString(e.unref(o)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),On={class:"mb-6 flex flex-wrap gap-2"},Rn=["onClick"],Zn={class:"mr-2 flex items-center gap-1"},Un={class:"font-semibold"},In={class:"text-xs text-gray-500"},Se=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(),s=e.computed(()=>({...r,...l})),b=e.ref(f(r.value??{}));e.watch(()=>r.value,async i=>{var w,g;b.value=f(i??{}),(!i||Object.keys(i).length===0)&&(await e.nextTick(),(g=(w=d.value)==null?void 0:w.clearAllFilters)==null||g.call(w,!0))},{deep:!0,immediate:!0});const n=o,d=e.ref(),h=e.useSlots();function f(i){if(Array.isArray(i))return i.map(w=>f(w));if(i!==null&&typeof i=="object"){const w=e.toRaw(i),g={};for(const L in w)g[L]=f(w[L]);return g}return i}function u(i,w){w!==void 0?b.value={...b.value,[i]:w}:delete b.value[i],n("change",{data:f(b.value),name:i,value:f(w)})}function y(i){delete b.value[i],n("clear",{data:f(b.value),name:i}),n("change",{data:f(b.value),name:i,value:null})}function C(){b.value={},n("clear",{data:f(b.value),name:"ALL"}),n("change",{data:f(b.value),name:"ALL",value:null})}const m=e.ref({}),V=e.computed(()=>r.teleportActive);function B(){switch(r.view){case"inline":return tt;case"vertical":return Mn;case"popover":return et;case"popover-inline":return vn;default:return tt}}e.watch(()=>r.schema,i=>{if(!i){m.value={};return}if(Array.isArray(i)&&!i.length){m.value={};return}Array.isArray(i)?m.value=i.filter(w=>w.type).reduce((w,g)=>(Object.assign(g,{name:g.id||g.name,type:{datepicker:"date"}[g.type.toLowerCase()]||g.type.toLowerCase(),label:g.label||g.ua}),w[g.name]=g,g.data&&!g.api&&!g.options&&Object.assign(g,{api:`/api/suggest/${g.data}`}),w),{}):(Object.entries(i).forEach(([w,g])=>{Object.assign(g,{name:w||g.name||g.id,type:g.type.toLowerCase()})}),m.value={...i})},{immediate:!0,deep:!0});function c(i){d.value.clearFilter(i),y(i)}function p(){d.value.clearAllFilters(),C()}const D=e.computed(()=>Object.entries(b.value).filter(([,i])=>i==null?!1:Array.isArray(i)?i.length>0:typeof i=="string"?i.trim().length>0:!0).map(([i,w])=>{const g=m.value[i],L=(g==null?void 0:g.label)||(g==null?void 0:g.title)||i,P=z(g,w);return{key:i,label:L,value:P}}));function A(i){c(i)}function z(i,w){if(!i||w===void 0||w===null)return"";const g=x(w);if(!g.length)return"";const L=k(i);return g.map(P=>L.get(P)??P).filter(Boolean).join(", ")}function x(i){return Array.isArray(i)?i.map(w=>{var g;return((g=w==null?void 0:w.toString)==null?void 0:g.call(w))??""}).filter(Boolean):typeof i=="string"?i.split(",").map(w=>w.trim()).filter(Boolean):[]}function k(i){const w=new Map,g=i.valueKey||"id",L=i.labelKey||"text";return(i.options??[]).forEach(P=>{const O=M(P,g),_=S(P,L);O&&w.set(O,_||O)}),w}function M(i,w){var g,L;return i?((L=(g=i[w]??i.id??i.value??i.key)==null?void 0:g.toString)==null?void 0:L.call(g))??"":""}function S(i,w){var g,L;return i?((L=(g=i[w]??i.text??i.label??i.value??i.id)==null?void 0:g.toString)==null?void 0:L.call(g))??"":""}return e.watch(()=>b.value,i=>{if(r.history){const w=new URL(window.location.href),g=new URLSearchParams(window.location.search);Object.keys(i).length>0?g.set("filter",Object.entries(i).filter(([,L])=>L).map(([L,P])=>`${L}=${P}`).join("|")):g.delete("filter"),w.search=decodeURI(g.toString()),window.history.pushState({},"",w)}}),a({clearAllFilters:p,clearFilter:c}),(i,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(B()),e.mergeProps(s.value,{schema:m.value,onChange:w[0]||(w[0]=g=>u(g.name,g.value)),onClear:w[1]||(w[1]=g=>y(g.name)),onClearAll:C,ref_key:"filterRef",ref:d}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(h).trigger?{name:"trigger",fn:e.withCtx(g=>[e.renderSlot(i.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(g)))]),key:"0"}:void 0]),1040,["schema"])),V.value&&D.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:V.value},[e.createElementVNode("div",On,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,g=>(e.openBlock(),e.createElementBlock("button",{key:g.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=>A(g.key)},[e.createElementVNode("span",Zn,[e.createElementVNode("span",Un,e.toDisplayString(g.label),1),e.createElementVNode("span",In,"· "+e.toDisplayString(g.value),1)]),w[2]||(w[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,Rn))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});Se.install=function(t){t.component("Filter",Se),t.component("FilterField",re)};function Kn(t){const{page:a,id:o,filter:r,filterByView:l}=t,s=new URL(window.location.href),b=new URLSearchParams(window.location.search);a?b.set("page",a.toString()):b.delete("page"),o?b.set("id",o.toString()):b.delete("id"),r?b.set("filter",r):b.delete("filter"),typeof l=="boolean"?b.set("bbox",l?"1":"0"):b.delete("bbox"),s.search=decodeURI(b.toString()),window.history.pushState({},"",s)}const Hn={class:"flex items-center justify-between w-full gap-x-1"},Wn={class:"flex items-center"},qn=["disabled"],Yn={class:"flex items-center gap-x-1"},Gn=["onClick"],Qn=["disabled"],Xn={class:"flex justify-center items-center gap-x-5 ml-3"},Jn={class:"relative"},ea={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"},ta=["onClick"],la={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"},Te=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),s=e.ref(o.pageSize),b=e.ref(!1);e.watch(()=>o.pageSize,C=>{s.value=C});const n=e.computed(()=>Math.ceil(o.total/o.pageSize)),d=e.computed(()=>{const m=Math.floor(3.5);let V=l.value-m,B=l.value+m;V<1&&(B+=1-V,V=1),B>n.value&&(V-=B-n.value,B=n.value),V=Math.max(1,V);const c=[];for(let p=V;p<=B;p+=1)c.push(p);return c}),h=()=>{l.value>1&&u(l.value-1)},f=()=>{l.value<n.value&&u(l.value+1)},u=C=>{l.value=C,r("update:currentPage",C),r("pageChange",C)},y=(C=s.value)=>{s.value=C,b.value=!1,r("update:pageSize",s.value),r("update:currentPage",1),r("pageSizeChange",s.value)};return e.watch(()=>o.currentPage,C=>{l.value=C}),(C,m)=>(e.openBlock(),e.createElementBlock("nav",Hn,[e.createElementVNode("div",Wn,[e.createElementVNode("button",{type:"button","aria-label":"Previous",onClick:h,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"},[...m[1]||(m[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,qn),e.createElementVNode("div",Yn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,V=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:V,onClick:B=>u(V),class:e.normalizeClass(l.value===V?"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(V),11,Gn))),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"},[...m[2]||(m[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,Qn)]),e.createElementVNode("div",Xn,[e.createElementVNode("div",Jn,[e.withDirectives(e.createElementVNode("div",ea,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],V=>e.createElementVNode("button",{type:"button",key:V,onClick:B=>y(V),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(V)+" ",1),s.value===V?(e.openBlock(),e.createElementBlock("svg",la,[...m[3]||(m[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,ta)),64))],512),[[e.vShow,b.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:m[0]||(m[0]=V=>b.value=!b.value)},[e.createTextVNode(e.toDisplayString(s.value)+" ",1),m[4]||(m[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))])])])]))}}),me=(t,a)=>{const o=t.__vccOpts||t;for(const[r,l]of a)o[r]=l;return o},oa={},na={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 aa(t,a){return e.openBlock(),e.createElementBlock("svg",na,[...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 ve=me(oa,[["render",aa]]),ra={},ia={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 sa(t,a){return e.openBlock(),e.createElementBlock("svg",ia,[...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 ca=me(ra,[["render",sa]]),da={},ma={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 pa(t,a){return e.openBlock(),e.createElementBlock("svg",ma,[...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 fa=me(da,[["render",pa]]),ua={},ga={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 ha(t,a){return e.openBlock(),e.createElementBlock("svg",ga,[...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 ya=me(ua,[["render",ha]]),ba={},xa={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 ka(t,a){return e.openBlock(),e.createElementBlock("svg",xa,[...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 wa=me(ba,[["render",ka]]);function lt(t,a){let o;return function(...r){clearTimeout(o),o=setTimeout(()=>t(...r),a)}}const Va={class:"fixed inset-0 z-50 pointer-events-none"},Ca={class:"text-base font-semibold text-gray-900"},Ba={class:"px-4 pb-3 min-h-0 shrink-0 overflow-hidden"},Ea={class:"flex flex-col flex-1 min-h-0 overflow-hidden"},Na={class:"text-base font-semibold text-gray-900"},Sa={class:"flex-1 min-h-0 overflow-auto p-4"},_a=152,ot=96,Ma=270,nt=96,xe=me(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,s=e.ref("full"),b=e.computed(()=>r.topOffset??"0px"),n=e.computed(()=>r.peekMode??"custom"),d=e.ref(!1),h=e.ref(0);let f=null,u=0,y=0;function C(S,i,w){return Math.max(S,Math.min(w,i))}function m(S){if(!S)return 0;const i=Number.parseFloat(S);return Number.isFinite(i)?i:0}function V(){if(typeof window>"u")return 0;const S=m(b.value);return Math.max(0,window.innerHeight-S)}function B(){const S=n.value==="custom",i=S?_a:Ma,w=S?ot:nt,g=S?40:60;if(typeof window>"u")return Math.max(w,i);const L=window.innerHeight*(g/100);return C(w,i,L)}function c(){return n.value==="custom"?ot:nt}function p(S){const i=V(),w=B(),g=c(),L=s.value==="full"?i:w;return i<=0?Math.max(g,L):C(g,L-S,i)}const D=e.computed(()=>({height:`${p(h.value)}px`}));e.watch(()=>r.open,S=>{S&&(s.value=r.initialVariant??"full"),d.value=!1,h.value=0}),e.watch(()=>r.initialVariant,S=>{r.open&&S&&(s.value=S)});function A(){s.value!=="full"&&(s.value="full",l("expand")),d.value||(h.value=0)}function z(){s.value!=="peek"&&(s.value="peek",l("collapse")),d.value||(h.value=0)}function x(S){if(S.pointerId!==f)return;S.cancelable&&S.preventDefault();const i=S.clientY-u;h.value=y+i}function k(S){if(S.pointerId!==f)return;window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",k),window.removeEventListener("pointercancel",k),f=null;const i=S.clientY-u,w=y+i;h.value=w;const g=p(w),P=(typeof window<"u"?window.innerHeight:0)*.6,O=P>0&&g>=P,_=P>0&&!O;if(!(s.value==="peek"&&O||s.value==="full"&&_)){d.value=!0;return}d.value=!1,h.value=0,s.value==="peek"&&O?A():s.value==="full"&&_&&z()}function M(S){var i,w;S.button!==0&&S.pointerType==="mouse"||(S.cancelable&&S.preventDefault(),f=S.pointerId,u=S.clientY,y=h.value,d.value=!0,(w=(i=S.currentTarget).setPointerCapture)==null||w.call(i,S.pointerId),window.addEventListener("pointermove",x,{passive:!1}),window.addEventListener("pointerup",k),window.addEventListener("pointercancel",k))}return e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",k),window.removeEventListener("pointercancel",k)}),a({expand:A,collapseToPeek:z}),(S,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",Va,[e.createElementVNode("div",{class:e.normalizeClass(["absolute inset-0 bg-black/40 transition-opacity duration-150",s.value==="peek"?"opacity-0 pointer-events-none":"opacity-100 pointer-events-auto"]),onClick:i[0]||(i[0]=e.withModifiers(w=>s.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)] vs-mobile-modal-shell__panel",[s.value==="peek"?"rounded-t-2xl":"",d.value?"vs-mobile-modal-shell__panel--dragging":""]]),style:e.normalizeStyle(D.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:M},[...i[5]||(i[5]=[e.createElementVNode("div",{class:"h-1.5 w-10 rounded-full bg-stone-300","aria-hidden":"true"},null,-1)])],32),s.value==="peek"&&n.value==="custom"?(e.openBlock(),e.createElementBlock("div",{key:0,class:"flex items-center justify-between gap-4 px-4 pb-3 border-b border-gray-200 shrink-0 touch-none select-none cursor-grab active:cursor-grabbing",onPointerdown:M},[e.createElementVNode("div",Ca,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]",onPointerdown:i[1]||(i[1]=e.withModifiers(()=>{},["stop"])),onClick:i[2]||(i[2]=w=>l("close")),"aria-label":"Close"},[...i[6]||(i[6]=[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)])],32)],32)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",Ba,[e.renderSlot(S.$slots,"peek",{expand:A,collapse:z},()=>[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:A},e.toDisplayString(t.title),1)],!0)],512),[[e.vShow,s.value==="peek"&&n.value==="custom"]]),e.withDirectives(e.createElementVNode("div",Ea,[e.createElementVNode("div",{class:"flex items-center justify-between gap-4 px-4 pb-3 border-b border-gray-200 shrink-0 touch-none select-none cursor-grab active:cursor-grabbing",onPointerdown:M},[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]",onPointerdown:i[3]||(i[3]=e.withModifiers(()=>{},["stop"])),onClick:i[4]||(i[4]=w=>l("close")),"aria-label":"Close"},[...i[7]||(i[7]=[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)])],32)],32),e.createElementVNode("div",Sa,[e.renderSlot(S.$slots,"default",{},void 0,!0)])],512),[[e.vShow,s.value==="full"||s.value==="peek"&&n.value==="clip-full"]])],6)],512)),[[e.vShow,t.open]])}}),[["__scopeId","data-v-74c152ea"]]),Da={class:"flex flex-col gap-2 pointer-events-auto self-end","data-peek-controls":"1"},za=e.defineComponent({__name:"MapMobilePeekControlButtons",props:{onOpenLayers:{type:Function},onOpenLegend:{type:Function}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",Da,[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 at(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 $a(t,a,o,r,l=12,s=12){if(!a)return;const b=at(t,r,l,s);a.addSource("vector",{type:"vector",tiles:[b],minzoom:0,maxzoom:22});const n=["coalesce",["get","point_count"],["get","pointCount"],["get","cluster_count"],["get","clusterCount"],0],d=[">",n,1],h=["<=",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:d,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:d,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",source:"vector","source-layer":t,filter:["all",h,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 La=[{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"}],Pa={class:"relative w-auto h-full"},Fa={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px]"},Aa={key:0,class:"text-[0.875rem] font-medium text-stone-700"},ja=["aria-label"],Ta={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"},Oa={class:"flex justify-start items-center gap-2"},Ra={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Za={class:"text-[0.875rem]"},Ua={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Ia={key:1,class:"p-[10px]"},Ka={class:"flex justify-start items-center gap-2"},Ha={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},Wa={class:"text-[0.875rem]"},qa={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},Ya={key:0,class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},Ga=["title","onClick"],Qa=["src"],Xa={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"},Ja={class:"vs-mobile-peek-controls px-3 pb-3"},er={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%"}},tr=["title","onClick"],lr=["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"},nr={class:"vs-mobile-peek-controls flex justify-center w-full"},ar={class:"w-full"},rr={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px] pb-[12px]"},ir={class:"text-[0.875rem] font-medium text-stone-700"},sr={class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out"},cr={class:"p-[10px] pt-0"},dr={class:"flex justify-start items-center gap-2"},mr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},pr={class:"text-[0.875rem]"},fr={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},ke="vector-clusters",rt=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,s=null;const b=e.getCurrentInstance(),n=e.ref(null),d=e.ref(!1),h=e.ref(!1),f=e.ref(!1),u=e.ref(!1);let y=null,C=null;const m=["vector-circle","vector-fill"],V=e.computed(()=>{var $,F;return((F=($=b==null?void 0:b.appContext.config.globalProperties)==null?void 0:$.$settings)==null?void 0:F.basemaps)||[]}),B=e.computed(()=>(o.layers&&o.layers.length?o.layers:V.value.length?V.value:La).map((F,R)=>{var oe;const j=F.id||((oe=F.name)==null?void 0:oe.toString().toLowerCase().replace(/\s+/g,"-"))||`layer-${R}`,Y=F.name||F.id||`layer-${R}`;return{...F,id:j,name:Y}})),c=e.ref(""),p=e.computed(()=>B.value.find($=>$.id===c.value)||B.value[0]);e.watch(B,$=>{var F;$.length&&(!c.value||!$.some(R=>R.id===c.value))&&(c.value=((F=$[0])==null?void 0:F.id)||"")},{immediate:!0});function D($){return $?$.replace("{x}","2422").replace("{y}","1400").replace("{z}","12"):""}const A=e.ref(null),z=e.ref(null),x=e.computed(()=>o.showPopup!==!1),k=["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#17BECF","#BCBD22"];let M;const S=[30,48];let i=null,w=[];function g(){if(typeof window>"u")return{zoom:null,center:null,hasQuery:!1};const $=new URLSearchParams(window.location.search),F=Number($.get("z")),R=Number($.get("y")),j=Number($.get("x")),Y=$.has("x")&&$.has("y"),oe=$.has("z");return{zoom:oe?F:null,center:Y?[j,R]:null,hasQuery:Y||oe}}function L($,F){if(!$||typeof window>"u")return;const R=new URL(window.location.href);R.searchParams.set("z",F.toFixed(2)),R.searchParams.set("x",$[0].toFixed(6)),R.searchParams.set("y",$[1].toFixed(6)),window.history.replaceState({},"",R)}let P=!1;function O(){if(!l||!P)return;const $=l.getCenter();L([$.lng,$.lat],l.getZoom())}const _=()=>{P||(P=!0),O()};function v($){return $?["==",["to-string",["get","id"]],$]:["==",["literal",1],0]}const U=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],Z=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]];function le(){const $=v(o.modelValue),F=["all",$,U],R=["all",$,Z];l.getLayer("vector-highlight-circle")||l.addLayer({id:"vector-highlight-circle",type:"circle",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",F),l.setFilter("vector-highlight-fill",R);const j=o.modelValue?"visible":"none";l.setLayoutProperty("vector-highlight-circle","visibility",j),l.setLayoutProperty("vector-highlight-fill","visibility",j),ee()}function Ve($){if(!l||!w.length)return;const F="#ef4444",R=$?["case",["all",["has","id"],["==",["to-string",["get","id"]],$]],F,w]:w;if(l.getLayer("vector-circle")&&l.setPaintProperty("vector-circle","circle-color",R),l.getLayer("vector-fill")){const j=$?["case",["all",["has","id"],["==",["to-string",["get","id"]],$]],F,w]:w;l.setPaintProperty("vector-fill","fill-color",j)}}function ee(){if(J(),!o.modelValue)return;let $=!0;i=window.setInterval(()=>{$=!$;const F=$?.8:.2;l!=null&&l.getLayer("vector-highlight-circle")&&l.setPaintProperty("vector-highlight-circle","circle-opacity",F),l!=null&&l.getLayer("vector-highlight-fill")&&l.setPaintProperty("vector-highlight-fill","line-opacity",F)},600)}function J(){i&&(clearInterval(i),i=null)}function Ce(){l&&(l.setCenter(o.center||S),l.setZoom(o.zoom||5))}function de(){if(!(l!=null&&l.setLayerZoomRange))return;const $=o.minZoom??0,F=Math.min((o.maxZoom??18)+.01,24);if(o.alwaysShowPolygon)l.getLayer("vector-circle")&&l.setLayerZoomRange("vector-circle",$,0),l.getLayer("vector-highlight-circle")&&l.setLayerZoomRange("vector-highlight-circle",$,0),l.getLayer("vector-fill")&&l.setLayerZoomRange("vector-fill",$,F),l.getLayer("vector-highlight-fill")&&l.setLayerZoomRange("vector-highlight-fill",$,F),l.getLayer(ke)&&l.setLayerZoomRange(ke,$,0),l.getLayer("vector-cluster-count")&&l.setLayerZoomRange("vector-cluster-count",$,0);else{const R=o.clusterZoom??12,j=R-.01,Y=F;l.getLayer("vector-circle")&&l.setLayerZoomRange("vector-circle",$,Y),l.getLayer("vector-highlight-circle")&&l.setLayerZoomRange("vector-highlight-circle",$,Y),l.getLayer("vector-fill")&&l.setLayerZoomRange("vector-fill",R,F),l.getLayer("vector-highlight-fill")&&l.setLayerZoomRange("vector-highlight-fill",R,F),l.getLayer(ke)&&l.setLayerZoomRange(ke,$,j),l.getLayer("vector-cluster-count")&&l.setLayerZoomRange("vector-cluster-count",$,j)}}const ye=g();P=ye.hasQuery,e.onMounted(async()=>{M=(await fetch(`/api/data/${o.table}/${o.colorAttr}`).then(q=>q.json())).rows,M.forEach((q,K)=>{q.color||Object.assign(q,{color:k[K%10]})}),s=new maplibregl.Popup({closeButton:!1,closeOnClick:!1});const F=p.value;if(!F)return;const R=ye.center||o.center||S,j=ye.zoom||o.zoom||5;l=new maplibregl.Map({container:n.value,style:{version:8,sources:{[F.id]:{type:"raster",tiles:[F.url],tileSize:256},...F.overlayUrl?{[`${F.id}-overlay`]:{type:"raster",tiles:[F.overlayUrl],tileSize:256}}:{}},layers:[{id:F.id,type:"raster",source:F.id,minzoom:0,maxzoom:19},...F.overlayUrl?[{id:`${F.id}-overlay`,type:"raster",source:`${F.id}-overlay`,minzoom:0,maxzoom:19}]:[]]},center:R,zoom:j,minZoom:o.minZoom??3,maxZoom:o.maxZoom??18,attributionControl:!1}),r("update:map",l);const Y=o.mobilePeekControls?"bottom-right":"top-right";if(l.addControl(new maplibregl.NavigationControl,Y),o.mobilePeekControls){const q={onAdd:()=>{const K=document.createElement("div");return y=K,C=e.createApp(za,{onOpenLayers:()=>{f.value=!0},onOpenLegend:()=>{u.value=!0}}),C.mount(K),K},onRemove:()=>{C==null||C.unmount(),C=null,y=null}};l.addControl(q,"bottom-right"),l.once("render",()=>{if(!y)return;const K=l.getContainer(),W=K.querySelector(".maplibregl-ctrl-bottom-right"),Q=K.querySelector(".maplibregl-ctrl-zoom-in"),pe=Q==null?void 0:Q.closest(".maplibregl-ctrl-group");!W||!pe||y.parentElement===W&&(W.removeChild(y),W.insertBefore(y,pe.nextSibling))})}l.on("zoom",()=>{}),l.on("moveend",_),l.on("zoomend",_),P&&O(),l.on("load",()=>{l==null||l.resize(),d.value=!0;const q=M.filter(W=>W.id).reduce((W,Q)=>[Q.id,Q.color].concat(W),[]),K=["match",["get",o.colorAttr],...q,"#808080"];w=K,$a(o.table,l,K,o.filter,o.clusterZoom,o.pointZoom??12),le(),Ve(o.modelValue),de()});const oe=q=>{var W,Q;const K=(W=q.features)==null?void 0:W[0];(Q=K==null?void 0:K.properties)!=null&&Q.id&&r("update:modelValue",K.properties.id)};m.forEach(q=>{l.on("click",q,oe)}),l.on("click",ke,q=>{var fe,ie,se;const K=(fe=q.features)==null?void 0:fe[0];if(!K)return;const{geometry:W}=K,Q=(W==null?void 0:W.type)==="Point"?W.coordinates:(se=(ie=W==null?void 0:W.coordinates)==null?void 0:ie[0])==null?void 0:se[0];if(!Q)return;const pe=Math.min(l.getZoom()+2,l.getMaxZoom());l.easeTo({center:Q,zoom:pe})}),[...m,ke].forEach(q=>{l.on("mouseenter",q,()=>{l.getCanvas().style.cursor="pointer"}),l.on("mouseleave",q,()=>{l.getCanvas().style.cursor=""})}),l.on("mousemove",q=>{var fe,ie;if(!x.value){(fe=s==null?void 0:s.remove)==null||fe.call(s);return}if(!s)return;const K=l.queryRenderedFeatures(q.point,{layers:m});if(!K||!K.length){s.remove();return}const W=K[0],{coordinates:Q}=W.geometry,pe=W.geometry.type==="Point"?Q:Q[0][0];z.value=W.properties,s.setLngLat(pe).setHTML((ie=A.value)==null?void 0:ie.innerHTML).addTo(l)})}),e.watch(()=>o.center,$=>{l&&l.setCenter($||S)}),e.watch(()=>o.zoom,$=>{l&&l.setZoom($)}),e.watch(()=>o.minZoom,$=>{l&&(l.setMinZoom($??3),de())}),e.watch(()=>o.maxZoom,$=>{l&&(l.setMaxZoom($??18),de())});function we($,F,R){if(!(l!=null&&l.getSource("vector")))return;const j=at(o.table,$??o.filter,F??o.clusterZoom??12,R??o.pointZoom??12);l.getSource("vector").setTiles([j])}return e.watch(()=>o.filter,$=>{we($)}),e.watch(()=>o.clusterZoom,$=>{we(void 0,$),de()}),e.watch(()=>o.pointZoom,$=>{we(void 0,void 0,$)}),e.watch(()=>o.alwaysShowPolygon,()=>{de(),we()}),e.watch(()=>o.modelValue,$=>{if(!l)return;const F=v($),R=["all",F,U],j=["all",F,Z];if(l.getLayer("vector-highlight-circle")){l.setFilter("vector-highlight-circle",R);const Y=$?"visible":"none";l.setLayoutProperty("vector-highlight-circle","visibility",Y)}if(l.getLayer("vector-highlight-fill")){l.setFilter("vector-highlight-fill",j);const Y=$?"visible":"none";l.setLayoutProperty("vector-highlight-fill","visibility",Y)}Ve($),$?ee():J()}),e.watch(c,($,F)=>{if(!l||!$)return;const R=B.value.find(oe=>oe.id===$);if(!R)return;l.getLayer(F)&&l.removeLayer(F),l.getSource(F)&&l.removeSource(F);const j=`${F}-overlay`;l.getLayer(j)&&l.removeLayer(j),l.getSource(j)&&l.removeSource(j),l.addSource($,{type:"raster",tiles:[R.url],tileSize:256}),R.overlayUrl&&l.addSource(`${$}-overlay`,{type:"raster",tiles:[R.overlayUrl],tileSize:256});const Y=l.getLayer("vector-clusters")?"vector-clusters":l.getLayer("vector-circle")?"vector-circle":void 0;l.addLayer({id:R.id,type:"raster",source:R.id,minzoom:0,maxzoom:19},Y),R.overlayUrl&&l.addLayer({id:`${$}-overlay`,type:"raster",source:`${$}-overlay`,minzoom:0,maxzoom:19},Y)}),e.onBeforeUnmount(()=>{J(),l&&(l.off("moveend",_),l.off("zoomend",_),l.remove())}),($,F)=>{const R=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Pa,[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},[...F[3]||(F[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":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",Fa,[o.legendTitle?(e.openBlock(),e.createElementBlock("span",Aa,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":h.value?"Згорнути легенду":"Розгорнути легенду",onClick:F[0]||(F[0]=j=>h.value=!h.value)},[h.value?(e.openBlock(),e.createElementBlock("svg",Ta,[...F[4]||(F[4]=[e.createElementVNode("path",{d:"M6 9l6 6 6-6"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",va,[...F[5]||(F[5]=[e.createElementVNode("path",{d:"m18 15-6-6-6 6"},null,-1)])]))],8,ja)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out",style:e.normalizeStyle(o.isCollapsible&&!h.value?{maxHeight:"0",padding:"0",margin:"0",opacity:"0"}:{})},[e.createElementVNode("div",{class:e.normalizeClass(["p-[10px]",h.value&&(e.unref(M)||[]).length?"pt-0":"pt-2"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M)||[],j=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:j.id},[e.createElementVNode("div",Oa,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+j.color)},null,4),e.createElementVNode("div",Ra,[e.createElementVNode("span",Za,e.toDisplayString(j.text),1),j.count!=null?(e.openBlock(),e.createElementBlock("span",Ua,e.toDisplayString(j.count),1)):e.createCommentVNode("",!0)])])]))),128))],2)],4)],64)):(e.openBlock(),e.createElementBlock("div",Ia,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M)||[],j=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:j.id},[e.createElementVNode("div",Ka,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+j.color)},null,4),e.createElementVNode("div",Ha,[e.createElementVNode("span",Wa,e.toDisplayString(j.text),1),j.count!=null?(e.openBlock(),e.createElementBlock("span",qa,e.toDisplayString(j.count),1)):e.createCommentVNode("",!0)])])]))),128))]))],6),e.createElementVNode("div",{ref_key:"popupDiv",ref:A,style:{display:"none"}},[e.renderSlot($.$slots,"default",{hoverData:z.value})],512),o.mobilePeekControls?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ya,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,j=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:j.id,title:j.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:c.value===j.id}]),onClick:Y=>c.value=j.id},[e.createElementVNode("img",{src:j.preview||D(j.url),class:"vs-map-slot-layers__image"},null,8,Qa),e.createElementVNode("div",Xa,e.toDisplayString(j.name),1)],10,Ga)),[[R,j.name]])),128))])),o.mobilePeekControls?(e.openBlock(),e.createBlock(xe,{key:1,open:f.value,title:"Шари","initial-variant":"peek","peek-mode":"clip-full","allow-expand":!1,onClose:F[1]||(F[1]=j=>f.value=!1)},{default:e.withCtx(()=>[e.createElementVNode("div",Ja,[e.createElementVNode("div",er,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,j=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:j.id,title:j.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:c.value===j.id}]),onClick:Y=>c.value=j.id},[e.createElementVNode("img",{src:j.preview||D(j.url),class:"vs-map-slot-layers__image",style:{width:"100%",height:"100","object-fit":"cover",display:"block"}},null,8,lr),e.createElementVNode("div",or,e.toDisplayString(j.name),1)],10,tr)),[[R,j.name]])),128))])])]),_:1},8,["open"])):e.createCommentVNode("",!0),o.mobilePeekControls?(e.openBlock(),e.createBlock(xe,{key:2,open:u.value,title:"Легенда","initial-variant":"peek","peek-mode":"clip-full","peek-height-px":200,onClose:F[2]||(F[2]=j=>u.value=!1)},{default:e.withCtx(()=>[e.createElementVNode("div",nr,[e.createElementVNode("div",ar,[e.createElementVNode("div",rr,[e.createElementVNode("span",ir,e.toDisplayString(o.legendTitle||"Легенда"),1)]),e.createElementVNode("div",sr,[e.createElementVNode("div",cr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M)||[],j=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:j.id},[e.createElementVNode("div",dr,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+j.color)},null,4),e.createElementVNode("div",mr,[e.createElementVNode("span",pr,e.toDisplayString(j.text),1),j.count!=null?(e.openBlock(),e.createElementBlock("span",fr,e.toDisplayString(j.count),1)):e.createCommentVNode("",!0)])])]))),128))])])])])]),_:1},8,["open"])):e.createCommentVNode("",!0)],512)),[[e.vShow,d.value]])}}}),it={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 s=t.getBoundingClientRect();o.style.left=`${s.left+window.scrollX}px`,o.style.top=`${s.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))}},ur={},gr={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 hr(t,a){return e.openBlock(),e.createElementBlock("svg",gr,[...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 yr=me(ur,[["render",hr]]),br={},xr={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 kr(t,a){return e.openBlock(),e.createElementBlock("svg",xr,[...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 wr=me(br,[["render",kr]]),Vr={},Cr={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 Br(t,a){return e.openBlock(),e.createElementBlock("svg",Cr,[...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 Er=me(Vr,[["render",Br]]),Nr={class:"absolute inset-x-0 top-[12px] z-40 px-[12px] pointer-events-none"},Sr={class:"flex flex-wrap gap-2"},_r=["disabled"],Mr={key:0,class:"pointer-events-none absolute top-1 right-0.5 h-3 w-3 rounded-full bg-blue-400","aria-hidden":"true"},Dr=e.defineComponent({__name:"MobileOverlayActions",props:{activeModal:{},filtersDisabled:{type:Boolean},hasActiveFilters:{type:Boolean}},emits:["openSearch","openFilters","openTable"],setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",Nr,[e.createElementVNode("div",Sr,[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(wr)],2),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["pointer-events-auto relative 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(yr,{"stroke-width":1,class:"text-gray-900"}),o[3]||(o[3]=e.createElementVNode("span",{class:"font-medium"},"Фільтри",-1)),t.hasActiveFilters&&!t.filtersDisabled?(e.openBlock(),e.createElementBlock("span",Mr)):e.createCommentVNode("",!0)],10,_r),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(Er,{"stroke-width":1,class:"text-gray-900"}),o[4]||(o[4]=e.createElementVNode("span",{class:"font-medium"},"Таблиця",-1))],2)])]))}}),zr={key:0,class:"relative w-full h-full vs-mobile-parts-map"},$r={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},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"},vr={id:"active-filters"},Or={class:"flex-1 min-h-0"},Rr={key:1,class:"text-sm text-stone-500"},Zr={class:"wrapperTable flex flex-col min-h-0"},Ur={key:1,class:"text-center py-12"},Ir={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"],Yr={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},Gr={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]"},st="(max-width: 999px)",_e="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 ct,dt,mt,pt,ft,ut,gt;const o=e.getCurrentInstance();o&&!(o!=null&&o.appContext.directives.tooltip)&&(o.appContext.directives.tooltip=it);function r(E){return E?(E.type==="Point"?E.coordinates:null)||(E.type.includes("Multi")?E.coordinates[0][0][0]:E.coordinates[0][0]):null}function l(E){switch(E==null?void 0:E.type){case"Polygon":return E.coordinates[0];case"MultiPolygon":return E.coordinates.flatMap(N=>N[0]);case"LineString":return E.coordinates;case"MultiLineString":return E.coordinates.flat();default:return[]}}function s(E){if(!E||E.type==="Point"||E.type==="MultiPoint")return null;const N=l(E);if(!N.length)return null;let H=1/0,T=1/0,ne=-1/0,G=-1/0;return N.forEach(([I,ae])=>{I<H&&(H=I),ae<T&&(T=ae),I>ne&&(ne=I),ae>G&&(G=ae)}),[[H,T],[ne,G]]}function b(E){return(E==null?void 0:E.type)==="Polygon"||(E==null?void 0:E.type)==="MultiPolygon"}const n=t,d=e.useSlots(),h=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??((ct=n.rows)==null?void 0:ct.length)??0;const C=e.ref(""),m=e.ref(null),V=e.ref(!0),B=e.ref(((dt=n.rows)==null?void 0:dt.length)===1),c=e.ref(!1);let p=null;const D=e.ref(!1);typeof window<"u"&&(p=window.matchMedia(st),D.value=p.matches,c.value=!0);const A=e.ref(n.rows),z=e.ref(1),x=e.ref(20),k=e.ref(n.filters||[]),M=e.ref(""),S=e.ref({}),i=e.computed(()=>Object.values(S.value).some(E=>Array.isArray(E)?E.some(N=>N!=null&&N!==""):E&&typeof E=="object"?Object.values(E).some(N=>N!=null&&N!==""):E===null?!0:E!==void 0&&E!=="")),w=e.ref(((mt=n.rows)==null?void 0:mt.length)===1?n.rows[0]:{}),g=e.ref(((pt=n.rows)==null?void 0:pt.length)===1?n.rows[0].id:""),L=e.ref(((ft=n.rows)==null?void 0:ft.length)===1?r((ut=n.rows[0])==null?void 0:ut.geom):n.center||null),P=e.ref(((gt=n.rows)==null?void 0:gt.length)===1?14:n.zoom||5),O=e.ref(!1),_=e.ref(!1),v=e.ref("");let U=!1;const Z=e.ref(null),le=e.ref(!1);function Ve(){if(!p)return;const E=D.value;D.value=p.matches,E!==D.value&&(Z.value=null,e.nextTick(()=>{var N,H;(H=(N=m.value)==null?void 0:N.resize)==null||H.call(N)}))}const ee=e.ref(null),J=e.ref(null),Ce=e.computed(()=>{var E;return B.value&&!((E=w.value)!=null&&E.geom)}),de=e.computed({get:()=>Ce.value?"":g.value,set:E=>{g.value=E,D.value&&(E?(le.value=!0,Z.value="details"):Z.value==="details"&&(Z.value=null))}});function ye(){var G,I,ae;if(n.alwaysShowPolygon){ee.value=null,J.value=null;return}if(!n.polygonFitBbox||!m.value||!((G=w.value)!=null&&G.geom)){ee.value=null,J.value=null;return}const{geom:E}=w.value;if(!b(E)){ee.value=null,J.value=null;return}const N=s(E);if(!N){ee.value=null,J.value=null;return}const H=(ae=(I=m.value).cameraForBounds)==null?void 0:ae.call(I,N,{padding:20,maxZoom:16}),T=H==null?void 0:H.zoom,ne=n.clusterZoom??12;if(T!=null&&T<ne){const ht=Math.floor(T);ee.value=ht,J.value=ht}else ee.value=null,J.value=null}function we(E){return Object.entries(E).filter(([,N])=>Array.isArray(N)?N.length:N).map(([N,H])=>`${N}=${H}`).join("|")}function $(){var T,ne,G,I;if(!m.value||!_.value)return;const E=(ne=(T=m.value).getBounds)==null?void 0:ne.call(T);if(!E)return;const N=(G=E.getSouthWest)==null?void 0:G.call(E),H=(I=E.getNorthEast)==null?void 0:I.call(E);!N||!H||(v.value=`${N.lng} ${N.lat},${H.lng} ${H.lat}`)}async function F(E=!1){await e.nextTick();const N=we(S.value);M.value=N,_.value?$():v.value="";try{const H={search:C.value,limit:x.value.toString(),page:z.value.toString(),filter:N,..._.value&&v.value?{bbox:v.value}:{}},T=new URL(`/api/data/${n.table}`,window.location.origin)+(g.value?`/${g.value}`:""),ne=new URLSearchParams(H).toString(),G=await fetch(`${T.toString()}?${ne}`).then(I=>I.json());if(g.value){let I;if(G.rows.length>1?I=G.rows.find(ae=>ae.id===g.value):[I]=G.rows,w.value=I,!E&&(I!=null&&I.geom)){const ae=n.polygonFitBbox?s(I.geom):null;ae&&m.value?m.value.fitBounds(ae,{padding:20,maxZoom:16,duration:500}):(L.value=r(I.geom),P.value=14)}ye(),B.value=!0}else ee.value=null,J.value=null,B.value=!1,O.value||(P.value=n.zoom||5),A.value=G==null?void 0:G.rows;O.value=!1,y.value=G.filtered,Kn({page:z.value,filter:N,id:g.value,filterByView:_.value})}catch(H){console.error(H.message)}}const R=lt(()=>F(),300),j=lt(()=>F(!0),400);function Y(){!m.value||U||!_.value||(m.value.on("moveend",j),m.value.on("zoomend",j),U=!0)}function oe(){!m.value||!U||(m.value.off("moveend",j),m.value.off("zoomend",j),U=!1)}function Me(E){x.value=E,z.value=1,F()}function q(E){z.value=E,F()}function K(E){S.value=E.data,z.value=1,g.value?g.value="":F(),u("change:filter",E)}async function W(){if(n.filters)return;const N=await(await fetch(`/api/filter/${n.table}`)).json();k.value=N.list}function Q(){S.value={},C.value="",F()}e.onMounted(async()=>{var H,T;p||(p=window.matchMedia(st)),c.value||(D.value=p.matches,c.value=!0),p.addEventListener("change",Ve),D.value&&(V.value=!1);const E=new URLSearchParams(window.location.search);z.value=Number(E.get("page"))||1,x.value=Number(E.get("limit"))||x.value,g.value=E.get("id")||"",B.value=!!g.value,M.value=E.get("filter")||"";const N=E.get("bbox");N!==null?_.value=N!=="0":_.value=!1,(T=(H=E.get("filter"))==null?void 0:H.split("|"))==null||T.forEach(ne=>{const[G,I]=ne.split("=");G&&(S.value[G]=I!=null&&I.includes(",")?I.split(","):[I])}),W(),!A.value&&!g.value&&F()}),e.onBeforeUnmount(()=>{p==null||p.removeEventListener("change",Ve),oe()});function pe(){O.value=!0,B.value=!1,w.value=null,g.value="",ee.value=null,J.value=null}function fe(E){Z.value=E}function ie(){Z.value=null}async function se(){var E,N;await e.nextTick(),(N=(E=m.value)==null?void 0:E.resize)==null||N.call(E)}function Re(){pe(),ie()}function De(E){if(le.value=!0,E!=null&&E.geom){const N=n.polygonFitBbox?s(E.geom):null;N&&m.value?m.value.fitBounds(N,{padding:20,maxZoom:16,duration:500}):(L.value=r(E.geom),P.value=16)}w.value=E,g.value=E.id,ye(),D.value&&(Z.value="details")}return e.watch(Z,async()=>{var E,N;await e.nextTick(),(N=(E=m.value)==null?void 0:E.resize)==null||N.call(E)}),e.watch(m,E=>{var N;u("update:map",E),E&&_.value&&Y(),E&&n.polygonFitBbox&&((N=w.value)!=null&&N.geom)&&ye()}),e.watch(C,E=>{E||F()}),e.watch(g,()=>{F()}),e.watch(_,()=>{_.value?Y():oe(),F()}),(E,N)=>{var H;return c.value?(e.openBlock(),e.createElementBlock("section",{key:0,class:e.normalizeClass(D.value?"":"pt-[20px]")},[D.value?(e.openBlock(),e.createElementBlock("div",zr,[e.createVNode(rt,{table:n.table,map:m.value,"onUpdate:map":N[0]||(N[0]=T=>m.value=T),zoom:P.value,minZoom:n.minZoom,maxZoom:n.maxZoom,colorAttr:n.colorAttr,filter:M.value,center:L.value,clusterZoom:n.alwaysShowPolygon?0:ee.value??n.clusterZoom,pointZoom:n.alwaysShowPolygon?0:J.value??12,alwaysShowPolygon:n.alwaysShowPolygon,modelValue:de.value,"onUpdate:modelValue":N[1]||(N[1]=T=>de.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(E.$slots,"popup",{data:T})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","pointZoom","alwaysShowPolygon","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),Ce.value?(e.openBlock(),e.createElementBlock("div",$r,[...N[19]||(N[19]=[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"> Координати або межі об'єкта не внесені до системи. Об'єкт відображається лише у текстовому форматі. </p>',3)])])):e.createCommentVNode("",!0),e.createVNode(Dr,{"active-modal":Z.value,"filters-disabled":!k.value.length,"has-active-filters":i.value,onOpenSearch:N[2]||(N[2]=T=>fe("search")),onOpenFilters:N[3]||(N[3]=T=>fe("filters")),onOpenTable:N[4]||(N[4]=T=>fe("table"))},null,8,["active-modal","filters-disabled","has-active-filters"]),e.createVNode(xe,{open:Z.value==="search",title:"Пошук","top-offset":_e,"initial-variant":"full","peek-mode":"clip-full",onClose:ie,onExpand:se,onCollapse:se},{default:e.withCtx(()=>[e.createElementVNode("div",Lr,[e.createVNode(e.unref(re),{type:"text",modelValue:C.value,"onUpdate:modelValue":N[5]||(N[5]=T=>C.value=T),name:"search",label:"Пошук",onChange:e.unref(R)},null,8,["modelValue","onChange"]),e.createElementVNode("div",Pr,[e.unref(d)["mobile-search-results"]?e.renderSlot(E.$slots,"mobile-search-results",{key:0,rows:A.value,selectRow:De,closeModal:ie}):(e.openBlock(),e.createElementBlock("div",Fr,[y.value>=1?e.renderSlot(E.$slots,"table",{key:0,rows:A.value,selectRow:De,isMapVisible:!1}):(e.openBlock(),e.createElementBlock("div",Ar,[e.createVNode(ve),N[20]||(N[20]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),N[21]||(N[21]=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(Te,{total:y.value,currentPage:z.value??1,pageSize:x.value,onPageChange:N[6]||(N[6]=T=>q(T)),onPageSizeChange:N[7]||(N[7]=T=>Me(T))},null,8,["total","currentPage","pageSize"])])):e.createCommentVNode("",!0)])])]),_:3},8,["open"]),e.createVNode(xe,{open:Z.value==="filters",title:"Фільтри","top-offset":_e,"initial-variant":"full","peek-mode":"clip-full",onClose:ie,onExpand:se,onCollapse:se},{default:e.withCtx(()=>[e.createElementVNode("div",Tr,[e.withDirectives(e.createElementVNode("div",vr,null,512),[[e.vShow,Z.value==="filters"]]),e.createElementVNode("div",Or,[k.value.length?(e.openBlock(),e.createBlock(e.unref(Se),e.mergeProps({key:0,schema:k.value,view:h.value},f.value,{value:S.value,teleportActive:"#active-filters",onChange:K}),null,16,["schema","view","value"])):(e.openBlock(),e.createElementBlock("p",Rr,"Фільтри недоступні для цього переліку."))])])]),_:1},8,["open"]),e.createVNode(xe,{open:Z.value==="table",title:"Таблиця","top-offset":_e,"initial-variant":"full","peek-mode":"clip-full",onClose:ie,onExpand:se,onCollapse:se},{default:e.withCtx(()=>[e.createElementVNode("div",Zr,[y.value>=1?e.renderSlot(E.$slots,"table",{key:0,rows:A.value,selectRow:De,isMapVisible:!1}):(e.openBlock(),e.createElementBlock("div",Ur,[e.createVNode(ve),N[22]||(N[22]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),N[23]||(N[23]=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",Ir,[e.createVNode(Te,{total:y.value,currentPage:z.value??1,pageSize:x.value,onPageChange:N[8]||(N[8]=T=>q(T)),onPageSizeChange:N[9]||(N[9]=T=>Me(T))},null,8,["total","currentPage","pageSize"])])):e.createCommentVNode("",!0)]),_:3},8,["open"]),e.createVNode(xe,{open:Z.value==="details",title:"Об'єкт","top-offset":_e,"initial-variant":le.value?"peek":"full","peek-mode":"custom",onClose:Re,onExpand:se,onCollapse:se},{peek:e.withCtx(({expand:T})=>[e.unref(d)["mobile-details-peek"]?e.renderSlot(E.$slots,"mobile-details-peek",{key:0,selectedRow:w.value,expand:T,close:Re}):(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(E.$slots,"details",{table:n.table,selectedRow:w.value,closeObjCard:Re})]),_:3},8,["open","initial-variant"]),e.renderSlot(E.$slots,"default",{table:n.table,map:m.value,selectedRow:w.value})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(E.$slots,"header",{title:n.title,total:y.value}),e.createElementVNode("div",Hr,[e.createVNode(e.unref(re),{type:"text",modelValue:C.value,"onUpdate:modelValue":N[10]||(N[10]=T=>C.value=T),name:"search",label:"Пошук",onChange:e.unref(R)},null,8,["modelValue","onChange"]),k.value.length?(e.openBlock(),e.createBlock(e.unref(Se),{key:0,schema:k.value,view:"inline",onChange:K,limit:5,value:S.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:V.value?"Приховати карту":"Показати карту",onClick:N[11]||(N[11]=T=>V.value=!V.value)},[V.value?(e.openBlock(),e.createBlock(ca,{key:0})):(e.openBlock(),e.createBlock(fa,{key:1})),N[24]||(N[24]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,qr),e.createElementVNode("div",Yr,[e.createElementVNode("button",{onClick:N[12]||(N[12]=T=>V.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(wa)]),e.createElementVNode("button",{onClick:N[13]||(N[13]=T=>V.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(ya)])])])]),e.createElementVNode("div",Gr,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",V.value?"w-2/4 mr-0":"w-full mr-3",B.value?"hidden":""])},[(H=E.$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),N[25]||(N[25]=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":N[14]||(N[14]=T=>_.value=T)},null,512),[[e.vModelCheckbox,_.value]]),N[26]||(N[26]=e.createElementVNode("span",null,"В межах видимої області",-1))])):e.createCommentVNode("",!0)])),e.createElementVNode("div",ti,[y.value>=1?e.renderSlot(E.$slots,"table",{key:0,rows:A.value,selectRow:De}):(e.openBlock(),e.createElementBlock("div",li,[e.createVNode(ve),N[27]||(N[27]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),N[28]||(N[28]=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(Te,{total:y.value,currentPage:z.value??1,pageSize:x.value,onPageChange:N[15]||(N[15]=T=>q(T)),onPageSizeChange:N[16]||(N[16]=T=>Me(T))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),B.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(V.value?"lg:static lg:w-1/2 mr-0 pb-5":"pb-5 mr-3"),style:{height:"calc(100vh - 152px)"}},[e.renderSlot(E.$slots,"details",{table:n.table,selectedRow:w.value,closeObjCard:pe})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",ri,[e.createVNode(rt,{table:n.table,map:m.value,"onUpdate:map":N[17]||(N[17]=T=>m.value=T),zoom:P.value,minZoom:n.minZoom,maxZoom:n.maxZoom,colorAttr:n.colorAttr,filter:M.value,center:L.value,clusterZoom:n.alwaysShowPolygon?0:ee.value??n.clusterZoom,pointZoom:n.alwaysShowPolygon?0:J.value??12,alwaysShowPolygon:n.alwaysShowPolygon,modelValue:de.value,"onUpdate:modelValue":N[18]||(N[18]=T=>de.value=T),layers:n.layers,isCollapsible:n.isCollapsible,legendTitle:n.legendTitle,legendWidth:n.legendWidth,"show-popup":!0},{default:e.withCtx(({hoverData:T})=>[e.renderSlot(E.$slots,"popup",{data:T})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","pointZoom","alwaysShowPolygon","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.renderSlot(E.$slots,"default",{table:n.table,map:m.value,selectedRow:w.value}),Ce.value?(e.openBlock(),e.createElementBlock("div",ii,[...N[29]||(N[29]=[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"> Координати або межі об'єкта не внесені до системи. Об'єкт відображається лише у текстовому форматі. </p>',3)])])):e.createCommentVNode("",!0)],512),[[e.vShow,V.value]])])],64))],2)):e.createCommentVNode("",!0)}}});return Oe.install=t=>{t.component("VsPartsMap",Oe),t._context.directives.tooltip||t.directive("tooltip",it)},Oe});
|