@opengis/partsmap 0.1.20 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2512 -2720
- package/dist/index.umd.cjs +2 -2
- package/package.json +1 -1
package/dist/index.umd.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(e,ie){typeof exports=="object"&&typeof module<"u"?module.exports=ie(require("vue")):typeof define=="function"&&define.amd?define(["vue"],ie):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=ie(e.Vue))})(this,function(e){"use strict";const ie=(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 Ge={},Ye={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 Qe(t,r){return e.openBlock(),e.createElementBlock("svg",Ye,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 ve=ie(Ge,[["render",Qe]]),Je={},Xe={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"orange",class:"size-6 text-orange-600"};function et(t,r){return e.openBlock(),e.createElementBlock("svg",Xe,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 tt=ie(Je,[["render",et]]),lt={},ot={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 nt(t,r){return e.openBlock(),e.createElementBlock("svg",ot,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 rt=ie(lt,[["render",nt]]),at={},it={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 st(t,r){return e.openBlock(),e.createElementBlock("svg",it,r[0]||(r[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const ct=ie(at,[["render",st]]),dt={class:"rounded-md border border-gray-300 bg-white p-4 shadow-sm"},mt={class:"flex items-start gap-4 opacity-100 scale-5 transition-all duration-300"},pt={class:"flex-1"},ft={class:"font-medium text-gray-900"},ut={class:"mt-0.5 text-sm text-gray-700"},gt=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(t){const r={success:ve,warning:tt,error:ct,info:rt};return(o,n)=>(e.openBlock(),e.createElementBlock("div",dt,[e.createElementVNode("div",mt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r[o.type]))),e.createElementVNode("div",pt,[e.createElementVNode("strong",ft,e.toDisplayString(o.title),1),e.createElementVNode("p",ut,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 he={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"},de=t=>{var u;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 ${he[l]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(s)),s.className.includes(he[l])||(Object.values(he).forEach(f=>{s.classList.remove(...f.split(" "))}),s.classList.add(...he[l].split(" ")));const m=document.createElement("div");s.appendChild(m);const a=e.createApp({render(){return e.h(gt,{type:r,title:o,message:n,onClose:()=>{a.unmount(),m.remove()}})}});a.mount(m),(u=m.querySelector("button"))==null||u.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)},te=(t,r)=>{const o=t.__vccOpts||t;for(const[n,l]of r)o[n]=l;return o},ht={},yt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function xt(t,r){return e.openBlock(),e.createElementBlock("svg",yt,[...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 bt=te(ht,[["render",xt]]),kt={},wt={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 Vt(t,r){return e.openBlock(),e.createElementBlock("svg",wt,[...r[0]||(r[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const se=te(kt,[["render",Vt]]),Ct={class:"flex items-center cursor-pointer w-full"},Bt={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Et=["value"],Nt={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},St={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},_t={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},we=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"),u=e.computed(()=>n.layout==="vertical"?"text-[13px]":"text-sm");return r({el:m}),(f,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",u.value])},[e.createElementVNode("div",Ct,[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},u.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",Bt)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:t.value},null,8,Et),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",Nt,e.toDisplayString(t.label??"Відсутні дані"),1),t.count?(e.openBlock(),e.createElementBlock("div",St," ("+e.toDisplayString(t.count)+") ",1)):e.createCommentVNode("",!0)],2),a.value&&t.isSelected?(e.openBlock(),e.createElementBlock("span",_t,[e.createVNode(se)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function Ve(t,r){const{api:o,options:n=[],limit:l=20,dataKey:s="data",data:m}=t,a=s??m??"data";function u(i){return Array.isArray(i)?i[0]:i}const f=e.ref(u(t.modelValue)),c=e.ref(""),p=e.ref(!1),V=e.ref([]),b=e.ref("id"),y=e.ref("text"),w=e.ref(!1),h=e.ref(t.layout!=="popover"&&n.length>l);function d(i){const k=i.find(Boolean)??{},x=["id","value","code","key"].find(F=>F in k)??"id",M=["text","label","name","title"].find(F=>F in k)??"text";return{autoValueKey:x,autoLabelKey:M}}function g(i){if(i.length>0){const x=d(i);b.value=x.autoValueKey,y.value=x.autoLabelKey}const k=[...i].sort((x,M)=>t.sort==="count"?M.count&&x.count?M.count-x.count:0:t.sort==="name"?String(x[y.value]??"").localeCompare(String(M[y.value]??"")):0);V.value=k}n.length>0&&g(n);const j=e.computed(()=>{const i=V.value;return t.layout==="popover"||w.value?i:i.slice(0,l)});async function B(){if(o){p.value=!0;try{const i=new URL(o,window.location.origin);i.searchParams.set("json","1"),i.searchParams.set("limit",l.toString());const k=await fetch(i.toString());if(!k.ok){de({type:"error",title:"Error",message:"Failed to fetch remote options"}),V.value=[];return}const x=await k.json();if(!x[a]){de({type:"error",title:"Error",message:x}),V.value=[];return}g(x[a])}catch(i){console.error("Failed to fetch remote options:",i)}finally{p.value=!1}}}function E(){o&&V.value.length===0&&B()}e.watch(()=>t.modelValue,i=>{f.value=u(i)},{immediate:!0}),o||g(n);function C(i){return f.value===i[b.value]}function N(i){f.value=i[b.value],r("update:modelValue",f.value),r("change",{name:t.name,value:f.value})}function S(){f.value=void 0,r("update:modelValue",f.value),r("clear",t.name)}function A(){w.value=!w.value}return{innerValue:f,searchTerm:c,filteredOptions:j,isSelected:C,selectItem:N,clear:S,toggleShowAll:A,isReqProc:p,showAll:w,isEnableShowAll:h,labelKey:y,valueKey:b,allOptions:V,loadData:E}}const Mt={},Dt={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function zt(t,r){return e.openBlock(),e.createElementBlock("svg",Dt,[...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 Ce=te(Mt,[["render",zt]]),jt={},Ft={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 At(t,r){return e.openBlock(),e.createElementBlock("svg",Ft,[...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 ye=te(jt,[["render",At]]),Lt={},$t={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 Pt(t,r){return e.openBlock(),e.createElementBlock("svg",$t,[...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 Be=te(Lt,[["render",Pt]]),Tt={key:0,class:"w-full"},Rt={class:"flex flex-col items-center justify-center p-5 text-center"},Kt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Zt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ut=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:u,selectItem:f,clear:c,toggleShowAll:p,isReqProc:V,showAll:b,isEnableShowAll:y,labelKey:w,valueKey:h,allOptions:d,loadData:g}=Ve({...n,modelValue:n.modelValue??n.default??""},s);return e.onMounted(()=>{n.api&&g()}),r({clear:c,inputTextRef:l}),e.watch(()=>n.modelValue,j=>{j===void 0&&(m.value=void 0)}),(j,B)=>(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=>(e.openBlock(),e.createBlock(we,{layout:t.layout,key:E[e.unref(h)],count:E.count,label:E[e.unref(w)],color:E.color,type:"radio",value:E[e.unref(h)],"is-selected":e.unref(u)(E),onItemClick:C=>e.unref(f)(E)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(a).length===0&&!e.unref(V)?(e.openBlock(),e.createElementBlock("div",Tt,[e.createElementVNode("div",Rt,[e.createVNode(Ce),B[4]||(B[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(b)&&e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:B[0]||(B[0]=(...E)=>e.unref(p)&&e.unref(p)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[B[5]||(B[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(ye)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:B[1]||(B[1]=(...E)=>e.unref(p)&&e.unref(p)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[B[6]||(B[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Be)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Kt,[e.createTextVNode(e.toDisplayString(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:B[2]||(B[2]=(...E)=>e.unref(c)&&e.unref(c)(...E))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Zt,[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:B[3]||(B[3]=(...E)=>e.unref(c)&&e.unref(c)(...E))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function De(t,r){const{api:o,options:n=[],limit:l=20,dataKey:s="data",data:m}=t,a=s??m??"data";function u(i){return Array.isArray(i)?i:i?[i]:[]}const f=e.ref(u(t.modelValue)),c=e.ref(""),p=e.ref(!1),V=e.ref([]),b=e.ref("id"),y=e.ref("text"),w=e.ref(!1),h=e.ref(t.layout!=="popover"&&n.length>l);function d(i){const k=i.find(Boolean)??{},x=["id","value","code","key"].find(F=>F in k)??"id",M=["text","label","name","title"].find(F=>F in k)??"text";return{autoValueKey:x,autoLabelKey:M}}function g(i){if(i.length>0){const x=d(i);b.value=x.autoValueKey,y.value=x.autoLabelKey}const k=[...i].sort((x,M)=>t.sort==="count"?M.count&&x.count?M.count-x.count:0:t.sort==="name"?String(x[y.value]).localeCompare(String(M[y.value])):0);V.value=k}n.length>0&&g(n);const j=e.computed(()=>{const i=V.value;return t.layout==="popover"||w.value?i:i.slice(0,l)});async function B(){if(o){p.value=!0;try{const i=new URL(o,window.location.origin);i.searchParams.set("json","1"),i.searchParams.set("limit",l.toString());const k=await fetch(i.toString());if(!k.ok){de({type:"error",title:"Error",message:"Failed to fetch remote options"}),V.value=[];return}const x=await k.json();if(!x[a]){de({type:"error",title:"Error",message:x}),V.value=[];return}g(x[a])}catch(i){console.error("Failed to fetch remote options:",i)}finally{p.value=!1}}}function E(){o&&V.value.length===0&&B()}e.watch(()=>t.modelValue,i=>{f.value=u(i)},{immediate:!0}),o||g(n);function C(i){return f.value&&f.value.includes(i[b.value])}function N(i){const k=f.value.includes(i[b.value]);f.value=k?f.value.filter(x=>x!==i[b.value]):[...f.value,i[b.value]],r("update:modelValue",f.value),r("change",{name:t.name,value:f.value})}function S(){f.value=[],r("update:modelValue",f.value),r("clear",t.name)}function A(){w.value=!w.value}return{innerValue:f,searchTerm:c,filteredOptions:j,isSelected:C,selectItem:N,clear:S,toggleShowAll:A,isReqProc:p,showAll:w,isEnableShowAll:h,labelKey:y,valueKey:b,allOptions:V,loadData:E}}const ze={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 je(t){const r=t.split(".")[1],o=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(ze[o||navigator.language]||ze.uk)[r]}function ae(){const t=e.getCurrentInstance();if(!t.appContext.config.globalProperties.$i18n)return je;const r=t.appContext.config.globalProperties.$t;return o=>{const n=r(o);return n===o?je(o):n}}const Ot={key:0,class:"w-full"},It={class:"flex flex-col items-center justify-center p-5 text-center"},Ht={class:"max-w-sm mx-auto mt-6"},Wt={class:"font-medium text-gray-800 dark:text-neutral-200"},qt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Gt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Fe=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=ae(),l=t,s=o,{innerValue:m,filteredOptions:a,isSelected:u,selectItem:f,clear:c,toggleShowAll:p,isReqProc:V,showAll:b,isEnableShowAll:y,labelKey:w,valueKey:h,allOptions:d,loadData:g}=De({...l,modelValue:l.modelValue},s);return e.onMounted(()=>{l.api&&g()}),e.watch(()=>l.modelValue,j=>{j===void 0&&(m.value=[])}),r({clear:c}),(j,B)=>(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=>(e.openBlock(),e.createBlock(we,{layout:t.layout,count:E.count,label:E[e.unref(w)],color:E.color,type:"checkbox",value:E[e.unref(h)],"is-selected":e.unref(u)(E),onItemClick:C=>e.unref(f)(E)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(a).length===0&&!e.unref(V)?(e.openBlock(),e.createElementBlock("div",Ot,[e.createElementVNode("div",It,[e.createVNode(Ce),e.createElementVNode("div",Ht,[e.createElementVNode("p",Wt,e.toDisplayString(e.unref(n)("filter.notfound")),1),B[4]||(B[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(b)&&e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:B[0]||(B[0]=(...E)=>e.unref(p)&&e.unref(p)(...E)),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(ye)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:B[1]||(B[1]=(...E)=>e.unref(p)&&e.unref(p)(...E)),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(Be)])):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",qt,[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:B[2]||(B[2]=(...E)=>e.unref(c)&&e.unref(c)(...E))},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",Gt,[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:B[3]||(B[3]=(...E)=>e.unref(c)&&e.unref(c)(...E))},e.toDisplayString(e.unref(n)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Yt={},Qt={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 vt(t,r){return e.openBlock(),e.createElementBlock("svg",Qt,[...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 Ae=te(Yt,[["render",vt]]),Jt={},Xt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function el(t,r){return e.openBlock(),e.createElementBlock("svg",Xt,[...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 Ee=te(Jt,[["render",el]]);class Le{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 tl={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},ll=["placeholder"],ol=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 f;const o=t,n=e.ref((o.placeholder||o.label||o.title||o.name||"search").toString()),l=r,s=e.ref(((f=o.modelValue)==null?void 0:f.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){u();return}m&&clearTimeout(m),m=setTimeout(()=>{l("update:modelValue",s.value),l("change",{name:o.name,value:s.value})},300)}function u(){s.value="",l("update:modelValue",""),l("clear",o.name)}return(c,p)=>(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(Le).getWidthClass(t.width):"mb-2"+(t.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",tl,[e.createVNode(Ae)]),s.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(Ee)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":p[0]||(p[0]=V=>s.value=V),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,ll),[[e.vModelText,s.value]])],2))}});function $e(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 nl(){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 rl(){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 Pe(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 al={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},il=["placeholder","disabled"],sl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},cl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},dl=["placeholder","disabled"],ml=["disabled"],pl=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=$e(),l=nl(),s=ae(),m=t,a=e.ref(m.modelValue??m.default??[]),u=o,f=e.computed({get:()=>m.modelValue??a.value,set:V=>{m.modelValue!==void 0?u("update:modelValue",V):a.value=V}});function c(){u("change",{name:m.name,value:f.value||a.value})}function p(){a.value=[],f.value=a.value,u("clear",m.name)}return e.watch(()=>m.modelValue,V=>{V!==void 0&&m.layout!=="popover"?(a.value=V,u("update:modelValue",V)):a.value=[]}),r({clear:p,currentValue:f}),(V,b)=>{var y,w;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",al,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:((y=t.placeholder)==null?void 0:y[0])??e.unref(s)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":b[0]||(b[0]=h=>f.value[0]=h),disabled:t.disabled},null,10,il),[[e.vModelText,f.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",sl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",cl,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:((w=t.placeholder)==null?void 0:w[1])??e.unref(s)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":b[1]||(b[1]=h=>f.value[1]=h),disabled:t.disabled},null,10,dl),[[e.vModelText,f.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:!(f.value[0]||f.value[1]),onClick:p,class:e.normalizeClass(e.unref(l)+" hover:bg-gray-100")},e.toDisplayString(e.unref(s)("filter.clear")),11,ml)):e.createCommentVNode("",!0)],2)]),(t.cleanable&&a.value.length,e.createCommentVNode("",!0))],64)}}});class v{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 f=new Date(r),c=new Date(o);return f.setDate(f.getDate()+n*7),c.setDate(c.getDate()+n*7),[this.format(f),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 u=new Date(a);return u.setDate(a.getDate()+6),[this.format(a),this.format(u)]}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,u=s.getFullYear()+Math.floor(m/4),f=new Date(u,a,1),c=new Date(u,a+3,0);return[this.format(f),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 Te(t,r){const{popoverRef:o}=t,n=ae(),l=e.ref(""),s=e.ref(t.modelValue??t.default??[]),m=e.ref(0);function a(){const d=v.getRangeFromDaysBefore(m.value);return s.value=[...d],r("change",{name:t.name,value:s.value}),r("update:modelValue",s.value),d}function u(d){var j;l.value=d,(j=o.value)==null||j.close();const g=[];switch(l.value){case"today":g.push(v.getShiftedDay()),g.push(v.getShiftedDay());break;case"week":g.push(...v.getLastWeekRange());break;case"month":g.push(...v.getMonthRange());break;case"quarter":g.push(...v.getQuarterRange());break;case"year":g.push(...v.getYearRange());break;case"last_7_days":m.value=7,a();break;case"range":m.value=7,g.push(...a());break}s.value=[...g],r("change",{name:t.name,value:s.value}),r("update:modelValue",s.value)}function f(){const d=[];switch(l.value){case"today":d.push(v.getShiftedDay(s.value[0],1));break;case"week":d.push(...v.getLastWeekRange(s.value[0],s.value[1],1));break;case"month":d.push(...v.getMonthRange(s.value[0],s.value[1],1));break;case"quarter":d.push(...v.getQuarterRange(s.value[0],s.value[1],1));break;case"year":d.push(...v.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(v.getShiftedDay(s.value[0],-1));break;case"week":d.push(...v.getLastWeekRange(s.value[0],s.value[1],-1));break;case"month":d.push(...v.getMonthRange(s.value[0],s.value[1],-1));break;case"quarter":d.push(...v.getQuarterRange(s.value[0],s.value[1],-1));break;case"year":d.push(...v.getYearRange(s.value[0],-1));break}s.value=[...d],r("change",{name:t.name,value:s.value}),r("update:modelValue",s.value)}const p=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function V(d){const[g,j,B]=d.split("-");return`${B}.${j}.${g}`}function b(d,g="long"){const j=new Date(Date.UTC(2e3,d-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:g,timeZone:"UTC"}).format(j)}function y(d){const{value:g}=s;switch(d){case"today":return V(g[0]);case"range":return"Період";case"week":return g[0]&&g[1]?`${V(g[0])} – ${V(g[1])}`:"";case"quarter":if(g[0]){const j=new Date(g[0]),B=j.getFullYear(),E=j.getMonth();return`${Math.floor(E/3)+1} ${n("filter.quarter")} ${B}`}return"";case"month":if(g[0]){const[j,B]=g[0].split("-");return`${b(parseInt(B,10))} ${j}`}return"";case"year":return g[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const w=e.computed(()=>l.value?y(l.value):t.label??"");function h(){l.value="",s.value=[],r("update:modelValue",[]),r("clear",t.name)}return{activeMode:l,innerValue:s,daysBefore:m,onDaysBeforeChange:a,onSelectChange:u,nextClick:f,prevClick:c,ukMonths:p,formatDisplayDate:V,getModeLabel:y,currentLabel:w,clear:h}}const fl={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},ul={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},gl=["max","disabled"],hl=["min","disabled"],yl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},xl=["max","disabled"],bl={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"},wl=["min","disabled"],Vl={class:"flex gap-1 pt-2"},Cl=["title","onClick"],Bl=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=$e(),s=rl(),m=ae(),a=o,u=e.ref(null),{activeMode:f,innerValue:c,onSelectChange:p,nextClick:V,prevClick:b,clear:y}=Te({...n,popoverRef:u},a);e.watch(()=>n.modelValue,j=>{j!==void 0?(c.value=j,a("update:modelValue",j)):(f.value="",c.value=[])}),e.watch(c,j=>{a("update:modelValue",j),a("change",{name:n.name,value:j})},{deep:!0});const w=["today","week","month","quarter","year"],h={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(j){var B;return((B=h[j])==null?void 0:B.label)??m(`filter.${j}`)}function g(j){var B;return((B=h[j])==null?void 0:B.title)??m(`filter.${j}`)}return r({clear:y,popoverRef:u}),(j,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",fl,[e.unref(f)!==""&&e.unref(f)==="range"?(e.openBlock(),e.createElementBlock("div",ul,[B[7]||(B[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(c)[1],locale:"uk-UA","onUpdate:modelValue":B[0]||(B[0]=E=>e.unref(c)[0]=E),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,gl),[[e.vModelText,e.unref(c)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA","onUpdate:modelValue":B[1]||(B[1]=E=>e.unref(c)[1]=E),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,hl),[[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",yl,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":B[2]||(B[2]=E=>e.unref(c)[0]=E),class:e.normalizeClass(e.unref(l)),disabled:t.disabled},null,10,xl),[[e.vModelText,e.unref(c)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",bl," - ")):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(m)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(c)[0],locale:"uk-UA","onUpdate:modelValue":B[3]||(B[3]=E=>e.unref(c)[1]=E),class:e.normalizeClass(e.unref(l)),disabled:t.disabled},null,10,wl),[[e.vModelText,e.unref(c)[1]]])],2)],2),e.createElementVNode("div",Vl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(w,E=>e.createElementVNode("button",{key:E,class:e.normalizeClass(e.unref(s)+(e.unref(f)===E?" bg-blue-100":"")),title:g(E),onClick:C=>e.unref(p)(E)},e.toDisplayString(d(E)),11,Cl)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(s)),onClick:B[4]||(B[4]=(...E)=>e.unref(b)&&e.unref(b)(...E))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(s)),onClick:B[5]||(B[5]=(...E)=>e.unref(V)&&e.unref(V)(...E))},">",2)]),(t.cleanable,e.createCommentVNode("",!0))],64))}});function El(t,r){const{api:o,options:n=[],limit:l=20,dataKey:s="data",data:m}=t,a=s??m??"data",u=t.multi;function f(D){return u?Array.isArray(D)?D:D?[D]:[]:Array.isArray(D)?D[0]:D}const c=e.ref(f(t.modelValue)),p=e.ref(""),V=e.ref(!1),b=e.ref(n),y=e.ref("id"),w=e.ref("text"),h=e.ref(!1),d=e.ref(t.layout!=="popover"&&n.length>l),g=e.ref([]),j=e.ref(0);function B(D){const R=D.find(Boolean)??{},q=["id","value","code","key"].find(oe=>oe in R)??"id",U=["text","label","name","title"].find(oe=>oe in R)??"text";return{autoValueKey:q,autoLabelKey:U}}if(n.length>0){const D=B(n);y.value=D.autoValueKey,w.value=D.autoLabelKey}const E=e.computed(()=>{if(o)return b.value;const D=b.value;if(t.layout==="popover")return D;if(!p.value)return h.value?D:D.slice(0,l);const R=p.value.toLowerCase();return D.filter(q=>q[w.value].toLowerCase().includes(R))});let C=null;async function N(D){if(o){V.value=!0;try{const R=new URL(o,window.location.origin);R.searchParams.set("json","1"),R.searchParams.set("key",D),R.searchParams.set("limit",l.toString());const q=await fetch(R.toString());if(!q.ok){de({type:"error",title:"Error",message:"Failed to fetch remote options"}),b.value=[];return}const U=await q.json();if(!U[a]){de({type:"error",title:"Error",message:U}),b.value=[];return}if(b.value=U[a],b.value.length>0){const oe=B(b.value);y.value=oe.autoValueKey,w.value=oe.autoLabelKey}j.value=U.total}catch(R){console.error("Failed to fetch remote options:",R)}finally{V.value=!1}}}e.watch(p,D=>{o&&(C&&clearTimeout(C),C=setTimeout(()=>{N(D)},200))}),e.watch(()=>t.modelValue,D=>{c.value=f(D)},{immediate:!0}),e.watch(c,D=>{u?(!Array.isArray(D)||D.length===0)&&(g.value=[]):(D==null||typeof D=="string"&&D==="")&&(g.value=[])});function S(D){return u&&Array.isArray(c.value)?c.value.includes(D[y.value]):c.value&&c.value===D[y.value]}function A(D){if(u&&!Array.isArray(c.value)&&(c.value=[]),u&&Array.isArray(c.value)){const R=c.value.includes(D[y.value]);c.value=R?c.value.filter(q=>q!==D[y.value]):[...c.value,D[y.value]],g.value=R?g.value.filter(q=>q!==D[w.value]):[...g.value,D[w.value]]}else c.value=D[y.value],g.value=D[w.value];r("update:modelValue",c.value),r("change",{name:t.name,value:c.value})}function i(){u?(c.value=[],g.value=[]):(c.value=void 0,g.value=[]),r("update:modelValue",c.value),r("clear",t.name)}function k(){C&&clearTimeout(C),p.value="",h.value=!1}function x(){h.value=!h.value}e.onBeforeUnmount(()=>{C&&clearTimeout(C)});const M=e.ref(-1);e.watch(E,()=>{M.value=E.value.length>0?0:-1});function F(D){const R=E.value.length;if(D.key==="ArrowDown")D.preventDefault(),M.value=(M.value+1)%R;else if(D.key==="ArrowUp")D.preventDefault(),M.value=(M.value-1+R)%R;else if(D.key==="Enter"&&(D.preventDefault(),M.value>=0&&M.value<E.value.length)){const q=E.value[M.value];A(q)}}function T(){o&&b.value.length===0&&p.value.length===0&&N(p.value)}return{innerValue:c,searchTerm:p,filteredOptions:E,isSelected:S,selectItem:A,clear:i,resetSearch:k,toggleShowAll:x,isReqProc:V,showAll:h,isEnableShowAll:d,labelKey:w,valueKey:y,allOptions:b,highlightedIndex:M,onKeyDown:F,selectedLabels:g,totalCount:j,loadData:T}}const Nl={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Sl=["placeholder"],_l={key:0,class:"w-full"},Ml={class:"flex flex-col items-center justify-center p-5 text-center"},Dl={class:"max-w-sm mx-auto mt-6"},zl={class:"font-medium text-gray-800 dark:text-neutral-200"},jl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Fl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Al=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=ae(),l=t,s=o,m=e.ref(null),{innerValue:a,filteredOptions:u,isSelected:f,selectItem:c,clear:p,resetSearch:V,toggleShowAll:b,isReqProc:y,showAll:w,isEnableShowAll:h,searchTerm:d,labelKey:g,valueKey:j,highlightedIndex:B,onKeyDown:E,selectedLabels:C,totalCount:N,loadData:S}=El({...l,modelValue:l.modelValue},s);e.onMounted(()=>{V(),l.layout!=="inline"&&(S(),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 A=e.ref([]);return e.watch(B,i=>{var k;i>=0&&A.value[i]&&((k=A.value[i])==null||k.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(u,()=>{A.value=[]}),r({clear:p,inputTextRef:m,selectedLabels:C,loadData:S}),(i,k)=>{var x,M;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",Nl,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k[0]||(k[0]=F=>e.isRef(d)?d.value=F:null),onKeydown:k[1]||(k[1]=(...F)=>e.unref(E)&&e.unref(E)(...F)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",placeholder:e.unref(n)("filter.search"),type:"text",ref_key:"inputTextRef",ref:m},null,40,Sl),[[e.vModelText,e.unref(d)]]),e.createVNode(Ae,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(d)!=""?(e.openBlock(),e.createBlock(Ee,{key:0,onClick:k[2]||(k[2]=F=>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(u),(F,T)=>(e.openBlock(),e.createBlock(we,{layout:t.layout,count:F.count,label:F[e.unref(g)],color:F.color,type:t.multi?"checkbox":"radio",value:F[e.unref(j)],"is-selected":e.unref(f)(F),highlighted:T===e.unref(B),onItemClick:D=>e.unref(c)(F),ref_for:!0,ref:D=>A.value[T]=D==null?void 0:D.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),t.type==="select"&&e.unref(u).length===0&&!e.unref(y)?(e.openBlock(),e.createElementBlock("div",_l,[e.createElementVNode("div",Ml,[e.createVNode(Ce),e.createElementVNode("div",Dl,[e.createElementVNode("p",zl,e.toDisplayString(e.unref(n)("filter.notfound")),1),k[7]||(k[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(w)&&e.unref(h)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:k[3]||(k[3]=(...F)=>e.unref(b)&&e.unref(b)(...F)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(n)("filter.more"))+" ",1),e.createVNode(ye)])):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:k[4]||(k[4]=(...F)=>e.unref(b)&&e.unref(b)(...F)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(n)("filter.less"))+" ",1),e.createVNode(Be)])):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",jl,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(a))?(x=e.unref(a))==null?void 0:x.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" / "+e.toDisplayString(e.unref(N))+" "+e.toDisplayString(e.unref(n)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[5]||(k[5]=(...F)=>e.unref(p)&&e.unref(p)(...F))},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",Fl,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(a))?(M=e.unref(a))==null?void 0:M.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" / "+e.toDisplayString(e.unref(N))+" "+e.toDisplayString(e.unref(n)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[6]||(k[6]=(...F)=>e.unref(p)&&e.unref(p)(...F))},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)}}}),Ll=["for","onClick"],$l=["id","name","value"],Pl={class:"block"},Tl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Rl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Kl=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:u,labelKey:f,valueKey:c,allOptions:p}=n.multi?De({...n,modelValue:n.modelValue??n.default??[]},l):Ve({...n,modelValue:n.modelValue!==void 0?n.modelValue:n.default??""},l);return r({clear:u}),e.watch(()=>n.modelValue,V=>{V===void 0&&(n.multi?s.value=[]:s.value=void 0)}),(V,b)=>{var y,w;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(p),h=>(e.openBlock(),e.createElementBlock("label",{key:`item-${h[e.unref(c)]}`,for:`item-${h[e.unref(c)]}`,onClick:e.withModifiers(d=>e.unref(a)(h),["stop","prevent"]),class:e.normalizeClass([e.unref(m)(h)?"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-${h[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-${h[e.unref(c)]}`,value:h[e.unref(c)]},null,8,$l),e.createElementVNode("span",Pl,e.toDisplayString(h[e.unref(f)]),1)],10,Ll))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Tl,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(s))?(y=e.unref(s))==null?void 0:y.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" з "+e.toDisplayString(e.unref(p).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[0]||(b[0]=(...h)=>e.unref(u)&&e.unref(u)(...h))}," Очистити ",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",Rl,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(s))?(w=e.unref(s))==null?void 0:w.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" з "+e.toDisplayString(e.unref(p).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[1]||(b[1]=(...h)=>e.unref(u)&&e.unref(u)(...h))}," Очистити ",512),[[e.vShow,e.unref(s)!==void 0&&e.unref(s)!==""||e.unref(s)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),Zl=["disabled","title"],Ul={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},Ol={class:"truncate text-ellipsis text-sm"},Il={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"},Hl={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"},Wl={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"},Ne=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(()=>Pe(o.mode)),l=e.ref(!1),s=e.ref({top:0,left:0}),m=e.ref(null),a=e.ref(null),u=e.ref(null);let f=null;function c(){const C=a.value,N=u.value;if(!C||!N)return;const S=C.getBoundingClientRect(),A=N.offsetWidth,i=N.offsetHeight,k=window.innerWidth,x=window.innerHeight,M=8;let F=S.bottom+M,{left:T}=S;const D=Math.max(k-A-10,10);if(T=Math.min(T,D),T=Math.max(T,10),F+i>x-10){const R=S.top-i-M;F=R>=10?R:Math.max(x-i-10,10)}F<10&&(F=10),s.value={top:F,left:T}}function p(){e.nextTick(()=>{c(),typeof window<"u"&&typeof window.requestAnimationFrame=="function"&&window.requestAnimationFrame(()=>c())})}function V(){l.value=!l.value,l.value&&(p(),e.nextTick(()=>{var C,N,S,A,i,k,x;(C=o.fieldRef)!=null&&C.inputTextRef&&((A=(S=(N=o.fieldRef)==null?void 0:N.inputTextRef)==null?void 0:S.focus)==null||A.call(S)),(i=o.fieldRef)!=null&&i.loadData&&Promise.resolve((x=(k=o.fieldRef)==null?void 0:k.loadData)==null?void 0:x.call(k)).finally(()=>{l.value&&p()})}))}function b(C){var N,S,A;!((N=m.value)!=null&&N.contains(C.target))&&!((S=u.value)!=null&&S.contains(C.target))&&!((A=a.value)!=null&&A.contains(C.target))&&(l.value=!1)}function y(C){C.key==="Escape"&&(l.value=!1)}const w=e.ref(!1),h=e.ref("ua"),d=C=>{C.detail.key==="locale"&&(h.value=C.detail.newValue)};e.onMounted(()=>{w.value=!0,h.value=localStorage.locale,window.addEventListener("storage",d),document.addEventListener("click",b,!0),document.addEventListener("keydown",y),window.addEventListener("scroll",c,!0),window.addEventListener("resize",c,!0),typeof ResizeObserver<"u"&&(f=new ResizeObserver(()=>{l.value&&p()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",d),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",y),window.removeEventListener("scroll",c,!0),window.removeEventListener("resize",c,!0),f==null||f.disconnect(),f=null});function g(){l.value=!1}r({close:g}),e.watch([w,l,u],([C,N,S])=>{C&&N&&S&&(p(),f==null||f.observe(S))});function j(C){return Array.isArray(C)?C.filter(N=>N!=null&&N!=="").length:C&&typeof C=="object"?Object.values(C).filter(N=>N!=null&&N!=="").length:typeof C=="string"?C.trim()===""?0:1:typeof C=="number"?Number.isNaN(C)?0:1:C===null||C!==void 0?1:0}const B=e.computed(()=>{var S;const C=(S=o.fieldRef)==null?void 0:S.selectedLabels,N=j(C);return N>0?N:j(o.currentValue)}),E=e.computed(()=>{var N;const C=(N=o.fieldRef)==null?void 0:N.selectedLabels;return!C||["inline"].includes(o.layout||"")?o[h.value]||(o.label??""):Array.isArray(C)?C.length>0?C.join(", "):o.label??"":String(C)});return(C,N)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:m},[e.createElementVNode("button",{onClick:V,disabled:t.disabled,ref_key:"triggerRef",ref:a,title:t.label,class:e.normalizeClass([n.value,t.width?e.unref(Le).getWidthClass(t.width):"w-full",t.layout==="inline"&&B.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Ul,[e.createElementVNode("span",Ol,e.toDisplayString(E.value),1),t.layout==="inline"&&B.value>0?(e.openBlock(),e.createElementBlock("span",Il,e.toDisplayString(B.value),1)):e.createCommentVNode("",!0)]),e.createVNode(ye,{class:"h-4 w-4 text-neutral-500"})],10,Zl),w.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:u,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",Hl,[e.createElementVNode("div",Wl,[e.renderSlot(C.$slots,"default")])])],4),[[e.vShow,l.value]])])):e.createCommentVNode("",!0)],512))}}),ql={},Gl={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 Yl(t,r){return e.openBlock(),e.createElementBlock("svg",Gl,[...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 Ql=te(ql,[["render",Yl]]),vl={},Jl={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 Xl(t,r){return e.openBlock(),e.createElementBlock("svg",Jl,[...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 eo=te(vl,[["render",Xl]]),to={class:"flex gap-1"},lo={class:"mb-1"},oo={class:"mb-1"},no={class:"inline-flex rounded-sm shrink-0 pl-1"},ro=["title"],ao={class:"inline-flex rounded-sm shrink-0 pl-1"},io=["title"],so={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},co=["max","value","disabled"],mo=["min","value","disabled"],po=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=ae(),l=t,s=o,m=e.ref(null),{activeMode:a,innerValue:u,onSelectChange:f,nextClick:c,prevClick:p,currentLabel:V,clear:b}=Te({...l,popoverRef:m},s);e.watch(()=>l.modelValue,h=>{h!==void 0?(u.value=h,s("update:modelValue",h)):(a.value="",u.value=[])}),e.watch(u,h=>{s("update:modelValue",h),s("change",{name:l.name,value:h})},{deep:!0});function y(h){const d=Array.isArray(u.value)?[...u.value]:[];u.value=[h,d[1]||""]}function w(h){const d=Array.isArray(u.value)?[...u.value]:[];u.value=[d[0]||"",h]}return r({clear:b,popoverRef:m}),(h,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",to,[e.createVNode(Ne,{ref_key:"popoverRef",ref:m,label:e.unref(V),"current-value":e.unref(u),mode:t.mode,width:typeof t.width=="number"&&e.unref(u).length?t.width-70:t.width,onClear:e.unref(b),layout:t.layout,class:e.normalizeClass(t.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[0]||(d[0]=g=>e.unref(f)("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(se,{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]=g=>e.unref(f)("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(se,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[2]||(d[2]=g=>e.unref(f)("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(se,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[3]||(d[3]=g=>e.unref(f)("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(se,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[4]||(d[4]=g=>e.unref(f)("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(se,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",lo,[e.createElementVNode("button",{type:"button",onClick:d[5]||(d[5]=g=>e.unref(f)("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(se,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",oo,[e.createElementVNode("button",{type:"button",onClick:d[6]||(d[6]=g=>e.unref(b)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(n)("filter.alltime"))+" ",1),e.unref(u)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(se,{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",no,[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]=(...g)=>e.unref(p)&&e.unref(p)(...g))},[e.createVNode(Ql)],8,ro)]),e.createElementVNode("div",ao,[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]=(...g)=>e.unref(c)&&e.unref(c)(...g))},[e.createVNode(eo)],8,io)])],64)):e.createCommentVNode("",!0),e.unref(a)!==""&&e.unref(a)==="range"?(e.openBlock(),e.createElementBlock("div",so,[e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA",value:e.unref(u)[0],onInput:d[9]||(d[9]=g=>y(g.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,co),e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA",value:e.unref(u)[1],onInput:d[10]||(d[10]=g=>w(g.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,mo)])):e.createCommentVNode("",!0)]),(t.cleanable,e.createCommentVNode("",!0))],64))}}),fo={class:"flex flex-wrap items-center gap-2"},uo=["disabled","onClick"],go={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},ho=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:u,labelKey:f,valueKey:c,allOptions:p}=Ve({...n,modelValue:n.modelValue??n.default??""},l),V=e.computed(()=>s.value!==void 0&&!(typeof s.value=="string"&&s.value==="")),b=e.computed(()=>V.value?1:0);function y(h){return m(h)?["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 w(h){n.disabled||a(h)}return r({clear:u}),e.watch(()=>n.modelValue,h=>{h===void 0&&(s.value=void 0)}),(h,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",fo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),g=>(e.openBlock(),e.createElementBlock("button",{key:g[e.unref(c)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",y(g)]),disabled:t.disabled,onClick:j=>w(g)},e.toDisplayString(g[e.unref(f)]),11,uo))),128))]),t.cleanable&&t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",go,[e.createElementVNode("span",null,e.toDisplayString(b.value)+" з "+e.toDisplayString(e.unref(p).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:d[0]||(d[0]=(...g)=>e.unref(u)&&e.unref(u)(...g))}," Очистити ",512),[[e.vShow,V.value]])])):e.createCommentVNode("",!0)],64))}}),Re={radio:Ut,checkbox:Fe,check:Fe,text:ol,range:pl,date:Bl,select:Al,tag:Kl,button:ho,"date:inline":po};function Se(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:Re[o]||Re.text,type:o}}const yo={style:{display:"inline-flex",margin:"0px",width:"100%"}},xo={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},bo={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},ko={class:"flex items-center"},wo={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},Vo={class:"filter-layout__body"},Co=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(()=>Se(n.type,n.layout)),a=e.computed({get:()=>n.modelValue,set:p=>l("update:modelValue",p)});function u(p){l("clear",p)}function f(p,V){l("change",{name:p,value:V}),n.modelValue!==void 0&&l("update:modelValue",V)}function c(){var p,V;(V=(p=s.value)==null?void 0:p.clear)==null||V.call(p),l("clear",n.name)}return e.watch(()=>n.default,p=>{a.value=p}),e.watch(()=>n.modelValue,p=>{a.value=p}),r({filterRef:s}),(p,V)=>{var b,y,w;return e.openBlock(),e.createElementBlock("div",yo,[e.createElementVNode("div",xo,[e.createElementVNode("div",bo,[e.createElementVNode("div",ko,[e.createElementVNode("span",wo,e.toDisplayString(t.label),1)]),typeof a.value=="string"&&a.value.trim()!==""||Array.isArray(a.value)&&a.value.length>0&&a.value.some(h=>h!==void 0)||a.value===null?(e.openBlock(),e.createBlock(bt,{key:0,onClick:c})):e.createCommentVNode("",!0)]),e.createElementVNode("div",Vo,[((b=m.value)==null?void 0:b.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=m.value)==null?void 0:y.component),e.mergeProps({key:0},n,{type:(w=m.value)==null?void 0:w.type,class:n.itemClass,onChange:V[0]||(V[0]=h=>f(h.name,h.value)),onClear:V[1]||(V[1]=h=>u(h)),ref_key:"filterRef",ref:s}),null,16,["type","class"])):(e.openBlock(),e.createBlock(Ne,{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 h,d;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((h=m.value)==null?void 0:h.component),e.mergeProps({ref_key:"filterRef",ref:s},n,{type:(d=m.value)==null?void 0:d.type,class:n.itemClass,onChange:V[2]||(V[2]=g=>f(g.name,g.value)),onClear:V[3]||(V[3]=g=>u(g))}),null,16,["type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),Ke=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(()=>Se(n.type,n.layout)),a=e.computed({get:()=>n.modelValue,set:c=>l("update:modelValue",c)});function u(c=n.name){l("clear",c)}function f(c,p){l("change",{name:c,value:p}),n.modelValue!==void 0&&l("update:modelValue",p)}return e.watch(()=>n.default,c=>{a.value=c}),e.watch(()=>n.modelValue,c=>{a.value=c}),r({filterRef:s}),(c,p)=>{var V,b;return["text","date","button"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((V=m.value)==null?void 0:V.component),e.mergeProps({key:0},n,{type:(b=m.value)==null?void 0:b.type,class:t.itemClass,onChange:p[0]||(p[0]=y=>f(y.name,y.value)),onClear:p[1]||(p[1]=y=>u(y)),disabled:t.disabled,modelValue:a.value,"onUpdate:modelValue":p[2]||(p[2]=y=>a.value=y)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(Ne,{key:1,"current-value":a.value,label:t.label,mode:t.mode,onClear:u,fieldRef:s.value,width:n.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>{var y,w;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=m.value)==null?void 0:y.component),e.mergeProps({ref_key:"filterRef",ref:s},n,{modelValue:a.value,"onUpdate:modelValue":p[3]||(p[3]=h=>a.value=h),type:(w=m.value)==null?void 0:w.type,class:n.itemClass,onChange:p[4]||(p[4]=h=>f(h.name,h.value)),onClear:p[5]||(p[5]=h=>u(h))}),null,16,["modelValue","type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),Bo=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(()=>Se(n.type,n.layout)),a=e.computed({get:()=>n.modelValue,set:c=>l("update:modelValue",c)});function u(c){l("clear",c)}function f(c,p){l("change",{name:c,value:p}),n.modelValue!==void 0&&l("update:modelValue",p)}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,p)=>{var V,b;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((V=m.value)==null?void 0:V.component),e.mergeProps(n,{type:(b=m.value)==null?void 0:b.type,class:n.itemClass,modelValue:a.value,"onUpdate:modelValue":p[0]||(p[0]=y=>a.value=y),onChange:p[1]||(p[1]=y=>f(y.name,y.value)),onClear:p[2]||(p[2]=y=>u(y)),ref_key:"filterRef",ref:s}),null,16,["type","class","modelValue"])}}}),le=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 u(c,p){l("change",{name:c,value:p}),n.modelValue!==void 0&&l("update:modelValue",p)}e.watch(()=>n.default,c=>{m.value=c}),e.watch(()=>n.modelValue,c=>{m.value=c}),r({filterRef:s});function f(){switch(n.layout){case"inline":return Ke;case"vertical":return Co;case"popover":return Bo;default:return Ke}}return(c,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f()),e.mergeProps(n,{onChange:p[0]||(p[0]=V=>u(V.name,V.value)),onClear:p[1]||(p[1]=V=>a(V)),modelValue:m.value,"onUpdate:modelValue":p[2]||(p[2]=V=>m.value=V)}),null,16,["modelValue"]))}});function xe(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(g=>Array.isArray(g.children)?g.children:[g])});function m(d){delete l.value[d],r("clear",{data:e.toRaw(l.value),name:d})}function a(d,g){g===void 0?m(d):l.value={...l.value,[d]:g},r("change",{data:e.toRaw(l.value),name:d,value:g})}const u=e.computed(()=>s.value.map(d=>{var j,B,E;const g=(j=d.props)==null?void 0:j.name;return e.cloneVNode(d,{...d.props,layout:t.view,showClean:!0,modelValue:l.value[g],"onUpdate:modelValue":C=>{a(g,C)},onClear:()=>m(g),class:[t.itemClass,(B=d.props)==null?void 0:B.class],itemClass:[t.itemClass,(E=d.props)==null?void 0:E.itemClass].filter(C=>typeof C=="string"&&C.trim().length>0).join(" ")||void 0})})),f=e.computed(()=>new Map(u.value.map(d=>{var j;const g=(j=d.props)==null?void 0:j.name;return g?[g,d]:null}).filter(d=>d!==null)));function c(d=!1){l.value={},d||r("clearAll",{data:e.toRaw(l.value),name:"ALL"})}const p=e.ref(""),V=e.computed(()=>{var d;return(d=t.schema)!=null&&d.value?Object.entries(l.value).filter(([g,j])=>t.schema&&!(g in t.schema.value)?!1:Array.isArray(j)?j.some(B=>B!==""&&B!==void 0):j!==""&&j!==void 0).length:0}),b=e.ref();e.watch(p,async()=>{var d,g;await e.nextTick(),(g=(d=b==null?void 0:b.value)==null?void 0:d.filterRef)!=null&&g.inputTextRef&&b.value.filterRef.inputTextRef.focus()});const y=e.computed(()=>{var d,g;return(d=t.schema)!=null&&d.value?Object.fromEntries(Object.entries((g=t.schema)==null?void 0:g.value).slice(0,t.limit)):{}}),w=e.computed(()=>{var g;if(u.value.length===0)return[];let d=0;if((g=t.schema)!=null&&g.value){const j=Object.entries(t.schema.value).length;t.limit&&j<t.limit?d=t.limit-j:d=0}return u.value.slice(0,d)}),h=e.computed(()=>u.value.length===0?[]:t.view!=="inline"?u.value:u.value.slice(w.value.length));return{activeFilter:l,activeFilterCount:V,onFilterChange:a,clearFilter:m,clearAllFilters:c,limitedSchema:y,filtersSlot:u,limitedFiltersSlot:w,popoverFiltersSlot:h,vnodeMap:f,selectedFilter:p,filterRef:b}}const Eo=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 u(){o.value=!o.value}function f(){const y=s.value,w=n.value;if(!y||!w)return;const{left:h,bottom:d}=y.getBoundingClientRect();requestAnimationFrame(()=>{if(!w)return;const{width:g}=w.getBoundingClientRect(),j=w.offsetWidth||g,B=window.innerWidth||document.documentElement.clientWidth,E=B-h;let C=h;j>E&&(C=B-j-18),C<18&&(C=18);const N=B-j-18;C>N&&(C=Math.max(18,N)),m.value={position:"fixed",top:`${d+18}px`,left:`${C}px`},a.value=!0})}const c=e.computed(()=>Object.entries(m.value).map(y=>y.join(":")).join(";"));function p(y){var h,d;const w=y.target;!((h=s.value)!=null&&h.contains(y.target))&&!((d=n.value)!=null&&d.contains(y.target))&&!w.closest("[data-inside-popover]")&&(o.value=!1)}const V=e.ref(!1);e.onMounted(()=>{V.value=!0}),e.onMounted(()=>{var y,w;s.value=((y=l.value)==null?void 0:y.querySelector("[data-popover-trigger]"))||null,(w=s.value)==null||w.addEventListener("click",u),document.addEventListener("click",p),window.addEventListener("resize",f),window.addEventListener("scroll",f,!0)}),e.onBeforeUnmount(()=>{var y;(y=s.value)==null||y.removeEventListener("click",u),document.removeEventListener("click",p),window.removeEventListener("resize",f),window.removeEventListener("scroll",f,!0)});const b=r;return e.watch(o,async y=>{y?(a.value=!1,b("open"),await e.nextTick(),requestAnimationFrame(()=>{f()})):(b("close"),a.value=!1)}),(y,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:l},[e.renderSlot(y.$slots,"trigger"),V.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(y.$slots,"default")],4),[[e.vShow,o.value]])])):e.createCommentVNode("",!0)],512))}}),No={},So={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 _o(t,r){return e.openBlock(),e.createElementBlock("svg",So,[...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 Ze=te(No,[["render",_o]]),Mo={class:"flex items-center gap-2 overflow-hidden"},Do={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"},zo={class:"flex max-h-[400px] md:max-h-[400px]"},jo={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},Fo={class:"p-2 md:p-4 border-b"},Ao={class:"text-xs md:text-sm text-gray-600"},Lo={class:"p-1 md:p-2"},$o=["onClick"],Po={class:"flex items-center gap-1.5 md:gap-2"},To={class:"text-xs md:text-sm font-medium line-clamp-3"},Ro={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"},Ko=["onClick"],Zo={class:"flex items-center gap-1.5 md:gap-2"},Uo={class:"text-xs md:text-sm font-medium truncate"},Oo={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"},Io={key:0,class:"p-1 md:p-2 border-t"},Ho={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Wo={key:0,class:"flex items-center justify-center h-full text-gray-500"},qo={class:"text-xs md:text-sm"},Ue=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=ae(),l=t,s=Pe(l.mode),m=e.useSlots(),a=o,u=e.ref({}),f=e.computed(()=>u!=null&&u.value?l.view!=="inline"?u==null?void 0:u.value:Object.fromEntries(Object.entries(u==null?void 0:u.value).slice(l.limit)):{}),{activeFilter:c,activeFilterCount:p,onFilterChange:V,clearFilter:b,clearAllFilters:y,popoverFiltersSlot:w,selectedFilter:h,filterRef:d}=xe({...l,schema:u,slots:m},a),g=e.computed(()=>l.badgeCount??p.value);function j(C){return Array.isArray(C)?C.filter(N=>N!=null&&N!=="").length:C&&typeof C=="object"?Object.values(C).filter(N=>N!=null&&N!=="").length:C===null||C!==void 0&&C!==""?1:0}function B(C){return c.value?j(c.value[C]):0}function E(){if(f.value){const[C]=Object.keys(f.value);h.value=C}else w.value.length>0?h.value=w.value[0].props.name:h.value=""}return e.watch(()=>l.schema,C=>{u.value=C??{}},{deep:!0,immediate:!0}),r({clearFilter:b,clearAllFilters:y}),(C,N)=>(e.openBlock(),e.createBlock(Eo,{onOpen:E,onClose:N[5]||(N[5]=S=>h.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",g.value>0?"border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500":"text-neutral-700 hover:border-neutral-400"]),type:"button"},[e.createElementVNode("span",Mo,[e.createVNode(Ze,{class:"h-4 w-4"}),N[6]||(N[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),g.value>0?(e.openBlock(),e.createElementBlock("span",Do,e.toDisplayString(g.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",zo,[e.createElementVNode("div",jo,[e.createElementVNode("div",Fo,[e.createElementVNode("p",Ao,e.toDisplayString(e.unref(n)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",Lo,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(f.value),([S,A])=>(e.openBlock(),e.createElementBlock("button",{key:S,onClick:()=>{h.value=S},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(h)===S?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Po,[e.createElementVNode("span",To,e.toDisplayString(A.label),1)]),B(S)>0?(e.openBlock(),e.createElementBlock("div",Ro,e.toDisplayString(B(S)),1)):e.createCommentVNode("",!0)],10,$o))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),(S,A)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+A,onClick:i=>h.value=S.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(h)===S.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Zo,[e.createElementVNode("span",Uo,e.toDisplayString(S.props.label),1)]),B(S.props.name)>0?(e.openBlock(),e.createElementBlock("div",Oo,e.toDisplayString(B(S.props.name)),1)):e.createCommentVNode("",!0)],10,Ko))),128))]),e.unref(p)>0?(e.openBlock(),e.createElementBlock("div",Io,[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:N[0]||(N[0]=S=>e.unref(y)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ho,[e.unref(h)===""?(e.openBlock(),e.createElementBlock("div",Wo,[e.createElementVNode("p",qo,e.toDisplayString(e.unref(n)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(h)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[f.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(f.value),([S,A])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(h)===S?(e.openBlock(),e.createBlock(le,e.mergeProps({key:S,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:d},{ref_for:!0},A,{class:[t.itemClass,A==null?void 0:A.class],"item-class":[t.itemClass,A==null?void 0:A.itemClass].filter(Boolean).join(" ")||void 0,onChange:N[1]||(N[1]=i=>e.unref(V)(i.name,i.value)),onClear:N[2]||(N[2]=i=>{e.unref(b)(i),e.unref(V)(i,void 0)}),modelValue:e.unref(c)[S],"onUpdate:modelValue":i=>e.unref(c)[S]=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(w),(S,A)=>{var i,k;return e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+A},[e.unref(h)===S.props.name?(e.openBlock(),e.createBlock(le,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},S.props,{ref_for:!0,ref_key:"filterRef",ref:d,class:[t.itemClass,(i=S.props)==null?void 0:i.class],"item-class":[t.itemClass,(k=S.props)==null?void 0:k.itemClass].filter(Boolean).join(" ")||void 0,onChange:N[3]||(N[3]=x=>e.unref(V)(x.name,x.value)),onClear:N[4]||(N[4]=x=>{e.unref(b)(x),e.unref(V)(x,void 0)}),modelValue:e.unref(c)[S.props.name],"onUpdate:modelValue":x=>e.unref(c)[S.props.name]=x,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Go={class:"flex gap-1 items-center flex-wrap"},Oe=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=ae(),l=t,s=o,m=e.useSlots(),a=e.ref({}),u=e.computed(()=>Object.keys(l.schema).length>l.limit),{activeFilter:f,activeFilterCount:c,onFilterChange:p,clearFilter:V,clearAllFilters:b,limitedSchema:y,filtersSlot:w,limitedFiltersSlot:h}=xe({...l,schema:a,slots:m},s);function d(N){return Array.isArray(N)?N.some(S=>S!==""&&S!==void 0&&S!==null):N===null?!0:N&&typeof N=="object"?Object.values(N).some(S=>S!==""&&S!==void 0&&S!==null):N!==""&&N!==void 0}const g=e.computed(()=>{const N=Object.keys(y.value??{}),S=h.value.map(A=>{var i;return(i=A.props)==null?void 0:i.name}).filter(A=>typeof A=="string");return new Set([...N,...S])}),j=e.computed(()=>Object.entries(f.value??{}).filter(([N,S])=>g.value.has(N)&&d(S)).length),B=e.computed(()=>{const N=c.value??0,S=j.value??0;return Math.max(N-S,0)}),E=e.ref();function C(){E.value&&E.value.clearAllFilters(!0),b()}return e.watch(()=>l.schema,N=>{a.value=N},{deep:!0,immediate:!0}),r({clearFilter:V,clearAllFilters:b}),(N,S)=>(e.openBlock(),e.createElementBlock("div",Go,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(y)),([A,i])=>(e.openBlock(),e.createBlock(le,e.mergeProps({key:A,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:S[0]||(S[0]=k=>e.unref(p)(k.name,k.value)),onClear:e.unref(V),layout:"inline",cleanable:!0,modelValue:e.unref(f)[A],"onUpdate:modelValue":k=>e.unref(f)[A]=k}),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(h),(A,i)=>{var k,x;return e.openBlock(),e.createBlock(le,e.mergeProps({key:"slot-"+i,layout:"inline"},{ref_for:!0},A.props,{class:[t.itemClass,(k=A.props)==null?void 0:k.class],"item-class":[t.itemClass,(x=A.props)==null?void 0:x.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[1]||(S[1]=M=>e.unref(p)(M.name,M.value)),onClear:S[2]||(S[2]=M=>{e.unref(V)(M),e.unref(p)(M,void 0)}),cleanable:!0,modelValue:e.unref(f)[A.props.name],"onUpdate:modelValue":M=>e.unref(f)[A.props.name]=M}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128)),u.value?(e.openBlock(),e.createBlock(Ue,e.mergeProps({key:1},l,{schema:t.schema,limit:t.limit,onChange:S[3]||(S[3]=A=>e.unref(p)(A.name,A.value)),onClearAll:S[4]||(S[4]=A=>e.unref(b)()),onClear:S[5]||(S[5]=A=>e.unref(V)(A.name)),mode:t.mode,ref_key:"popoverRef",ref:E,cleanable:!0,"badge-count":B.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),(A,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A),e.mergeProps({key:"slot-"+i,layout:"popover"},{ref_for:!0},A.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:C,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)]))}}),Yo={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"},Qo={class:"flex items-center vst-filters vsTailwind flex-col w-full"},vo=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:u,clearFilter:f,clearAllFilters:c,filtersSlot:p}=xe({...n,slots:s},l);return r({clearFilter:f,clearAllFilters:c}),(V,b)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Yo,[e.createElementVNode("div",Qo,[e.unref(a)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:b[0]||(b[0]=y=>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),([y,w])=>(e.openBlock(),e.createBlock(le,e.mergeProps({layout:"vertical"},{ref_for:!0},w,{class:[t.itemClass,w==null?void 0:w.class],"item-class":[t.itemClass,w==null?void 0:w.itemClass].filter(Boolean).join(" ")||void 0,onChange:b[1]||(b[1]=h=>e.unref(u)(h.name,h.value)),onClear:b[2]||(b[2]=h=>{e.unref(f)(h),e.unref(u)(h,void 0)}),modelValue:e.unref(m)[y],"onUpdate:modelValue":h=>e.unref(m)[y]=h,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(p),(y,w)=>{var h,d;return e.openBlock(),e.createBlock(le,e.mergeProps({key:"slot-"+w,layout:"vertical"},{ref_for:!0},y.props,{class:[t.itemClass,(h=y.props)==null?void 0:h.class],"item-class":[t.itemClass,(d=y.props)==null?void 0:d.itemClass].filter(Boolean).join(" ")||void 0,onChange:b[3]||(b[3]=g=>e.unref(u)(g.name,g.value)),onClear:b[4]||(b[4]=g=>{e.unref(f)(g),e.unref(u)(g,void 0)}),modelValue:e.unref(m)[y.props.name],"onUpdate:modelValue":g=>e.unref(m)[y.props.name]=g,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))])])):e.createCommentVNode("",!0)}}),Jo=["onKeydown"],Xo=["disabled"],en={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"},tn={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},ln={class:"mb-3 flex items-center justify-between"},on={class:"text-[15px] font-semibold text-slate-800"},nn={"aria-hidden":"true"},rn={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},an={key:0,class:"mt-3 flex justify-end"},sn=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=ae(),n=t,l=r,s=e.ref({}),m=e.useSlots(),{activeFilter:a,activeFilterCount:u,onFilterChange:f,clearFilter:c,clearAllFilters:p,filtersSlot:V}=xe({...n,schema:s.value,slots:m},l),b=e.ref(null),y=e.ref(null),w=e.reactive({open:!1,top:0,left:0}),h=e.computed(()=>w.open),d=e.computed(()=>!!n.disabled),g=e.computed(()=>s.value||{}),j=e.computed(()=>n.title??"Фільтр"),B=e.computed(()=>!!m.trigger),E=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"]),C=e.computed(()=>w.open?{position:"absolute",top:`${w.top}px`,left:`${w.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function N(){w.open=!1}function S(){if(!b.value)return;const M=b.value.getBoundingClientRect();w.top=M.bottom+window.scrollY+8,w.left=M.left+M.width/2+window.scrollX}function A(){w.open=!w.open,w.open&&e.nextTick(S)}function i(){d.value||A()}function k(){w.open&&S()}function x(){p()}return e.onMounted(()=>{window.addEventListener("resize",k),window.addEventListener("scroll",k,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",k),window.removeEventListener("scroll",k,!0)}),e.watch(()=>n.schema,M=>{if(!M){s.value={};return}if(Array.isArray(M)){const F=M.filter(T=>T&&(T.name||T.id)).map(T=>{const D=T.name||T.id;return[D,{...T,name:D}]});s.value=Object.fromEntries(F);return}s.value=M},{deep:!0,immediate:!0}),e.watch(()=>n.disabled,M=>{M&&N()}),(M,F)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:b},[B.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(M.$slots,"trigger",{toggle:i,open:h.value,disabled:d.value,activeCount:e.unref(u)})],42,Jo)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(E.value),type:"button",disabled:d.value,onClick:e.withModifiers(i,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(Ze,{class:"h-4 w-4"}),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",en,e.toDisplayString(e.unref(u)),1)):e.createCommentVNode("",!0)],10,Xo)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof t.width=="number"?`min-w-[${t.width+32+(Object.keys(g.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(C.value),ref_key:"panel",ref:y,onClick:F[4]||(F[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",tn,[e.createElementVNode("div",ln,[e.createElementVNode("h3",on,e.toDisplayString(j.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:N},[e.createElementVNode("span",nn,[e.createVNode(Ee,{class:"h-4 w-4"})]),F[5]||(F[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",rn,[Object.keys(g.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([T,D])=>(e.openBlock(),e.createBlock(le,e.mergeProps({key:T},{ref_for:!0},{...D,layout:"inline"},{width:t.width?t.width:D==null?void 0:D.width,class:[t.itemClass,D==null?void 0:D.class],"item-class":[t.itemClass,D==null?void 0:D.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(a)[T],"onUpdate:modelValue":R=>e.unref(a)[T]=R,onChange:F[0]||(F[0]=R=>e.unref(f)(R.name,R.value)),onClear:F[1]||(F[1]=R=>{e.unref(c)(R),e.unref(f)(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(V),(T,D)=>{var R,q;return e.openBlock(),e.createBlock(le,e.mergeProps({key:"slot-"+D,ref_for:!0},{...T.props,layout:"inline"},{class:[t.itemClass,(R=T.props)==null?void 0:R.class],"item-class":[t.itemClass,(q=T.props)==null?void 0:q.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(a)[T.props.name],"onUpdate:modelValue":U=>e.unref(a)[T.props.name]=U,onChange:F[2]||(F[2]=U=>e.unref(f)(U.name,U.value)),onClear:F[3]||(F[3]=U=>{e.unref(c)(U),e.unref(f)(U,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",an,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([t.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:x},e.toDisplayString(e.unref(o)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),cn={class:"mb-6 flex flex-wrap gap-2"},dn=["onClick"],mn={class:"mr-2 flex items-center gap-1"},pn={class:"font-semibold"},fn={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 k,x;m.value=c(i??{}),(!i||Object.keys(i).length===0)&&(await e.nextTick(),(x=(k=u.value)==null?void 0:k.clearAllFilters)==null||x.call(k,!0))},{deep:!0,immediate:!0});const a=o,u=e.ref(),f=e.useSlots();function c(i){if(Array.isArray(i))return i.map(k=>c(k));if(i!==null&&typeof i=="object"){const k=e.toRaw(i),x={};for(const M in k)x[M]=c(k[M]);return x}return i}function p(i,k){k!==void 0?m.value={...m.value,[i]:k}:delete m.value[i],a("change",{data:c(m.value),name:i,value:c(k)})}function V(i){delete m.value[i],a("clear",{data:c(m.value),name:i}),a("change",{data:c(m.value),name:i,value:null})}function b(){m.value={},a("clear",{data:c(m.value),name:"ALL"}),a("change",{data:c(m.value),name:"ALL",value:null})}const y=e.ref({}),w=e.computed(()=>n.teleportActive);function h(){switch(n.view){case"inline":return Oe;case"vertical":return vo;case"popover":return Ue;case"popover-inline":return sn;default:return Oe}}e.watch(()=>n.schema,i=>{if(!i){y.value={};return}if(Array.isArray(i)&&!i.length){y.value={};return}Array.isArray(i)?y.value=i.filter(k=>k.type).reduce((k,x)=>(Object.assign(x,{name:x.id||x.name,type:{datepicker:"date"}[x.type.toLowerCase()]||x.type.toLowerCase(),label:x.label||x.ua}),k[x.name]=x,x.data&&!x.api&&!x.options&&Object.assign(x,{api:`/api/suggest/${x.data}`}),k),{}):(Object.entries(i).forEach(([k,x])=>{Object.assign(x,{name:k||x.name||x.id,type:x.type.toLowerCase()})}),y.value={...i})},{immediate:!0,deep:!0});function d(i){u.value.clearFilter(i),V(i)}function g(){u.value.clearAllFilters(),b()}const j=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,k])=>{const x=y.value[i],M=(x==null?void 0:x.label)||(x==null?void 0:x.title)||i,F=E(x,k);return{key:i,label:M,value:F}}));function B(i){d(i)}function E(i,k){if(!i||k===void 0||k===null)return"";const x=C(k);if(!x.length)return"";const M=N(i);return x.map(F=>M.get(F)??F).filter(Boolean).join(", ")}function C(i){return Array.isArray(i)?i.map(k=>{var x;return((x=k==null?void 0:k.toString)==null?void 0:x.call(k))??""}).filter(Boolean):typeof i=="string"?i.split(",").map(k=>k.trim()).filter(Boolean):[]}function N(i){const k=new Map,x=i.valueKey||"id",M=i.labelKey||"text";return(i.options??[]).forEach(F=>{const T=S(F,x),D=A(F,M);T&&k.set(T,D||T)}),k}function S(i,k){var x,M;return i?((M=(x=i[k]??i.id??i.value??i.key)==null?void 0:x.toString)==null?void 0:M.call(x))??"":""}function A(i,k){var x,M;return i?((M=(x=i[k]??i.text??i.label??i.value??i.id)==null?void 0:x.toString)==null?void 0:M.call(x))??"":""}return e.watch(()=>m.value,i=>{if(n.history){const k=new URL(window.location.href),x=new URLSearchParams(window.location.search);Object.keys(i).length>0?x.set("filter",Object.entries(i).filter(([,M])=>M).map(([M,F])=>`${M}=${F}`).join("|")):x.delete("filter"),k.search=decodeURI(x.toString()),window.history.pushState({},"",k)}}),r({clearAllFilters:g,clearFilter:d}),(i,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h()),e.mergeProps(s.value,{schema:y.value,onChange:k[0]||(k[0]=x=>p(x.name,x.value)),onClear:k[1]||(k[1]=x=>V(x.name)),onClearAll:b,ref_key:"filterRef",ref:u}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(f).trigger?{name:"trigger",fn:e.withCtx(x=>[e.renderSlot(i.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(x)))]),key:"0"}:void 0]),1040,["schema"])),w.value&&j.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:w.value},[e.createElementVNode("div",cn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(j.value,x=>(e.openBlock(),e.createElementBlock("button",{key:x.key,type:"button",class:"ga1u8 zw1wr sr4j9 flex items-center zu875 kew0r w9dei w4xo0 kghwt wz1vo focus:outline-hidden gugmw dark:bg-emerald-500 dark:hover:bg-emerald-600 dark:focus:bg-emerald-600 bg-white border border-gray-200 px-3 py-1 rounded-full text-sm text-gray-700",onClick:M=>B(x.key)},[e.createElementVNode("span",mn,[e.createElementVNode("span",pn,e.toDisplayString(x.label),1),e.createElementVNode("span",fn,"· "+e.toDisplayString(x.value),1)]),k[2]||(k[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,dn))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});_e.install=function(t){t.component("Filter",_e),t.component("FilterField",le)};function un(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 gn={class:"flex items-center justify-between w-full gap-x-1"},hn={class:"flex items-center"},yn=["disabled"],xn={class:"flex items-center gap-x-1"},bn=["onClick"],kn=["disabled"],wn={class:"flex justify-center items-center gap-x-5 ml-3"},Vn={class:"relative"},Cn={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"},Bn=["onClick"],En={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"},Nn=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,b=>{s.value=b});const a=e.computed(()=>Math.ceil(o.total/o.pageSize)),u=e.computed(()=>{const y=Math.floor(3.5);let w=l.value-y,h=l.value+y;w<1&&(h+=1-w,w=1),h>a.value&&(w-=h-a.value,h=a.value),w=Math.max(1,w);const d=[];for(let g=w;g<=h;g+=1)d.push(g);return d}),f=()=>{l.value>1&&p(l.value-1)},c=()=>{l.value<a.value&&p(l.value+1)},p=b=>{l.value=b,n("update:currentPage",b),n("pageChange",b)},V=(b=s.value)=>{s.value=b,m.value=!1,n("update:pageSize",s.value),n("update:currentPage",1),n("pageSizeChange",s.value)};return e.watch(()=>o.currentPage,b=>{l.value=b}),(b,y)=>(e.openBlock(),e.createElementBlock("nav",gn,[e.createElementVNode("div",hn,[e.createElementVNode("button",{type:"button","aria-label":"Previous",onClick:f,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"},[...y[1]||(y[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down rotate-90",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1),e.createElementVNode("span",{"aria-hidden":"true",class:"sr-only"},"Previous",-1)])],8,yn),e.createElementVNode("div",xn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,w=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:w,onClick:h=>p(w),class:e.normalizeClass(l.value===w?"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(w),11,bn))),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"},[...y[2]||(y[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,kn)]),e.createElementVNode("div",wn,[e.createElementVNode("div",Vn,[e.withDirectives(e.createElementVNode("div",Cn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],w=>e.createElementVNode("button",{type:"button",key:w,onClick:h=>V(w),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(w)+" ",1),s.value===w?(e.openBlock(),e.createElementBlock("svg",En,[...y[3]||(y[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,Bn)),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:y[0]||(y[0]=w=>m.value=!m.value)},[e.createTextVNode(e.toDisplayString(s.value)+" ",1),y[4]||(y[4]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1))])])])]))}}),fe=(t,r)=>{const o=t.__vccOpts||t;for(const[n,l]of r)o[n]=l;return o},Sn={},_n={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 Mn(t,r){return e.openBlock(),e.createElementBlock("svg",_n,[...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 Dn=fe(Sn,[["render",Mn]]),zn={},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 Fn(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 An=fe(zn,[["render",Fn]]),Ln={},$n={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 Pn(t,r){return e.openBlock(),e.createElementBlock("svg",$n,[...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 Tn=fe(Ln,[["render",Pn]]),Rn={},Kn={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 Zn(t,r){return e.openBlock(),e.createElementBlock("svg",Kn,[...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 Un=fe(Rn,[["render",Zn]]),On={},In={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 Hn(t,r){return e.openBlock(),e.createElementBlock("svg",In,[...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 Wn=fe(On,[["render",Hn]]);function Ie(t,r){let o;return function(...n){clearTimeout(o),o=setTimeout(()=>t(...n),r)}}function He(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 qn(t,r,o,n,l=12,s=12){if(!r)return;const m=He(t,n,l,s);r.addSource("vector",{type:"vector",tiles:[m],minzoom:0,maxzoom:12});const a=["coalesce",["get","point_count"],["get","pointCount"],["get","cluster_count"],["get","clusterCount"],0],u=[">",a,1],f=["<=",a,1],c=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],p=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]],V=["coalesce",["get","point_count_abbreviated"],["get","cluster_count_abbreviated"],["get","clusterCountAbbreviated"],a];r.addLayer({id:"vector-clusters",type:"circle",source:"vector","source-layer":t,filter:u,maxzoom:12,paint:{"circle-color":["step",a,"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",a,18,100,26,750,32],"circle-opacity":.85}}),r.addLayer({id:"vector-cluster-count",type:"symbol",source:"vector","source-layer":t,filter:u,maxzoom:12,layout:{"text-field":["to-string",V],"text-font":["Noto Sans Regular"],"text-size":12},paint:{"text-color":"#1f2937"}}),r.addLayer({id:"vector-circle",type:"circle",maxzoom:12,source:"vector","source-layer":t,filter:["all",f,c],paint:{"circle-color":o,"circle-stroke-color":"#eee","circle-stroke-width":1,"circle-radius":["interpolate",["linear"],["zoom"],10,5,15,12]}}),r.addLayer({id:"vector-fill",type:"fill",minzoom:12,source:"vector","source-layer":t,filter:p,paint:{"fill-color":o,"fill-opacity":.6}})}const Gn=[{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"}],Yn={class:"relative w-auto h-full"},Qn={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px]"},vn={key:0,class:"text-[0.875rem] font-medium text-stone-700"},Jn=["aria-label"],Xn={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"},er={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"},tr={class:"flex justify-start items-center gap-2"},lr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},or={class:"text-[0.875rem]"},nr={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},rr={key:1,class:"p-[10px]"},ar={class:"flex justify-start items-center gap-2"},ir={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},sr={class:"text-[0.875rem]"},cr={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},dr={class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},mr=["title","onClick"],pr=["src"],fr={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"},be="vector-clusters",ur=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},filter:{},modelValue:{},zoom:{},minZoom:{},maxZoom:{},map:{},layers:{},clusterZoom:{},pointZoom:{},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{}},emits:["update:modelValue","update:map"],setup(t,{emit:r}){const o=t,n=r;let l,s;const m=e.getCurrentInstance(),a=e.ref(null),u=e.ref(!1),f=e.ref(!1),c=["vector-circle","vector-fill"],p=e.ref(!0),V=e.computed(()=>{var z,$;return(($=(z=m==null?void 0:m.appContext.config.globalProperties)==null?void 0:z.$settings)==null?void 0:$.basemaps)||[]}),b=e.computed(()=>(o.layers&&o.layers.length?o.layers:V.value.length?V.value:Gn).map(($,K)=>{var re;const P=$.id||((re=$.name)==null?void 0:re.toString().toLowerCase().replace(/\s+/g,"-"))||`layer-${K}`,W=$.name||$.id||`layer-${K}`;return{...$,id:P,name:W}})),y=e.ref(""),w=e.computed(()=>b.value.find(z=>z.id===y.value)||b.value[0]);e.watch(b,z=>{var $;z.length&&(!y.value||!z.some(K=>K.id===y.value))&&(y.value=(($=z[0])==null?void 0:$.id)||"")},{immediate:!0});function h(z){return z?z.replace("{x}","2422").replace("{y}","1400").replace("{z}","12"):""}const d=e.ref(null),g=e.ref(null),j=["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#17BECF","#BCBD22"];let B;const E=[30,48];let C=null,N=[];function S(){if(typeof window>"u")return{zoom:null,center:null,hasQuery:!1};const z=new URLSearchParams(window.location.search),$=Number(z.get("z")),K=Number(z.get("y")),P=Number(z.get("x")),W=z.has("x")&&z.has("y"),re=z.has("z");return{zoom:re?$:null,center:W?[P,K]:null,hasQuery:W||re}}function A(z,$){if(!z||typeof window>"u")return;const K=new URL(window.location.href);K.searchParams.set("z",$.toFixed(2)),K.searchParams.set("x",z[0].toFixed(6)),K.searchParams.set("y",z[1].toFixed(6)),window.history.replaceState({},"",K)}let i=!1;function k(){if(!l||!i)return;const z=l.getCenter();A([z.lng,z.lat],l.getZoom())}const x=()=>{i||(i=!0),k()};function M(z){return z?["==",["to-string",["get","id"]],z]:["==",["literal",1],0]}const F=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],T=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]];function D(){const z=M(o.modelValue),$=["all",z,F],K=["all",z,T];if(!l.getLayer("vector-highlight-circle")){const re=(o.clusterZoom??12)-.01;l.addLayer({id:"vector-highlight-circle",type:"circle",maxzoom:re,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",$),l.setFilter("vector-highlight-fill",K);const P=o.modelValue?"visible":"none";l.setLayoutProperty("vector-highlight-circle","visibility",P),l.setLayoutProperty("vector-highlight-fill","visibility",P),q()}function R(z){if(!l||!N.length)return;const $="#ef4444",K=z?["case",["all",["has","id"],["==",["to-string",["get","id"]],z]],$,N]:N;if(l.getLayer("vector-circle")&&l.setPaintProperty("vector-circle","circle-color",K),l.getLayer("vector-fill")){const P=z?["case",["all",["has","id"],["==",["to-string",["get","id"]],z]],$,N]:N;l.setPaintProperty("vector-fill","fill-color",P)}}function q(){if(U(),!o.modelValue)return;let z=!0;C=window.setInterval(()=>{z=!z;const $=z?.8:.2;l!=null&&l.getLayer("vector-highlight-circle")&&l.setPaintProperty("vector-highlight-circle","circle-opacity",$),l!=null&&l.getLayer("vector-highlight-fill")&&l.setPaintProperty("vector-highlight-fill","line-opacity",$)},600)}function U(){C&&(clearInterval(C),C=null)}function oe(){l&&(l.setCenter(o.center||E),l.setZoom(o.zoom||5))}function ne(){if(!(l!=null&&l.setLayerZoomRange))return;const z=o.minZoom??0,$=Math.min((o.maxZoom??18)+.01,24),K=o.clusterZoom??12,P=K-.01,W=p.value?P:$;l.getLayer("vector-circle")&&l.setLayerZoomRange("vector-circle",z,W),l.getLayer("vector-highlight-circle")&&l.setLayerZoomRange("vector-highlight-circle",z,W),l.getLayer("vector-fill")&&l.setLayerZoomRange("vector-fill",K,$),l.getLayer("vector-highlight-fill")&&l.setLayerZoomRange("vector-highlight-fill",K,$),l.getLayer(be)&&l.setLayerZoomRange(be,z,P),l.getLayer("vector-cluster-count")&&l.setLayerZoomRange("vector-cluster-count",z,P)}function ke(){if(l!=null&&l.getSource("vector")){try{const $=l.querySourceFeatures("vector",{sourceLayerId:o.table}).some(K=>{var W;const P=(W=K.geometry)==null?void 0:W.type;return P==="Polygon"||P==="MultiPolygon"});p.value=$}catch{}ne()}}const me=S();i=me.hasQuery,e.onMounted(async()=>{B=(await fetch(`/api/data/${o.table}/${o.colorAttr}`).then(G=>G.json())).rows,B.forEach((G,Q)=>{G.color||Object.assign(G,{color:j[Q%10]})}),s=new maplibregl.Popup({closeButton:!1,closeOnClick:!1});const $=w.value;if(!$)return;const K=me.center||o.center||E,P=me.zoom||o.zoom||5;l=new maplibregl.Map({container:a.value,style:{version:8,sources:{[$.id]:{type:"raster",tiles:[$.url],tileSize:256}},layers:[{id:$.id,type:"raster",source:$.id,minzoom:0,maxzoom:19}]},center:K,zoom:P,minZoom:o.minZoom??3,maxZoom:o.maxZoom??18,attributionControl:!1}),n("update:map",l),l.addControl(new maplibregl.NavigationControl,"top-right"),l.on("zoom",()=>{}),l.on("moveend",x),l.on("zoomend",x),i&&k(),l.on("load",()=>{l==null||l.resize(),u.value=!0;const G=B.filter(H=>H.id).reduce((H,J)=>[J.id,J.color].concat(H),[]),Q=["match",["get",o.colorAttr],...G,"#808080"];N=Q,qn(o.table,l,Q,o.filter,o.clusterZoom,o.pointZoom??12),D(),R(o.modelValue),ne(),l.on("sourcedata",H=>{H.sourceId==="vector"&&H.isSourceLoaded&&l.getZoom()>=(o.clusterZoom??12)&&ke()})});const W=G=>{var H,J;const Q=(H=G.features)==null?void 0:H[0];(J=Q==null?void 0:Q.properties)!=null&&J.id&&n("update:modelValue",Q.properties.id)};c.forEach(G=>{l.on("click",G,W)}),l.on("click",be,G=>{var ce,ge,_;const Q=(ce=G.features)==null?void 0:ce[0];if(!Q)return;const H=Q.geometry,J=(H==null?void 0:H.type)==="Point"?H.coordinates:(_=(ge=H==null?void 0:H.coordinates)==null?void 0:ge[0])==null?void 0:_[0];if(!J)return;const pe=Math.min(l.getZoom()+2,l.getMaxZoom());l.easeTo({center:J,zoom:pe})}),[...c,be].forEach(G=>{l.on("mouseenter",G,()=>{l.getCanvas().style.cursor="pointer"}),l.on("mouseleave",G,()=>{l.getCanvas().style.cursor=""})}),l.on("mousemove",G=>{var ce;const Q=l.queryRenderedFeatures(G.point,{layers:c});if(!Q||!Q.length){s.remove();return}const H=Q[0],{coordinates:J}=H.geometry,pe=H.geometry.type==="Point"?J:J[0][0];g.value=H.properties,s.setLngLat(pe).setHTML((ce=d.value)==null?void 0:ce.innerHTML).addTo(l)})}),e.watch(()=>o.center,z=>{l&&l.setCenter(z||E)}),e.watch(()=>o.zoom,z=>{l&&l.setZoom(z)}),e.watch(()=>o.minZoom,z=>{l&&(l.setMinZoom(z??3),ne())}),e.watch(()=>o.maxZoom,z=>{l&&(l.setMaxZoom(z??18),ne())});function ue(z,$,K){if(!(l!=null&&l.getSource("vector")))return;const P=He(o.table,z??o.filter,$??o.clusterZoom??12,K??o.pointZoom??12);l.getSource("vector").setTiles([P])}return e.watch(()=>o.filter,z=>{ue(z)}),e.watch(()=>o.clusterZoom,z=>{ue(void 0,z),ne()}),e.watch(()=>o.pointZoom,z=>{ue(void 0,void 0,z)}),e.watch(()=>o.modelValue,z=>{if(!l)return;const $=M(z),K=["all",$,F],P=["all",$,T];if(l.getLayer("vector-highlight-circle")){l.setFilter("vector-highlight-circle",K);const W=z?"visible":"none";l.setLayoutProperty("vector-highlight-circle","visibility",W)}if(l.getLayer("vector-highlight-fill")){l.setFilter("vector-highlight-fill",P);const W=z?"visible":"none";l.setLayoutProperty("vector-highlight-fill","visibility",W)}R(z),z?q():U()}),e.watch(y,(z,$)=>{if(!l||!z)return;const K=b.value.find(W=>W.id===z);if(!K)return;l.getLayer($)&&l.removeLayer($),l.getSource($)&&l.removeSource($),l.addSource(z,{type:"raster",tiles:[K.url],tileSize:256});const P=l.getLayer("vector-clusters")?"vector-clusters":l.getLayer("vector-circle")?"vector-circle":void 0;l.addLayer({id:K.id,type:"raster",source:K.id,minzoom:0,maxzoom:19},P)}),e.onBeforeUnmount(()=>{U(),l&&(l.off("moveend",x),l.off("zoomend",x),l.remove())}),(z,$)=>{const K=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Yn,[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:oe},[...$[1]||($[1]=[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)])])),[[K,"Повернутися до базового вигляду"]]),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",Qn,[o.legendTitle?(e.openBlock(),e.createElementBlock("span",vn,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":f.value?"Згорнути легенду":"Розгорнути легенду",onClick:$[0]||($[0]=P=>f.value=!f.value)},[f.value?(e.openBlock(),e.createElementBlock("svg",Xn,[...$[2]||($[2]=[e.createElementVNode("path",{d:"M6 9l6 6 6-6"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",er,[...$[3]||($[3]=[e.createElementVNode("path",{d:"m18 15-6-6-6 6"},null,-1)])]))],8,Jn)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out",style:e.normalizeStyle(o.isCollapsible&&!f.value?{maxHeight:"0",padding:"0",margin:"0",opacity:"0"}:{})},[e.createElementVNode("div",{class:e.normalizeClass(["p-[10px]",f.value&&(e.unref(B)||[]).length?"pt-0":"pt-2"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B)||[],P=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:P.id},[e.createElementVNode("div",tr,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+P.color)},null,4),e.createElementVNode("div",lr,[e.createElementVNode("span",or,e.toDisplayString(P.text),1),P.count!=null?(e.openBlock(),e.createElementBlock("span",nr,e.toDisplayString(P.count),1)):e.createCommentVNode("",!0)])])]))),128))],2)],4)],64)):(e.openBlock(),e.createElementBlock("div",rr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B)||[],P=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:P.id},[e.createElementVNode("div",ar,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+P.color)},null,4),e.createElementVNode("div",ir,[e.createElementVNode("span",sr,e.toDisplayString(P.text),1),P.count!=null?(e.openBlock(),e.createElementBlock("span",cr,e.toDisplayString(P.count),1)):e.createCommentVNode("",!0)])])]))),128))]))],6),e.createElementVNode("div",{ref_key:"popupDiv",ref:d,style:{display:"none"}},[e.renderSlot(z.$slots,"default",{hoverData:g.value})],512),e.createElementVNode("div",dr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,P=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:P.id,title:P.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:y.value===P.id}]),onClick:W=>y.value=P.id},[e.createElementVNode("img",{src:P.preview||h(P.url),class:"vs-map-slot-layers__image"},null,8,pr),e.createElementVNode("div",fr,e.toDisplayString(P.name),1)],10,mr)),[[K,P.name]])),128))])],512)),[[e.vShow,u.value]])}}}),We={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))}},gr={class:"pt-[20px]"},hr={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},yr={class:"flex items-center"},xr=["title"],br={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},kr={class:"flex"},wr={key:0,class:"flex items-center py-[15px] pb-[24px] pl-2 pr-6 gap-4"},Vr={class:"font-bold text-2xl mr-[10px]"},Cr={class:"text-sm text-stone-500 font-medium"},Br={key:0,class:"inline-flex items-center gap-2 text-sm text-stone-700 select-none ml-auto mt-auto"},Er={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},Nr={key:1,class:"text-center py-28"},Sr={key:1},_r={key:2,class:"my-5 pr-2"},Mr={class:"flex justify-between"},Dr={class:"w-full lg:w-1/2 relative"},zr={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},Me=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}},emits:["change:filter","update:map"],setup(t,{emit:r}){var G,Q,H,J,pe,ce,ge;const o=e.getCurrentInstance();o&&!(o!=null&&o.appContext.directives.tooltip)&&(o.appContext.directives.tooltip=We);function n(_){return _?(_.type==="Point"?_.coordinates:null)||(_.type.includes("Multi")?_.coordinates[0][0][0]:_.coordinates[0][0]):null}function l(_){switch(_==null?void 0:_.type){case"Polygon":return _.coordinates[0];case"MultiPolygon":return _.coordinates.flatMap(L=>L[0]);case"LineString":return _.coordinates;case"MultiLineString":return _.coordinates.flat();default:return[]}}function s(_){if(!_||_.type==="Point"||_.type==="MultiPoint")return null;const L=l(_);if(!L.length)return null;let O=1/0,Z=1/0,X=-1/0,Y=-1/0;return L.forEach(([I,ee])=>{I<O&&(O=I),ee<Z&&(Z=ee),I>X&&(X=I),ee>Y&&(Y=ee)}),[[O,Z],[X,Y]]}function m(_){return(_==null?void 0:_.type)==="Polygon"||(_==null?void 0:_.type)==="MultiPolygon"}const a=t,u=r,f=e.ref(0);f.value=a.initTotal??((G=a.rows)==null?void 0:G.length)??0;const c=e.ref(""),p=e.ref(null),V=e.ref(!0),b=e.ref(((Q=a.rows)==null?void 0:Q.length)===1),y=e.ref(0),w=e.ref(a.rows),h=e.ref(1),d=e.ref(20),g=e.ref(a.filters||[]),j=e.ref(""),B=e.ref({}),E=e.ref(((H=a.rows)==null?void 0:H.length)===1?a.rows[0]:{}),C=e.ref(((J=a.rows)==null?void 0:J.length)===1?a.rows[0].id:""),N=e.ref(((pe=a.rows)==null?void 0:pe.length)===1?n((ce=a.rows[0])==null?void 0:ce.geom):a.center||null),S=e.ref(((ge=a.rows)==null?void 0:ge.length)===1?14:a.zoom||5),A=e.ref(!1),i=e.ref(!1),k=e.ref("");let x=!1;const M=e.ref(null),F=e.ref(null),T=e.computed(()=>{var _;return b.value&&!((_=E.value)!=null&&_.geom)});function D(){var Y,I,ee;if(!a.polygonFitBbox||!p.value||!((Y=E.value)!=null&&Y.geom)){M.value=null,F.value=null;return}const{geom:_}=E.value;if(!m(_)){M.value=null,F.value=null;return}const L=s(_);if(!L){M.value=null,F.value=null;return}const O=(ee=(I=p.value).cameraForBounds)==null?void 0:ee.call(I,L,{padding:20,maxZoom:16}),Z=O==null?void 0:O.zoom,X=a.clusterZoom??12;if(Z!=null&&Z<X){const qe=Math.floor(Z);M.value=qe,F.value=qe}else M.value=null,F.value=null}function R(_){return Object.entries(_).filter(([L,O])=>Array.isArray(O)?O.length:O).map(([L,O])=>`${L}=${O}`).join("|")}function q(){var Z,X,Y,I;if(!p.value||!i.value)return;const _=(X=(Z=p.value).getBounds)==null?void 0:X.call(Z);if(!_)return;const L=(Y=_.getSouthWest)==null?void 0:Y.call(_),O=(I=_.getNorthEast)==null?void 0:I.call(_);!L||!O||(k.value=`${L.lng} ${L.lat},${O.lng} ${O.lat}`)}async function U(_=!1){await e.nextTick();const L=R(B.value);j.value=L,i.value?q():k.value="";try{const O={search:c.value,limit:d.value.toString(),page:h.value.toString(),filter:L,...i.value&&k.value?{bbox:k.value}:{}},Z=new URL(`/api/data/${a.table}`,window.location.origin)+(C.value?`/${C.value}`:""),X=new URLSearchParams(O).toString(),Y=await fetch(`${Z.toString()}?${X}`).then(I=>I.json());if(C.value){let I;if(Y.rows.length>1?I=Y.rows.find(ee=>ee.id===C.value):[I]=Y.rows,E.value=I,!_&&(I!=null&&I.geom)){const ee=a.polygonFitBbox?s(I.geom):null;ee&&p.value?p.value.fitBounds(ee,{padding:20,maxZoom:16,duration:500}):(N.value=n(I.geom),S.value=14)}D(),b.value=!0}else M.value=null,F.value=null,b.value=!1,A.value||(S.value=a.zoom||5),w.value=Y==null?void 0:Y.rows;A.value=!1,f.value=Y.filtered,un({page:h.value,filter:L,id:C.value,filterByView:i.value})}catch(O){console.error(O.message)}}const oe=Ie(()=>U(),300),ne=Ie(()=>U(!0),400);function ke(){!p.value||x||!i.value||(p.value.on("moveend",ne),p.value.on("zoomend",ne),x=!0)}function me(){!p.value||!x||(p.value.off("moveend",ne),p.value.off("zoomend",ne),x=!1)}function ue(_){d.value=_,h.value=1,U()}function z(_){h.value=_,U()}function $(_){B.value=_.data,h.value=1,C.value?C.value="":U(),u("change:filter",_)}async function K(){if(a.filters)return;const L=await(await fetch(`/api/filter/${a.table}`)).json();g.value=L.list}function P(){B.value={},c.value="",U()}e.onMounted(async()=>{var O,Z;y.value=window.innerWidth,y.value<1e3&&(V.value=!1);const _=new URLSearchParams(window.location.search);h.value=Number(_.get("page"))||1,d.value=Number(_.get("limit"))||d.value,C.value=_.get("id")||"",b.value=!!C.value,j.value=_.get("filter")||"";const L=_.get("bbox");L!==null?i.value=L!=="0":i.value=!1,(Z=(O=_.get("filter"))==null?void 0:O.split("|"))==null||Z.forEach(X=>{const[Y,I]=X.split("=");Y&&(B.value[Y]=I!=null&&I.includes(",")?I.split(","):[I])}),K(),!w.value&&!C.value&&U()}),e.onBeforeUnmount(()=>{me()});function W(){A.value=!0,b.value=!1,E.value=null,C.value="",M.value=null,F.value=null}function re(_){if(_!=null&&_.geom){const L=a.polygonFitBbox?s(_.geom):null;L&&p.value?p.value.fitBounds(L,{padding:20,maxZoom:16,duration:500}):(N.value=n(_.geom),S.value=16)}E.value=_,C.value=_.id,D()}return e.watch(p,_=>{var L;u("update:map",_),_&&i.value&&ke(),_&&a.polygonFitBbox&&((L=E.value)!=null&&L.geom)&&D()}),e.watch(c,_=>{_||U()}),e.watch(C,()=>{U()}),e.watch(i,()=>{i.value?ke():me(),U()}),(_,L)=>{var O;return e.openBlock(),e.createElementBlock("section",gr,[e.renderSlot(_.$slots,"header",{title:a.title,total:f.value}),e.createElementVNode("div",hr,[e.createVNode(e.unref(le),{type:"text",modelValue:c.value,"onUpdate:modelValue":L[0]||(L[0]=Z=>c.value=Z),name:"search",label:"Пошук",onChange:e.unref(oe)},null,8,["modelValue","onChange"]),g.value.length?(e.openBlock(),e.createBlock(e.unref(_e),{key:0,schema:g.value,view:"inline",onChange:$,limit:5,value:B.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",yr,[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:L[1]||(L[1]=Z=>V.value=!V.value)},[V.value?(e.openBlock(),e.createBlock(An,{key:0})):(e.openBlock(),e.createBlock(Tn,{key:1})),L[9]||(L[9]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,xr),e.createElementVNode("div",br,[e.createElementVNode("button",{onClick:L[2]||(L[2]=Z=>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(Wn)]),e.createElementVNode("button",{onClick:L[3]||(L[3]=Z=>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(Un)])])])]),e.createElementVNode("div",kr,[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":""])},[(O=_.$slots)!=null&&O.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",wr,[e.createElementVNode("div",null,[e.createElementVNode("span",Vr,e.toDisplayString(a.title),1),e.createElementVNode("span",Cr,e.toDisplayString(f.value),1),L[10]||(L[10]=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1))]),a.objectsInView?(e.openBlock(),e.createElementBlock("label",Br,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"accent-blue-600 w-4 h-4","onUpdate:modelValue":L[4]||(L[4]=Z=>i.value=Z)},null,512),[[e.vModelCheckbox,i.value]]),L[11]||(L[11]=e.createElementVNode("span",null,"В межах видимої області",-1))])):e.createCommentVNode("",!0)])),e.createElementVNode("div",Er,[f.value>=1?e.renderSlot(_.$slots,"table",{key:0,rows:w.value,selectRow:re}):(e.openBlock(),e.createElementBlock("div",Nr,[e.createVNode(Dn),L[12]||(L[12]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),L[13]||(L[13]=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:P}," Очистити дані пошуку ")]))]),f.value>=1?(e.openBlock(),e.createElementBlock("hr",Sr)):e.createCommentVNode("",!0),f.value>=1?(e.openBlock(),e.createElementBlock("div",_r,[e.createElementVNode("div",Mr,[e.createVNode(Nn,{total:f.value,currentPage:h.value??1,pageSize:d.value,onPageChange:L[5]||(L[5]=Z=>z(Z)),onPageSizeChange:L[6]||(L[6]=Z=>ue(Z))},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(_.$slots,"details",{table:a.table,selectedRow:E.value,closeObjCard:W})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",Dr,[e.createVNode(ur,{table:a.table,map:p.value,"onUpdate:map":L[7]||(L[7]=Z=>p.value=Z),zoom:S.value,minZoom:a.minZoom,maxZoom:a.maxZoom,colorAttr:a.colorAttr,filter:j.value,center:N.value,clusterZoom:M.value??a.clusterZoom,pointZoom:F.value??12,modelValue:C.value,"onUpdate:modelValue":L[8]||(L[8]=Z=>C.value=Z),layers:a.layers,isCollapsible:a.isCollapsible,legendTitle:a.legendTitle,legendWidth:a.legendWidth},{default:e.withCtx(({hoverData:Z})=>[e.renderSlot(_.$slots,"popup",{data:Z})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","pointZoom","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.renderSlot(_.$slots,"default",{table:a.table,map:p.value,selectedRow:E.value}),T.value?(e.openBlock(),e.createElementBlock("div",zr,[...L[14]||(L[14]=[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]])])])}}});return Me.install=t=>{t.component("VsPartsMap",Me),t._context.directives.tooltip||t.directive("tooltip",We)},Me});
|
|
1
|
+
(function(e,ae){typeof exports=="object"&&typeof module<"u"?module.exports=ae(require("vue")):typeof define=="function"&&define.amd?define(["vue"],ae):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=ae(e.Vue))})(this,function(e){"use strict";const ae=(c,o)=>{const l=c.__vccOpts||c;for(const[r,t]of o)l[r]=t;return l};e.defineComponent({props:{modelValue:{type:Boolean,default:()=>!1},title:{type:String,default:()=>""},disabled:{type:Boolean,default:()=>!1}},data(){return{}},mounted(){this.modelValue||this.$emit("update:modelValue",!1)},computed:{modelState:{get(){return this.modelValue},set(c){this.$emit("update:modelValue",c)}},labelCursorClasses(){return[{"cursor-not-allowed":this.disabled},{"cursor-pointer":!this.disabled}]}},methods:{handleEnterDown(c){const{keyCode:o}=c;o===13&&(this.modelState=!this.modelState)},addKeyHandler(){window.addEventListener("keydown",this.handleEnterDown)},removeKeyHandler(){window.removeEventListener("keydown",this.handleEnterDown)}}});const Ye={},Qe={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 Xe(c,o){return e.openBlock(),e.createElementBlock("svg",Qe,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))}const Je=ae(Ye,[["render",Xe]]),ve={},et={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 tt(c,o){return e.openBlock(),e.createElementBlock("svg",et,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))}const lt=ae(ve,[["render",tt]]),ot={},rt={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 nt(c,o){return e.openBlock(),e.createElementBlock("svg",rt,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"},null,-1)]))}const at=ae(ot,[["render",nt]]),it={},st={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 ct(c,o){return e.openBlock(),e.createElementBlock("svg",st,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const dt=ae(it,[["render",ct]]),mt={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"},ut={class:"font-medium text-gray-900"},gt={class:"mt-0.5 text-sm text-gray-700"},ht=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(c){const o={success:Je,warning:lt,error:dt,info:at};return(l,r)=>(e.openBlock(),e.createElementBlock("div",mt,[e.createElementVNode("div",pt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o[l.type]))),e.createElementVNode("div",ft,[e.createElementVNode("strong",ut,e.toDisplayString(l.title),1),e.createElementVNode("p",gt,e.toDisplayString(l.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 ye={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"},De=c=>{var m;const{type:o="info",title:l,message:r,position:t="right-bottom"}=c||{};let a=document.querySelector("#notify-root");a||(a=document.createElement("div"),a.id="notify-root",a.className=`fixed z-[2000] flex flex-col gap-3 ${ye[t]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(a)),a.className.includes(ye[t])||(Object.values(ye).forEach(b=>{a.classList.remove(...b.split(" "))}),a.classList.add(...ye[t].split(" ")));const u=document.createElement("div");a.appendChild(u);const s=e.createApp({render(){return e.h(ht,{type:o,title:l,message:r,onClose:()=>{s.unmount(),u.remove()}})}});s.mount(u),(m=u.querySelector("button"))==null||m.addEventListener("click",()=>{u.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{s.unmount(),u.remove()},350)}),setTimeout(()=>{u.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{s.unmount(),u.remove()},350)},3500)},le=(c,o)=>{const l=c.__vccOpts||c;for(const[r,t]of o)l[r]=t;return l},yt={},xt={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 bt(c,o){return e.openBlock(),e.createElementBlock("svg",xt,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"},null,-1),e.createElementVNode("path",{d:"M20 4v5h-5"},null,-1)]))}const kt=le(yt,[["render",bt]]),wt={},Vt={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function Ct(c,o){return e.openBlock(),e.createElementBlock("svg",Vt,o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const ie=le(wt,[["render",Ct]]),Bt={class:"flex items-center justify-between w-full text-sm"},Et={class:"flex items-center cursor-pointer w-full"},Nt={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},_t=["value"],St={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Mt={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Dt={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},we=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(c,{expose:o,emit:l}){const r=c,t=l;function a(){t("itemClick",r.value)}const u=e.ref(null),s=e.computed(()=>r.layout==="inline"&&r.type==="radio");return o({el:u}),(m,b)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:u},[e.createElementVNode("div",Bt,[e.createElementVNode("div",Et,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(m.layout)?"text-sm text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-sm text-gray-500 cursor-pointer",{"bg-blue-100":m.highlighted,relative:s.value}]),onClick:e.withModifiers(a,["stop","prevent"])},[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[m.type==="checkbox"?"rounded-[4px]":"rounded-full",m.color?`bg-[${m.color}] border-[#ffffff]`:m.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[m.isSelected?(e.openBlock(),e.createElementBlock("img",Nt)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:m.value},null,8,_t),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",s.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",St,e.toDisplayString(m.label??"Відсутні дані"),1),m.count?(e.openBlock(),e.createElementBlock("div",Mt," ("+e.toDisplayString(m.count)+") ",1)):e.createCommentVNode("",!0)],2),s.value&&m.isSelected?(e.openBlock(),e.createElementBlock("span",Dt,[e.createVNode(ie)])):e.createCommentVNode("",!0)],2)])])],512))}});function Ve(c,o){const{options:l=[],limit:r=20}=c;function t(x){return Array.isArray(x)?x[0]:x}const a=e.ref(t(c.modelValue)),u=e.ref(""),s=e.ref(!1),m=e.ref([]),b=e.ref("id"),f=e.ref("text"),p=e.ref(!1),g=e.ref(c.layout!=="popover"&&l.length>r);function y(x){const h=x.find(Boolean)??{},M=["id","value","code","key"].find(C=>C in h)??"id",_=["text","label","name","title"].find(C=>C in h)??"text";return{autoValueKey:M,autoLabelKey:_}}if(l.length>0){const x=y(l);b.value=x.autoValueKey,f.value=x.autoLabelKey}const w=e.computed(()=>{const x=m.value;return c.layout==="popover"||p.value?x:x.slice(0,r)});e.watch(()=>c.modelValue,x=>{a.value=t(x)},{immediate:!0}),m.value=[...l].sort((x,h)=>c.sort==="count"?h.count&&x.count?h.count-x.count:0:c.sort==="name"?String(x[f.value]??"").localeCompare(String(h[f.value]??"")):0);function k(x){return a.value===x[b.value]}function i(x){a.value=x[b.value],o("update:modelValue",a.value),o("change",{name:c.name,value:a.value})}function n(){a.value=void 0,o("update:modelValue",a.value),o("clear",c.name)}function d(){p.value=!p.value}return{innerValue:a,searchTerm:u,filteredOptions:w,isSelected:k,selectItem:i,clear:n,toggleShowAll:d,isReqProc:s,showAll:p,isEnableShowAll:g,labelKey:f,valueKey:b,allOptions:m}}const Lt={},zt={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ft(c,o){return e.openBlock(),e.createElementBlock("svg",zt,o[0]||(o[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)]))}const Ce=le(Lt,[["render",Ft]]),At={},$t={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 jt(c,o){return e.openBlock(),e.createElementBlock("svg",$t,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const xe=le(At,[["render",jt]]),Tt={},Pt={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 Rt(c,o){return e.openBlock(),e.createElementBlock("svg",Pt,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Be=le(Tt,[["render",Rt]]),Kt={key:0,class:"w-full"},Zt={class:"flex flex-col items-center justify-center p-5 text-center"},Ut={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},It={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ot=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=e.ref(null),a=l,{innerValue:u,filteredOptions:s,isSelected:m,selectItem:b,clear:f,toggleShowAll:p,isReqProc:g,showAll:y,isEnableShowAll:w,labelKey:k,valueKey:i,allOptions:n}=Ve({...r,modelValue:r.modelValue??r.default??""},a);return o({clear:f,inputTextRef:t}),e.watch(()=>r.modelValue,d=>{d===void 0&&(u.value=void 0)}),(d,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([d.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([d.layout==="popover"?"flex-1 overflow-y-auto p-2":"",d.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),h=>(e.openBlock(),e.createBlock(we,{layout:d.layout,key:h[e.unref(i)],count:h.count,label:h[e.unref(k)],color:h.color,type:"radio",value:h[e.unref(i)],"is-selected":e.unref(m)(h),onItemClick:M=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),d.type==="select"&&e.unref(s).length===0&&!e.unref(g)?(e.openBlock(),e.createElementBlock("div",Kt,[e.createElementVNode("div",Zt,[e.createVNode(Ce),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),d.layout!=="popover"&&d.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(y)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:x[0]||(x[0]=(...h)=>e.unref(p)&&e.unref(p)(...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"},[x[5]||(x[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(xe)])):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:x[1]||(x[1]=(...h)=>e.unref(p)&&e.unref(p)(...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"},[x[6]||(x[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Be)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),d.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[d.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ut,[e.createTextVNode(e.toDisplayString(e.unref(u)||e.unref(u)===null?1:0)+" з "+e.toDisplayString(e.unref(n).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[2]||(x[2]=(...h)=>e.unref(f)&&e.unref(f)(...h))}," Очистити ",512),[[e.vShow,e.unref(u)!==""&&e.unref(u)!==void 0]])])):e.createCommentVNode("",!0),d.layout==="popover"?(e.openBlock(),e.createElementBlock("div",It,[e.createElementVNode("span",null,e.toDisplayString(e.unref(u)||e.unref(u)===null?1:0)+" з "+e.toDisplayString(e.unref(n).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[3]||(x[3]=(...h)=>e.unref(f)&&e.unref(f)(...h))}," Очистити ",512),[[e.vShow,e.unref(u)!==""&&e.unref(u)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function Le(c,o){const{options:l=[],limit:r=20}=c;function t(x){return Array.isArray(x)?x:x?[x]:[]}const a=e.ref(t(c.modelValue)),u=e.ref(""),s=e.ref(!1),m=e.ref([]),b=e.ref("id"),f=e.ref("text"),p=e.ref(!1),g=e.ref(c.layout!=="popover"&&l.length>r);function y(x){const h=x.find(Boolean)??{},M=["id","value","code","key"].find(C=>C in h)??"id",_=["text","label","name","title"].find(C=>C in h)??"text";return{autoValueKey:M,autoLabelKey:_}}if(l.length>0){const x=y(l);b.value=x.autoValueKey,f.value=x.autoLabelKey}const w=e.computed(()=>{const x=m.value;return c.layout==="popover"||p.value?x:x.slice(0,r)});e.watch(()=>c.modelValue,x=>{a.value=t(x)},{immediate:!0}),m.value=[...l].sort((x,h)=>c.sort==="count"?h.count&&x.count?h.count-x.count:0:c.sort==="name"?String(x[f.value]).localeCompare(String(h[f.value])):0);function k(x){return a.value&&a.value.includes(x[b.value])}function i(x){const h=a.value.includes(x[b.value]);a.value=h?a.value.filter(M=>M!==x[b.value]):[...a.value,x[b.value]],o("update:modelValue",a.value),o("change",{name:c.name,value:a.value})}function n(){a.value=[],o("update:modelValue",a.value),o("clear",c.name)}function d(){p.value=!p.value}return{innerValue:a,searchTerm:u,filteredOptions:w,isSelected:k,selectItem:i,clear:n,toggleShowAll:d,isReqProc:s,showAll:p,isEnableShowAll:g,labelKey:f,valueKey:b,allOptions:m}}const ze={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 Fe(c){const o=c.split(".")[1],l=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(ze[l||navigator.language]||ze.uk)[o]}function ne(){const c=e.getCurrentInstance();if(!c.appContext.config.globalProperties.$i18n)return Fe;const o=c.appContext.config.globalProperties.$t;return l=>{const r=o(l);return r===l?Fe(l):r}}const Ht={key:0,class:"w-full"},Wt={class:"flex flex-col items-center justify-center p-5 text-center"},qt={class:"max-w-sm mx-auto mt-6"},Gt={class:"font-medium text-gray-800 dark:text-neutral-200"},Yt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Qt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ae=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=ne(),t=c,a=l,{innerValue:u,filteredOptions:s,isSelected:m,selectItem:b,clear:f,toggleShowAll:p,isReqProc:g,showAll:y,isEnableShowAll:w,labelKey:k,valueKey:i,allOptions:n}=Le({...t,modelValue:t.modelValue},a);return e.watch(()=>t.modelValue,d=>{d===void 0&&(u.value=[])}),o({clear:f}),(d,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([d.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([d.layout==="popover"?"flex-1 overflow-y-auto p-2":"",d.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),h=>(e.openBlock(),e.createBlock(we,{layout:d.layout,count:h.count,label:h[e.unref(k)],color:h.color,type:"checkbox",value:h[e.unref(i)],"is-selected":e.unref(m)(h),onItemClick:M=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),d.type==="select"&&e.unref(s).length===0&&!e.unref(g)?(e.openBlock(),e.createElementBlock("div",Ht,[e.createElementVNode("div",Wt,[e.createVNode(Ce),e.createElementVNode("div",qt,[e.createElementVNode("p",Gt,e.toDisplayString(e.unref(r)("filter.notfound")),1),x[4]||(x[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),d.layout!=="popover"&&d.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(y)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:x[0]||(x[0]=(...h)=>e.unref(p)&&e.unref(p)(...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(r)("filter.more"))+" ",1),e.createVNode(xe)])):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:x[1]||(x[1]=(...h)=>e.unref(p)&&e.unref(p)(...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(r)("filter.less"))+" ",1),e.createVNode(Be)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),d.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[d.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Yt,[e.createTextVNode(e.toDisplayString(e.unref(u).length)+" / "+e.toDisplayString(e.unref(n).length)+" "+e.toDisplayString(e.unref(r)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[2]||(x[2]=(...h)=>e.unref(f)&&e.unref(f)(...h))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(u).length!==0]])])):e.createCommentVNode("",!0),d.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Qt,[e.createElementVNode("span",null,e.toDisplayString(e.unref(u).length)+" / "+e.toDisplayString(e.unref(n).length)+" "+e.toDisplayString(e.unref(r)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[3]||(x[3]=(...h)=>e.unref(f)&&e.unref(f)(...h))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(u).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Xt={},Jt={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 vt(c,o){return e.openBlock(),e.createElementBlock("svg",Jt,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)]))}const $e=le(Xt,[["render",vt]]),el={},tl={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 ll(c,o){return e.openBlock(),e.createElementBlock("svg",tl,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))}const Ee=le(el,[["render",ll]]);class je{static getWidthClass(o){return typeof o=="number"?`max-w-[${o}px] min-w-[${o}px]`:typeof o=="string"?o.endsWith("%")||o.endsWith("px")?`max-w-[${o}]`:`max-w-${o}`:"w-full"}}const ol={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},rl=["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(c,{emit:o}){var b;const l=c,r=e.ref((l.placeholder||l.label||l.title||l.name||"search").toString()),t=o,a=e.ref(((b=l.modelValue)==null?void 0:b.toString())??"");e.watch(()=>l.modelValue,f=>{f!==a.value&&(a.value=(f==null?void 0:f.toString())??"")});let u=null;function s(){if(a.value=a.value.trimStart(),a.value.length===0){m();return}u&&clearTimeout(u),u=setTimeout(()=>{t("update:modelValue",a.value),t("change",{name:l.name,value:a.value})},300)}function m(){a.value="",t("update:modelValue",""),t("clear",l.name)}return(f,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-sm [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-sm [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",f.layout==="inline"?e.unref(je).getWidthClass(f.width):"mb-2"+(f.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",ol,[e.createVNode($e)]),a.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(Ee)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":p[0]||(p[0]=g=>a.value=g),onInput:s,placeholder:r.value,class:"!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-sm text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,40,rl),[[e.vModelText,a.value]])],2))}});function Te(c={color:"blue"}){return e.computed(()=>{const o=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${c.color}-500 focus:border-transparent
|
|
2
|
+
text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return(c==null?void 0:c.size)==="sm"?`${o}h-[32px]`:`${o}h-[38px]`})}function al(){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 il(){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 Pe(c){return c==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":c==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const sl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},cl=["placeholder","disabled"],dl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ml={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},pl=["placeholder","disabled"],fl=["disabled"],ul=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=Te(),t=al(),a=ne(),u=c,s=e.ref(u.modelValue??u.default??[]),m=l,b=e.computed({get:()=>u.modelValue??s.value,set:g=>{u.modelValue!==void 0?m("update:modelValue",g):s.value=g}});function f(){m("change",{name:u.name,value:b.value||s.value})}function p(){s.value=[],b.value=s.value,m("clear",u.name)}return e.watch(()=>u.modelValue,g=>{g!==void 0&&u.layout!=="popover"?(s.value=g,m("update:modelValue",g)):s.value=[]}),o({clear:p,currentValue:b}),(g,y)=>{var w,k;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(g.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[g.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",sl,e.toDisplayString(e.unref(a)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((w=g.placeholder)==null?void 0:w[0])??e.unref(a)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":y[0]||(y[0]=i=>b.value[0]=i),disabled:g.disabled},null,10,cl),[[e.vModelText,b.value[0]]])]),g.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",dl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[g.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",ml,e.toDisplayString(e.unref(a)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((k=g.placeholder)==null?void 0:k[1])??e.unref(a)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":y[1]||(y[1]=i=>b.value[1]=i),disabled:g.disabled},null,10,pl),[[e.vModelText,b.value[1]]])]),["popover","inline","vertical"].includes(g.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:f,class:e.normalizeClass(e.unref(t)+(g.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(g.layout==="vertical"?"Ok":e.unref(a)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(g.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(b.value[0]||b.value[1]),onClick:p,class:e.normalizeClass(e.unref(t)+" hover:bg-gray-100")},e.toDisplayString(e.unref(a)("filter.clear")),11,fl)):e.createCommentVNode("",!0)],2)]),(g.cleanable&&s.value.length,e.createCommentVNode("",!0))],64)}}});class Y{static format(o){const l=o.getFullYear(),r=(o.getMonth()+1).toString().padStart(2,"0"),t=o.getDate().toString().padStart(2,"0");return`${l}-${r}-${t}`}static getShiftedDay(o,l=0){const r=o?new Date(o):new Date;return r.setDate(r.getDate()+l),this.format(r)}static getLastWeekRange(o,l,r=0){if(o&&l){const b=new Date(o),f=new Date(l);return b.setDate(b.getDate()+r*7),f.setDate(f.getDate()+r*7),[this.format(b),this.format(f)]}const t=new Date,a=t.getDay(),u=a===0?13:a-1+7,s=new Date(t);s.setDate(t.getDate()-u+r*7);const m=new Date(s);return m.setDate(s.getDate()+6),[this.format(s),this.format(m)]}static getMonthRange(o,l,r=0){let t;o?t=new Date(o):t=new Date,t=new Date(t.getFullYear(),t.getMonth()+r,1);const a=t,u=new Date(t.getFullYear(),t.getMonth()+1,0);return[this.format(a),this.format(u)]}static getQuarterRange(o,l,r=0){const t=o||l,a=t?new Date(t):new Date;let u=Math.floor(a.getMonth()/3);u+=r;const s=(u%4+4)%4*3,m=a.getFullYear()+Math.floor(u/4),b=new Date(m,s,1),f=new Date(m,s+3,0);return[this.format(b),this.format(f)]}static getYear(o,l=0){let r;return o&&/^\d{4}$/.test(o)?r=parseInt(o,10):o?r=new Date(o).getFullYear():r=new Date().getFullYear(),String(r+l)}static getYearRange(o,l=0){let r;return o&&/^\d{4}$/.test(o)?r=parseInt(o,10):o?r=new Date(o).getFullYear():r=new Date().getFullYear(),[this.format(new Date(r+l,0,1)),this.format(new Date(r+l+1,0,0))]}static getRangeFromDaysBefore(o){const l=new Date,r=new Date(l.getTime());return r.setDate(l.getDate()-o),[this.format(r),this.format(l)]}}function Re(c,o){const{popoverRef:l}=c,r=ne(),t=e.ref(""),a=e.ref(c.modelValue??c.default??[]),u=e.ref(0);function s(){const n=Y.getRangeFromDaysBefore(u.value);return a.value=[...n],o("change",{name:c.name,value:a.value}),o("update:modelValue",a.value),n}function m(n){var x;t.value=n,(x=l.value)==null||x.close();const d=[];switch(t.value){case"today":d.push(Y.getShiftedDay()),d.push(Y.getShiftedDay());break;case"week":d.push(...Y.getLastWeekRange());break;case"month":d.push(...Y.getMonthRange());break;case"quarter":d.push(...Y.getQuarterRange());break;case"year":d.push(...Y.getYearRange());break;case"last_7_days":u.value=7,s();break;case"range":u.value=7,d.push(...s());break}a.value=[...d],o("change",{name:c.name,value:a.value}),o("update:modelValue",a.value)}function b(){const n=[];switch(t.value){case"today":n.push(Y.getShiftedDay(a.value[0],1));break;case"week":n.push(...Y.getLastWeekRange(a.value[0],a.value[1],1));break;case"month":n.push(...Y.getMonthRange(a.value[0],a.value[1],1));break;case"quarter":n.push(...Y.getQuarterRange(a.value[0],a.value[1],1));break;case"year":n.push(...Y.getYearRange(a.value[0],1));break}a.value=[...n],o("change",{name:c.name,value:a.value}),o("update:modelValue",a.value)}function f(){const n=[];switch(t.value){case"today":n.push(Y.getShiftedDay(a.value[0],-1));break;case"week":n.push(...Y.getLastWeekRange(a.value[0],a.value[1],-1));break;case"month":n.push(...Y.getMonthRange(a.value[0],a.value[1],-1));break;case"quarter":n.push(...Y.getQuarterRange(a.value[0],a.value[1],-1));break;case"year":n.push(...Y.getYearRange(a.value[0],-1));break}a.value=[...n],o("change",{name:c.name,value:a.value}),o("update:modelValue",a.value)}const p=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function g(n){const[d,x,h]=n.split("-");return`${h}.${x}.${d}`}function y(n,d="long"){const x=new Date(Date.UTC(2e3,n-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:d,timeZone:"UTC"}).format(x)}function w(n){const{value:d}=a;switch(n){case"today":return g(d[0]);case"range":return"Період";case"week":return d[0]&&d[1]?`${g(d[0])} – ${g(d[1])}`:"";case"quarter":if(d[0]){const x=new Date(d[0]),h=x.getFullYear(),M=x.getMonth();return`${Math.floor(M/3)+1} ${r("filter.quarter")} ${h}`}return"";case"month":if(d[0]){const[x,h]=d[0].split("-");return`${y(parseInt(h,10))} ${x}`}return"";case"year":return d[0]||"";case"last_7_days":return"За останні дні";default:return c.label??""}}const k=e.computed(()=>t.value?w(t.value):c.label??"");function i(){t.value="",a.value=[],o("update:modelValue",[]),o("clear",c.name)}return{activeMode:t,innerValue:a,daysBefore:u,onDaysBeforeChange:s,onSelectChange:m,nextClick:b,prevClick:f,ukMonths:p,formatDisplayDate:g,getModeLabel:w,currentLabel:k,clear:i}}const gl={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},hl={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},yl=["max","disabled"],xl=["min","disabled"],bl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},kl=["max","disabled"],wl={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"},Cl=["min","disabled"],Bl={class:"flex gap-1 pt-2"},El=["onClick"],Nl=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=Te(),a=il(),u=ne(),s=l,m=e.ref(null),{activeMode:b,innerValue:f,onSelectChange:p,nextClick:g,prevClick:y,clear:w}=Re({...r,popoverRef:m},s);return e.watch(()=>r.modelValue,k=>{k!==void 0?(f.value=k,s("update:modelValue",k)):(b.value="",f.value=[])}),e.watch(f,k=>{s("update:modelValue",k),s("change",{name:r.name,value:k})},{deep:!0}),o({clear:w,popoverRef:m}),(k,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[k.layout==="inline"?(e.openBlock(),e.createElementBlock("div",gl,[e.unref(b)!==""&&e.unref(b)==="range"?(e.openBlock(),e.createElementBlock("div",hl,[i[7]||(i[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(f)[1],locale:"uk-UA","onUpdate:modelValue":i[0]||(i[0]=n=>e.unref(f)[0]=n),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:k.disabled},null,8,yl),[[e.vModelText,e.unref(f)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(f)[0],locale:"uk-UA","onUpdate:modelValue":i[1]||(i[1]=n=>e.unref(f)[1]=n),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:k.disabled},null,8,xl),[[e.vModelText,e.unref(f)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",bl,e.toDisplayString(e.unref(u)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(f)[1],locale:"uk-UA","onUpdate:modelValue":i[2]||(i[2]=n=>e.unref(f)[0]=n),class:e.normalizeClass(e.unref(t)),disabled:k.disabled},null,10,kl),[[e.vModelText,e.unref(f)[0]]])],2),k.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",wl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",Vl,e.toDisplayString(e.unref(u)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(f)[0],locale:"uk-UA","onUpdate:modelValue":i[3]||(i[3]=n=>e.unref(f)[1]=n),class:e.normalizeClass(e.unref(t)),disabled:k.disabled},null,10,Cl),[[e.vModelText,e.unref(f)[1]]])],2)],2),e.createElementVNode("div",Bl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],n=>e.createElementVNode("button",{key:n,class:e.normalizeClass(e.unref(a)+(e.unref(b)===n?" bg-blue-100":"")),onClick:d=>e.unref(p)(n)},e.toDisplayString(e.unref(u)("filter."+n)),11,El)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:i[4]||(i[4]=(...n)=>e.unref(y)&&e.unref(y)(...n))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:i[5]||(i[5]=(...n)=>e.unref(g)&&e.unref(g)(...n))},">",2)]),(k.cleanable,e.createCommentVNode("",!0))],64))}});function _l(c,o){const{api:l,options:r=[],limit:t=20,dataKey:a="data"}=c,u=c.multi;function s(V){return u?Array.isArray(V)?V:V?[V]:[]:Array.isArray(V)?V[0]:V}const m=e.ref(s(c.modelValue)),b=e.ref(""),f=e.ref(!1),p=e.ref(r),g=e.ref("id"),y=e.ref("text"),w=e.ref(!1),k=e.ref(c.layout!=="popover"&&r.length>t),i=e.ref([]),n=e.ref(0);function d(V){const $=V.find(Boolean)??{},T=["id","value","code","key"].find(Q=>Q in $)??"id",I=["text","label","name","title"].find(Q=>Q in $)??"text";return{autoValueKey:T,autoLabelKey:I}}if(r.length>0){const V=d(r);g.value=V.autoValueKey,y.value=V.autoLabelKey}const x=e.computed(()=>{if(l)return p.value;const V=p.value;if(c.layout==="popover")return V;if(!b.value)return w.value?V:V.slice(0,t);const $=b.value.toLowerCase();return V.filter(T=>T[y.value].toLowerCase().includes($))});let h=null;async function M(V){if(l){f.value=!0;try{const $=new URL(l,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",V),$.searchParams.set("limit",t.toString());const T=await fetch($.toString());if(!T.ok){De({type:"error",title:"Error",message:"Failed to fetch remote options"}),p.value=[];return}const I=await T.json();if(!I[a]){De({type:"error",title:"Error",message:I}),p.value=[];return}if(p.value=I[a],p.value.length>0){const Q=d(p.value);g.value=Q.autoValueKey,y.value=Q.autoLabelKey}n.value=I.total}catch($){console.error("Failed to fetch remote options:",$)}finally{f.value=!1}}}e.watch(b,V=>{l&&(h&&clearTimeout(h),h=setTimeout(()=>{M(V)},200))}),e.watch(()=>c.modelValue,V=>{m.value=s(V)},{immediate:!0});function _(V){return u&&Array.isArray(m.value)?m.value.includes(V[g.value]):m.value&&m.value===V[g.value]}function C(V){if(u&&!Array.isArray(m.value)&&(m.value=[]),u&&Array.isArray(m.value)){const $=m.value.includes(V[g.value]);m.value=$?m.value.filter(T=>T!==V[g.value]):[...m.value,V[g.value]],i.value=$?i.value.filter(T=>T!==V[y.value]):[...i.value,V[y.value]]}else m.value=V[g.value],i.value=V[y.value];o("update:modelValue",m.value),o("change",{name:c.name,value:m.value})}function S(){u?(m.value=[],i.value=[]):(m.value=void 0,i.value=[]),o("update:modelValue",m.value),o("clear",c.name)}function L(){h&&clearTimeout(h),b.value="",w.value=!1}function B(){w.value=!w.value}e.onBeforeUnmount(()=>{h&&clearTimeout(h)});const z=e.ref(-1);e.watch(x,()=>{z.value=x.value.length>0?0:-1});function R(V){const $=x.value.length;if(V.key==="ArrowDown")V.preventDefault(),z.value=(z.value+1)%$;else if(V.key==="ArrowUp")V.preventDefault(),z.value=(z.value-1+$)%$;else if(V.key==="Enter"&&(V.preventDefault(),z.value>=0&&z.value<x.value.length)){const T=x.value[z.value];C(T)}}function A(){l&&p.value.length===0&&b.value.length===0&&M(b.value)}return{innerValue:m,searchTerm:b,filteredOptions:x,isSelected:_,selectItem:C,clear:S,resetSearch:L,toggleShowAll:B,isReqProc:f,showAll:w,isEnableShowAll:k,labelKey:y,valueKey:g,allOptions:p,highlightedIndex:z,onKeyDown:R,selectedLabels:i,totalCount:n,loadData:A}}const Sl={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Ml=["placeholder"],Dl={key:0,class:"w-full"},Ll={class:"flex flex-col items-center justify-center p-5 text-center"},zl={class:"max-w-sm mx-auto mt-6"},Fl={class:"font-medium text-gray-800 dark:text-neutral-200"},Al={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},$l={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},jl=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=ne(),t=c,a=l,u=e.ref(null),{innerValue:s,filteredOptions:m,isSelected:b,selectItem:f,clear:p,resetSearch:g,toggleShowAll:y,isReqProc:w,showAll:k,isEnableShowAll:i,searchTerm:n,labelKey:d,valueKey:x,highlightedIndex:h,onKeyDown:M,selectedLabels:_,totalCount:C,loadData:S}=_l({...t,modelValue:t.modelValue},a);e.onMounted(()=>{g(),t.layout!=="inline"&&(S(),u.value&&t.layout==="popover"&&u.value.focus())}),e.watch(()=>t.modelValue,B=>{B===void 0&&(t.multi?s.value=[]:s.value=void 0)});const L=e.ref([]);return e.watch(h,B=>{var z;B>=0&&L.value[B]&&((z=L.value[B])==null||z.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(m,()=>{L.value=[]}),o({clear:p,inputTextRef:u,selectedLabels:_,loadData:S}),(B,z)=>{var R,A;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([B.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Sl,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":z[0]||(z[0]=V=>e.isRef(n)?n.value=V:null),onKeydown:z[1]||(z[1]=(...V)=>e.unref(M)&&e.unref(M)(...V)),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:u},null,40,Ml),[[e.vModelText,e.unref(n)]]),e.createVNode($e,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(n)!=""?(e.openBlock(),e.createBlock(Ee,{key:0,onClick:z[2]||(z[2]=V=>n.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([B.layout==="popover"?"flex-1 overflow-y-auto p-2":"",B.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(V,$)=>(e.openBlock(),e.createBlock(we,{layout:B.layout,count:V.count,label:V[e.unref(d)],color:V.color,type:B.multi?"checkbox":"radio",value:V[e.unref(x)],"is-selected":e.unref(b)(V),highlighted:$===e.unref(h),onItemClick:T=>e.unref(f)(V),ref_for:!0,ref:T=>L.value[$]=T==null?void 0:T.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),B.type==="select"&&e.unref(m).length===0&&!e.unref(w)?(e.openBlock(),e.createElementBlock("div",Dl,[e.createElementVNode("div",Ll,[e.createVNode(Ce),e.createElementVNode("div",zl,[e.createElementVNode("p",Fl,e.toDisplayString(e.unref(r)("filter.notfound")),1),z[7]||(z[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),B.layout!=="popover"&&B.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(i)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:z[3]||(z[3]=(...V)=>e.unref(y)&&e.unref(y)(...V)),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(xe)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:z[4]||(z[4]=(...V)=>e.unref(y)&&e.unref(y)(...V)),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(Be)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),B.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[B.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Al,[e.createTextVNode(e.toDisplayString(B.multi&&Array.isArray(e.unref(s))?(R=e.unref(s))==null?void 0:R.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" / "+e.toDisplayString(e.unref(C))+" "+e.toDisplayString(e.unref(r)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:z[5]||(z[5]=(...V)=>e.unref(p)&&e.unref(p)(...V))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0),B.layout==="popover"?(e.openBlock(),e.createElementBlock("div",$l,[e.createElementVNode("span",null,e.toDisplayString(B.multi&&Array.isArray(e.unref(s))?(A=e.unref(s))==null?void 0:A.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" / "+e.toDisplayString(e.unref(C))+" "+e.toDisplayString(e.unref(r)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:z[6]||(z[6]=(...V)=>e.unref(p)&&e.unref(p)(...V))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),Tl=["for","onClick"],Pl=["id","name","value"],Rl={class:"block"},Kl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Zl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ul=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,{innerValue:a,isSelected:u,selectItem:s,clear:m,labelKey:b,valueKey:f,allOptions:p}=r.multi?Le({...r,modelValue:r.modelValue??r.default??[]},t):Ve({...r,modelValue:r.modelValue!==void 0?r.modelValue:r.default??""},t);return o({clear:m}),e.watch(()=>r.modelValue,g=>{g===void 0&&(r.multi?a.value=[]:a.value=void 0)}),(g,y)=>{var w,k;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",g.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),i=>(e.openBlock(),e.createElementBlock("label",{key:`item-${i[e.unref(f)]}`,for:`item-${i[e.unref(f)]}`,onClick:e.withModifiers(n=>e.unref(s)(i),["stop","prevent"]),class:e.normalizeClass([e.unref(u)(i)?"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-${i[e.unref(f)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${i[e.unref(f)]}`,value:i[e.unref(f)]},null,8,Pl),e.createElementVNode("span",Rl,e.toDisplayString(i[e.unref(b)]),1)],10,Tl))),128))],2),g.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[g.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Kl,[e.createTextVNode(e.toDisplayString(g.multi&&Array.isArray(e.unref(a))?(w=e.unref(a))==null?void 0:w.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(p).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:y[0]||(y[0]=(...i)=>e.unref(m)&&e.unref(m)(...i))}," Очистити ",512),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),g.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Zl,[e.createElementVNode("span",null,e.toDisplayString(g.multi&&Array.isArray(e.unref(a))?(k=e.unref(a))==null?void 0:k.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(p).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:y[1]||(y[1]=(...i)=>e.unref(m)&&e.unref(m)(...i))}," Очистити ",512),[[e.vShow,e.unref(a)!==void 0&&e.unref(a)!==""||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),Il=["disabled","title"],Ol={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},Hl={class:"truncate text-ellipsis text-sm"},Wl={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"},ql={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"},Gl={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"},Ne=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(c,{expose:o}){const l=c,r=e.computed(()=>Pe(l.mode)),t=e.ref(!1),a=e.ref({top:0,left:0}),u=e.ref(null),s=e.ref(null),m=e.ref(null);function b(){const h=s.value,M=m.value;if(!h||!M)return;const _=h.getBoundingClientRect(),C=M.offsetWidth,S=M.offsetHeight,L=window.innerWidth,B=window.innerHeight,z=8;let R=_.bottom+z,{left:A}=_;const V=Math.max(L-C-10,10);if(A=Math.min(A,V),A=Math.max(A,10),R+S>B-10){const $=_.top-S-z;R=$>=10?$:Math.max(B-S-10,10)}R<10&&(R=10),a.value={top:R,left:A}}function f(){t.value=!t.value,t.value&&e.nextTick(()=>{var h,M,_,C,S,L,B;b(),(h=l.fieldRef)!=null&&h.inputTextRef&&((C=(_=(M=l.fieldRef)==null?void 0:M.inputTextRef)==null?void 0:_.focus)==null||C.call(_)),(S=l.fieldRef)!=null&&S.loadData&&((B=(L=l.fieldRef)==null?void 0:L.loadData)==null||B.call(L))})}function p(h){var M,_,C;!((M=u.value)!=null&&M.contains(h.target))&&!((_=m.value)!=null&&_.contains(h.target))&&!((C=s.value)!=null&&C.contains(h.target))&&(t.value=!1)}function g(h){h.key==="Escape"&&(t.value=!1)}const y=e.ref(!1),w=e.ref("ua"),k=h=>{h.detail.key==="locale"&&(w.value=h.detail.newValue)};e.onMounted(()=>{y.value=!0,w.value=localStorage.locale,window.addEventListener("storage",k),document.addEventListener("click",p,!0),document.addEventListener("keydown",g),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",k),document.removeEventListener("click",p,!0),document.removeEventListener("keydown",g),window.removeEventListener("scroll",b,!0)});function i(){t.value=!1}o({close:i});function n(h){return Array.isArray(h)?h.filter(M=>M!=null&&M!=="").length:h&&typeof h=="object"?Object.values(h).filter(M=>M!=null&&M!=="").length:typeof h=="string"?h.trim()===""?0:1:typeof h=="number"?Number.isNaN(h)?0:1:h===null||h!==void 0?1:0}const d=e.computed(()=>{var _;const h=(_=l.fieldRef)==null?void 0:_.selectedLabels,M=n(h);return M>0?M:n(l.currentValue)}),x=e.computed(()=>{var M;const h=(M=l.fieldRef)==null?void 0:M.selectedLabels;return!h||["inline"].includes(l.layout||"")?l[w.value]||(l.label??""):Array.isArray(h)?h.length>0?h.join(", "):l.label??"":String(h)});return(h,M)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:f,disabled:h.disabled,ref_key:"triggerRef",ref:s,title:h.label,class:e.normalizeClass([r.value,h.width?e.unref(je).getWidthClass(h.width):"w-full",h.layout==="inline"&&d.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Ol,[e.createElementVNode("span",Hl,e.toDisplayString(x.value),1),h.layout==="inline"&&d.value>0?(e.openBlock(),e.createElementBlock("span",Wl,e.toDisplayString(d.value),1)):e.createCommentVNode("",!0)]),e.createVNode(xe,{class:"h-4 w-4 text-neutral-500"})],10,Il),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:m,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${a.value.top}px`,left:`${a.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",ql,[e.createElementVNode("div",Gl,[e.renderSlot(h.$slots,"default")])])],4),[[e.vShow,t.value]])])):e.createCommentVNode("",!0)]))}}),Yl={},Ql={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 Xl(c,o){return e.openBlock(),e.createElementBlock("svg",Ql,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Jl=le(Yl,[["render",Xl]]),vl={},eo={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 to(c,o){return e.openBlock(),e.createElementBlock("svg",eo,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const lo=le(vl,[["render",to]]),oo={class:"flex gap-1"},ro={class:"mb-1"},no={class:"mb-1"},ao={class:"inline-flex rounded-sm shrink-0 pl-1"},io=["title"],so={class:"inline-flex rounded-sm shrink-0 pl-1"},co=["title"],mo={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},po=["max","value","disabled"],fo=["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(c,{expose:o,emit:l}){const r=ne(),t=c,a=l,u=e.ref(null),{activeMode:s,innerValue:m,onSelectChange:b,nextClick:f,prevClick:p,currentLabel:g,clear:y}=Re({...t,popoverRef:u},a);e.watch(()=>t.modelValue,i=>{i!==void 0?(m.value=i,a("update:modelValue",i)):(s.value="",m.value=[])}),e.watch(m,i=>{a("update:modelValue",i),a("change",{name:t.name,value:i})},{deep:!0});function w(i){const n=Array.isArray(m.value)?[...m.value]:[];m.value=[i,n[1]||""]}function k(i){const n=Array.isArray(m.value)?[...m.value]:[];m.value=[n[0]||"",i]}return o({clear:y,popoverRef:u}),(i,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",oo,[e.createVNode(Ne,{ref_key:"popoverRef",ref:u,label:e.unref(g),"current-value":e.unref(m),mode:i.mode,width:typeof i.width=="number"&&e.unref(m).length?i.width-70:i.width,onClear:e.unref(y),layout:i.layout,class:e.normalizeClass(i.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:n[0]||(n[0]=d=>e.unref(b)("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(s)==="range"?(e.openBlock(),e.createBlock(ie,{key:0})):e.createCommentVNode("",!0)])]),n[12]||(n[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:n[1]||(n[1]=d=>e.unref(b)("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(s)==="today"?(e.openBlock(),e.createBlock(ie,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:n[2]||(n[2]=d=>e.unref(b)("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(s)==="week"?(e.openBlock(),e.createBlock(ie,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:n[3]||(n[3]=d=>e.unref(b)("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(s)==="month"?(e.openBlock(),e.createBlock(ie,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:n[4]||(n[4]=d=>e.unref(b)("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(s)==="quarter"?(e.openBlock(),e.createBlock(ie,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ro,[e.createElementVNode("button",{type:"button",onClick:n[5]||(n[5]=d=>e.unref(b)("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(s)==="year"?(e.openBlock(),e.createBlock(ie,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",no,[e.createElementVNode("button",{type:"button",onClick:n[6]||(n[6]=d=>e.unref(y)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.alltime"))+" ",1),e.unref(m)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ie,{key:0}))])])]),_:1,__:[12]},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(s)!==""&&e.unref(s)!=="range"&&e.unref(s)!=="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:n[7]||(n[7]=(...d)=>e.unref(p)&&e.unref(p)(...d))},[e.createVNode(Jl)],8,io)]),e.createElementVNode("div",so,[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:n[8]||(n[8]=(...d)=>e.unref(f)&&e.unref(f)(...d))},[e.createVNode(lo)],8,co)])],64)):e.createCommentVNode("",!0),e.unref(s)!==""&&e.unref(s)==="range"?(e.openBlock(),e.createElementBlock("div",mo,[e.createElementVNode("input",{type:"date",max:e.unref(m)[1],locale:"uk-UA",value:e.unref(m)[0],onInput:n[9]||(n[9]=d=>w(d.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:i.disabled},null,40,po),e.createElementVNode("input",{type:"date",min:e.unref(m)[0],locale:"uk-UA",value:e.unref(m)[1],onInput:n[10]||(n[10]=d=>k(d.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:i.disabled},null,40,fo)])):e.createCommentVNode("",!0)]),(i.cleanable,e.createCommentVNode("",!0))],64))}}),go={class:"flex flex-wrap items-center gap-2"},ho=["disabled","onClick"],yo={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},xo=e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,{innerValue:a,isSelected:u,selectItem:s,clear:m,labelKey:b,valueKey:f,allOptions:p}=Ve({...r,modelValue:r.modelValue??r.default??""},t),g=e.computed(()=>a.value!==void 0&&!(typeof a.value=="string"&&a.value==="")),y=e.computed(()=>g.value?1:0);function w(i){return u(i)?["bg-blue-600 text-white"].filter(n=>typeof n=="string"&&n.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(n=>typeof n=="string"&&n.trim().length>0).join(" ")}function k(i){r.disabled||s(i)}return o({clear:m}),e.watch(()=>r.modelValue,i=>{i===void 0&&(a.value=void 0)}),(i,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",go,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),d=>(e.openBlock(),e.createElementBlock("button",{key:d[e.unref(f)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",w(d)]),disabled:i.disabled,onClick:x=>k(d)},e.toDisplayString(d[e.unref(b)]),11,ho))),128))]),i.cleanable&&i.layout==="popover"?(e.openBlock(),e.createElementBlock("div",yo,[e.createElementVNode("span",null,e.toDisplayString(y.value)+" з "+e.toDisplayString(e.unref(p).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:n[0]||(n[0]=(...d)=>e.unref(m)&&e.unref(m)(...d))}," Очистити ",512),[[e.vShow,g.value]])])):e.createCommentVNode("",!0)],64))}}),Ke={radio:Ot,checkbox:Ae,check:Ae,text:nl,range:ul,date:Nl,select:jl,tag:Ul,button:xo,"date:inline":uo};function _e(c,o){let l;switch(c.toLowerCase()){case"autocomplete":l="select";break;case"check":l="checkbox";break;default:l=c==null?void 0:c.toString().toLowerCase()}return l==="date"&&o&&o==="inline"&&(l="date:inline"),{component:Ke[l]||Ke.text,type:l}}const bo={style:{display:"inline-flex",margin:"0px",width:"100%"}},ko={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},wo={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},Vo={class:"flex items-center"},Co={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},Bo={class:"filter-layout__body"},Eo=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,a=e.ref(),u=e.computed(()=>_e(r.type,r.layout)),s=e.computed({get:()=>r.modelValue,set:p=>t("update:modelValue",p)});function m(p){t("clear",p)}function b(p,g){t("change",{name:p,value:g}),r.modelValue!==void 0&&t("update:modelValue",g)}function f(){t("clear",r.name)}return e.watch(()=>r.default,p=>{s.value=p}),e.watch(()=>r.modelValue,p=>{s.value=p}),o({filterRef:a}),(p,g)=>{var y,w,k;return e.openBlock(),e.createElementBlock("div",bo,[e.createElementVNode("div",ko,[e.createElementVNode("div",wo,[e.createElementVNode("div",Vo,[e.createElementVNode("span",Co,e.toDisplayString(p.label),1)]),typeof s.value=="string"&&s.value.trim()!==""||Array.isArray(s.value)&&s.value.length>0&&s.value.some(i=>i!==void 0)||s.value===null?(e.openBlock(),e.createBlock(kt,{key:0,onClick:f})):e.createCommentVNode("",!0)]),e.createElementVNode("div",Bo,[((y=u.value)==null?void 0:y.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((w=u.value)==null?void 0:w.component),e.mergeProps({key:0},r,{type:(k=u.value)==null?void 0:k.type,class:r.itemClass,onChange:g[0]||(g[0]=i=>b(i.name,i.value)),onClear:g[1]||(g[1]=i=>m(i)),ref_key:"filterRef",ref:a}),null,16,["type","class"])):(e.openBlock(),e.createBlock(Ne,{key:1,"current-value":s.value,label:p.label,mode:p.mode,onClear:f,fieldRef:a.value,width:void 0,disabled:p.disabled,layout:"vertical"},{default:e.withCtx(()=>{var i,n;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((i=u.value)==null?void 0:i.component),e.mergeProps({ref_key:"filterRef",ref:a},r,{type:(n=u.value)==null?void 0:n.type,class:r.itemClass,onChange:g[2]||(g[2]=d=>b(d.name,d.value)),onClear:g[3]||(g[3]=d=>m(d))}),null,16,["type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),Ze=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,a=e.ref(),u=e.computed(()=>_e(r.type,r.layout)),s=e.computed({get:()=>r.modelValue,set:f=>t("update:modelValue",f)});function m(f=r.name){t("clear",f)}function b(f,p){t("change",{name:f,value:p}),r.modelValue!==void 0&&t("update:modelValue",p)}return e.watch(()=>r.default,f=>{s.value=f}),e.watch(()=>r.modelValue,f=>{s.value=f}),o({filterRef:a}),(f,p)=>{var g,y;return["text","date","button"].includes(f.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((g=u.value)==null?void 0:g.component),e.mergeProps({key:0},r,{type:(y=u.value)==null?void 0:y.type,class:f.itemClass,onChange:p[0]||(p[0]=w=>b(w.name,w.value)),onClear:p[1]||(p[1]=w=>m(w)),disabled:f.disabled,modelValue:s.value,"onUpdate:modelValue":p[2]||(p[2]=w=>s.value=w)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(Ne,{key:1,"current-value":s.value,label:f.label,mode:f.mode,onClear:m,fieldRef:a.value,width:r.width,disabled:f.disabled,layout:"inline"},{default:e.withCtx(()=>{var w,k;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((w=u.value)==null?void 0:w.component),e.mergeProps({ref_key:"filterRef",ref:a},r,{modelValue:s.value,"onUpdate:modelValue":p[3]||(p[3]=i=>s.value=i),type:(k=u.value)==null?void 0:k.type,class:r.itemClass,onChange:p[4]||(p[4]=i=>b(i.name,i.value)),onClear:p[5]||(p[5]=i=>m(i))}),null,16,["modelValue","type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),No=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,a=e.ref(),u=e.computed(()=>_e(r.type,r.layout)),s=e.computed({get:()=>r.modelValue,set:f=>t("update:modelValue",f)});function m(f){t("clear",f)}function b(f,p){t("change",{name:f,value:p}),r.modelValue!==void 0&&t("update:modelValue",p)}return e.watch(()=>r.default,f=>{s.value=f}),e.watch(()=>r.modelValue,f=>{s.value=f}),e.watch(()=>r,f=>{s.value=f}),o({filterRef:a}),(f,p)=>{var g,y;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((g=u.value)==null?void 0:g.component),e.mergeProps(r,{type:(y=u.value)==null?void 0:y.type,class:r.itemClass,modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=w=>s.value=w),onChange:p[1]||(p[1]=w=>b(w.name,w.value)),onClear:p[2]||(p[2]=w=>m(w)),ref_key:"filterRef",ref:a}),null,16,["type","class","modelValue"])}}}),oe=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,a=e.ref(),u=e.computed({get:()=>r.modelValue,set:f=>t("update:modelValue",f)});function s(f){t("clear",f)}function m(f,p){t("change",{name:f,value:p}),r.modelValue!==void 0&&t("update:modelValue",p)}e.watch(()=>r.default,f=>{u.value=f}),e.watch(()=>r.modelValue,f=>{u.value=f}),o({filterRef:a});function b(){switch(r.layout){case"inline":return Ze;case"vertical":return Eo;case"popover":return No;default:return Ze}}return(f,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(r,{onChange:p[0]||(p[0]=g=>m(g.name,g.value)),onClear:p[1]||(p[1]=g=>s(g)),modelValue:u.value,"onUpdate:modelValue":p[2]||(p[2]=g=>u.value=g)}),null,16,["modelValue"]))}});function be(c,o){const{slots:l}=c,r=n=>n?JSON.parse(JSON.stringify(e.toRaw(n))):{},t=e.ref(r(c.value));e.watch(()=>c.value,n=>{t.value=r(n)},{deep:!0,immediate:!0});const a=e.computed(()=>{var n;return(e.toRaw((n=l==null?void 0:l.default)==null?void 0:n.call(l))??[]).flatMap(d=>Array.isArray(d.children)?d.children:[d])});function u(n){delete t.value[n],o("clear",{data:e.toRaw(t.value),name:n})}function s(n,d){d===void 0?u(n):t.value={...t.value,[n]:d},o("change",{data:e.toRaw(t.value),name:n,value:d})}const m=e.computed(()=>a.value.map(n=>{var x,h,M;const d=(x=n.props)==null?void 0:x.name;return e.cloneVNode(n,{...n.props,layout:c.view,showClean:!0,modelValue:t.value[d],"onUpdate:modelValue":_=>{s(d,_)},onClear:()=>u(d),class:[c.itemClass,(h=n.props)==null?void 0:h.class],itemClass:[c.itemClass,(M=n.props)==null?void 0:M.itemClass].filter(_=>typeof _=="string"&&_.trim().length>0).join(" ")||void 0})})),b=e.computed(()=>new Map(m.value.map(n=>{var x;const d=(x=n.props)==null?void 0:x.name;return d?[d,n]:null}).filter(n=>n!==null)));function f(n=!1){t.value={},n||o("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const p=e.ref(""),g=e.computed(()=>{var n;return(n=c.schema)!=null&&n.value?Object.entries(t.value).filter(([d,x])=>c.schema&&!(d in c.schema.value)?!1:Array.isArray(x)?x.some(h=>h!==""&&h!==void 0):x!==""&&x!==void 0).length:0}),y=e.ref();e.watch(p,async()=>{var n,d;await e.nextTick(),(d=(n=y==null?void 0:y.value)==null?void 0:n.filterRef)!=null&&d.inputTextRef&&y.value.filterRef.inputTextRef.focus()});const w=e.computed(()=>{var n,d;return(n=c.schema)!=null&&n.value?Object.fromEntries(Object.entries((d=c.schema)==null?void 0:d.value).slice(0,c.limit)):{}}),k=e.computed(()=>{var d;if(m.value.length===0)return[];let n=0;if((d=c.schema)!=null&&d.value){const x=Object.entries(c.schema.value).length;c.limit&&x<c.limit?n=c.limit-x:n=0}return m.value.slice(0,n)}),i=e.computed(()=>m.value.length===0?[]:c.view!=="inline"?m.value:m.value.slice(k.value.length));return{activeFilter:t,activeFilterCount:g,onFilterChange:s,clearFilter:u,clearAllFilters:f,limitedSchema:w,filtersSlot:m,limitedFiltersSlot:k,popoverFiltersSlot:i,vnodeMap:b,selectedFilter:p,filterRef:y}}const _o=e.defineComponent({__name:"popover",emits:["open","close"],setup(c,{emit:o}){const l=e.ref(!1),r=e.ref(null),t=e.ref(null),a=e.ref(null),u=e.ref({top:"0px",left:"0px",position:"absolute"});function s(){l.value=!l.value}function m(){const y=a.value,w=r.value;if(!y||!w)return;const k=y.getBoundingClientRect(),i=w.offsetWidth,n=window.innerWidth-k.left;let d=k.left+window.scrollX;i>n&&(d=window.innerWidth-i-18,d<18&&(d=18)),u.value={position:"absolute",top:`${k.bottom+window.scrollY+18}px`,left:`${d}px`}}const b=e.computed(()=>Object.entries(u.value).map(y=>y.join(":")).join(";"));function f(y){var k,i;const w=y.target;!((k=a.value)!=null&&k.contains(y.target))&&!((i=r.value)!=null&&i.contains(y.target))&&!w.closest("[data-inside-popover]")&&(l.value=!1)}const p=e.ref(!1);e.onMounted(()=>{p.value=!0}),e.onMounted(()=>{var y,w;a.value=((y=t.value)==null?void 0:y.querySelector("[data-popover-trigger]"))||null,(w=a.value)==null||w.addEventListener("click",s),document.addEventListener("click",f),window.addEventListener("resize",m),window.addEventListener("scroll",m,!0)}),e.onBeforeUnmount(()=>{var y;(y=a.value)==null||y.removeEventListener("click",s),document.removeEventListener("click",f),window.removeEventListener("resize",m),window.removeEventListener("scroll",m,!0)});const g=o;return e.watch(l,async y=>{y?(g("open"),await e.nextTick(),m()):g("close")}),(y,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:t},[e.renderSlot(y.$slots,"trigger"),p.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:r,class:"absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",style:e.normalizeStyle(b.value)},[e.renderSlot(y.$slots,"default")],4),[[e.vShow,l.value]])])):e.createCommentVNode("",!0)],512))}}),So={},Mo={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 Do(c,o){return e.openBlock(),e.createElementBlock("svg",Mo,o[0]||(o[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)]))}const Ue=le(So,[["render",Do]]),Lo={class:"flex items-center gap-2 overflow-hidden"},zo={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"},Fo={class:"flex max-h-[400px]"},Ao={class:"w-64 border-r border-gray-200 overflow-y-auto"},$o={class:"p-4 border-b"},jo={class:"text-sm text-gray-600"},To={class:"p-2"},Po=["onClick"],Ro={class:"flex items-center gap-2"},Ko={class:"text-sm font-medium"},Zo={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"},Uo=["onClick"],Io={class:"flex items-center gap-2"},Oo={class:"text-sm font-medium"},Ho={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-1 text-[11px] font-semibold text-blue-600"},Wo={key:0,class:"p-2 border-t"},qo={class:"flex-1 min-h-[300px] overflow-y-auto"},Go={key:0,class:"flex items-center justify-center h-full text-gray-500"},Yo={class:"text-sm"},Ie=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const r=ne(),t=c,a=Pe(t.mode),u=e.useSlots(),s=l,m=e.ref({}),b=e.computed(()=>m!=null&&m.value?t.view!=="inline"?m==null?void 0:m.value:Object.fromEntries(Object.entries(m==null?void 0:m.value).slice(t.limit)):{}),{activeFilter:f,activeFilterCount:p,onFilterChange:g,clearFilter:y,clearAllFilters:w,popoverFiltersSlot:k,selectedFilter:i,filterRef:n}=be({...t,schema:m,slots:u},s),d=e.computed(()=>t.badgeCount??p.value);function x(_){return Array.isArray(_)?_.filter(C=>C!=null&&C!=="").length:_&&typeof _=="object"?Object.values(_).filter(C=>C!=null&&C!=="").length:_===null||_!==void 0&&_!==""?1:0}function h(_){return f.value?x(f.value[_]):0}function M(){if(b.value){const[_]=Object.keys(b.value);i.value=_}else k.value.length>0?i.value=k.value[0].props.name:i.value=""}return e.watch(()=>t.schema,_=>{m.value=_??{}},{deep:!0,immediate:!0}),o({clearFilter:y,clearAllFilters:w}),(_,C)=>(e.openBlock(),e.createBlock(_o,{onOpen:M,onClose:C[5]||(C[5]=S=>i.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([_.itemClass,e.unref(a),"flex items-center justify-between gap-2",d.value>0?"border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500":"text-neutral-700 hover:border-neutral-400"]),type:"button"},[e.createElementVNode("span",Lo,[e.createVNode(Ue,{class:"h-4 w-4"}),C[6]||(C[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),d.value>0?(e.openBlock(),e.createElementBlock("span",zo,e.toDisplayString(d.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Fo,[e.createElementVNode("div",Ao,[e.createElementVNode("div",$o,[e.createElementVNode("p",jo,e.toDisplayString(e.unref(r)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",To,[_.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(b.value),([S,L])=>(e.openBlock(),e.createElementBlock("button",{key:S,onClick:()=>{i.value=S},class:e.normalizeClass(["flex w-full items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",e.unref(i)===S?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Ro,[e.createElementVNode("span",Ko,e.toDisplayString(L.label),1)]),h(S)>0?(e.openBlock(),e.createElementBlock("div",Zo,e.toDisplayString(h(S)),1)):e.createCommentVNode("",!0)],10,Po))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(S,L)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+L,onClick:B=>i.value=S.props.name,class:e.normalizeClass(["flex items-center justify-between px-3 py-2 text-left transition-colors hover:bg-gray-50",e.unref(i)===S.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Io,[e.createElementVNode("span",Oo,e.toDisplayString(S.props.label),1)]),h(S.props.name)>0?(e.openBlock(),e.createElementBlock("div",Ho,e.toDisplayString(h(S.props.name)),1)):e.createCommentVNode("",!0)],10,Uo))),128))]),e.unref(p)>0?(e.openBlock(),e.createElementBlock("div",Wo,[e.createElementVNode("button",{class:e.normalizeClass([_.itemClass,"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:C[0]||(C[0]=S=>e.unref(w)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",qo,[e.unref(i)===""?(e.openBlock(),e.createElementBlock("div",Go,[e.createElementVNode("p",Yo,e.toDisplayString(e.unref(r)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(i)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[b.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(b.value),([S,L])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(i)===S?(e.openBlock(),e.createBlock(oe,e.mergeProps({key:S,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:n},{ref_for:!0},L,{class:[_.itemClass,L==null?void 0:L.class],"item-class":[_.itemClass,L==null?void 0:L.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[1]||(C[1]=B=>e.unref(g)(B.name,B.value)),onClear:C[2]||(C[2]=B=>{e.unref(y)(B),e.unref(g)(B,void 0)}),modelValue:e.unref(f)[S],"onUpdate:modelValue":B=>e.unref(f)[S]=B,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(S,L)=>{var B,z;return e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+L},[e.unref(i)===S.props.name?(e.openBlock(),e.createBlock(oe,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},S.props,{ref_for:!0,ref_key:"filterRef",ref:n,class:[_.itemClass,(B=S.props)==null?void 0:B.class],"item-class":[_.itemClass,(z=S.props)==null?void 0:z.itemClass].filter(Boolean).join(" ")||void 0,onChange:C[3]||(C[3]=R=>e.unref(g)(R.name,R.value)),onClear:C[4]||(C[4]=R=>{e.unref(y)(R),e.unref(g)(R,void 0)}),modelValue:e.unref(f)[S.props.name],"onUpdate:modelValue":R=>e.unref(f)[S.props.name]=R,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Qo={class:"flex gap-1 items-center flex-wrap"},Oe=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const r=ne(),t=c,a=l,u=e.useSlots(),s=e.ref({}),m=e.computed(()=>Object.keys(t.schema).length>t.limit),{activeFilter:b,activeFilterCount:f,onFilterChange:p,clearFilter:g,clearAllFilters:y,limitedSchema:w,filtersSlot:k,limitedFiltersSlot:i}=be({...t,schema:s,slots:u},a);function n(C){return Array.isArray(C)?C.some(S=>S!==""&&S!==void 0&&S!==null):C===null?!0:C&&typeof C=="object"?Object.values(C).some(S=>S!==""&&S!==void 0&&S!==null):C!==""&&C!==void 0}const d=e.computed(()=>{const C=Object.keys(w.value??{}),S=i.value.map(L=>{var B;return(B=L.props)==null?void 0:B.name}).filter(L=>typeof L=="string");return new Set([...C,...S])}),x=e.computed(()=>Object.entries(b.value??{}).filter(([C,S])=>d.value.has(C)&&n(S)).length),h=e.computed(()=>{const C=f.value??0,S=x.value??0;return Math.max(C-S,0)}),M=e.ref();function _(){M.value&&M.value.clearAllFilters(!0),y()}return e.watch(()=>t.schema,C=>{s.value=C},{deep:!0,immediate:!0}),o({clearFilter:g,clearAllFilters:y}),(C,S)=>(e.openBlock(),e.createElementBlock("div",Qo,[C.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(w)),([L,B])=>(e.openBlock(),e.createBlock(oe,e.mergeProps({key:L,mode:C.mode,width:C.width?C.width:B==null?void 0:B.width},{ref_for:!0},B,{class:[C.itemClass,B==null?void 0:B.class],"item-class":[C.itemClass,B==null?void 0:B.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[0]||(S[0]=z=>e.unref(p)(z.name,z.value)),onClear:e.unref(g),layout:"inline",cleanable:!0,modelValue:e.unref(b)[L],"onUpdate:modelValue":z=>e.unref(b)[L]=z}),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(i),(L,B)=>{var z,R;return e.openBlock(),e.createBlock(oe,e.mergeProps({key:"slot-"+B,layout:"inline"},{ref_for:!0},L.props,{class:[C.itemClass,(z=L.props)==null?void 0:z.class],"item-class":[C.itemClass,(R=L.props)==null?void 0:R.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[1]||(S[1]=A=>e.unref(p)(A.name,A.value)),onClear:S[2]||(S[2]=A=>{e.unref(g)(A),e.unref(p)(A,void 0)}),cleanable:!0,modelValue:e.unref(b)[L.props.name],"onUpdate:modelValue":A=>e.unref(b)[L.props.name]=A}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128)),m.value?(e.openBlock(),e.createBlock(Ie,e.mergeProps({key:1},t,{schema:C.schema,limit:C.limit,onChange:S[3]||(S[3]=L=>e.unref(p)(L.name,L.value)),onClearAll:S[4]||(S[4]=L=>e.unref(y)()),onClear:S[5]||(S[5]=L=>e.unref(g)(L.name)),mode:C.mode,ref_key:"popoverRef",ref:M,cleanable:!0,"badge-count":h.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(L,B)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(L),e.mergeProps({key:"slot-"+B,layout:"popover"},{ref_for:!0},L.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:_,class:e.normalizeClass([C.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)]))}}),Xo={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"},Jo={class:"flex items-center vst-filters vsTailwind flex-col w-full"},vo=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const r=c,t=l,a=e.useSlots(),{activeFilter:u,activeFilterCount:s,onFilterChange:m,clearFilter:b,clearAllFilters:f,filtersSlot:p}=be({...r,slots:a},t);return o({clearFilter:b,clearAllFilters:f}),(g,y)=>g.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Xo,[e.createElementVNode("div",Jo,[e.unref(s)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:y[0]||(y[0]=w=>e.unref(f)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([g.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),g.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(g.schema),([w,k])=>(e.openBlock(),e.createBlock(oe,e.mergeProps({layout:"vertical"},{ref_for:!0},k,{class:[g.itemClass,k==null?void 0:k.class],"item-class":[g.itemClass,k==null?void 0:k.itemClass].filter(Boolean).join(" ")||void 0,onChange:y[1]||(y[1]=i=>e.unref(m)(i.name,i.value)),onClear:y[2]||(y[2]=i=>{e.unref(b)(i),e.unref(m)(i,void 0)}),modelValue:e.unref(u)[w],"onUpdate:modelValue":i=>e.unref(u)[w]=i,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(p),(w,k)=>{var i,n;return e.openBlock(),e.createBlock(oe,e.mergeProps({key:"slot-"+k,layout:"vertical"},{ref_for:!0},w.props,{class:[g.itemClass,(i=w.props)==null?void 0:i.class],"item-class":[g.itemClass,(n=w.props)==null?void 0:n.itemClass].filter(Boolean).join(" ")||void 0,onChange:y[3]||(y[3]=d=>e.unref(m)(d.name,d.value)),onClear:y[4]||(y[4]=d=>{e.unref(b)(d),e.unref(m)(d,void 0)}),modelValue:e.unref(u)[w.props.name],"onUpdate:modelValue":d=>e.unref(u)[w.props.name]=d,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))])])):e.createCommentVNode("",!0)}}),er=["onKeydown"],tr=["disabled"],lr={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"},or={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},rr={class:"mb-3 flex items-center justify-between"},nr={class:"text-[15px] font-semibold text-slate-800"},ar={"aria-hidden":"true"},ir={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},sr={key:0,class:"mt-3 flex justify-end"},cr=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{emit:o}){const l=ne(),r=c,t=o,a=e.ref({}),u=e.useSlots(),{activeFilter:s,activeFilterCount:m,onFilterChange:b,clearFilter:f,clearAllFilters:p,filtersSlot:g}=be({...r,schema:a.value,slots:u},t),y=e.ref(null),w=e.ref(null),k=e.reactive({open:!1,top:0,left:0}),i=e.computed(()=>k.open),n=e.computed(()=>!!r.disabled),d=e.computed(()=>a.value||{}),x=e.computed(()=>r.title??"Фільтр"),h=e.computed(()=>!!u.trigger),M=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",n.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),_=e.computed(()=>k.open?{position:"absolute",top:`${k.top}px`,left:`${k.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function C(){k.open=!1}function S(){if(!y.value)return;const A=y.value.getBoundingClientRect();k.top=A.bottom+window.scrollY+8,k.left=A.left+A.width/2+window.scrollX}function L(){k.open=!k.open,k.open&&e.nextTick(S)}function B(){n.value||L()}function z(){k.open&&S()}function R(){p()}return e.onMounted(()=>{window.addEventListener("resize",z),window.addEventListener("scroll",z,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",z),window.removeEventListener("scroll",z,!0)}),e.watch(()=>r.schema,A=>{if(!A){a.value={};return}if(Array.isArray(A)){const V=A.filter($=>$&&($.name||$.id)).map($=>{const T=$.name||$.id;return[T,{...$,name:T}]});a.value=Object.fromEntries(V);return}a.value=A},{deep:!0,immediate:!0}),e.watch(()=>r.disabled,A=>{A&&C()}),(A,V)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:y},[h.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",n.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(B,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(B,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(B,["prevent","stop"]),["space"])]},[e.renderSlot(A.$slots,"trigger",{toggle:B,open:i.value,disabled:n.value,activeCount:e.unref(m)})],42,er)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(M.value),type:"button",disabled:n.value,onClick:e.withModifiers(B,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(Ue,{class:"h-4 w-4"}),e.unref(m)>0?(e.openBlock(),e.createElementBlock("div",lr,e.toDisplayString(e.unref(m)),1)):e.createCommentVNode("",!0)],10,tr)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof A.width=="number"?`min-w-[${A.width+32+(Object.keys(d.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(_.value),ref_key:"panel",ref:w,onClick:V[4]||(V[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",or,[e.createElementVNode("div",rr,[e.createElementVNode("h3",nr,e.toDisplayString(x.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:C},[e.createElementVNode("span",ar,[e.createVNode(Ee,{class:"h-4 w-4"})]),V[5]||(V[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",ir,[Object.keys(d.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(d.value),([$,T])=>(e.openBlock(),e.createBlock(oe,e.mergeProps({key:$},{ref_for:!0},{...T,layout:"inline"},{width:A.width?A.width:T==null?void 0:T.width,class:[A.itemClass,T==null?void 0:T.class],"item-class":[A.itemClass,T==null?void 0:T.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(s)[$],"onUpdate:modelValue":I=>e.unref(s)[$]=I,onChange:V[0]||(V[0]=I=>e.unref(b)(I.name,I.value)),onClear:V[1]||(V[1]=I=>{e.unref(f)(I),e.unref(b)(I,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),($,T)=>{var I,Q;return e.openBlock(),e.createBlock(oe,e.mergeProps({key:"slot-"+T,ref_for:!0},{...$.props,layout:"inline"},{class:[A.itemClass,(I=$.props)==null?void 0:I.class],"item-class":[A.itemClass,(Q=$.props)==null?void 0:Q.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(s)[$.props.name],"onUpdate:modelValue":J=>e.unref(s)[$.props.name]=J,onChange:V[2]||(V[2]=J=>e.unref(b)(J.name,J.value)),onClear:V[3]||(V[3]=J=>{e.unref(f)(J),e.unref(b)(J,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))]),e.unref(m)>0?(e.openBlock(),e.createElementBlock("div",sr,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([A.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:R},e.toDisplayString(e.unref(l)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),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:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const r=c,t=e.ref(m(r.value??{}));e.watch(()=>r.value,async i=>{var n,d;t.value=m(i??{}),(!i||Object.keys(i).length===0)&&(await e.nextTick(),(d=(n=u.value)==null?void 0:n.clearAllFilters)==null||d.call(n,!0))},{deep:!0,immediate:!0});const a=l,u=e.ref(),s=e.useSlots();function m(i){if(Array.isArray(i))return i.map(n=>m(n));if(i!==null&&typeof i=="object"){const n=e.toRaw(i),d={};for(const x in n)d[x]=m(n[x]);return d}return i}function b(i,n){n!==void 0?t.value={...t.value,[i]:n}:delete t.value[i],a("change",{data:m(t.value),name:i,value:m(n)})}function f(i){delete t.value[i],a("clear",{data:m(t.value),name:i}),a("change",{data:m(t.value),name:i,value:null})}function p(){t.value={},a("clear",{data:m(t.value),name:"ALL"}),a("change",{data:m(t.value),name:"ALL",value:null})}const g=e.ref({});function y(){switch(r.view){case"inline":return Oe;case"vertical":return vo;case"popover":return Ie;case"popover-inline":return cr;default:return Oe}}e.watch(()=>r.schema,i=>{if(!i){g.value={};return}if(Array.isArray(i)&&!i.length){g.value={};return}Array.isArray(i)?g.value=i.filter(n=>n.type).reduce((n,d)=>(Object.assign(d,{name:d.id||d.name,type:{datepicker:"date"}[d.type.toLowerCase()]||d.type.toLowerCase(),label:d.label||d.ua}),n[d.name]=d,d.data&&!d.api&&!d.options&&Object.assign(d,{api:`/api/suggest/${d.data}`}),n),{}):(Object.entries(i).forEach(([n,d])=>{Object.assign(d,{name:n||d.name||d.id,type:d.type.toLowerCase()})}),g.value={...i})},{immediate:!0,deep:!0});function w(i){u.value.clearFilter(i),f(i)}function k(){u.value.clearAllFilters(),p()}return e.watch(()=>t.value,i=>{if(r.history){const n=new URL(window.location.href),d=new URLSearchParams(window.location.search);Object.keys(i).length>0?d.set("filter",Object.entries(i).filter(([,x])=>x).map(([x,h])=>`${x}=${h}`).join("|")):d.delete("filter"),n.search=decodeURI(d.toString()),window.history.pushState({},"",n)}}),o({clearAllFilters:k,clearFilter:w}),(i,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y()),e.mergeProps(r,{schema:g.value,onChange:n[0]||(n[0]=d=>b(d.name,d.value)),onClear:n[1]||(n[1]=d=>f(d.name)),onClearAll:p,ref_key:"filterRef",ref:u}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(s).trigger?{name:"trigger",fn:e.withCtx(d=>[e.renderSlot(i.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(d)))]),key:"0"}:void 0]),1040,["schema"]))}});Se.install=function(c){c.component("Filter",Se),c.component("FilterField",oe)};function dr(c){const{page:o,id:l,filter:r,filterByView:t}=c,a=new URL(window.location.href),u=new URLSearchParams(window.location.search);o?u.set("page",o.toString()):u.delete("page"),l?u.set("id",l.toString()):u.delete("id"),r?u.set("filter",r):u.delete("filter"),typeof t=="boolean"?u.set("bbox",t?"1":"0"):u.delete("bbox"),a.search=decodeURI(u.toString()),window.history.pushState({},"",a)}const mr={class:"flex items-center justify-between w-full gap-x-1"},pr={class:"flex items-center"},fr=["disabled"],ur={class:"flex items-center gap-x-1"},gr=["onClick"],hr=["disabled"],yr={class:"flex justify-center items-center gap-x-5 ml-3"},xr={class:"relative"},br={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"},kr=["onClick"],wr={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"},Vr=e.defineComponent({__name:"pagination",props:{total:{},currentPage:{},pageSize:{}},emits:["update:currentPage","update:pageSize","pageChange","pageSizeChange"],setup(c,{emit:o}){const l=c,r=o,t=e.ref(l.currentPage),a=e.ref(l.pageSize),u=e.ref(!1);e.watch(()=>l.pageSize,y=>{a.value=y});const s=e.computed(()=>Math.ceil(l.total/l.pageSize)),m=e.computed(()=>{const w=Math.floor(3.5);let k=t.value-w,i=t.value+w;k<1&&(i+=1-k,k=1),i>s.value&&(k-=i-s.value,i=s.value),k=Math.max(1,k);const n=[];for(let d=k;d<=i;d+=1)n.push(d);return n}),b=()=>{t.value>1&&p(t.value-1)},f=()=>{t.value<s.value&&p(t.value+1)},p=y=>{t.value=y,r("update:currentPage",y),r("pageChange",y)},g=(y=a.value)=>{a.value=y,u.value=!1,r("update:pageSize",a.value),r("update:currentPage",1),r("pageSizeChange",a.value)};return e.watch(()=>l.currentPage,y=>{t.value=y}),(y,w)=>(e.openBlock(),e.createElementBlock("nav",mr,[e.createElementVNode("div",pr,[e.createElementVNode("button",{type:"button","aria-label":"Previous",onClick:b,disabled:t.value===1,class:"border-white last:rounded-e-lg text-base h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 border text-sm rounded-lg bg-white text-gray-800 hover:shadow-sm hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50 dark:bg-neutral-700 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-800 py-2"},[...w[1]||(w[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,fr),e.createElementVNode("div",ur,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,k=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:k,onClick:i=>p(k),class:e.normalizeClass(t.value===k?"flex justify-center items-center rounded-lg text-sm dark:text-neutral-300 py-2 px-3 focus:outline-none disabled:opacity-50 disabled:pointer-events-none bg-[#e5e7eb] dark:bg-[#242424] border border-gray-200 text-base h-[38px] min-w-[38px]":"flex justify-center items-center rounded-lg text-sm dark:text-neutral-400 hover:bg-gray-100 py-2 px-3 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:hover:bg-neutral-800 dark:focus:bg-neutral-800 text-base h-[38px] min-w-[38px]")},e.toDisplayString(k),11,gr))),128))]),e.createElementVNode("button",{type:"button","aria-label":"Next",onClick:f,disabled:t.value===s.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"},[...w[2]||(w[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,hr)]),e.createElementVNode("div",yr,[e.createElementVNode("div",xr,[e.withDirectives(e.createElementVNode("div",br,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],k=>e.createElementVNode("button",{type:"button",key:k,onClick:i=>g(k),class:"w-full flex items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm text-gray-800 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:hover:text-neutral-300 dark:focus:bg-neutral-700"},[e.createTextVNode(e.toDisplayString(k)+" ",1),a.value===k?(e.openBlock(),e.createElementBlock("svg",wr,[...w[3]||(w[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,kr)),64))],512),[[e.vShow,u.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:w[0]||(w[0]=k=>u.value=!u.value)},[e.createTextVNode(e.toDisplayString(a.value)+" ",1),w[4]||(w[4]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down",height:"16",width:"16"},[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"})],-1))])])])]))}}),ue=(c,o)=>{const l=c.__vccOpts||c;for(const[r,t]of o)l[r]=t;return l},Cr={},Br={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 Er(c,o){return e.openBlock(),e.createElementBlock("svg",Br,[...o[0]||(o[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-stone-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-stone-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-stone-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-stone-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-stone-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter2)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-stone-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-stone-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-stone-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-stone-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter2" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)])])}const Nr=ue(Cr,[["render",Er]]),_r={},Sr={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 Mr(c,o){return e.openBlock(),e.createElementBlock("svg",Sr,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"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 Dr=ue(_r,[["render",Mr]]),Lr={},zr={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 Fr(c,o){return e.openBlock(),e.createElementBlock("svg",zr,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 4m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z"},null,-1),e.createElementVNode("path",{d:"M15 4v16"},null,-1),e.createElementVNode("path",{d:"M10 10l-2 2l2 2"},null,-1)])])}const Ar=ue(Lr,[["render",Fr]]),$r={},jr={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 Tr(c,o){return e.openBlock(),e.createElementBlock("svg",jr,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M3 7l6 -3l6 3l6 -3v13l-6 3l-6 -3l-6 3v-13"},null,-1),e.createElementVNode("path",{d:"M9 4v13"},null,-1),e.createElementVNode("path",{d:"M15 7v13"},null,-1)])])}const Pr=ue($r,[["render",Tr]]),Rr={},Kr={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 Zr(c,o){return e.openBlock(),e.createElementBlock("svg",Kr,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z"},null,-1),e.createElementVNode("path",{d:"M3 10h18"},null,-1),e.createElementVNode("path",{d:"M10 3v18"},null,-1)])])}const Ur=ue(Rr,[["render",Zr]]);function He(c,o){let l;return function(...r){clearTimeout(l),l=setTimeout(()=>c(...r),o)}}function We(c,o,l=12,r=12){const t=o??"";return`${window.location.origin}/api/vtile/${c}/ua/{z}/{x}/{y}.vmt?pointZoom=${r}&clusterZoom=${l}&filter=${t}`}function Ir(c,o,l,r,t=12,a=12){if(!o)return;const u=We(c,r,t,a);o.addSource("vector",{type:"vector",tiles:[u],minzoom:0,maxzoom:12});const s=["coalesce",["get","point_count"],["get","pointCount"],["get","cluster_count"],["get","clusterCount"],0],m=[">",s,1],b=["<=",s,1],f=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],p=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]],g=["coalesce",["get","point_count_abbreviated"],["get","cluster_count_abbreviated"],["get","clusterCountAbbreviated"],s];o.addLayer({id:"vector-clusters",type:"circle",source:"vector","source-layer":c,filter:m,maxzoom:12,paint:{"circle-color":["step",s,"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",s,18,100,26,750,32],"circle-opacity":.85}}),o.addLayer({id:"vector-cluster-count",type:"symbol",source:"vector","source-layer":c,filter:m,maxzoom:12,layout:{"text-field":["to-string",g],"text-font":["Noto Sans Regular"],"text-size":12},paint:{"text-color":"#1f2937"}}),o.addLayer({id:"vector-circle",type:"circle",maxzoom:12,source:"vector","source-layer":c,filter:["all",b,f],paint:{"circle-color":l,"circle-stroke-color":"#eee","circle-stroke-width":1,"circle-radius":["interpolate",["linear"],["zoom"],10,5,15,12]}}),o.addLayer({id:"vector-fill",type:"fill",minzoom:12,source:"vector","source-layer":c,filter:p,paint:{"fill-color":l,"fill-opacity":.6}})}const Or=[{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"}],Hr={class:"relative w-auto h-full"},Wr={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] pl-[10px] pr-[7px]"},qr={key:0,class:"text-[0.875rem] font-medium text-stone-700"},Gr=["aria-label"],Yr={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"},Qr={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"},Xr={class:"flex justify-start items-center gap-2"},Jr={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},vr={class:"text-[0.875rem]"},en={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},tn={key:1,class:"p-[10px]"},ln={class:"flex justify-start items-center gap-2"},on={class:"flex-1 flex justify-between items-center min-w-0 ml-1"},rn={class:"text-[0.875rem]"},nn={key:0,class:"text-[0.8rem] text-stone-500 shrink-0 ml-2"},an={class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},sn=["title","onClick"],cn=["src"],dn={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"},ke="vector-clusters",mn=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},filter:{},modelValue:{},zoom:{},minZoom:{},maxZoom:{},map:{},layers:{},clusterZoom:{},pointZoom:{},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{}},emits:["update:modelValue","update:map"],setup(c,{emit:o}){const l=c,r=o;let t,a;const u=e.getCurrentInstance(),s=e.ref(null),m=e.ref(!1),b=e.ref(!1),f=["vector-circle","vector-fill"],p=e.ref(!0),g=e.computed(()=>{var N,F;return((F=(N=u==null?void 0:u.appContext.config.globalProperties)==null?void 0:N.$settings)==null?void 0:F.basemaps)||[]}),y=e.computed(()=>(l.layers&&l.layers.length?l.layers:g.value.length?g.value:Or).map((F,P)=>{var re;const j=F.id||((re=F.name)==null?void 0:re.toString().toLowerCase().replace(/\s+/g,"-"))||`layer-${P}`,H=F.name||F.id||`layer-${P}`;return{...F,id:j,name:H}})),w=e.ref(""),k=e.computed(()=>y.value.find(N=>N.id===w.value)||y.value[0]);e.watch(y,N=>{var F;N.length&&(!w.value||!N.some(P=>P.id===w.value))&&(w.value=((F=N[0])==null?void 0:F.id)||"")},{immediate:!0});function i(N){return N?N.replace("{x}","2422").replace("{y}","1400").replace("{z}","12"):""}const n=e.ref(null),d=e.ref(null),x=["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#17BECF","#BCBD22"];let h;const M=[30,48];let _=null,C=[];function S(){if(typeof window>"u")return{zoom:null,center:null,hasQuery:!1};const N=new URLSearchParams(window.location.search),F=Number(N.get("z")),P=Number(N.get("y")),j=Number(N.get("x")),H=N.has("x")&&N.has("y"),re=N.has("z");return{zoom:re?F:null,center:H?[j,P]:null,hasQuery:H||re}}function L(N,F){if(!N||typeof window>"u")return;const P=new URL(window.location.href);P.searchParams.set("z",F.toFixed(2)),P.searchParams.set("x",N[0].toFixed(6)),P.searchParams.set("y",N[1].toFixed(6)),window.history.replaceState({},"",P)}let B=!1;function z(){if(!t||!B)return;const N=t.getCenter();L([N.lng,N.lat],t.getZoom())}const R=()=>{B||(B=!0),z()};function A(N){return N?["==",["to-string",["get","id"]],N]:["==",["literal",1],0]}const V=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],$=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]];function T(){const N=A(l.modelValue),F=["all",N,V],P=["all",N,$];if(!t.getLayer("vector-highlight-circle")){const re=(l.clusterZoom??12)-.01;t.addLayer({id:"vector-highlight-circle",type:"circle",maxzoom:re,source:"vector","source-layer":l.table,paint:{"circle-color":"#ef4444","circle-opacity":.8,"circle-stroke-color":"#b91c1c","circle-stroke-width":0,"circle-radius":["interpolate",["linear"],["zoom"],10,10,12,11]}})}t.getLayer("vector-highlight-fill")||t.addLayer({id:"vector-highlight-fill",type:"line",minzoom:l.clusterZoom??12,source:"vector","source-layer":l.table,paint:{"line-color":"#b91c1c","line-width":3,"line-opacity":.8}}),t.setFilter("vector-highlight-circle",F),t.setFilter("vector-highlight-fill",P);const j=l.modelValue?"visible":"none";t.setLayoutProperty("vector-highlight-circle","visibility",j),t.setLayoutProperty("vector-highlight-fill","visibility",j),Q()}function I(N){if(!t||!C.length)return;const F="#ef4444",P=N?["case",["all",["has","id"],["==",["to-string",["get","id"]],N]],F,C]:C;if(t.getLayer("vector-circle")&&t.setPaintProperty("vector-circle","circle-color",P),t.getLayer("vector-fill")){const j=N?["case",["all",["has","id"],["==",["to-string",["get","id"]],N]],F,C]:C;t.setPaintProperty("vector-fill","fill-color",j)}}function Q(){if(J(),!l.modelValue)return;let N=!0;_=window.setInterval(()=>{N=!N;const F=N?.8:.2;t!=null&&t.getLayer("vector-highlight-circle")&&t.setPaintProperty("vector-highlight-circle","circle-opacity",F),t!=null&&t.getLayer("vector-highlight-fill")&&t.setPaintProperty("vector-highlight-fill","line-opacity",F)},600)}function J(){_&&(clearInterval(_),_=null)}function v(){t&&(t.setCenter(l.center||M),t.setZoom(l.zoom||5))}function ce(){if(!(t!=null&&t.setLayerZoomRange))return;const N=l.minZoom??0,F=Math.min((l.maxZoom??18)+.01,24),P=l.clusterZoom??12,j=P-.01,H=p.value?j:F;t.getLayer("vector-circle")&&t.setLayerZoomRange("vector-circle",N,H),t.getLayer("vector-highlight-circle")&&t.setLayerZoomRange("vector-highlight-circle",N,H),t.getLayer("vector-fill")&&t.setLayerZoomRange("vector-fill",P,F),t.getLayer("vector-highlight-fill")&&t.setLayerZoomRange("vector-highlight-fill",P,F),t.getLayer(ke)&&t.setLayerZoomRange(ke,N,j),t.getLayer("vector-cluster-count")&&t.setLayerZoomRange("vector-cluster-count",N,j)}function de(){if(t!=null&&t.getSource("vector")){try{const F=t.querySourceFeatures("vector",{sourceLayerId:l.table}).some(P=>{var H;const j=(H=P.geometry)==null?void 0:H.type;return j==="Polygon"||j==="MultiPolygon"});p.value=F}catch{}ce()}}const me=S();B=me.hasQuery,e.onMounted(async()=>{h=(await fetch(`/api/data/${l.table}/${l.colorAttr}`).then(q=>q.json())).rows,h.forEach((q,G)=>{q.color||Object.assign(q,{color:x[G%10]})}),a=new maplibregl.Popup({closeButton:!1,closeOnClick:!1});const F=k.value;if(!F)return;const P=me.center||l.center||M,j=me.zoom||l.zoom||5;t=new maplibregl.Map({container:s.value,style:{version:8,sources:{[F.id]:{type:"raster",tiles:[F.url],tileSize:256}},layers:[{id:F.id,type:"raster",source:F.id,minzoom:0,maxzoom:19}]},center:P,zoom:j,minZoom:l.minZoom??3,maxZoom:l.maxZoom??18,attributionControl:!1}),r("update:map",t),t.addControl(new maplibregl.NavigationControl,"top-right"),t.on("zoom",()=>{}),t.on("moveend",R),t.on("zoomend",R),B&&z(),t.on("load",()=>{t==null||t.resize(),m.value=!0;const q=h.filter(O=>O.id).reduce((O,X)=>[X.id,X.color].concat(O),[]),G=["match",["get",l.colorAttr],...q,"#808080"];C=G,Ir(l.table,t,G,l.filter,l.clusterZoom,l.pointZoom??12),T(),I(l.modelValue),ce(),t.on("sourcedata",O=>{O.sourceId==="vector"&&O.isSourceLoaded&&t.getZoom()>=(l.clusterZoom??12)&&de()})});const H=q=>{var O,X;const G=(O=q.features)==null?void 0:O[0];(X=G==null?void 0:G.properties)!=null&&X.id&&r("update:modelValue",G.properties.id)};f.forEach(q=>{t.on("click",q,H)}),t.on("click",ke,q=>{var se,ge,he;const G=(se=q.features)==null?void 0:se[0];if(!G)return;const O=G.geometry,X=(O==null?void 0:O.type)==="Point"?O.coordinates:(he=(ge=O==null?void 0:O.coordinates)==null?void 0:ge[0])==null?void 0:he[0];if(!X)return;const fe=Math.min(t.getZoom()+2,t.getMaxZoom());t.easeTo({center:X,zoom:fe})}),[...f,ke].forEach(q=>{t.on("mouseenter",q,()=>{t.getCanvas().style.cursor="pointer"}),t.on("mouseleave",q,()=>{t.getCanvas().style.cursor=""})}),t.on("mousemove",q=>{var se;const G=t.queryRenderedFeatures(q.point,{layers:f});if(!G||!G.length){a.remove();return}const O=G[0],{coordinates:X}=O.geometry,fe=O.geometry.type==="Point"?X:X[0][0];d.value=O.properties,a.setLngLat(fe).setHTML((se=n.value)==null?void 0:se.innerHTML).addTo(t)})}),e.watch(()=>l.center,N=>{t&&t.setCenter(N||M)}),e.watch(()=>l.zoom,N=>{t&&t.setZoom(N)}),e.watch(()=>l.minZoom,N=>{t&&(t.setMinZoom(N??3),ce())}),e.watch(()=>l.maxZoom,N=>{t&&(t.setMaxZoom(N??18),ce())});function pe(N,F,P){if(!(t!=null&&t.getSource("vector")))return;const j=We(l.table,N??l.filter,F??l.clusterZoom??12,P??l.pointZoom??12);t.getSource("vector").setTiles([j])}return e.watch(()=>l.filter,N=>{pe(N)}),e.watch(()=>l.clusterZoom,N=>{pe(void 0,N),ce()}),e.watch(()=>l.pointZoom,N=>{pe(void 0,void 0,N)}),e.watch(()=>l.modelValue,N=>{if(!t)return;const F=A(N),P=["all",F,V],j=["all",F,$];if(t.getLayer("vector-highlight-circle")){t.setFilter("vector-highlight-circle",P);const H=N?"visible":"none";t.setLayoutProperty("vector-highlight-circle","visibility",H)}if(t.getLayer("vector-highlight-fill")){t.setFilter("vector-highlight-fill",j);const H=N?"visible":"none";t.setLayoutProperty("vector-highlight-fill","visibility",H)}I(N),N?Q():J()}),e.watch(w,(N,F)=>{if(!t||!N)return;const P=y.value.find(H=>H.id===N);if(!P)return;t.getLayer(F)&&t.removeLayer(F),t.getSource(F)&&t.removeSource(F),t.addSource(N,{type:"raster",tiles:[P.url],tileSize:256});const j=t.getLayer("vector-clusters")?"vector-clusters":t.getLayer("vector-circle")?"vector-circle":void 0;t.addLayer({id:P.id,type:"raster",source:P.id,minzoom:0,maxzoom:19},j)}),e.onBeforeUnmount(()=>{J(),t&&(t.off("moveend",R),t.off("zoomend",R),t.remove())}),(N,F)=>{const P=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Hr,[e.createElementVNode("div",{ref_key:"mapContainer",ref:s,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:v},[...F[1]||(F[1]=[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)])])),[[P,"Повернутися до базового вигляду"]]),e.createElementVNode("div",{class:e.normalizeClass(["absolute left-[20px] bottom-[74px] bg-white rounded-lg z-10 border legend-panel",{"legend-panel--has-header":l.legendTitle||l.isCollapsible}]),style:e.normalizeStyle(l.legendWidth?{width:l.legendWidth}:{maxWidth:"250px"})},[l.legendTitle||l.isCollapsible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Wr,[l.legendTitle?(e.openBlock(),e.createElementBlock("span",qr,e.toDisplayString(l.legendTitle),1)):e.createCommentVNode("",!0),l.isCollapsible?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"legend-panel__toggle ml-auto shrink-0 p-1.5 rounded-full hover:bg-stone-100 text-stone-600","aria-label":b.value?"Згорнути легенду":"Розгорнути легенду",onClick:F[0]||(F[0]=j=>b.value=!b.value)},[b.value?(e.openBlock(),e.createElementBlock("svg",Yr,[...F[2]||(F[2]=[e.createElementVNode("path",{d:"M6 9l6 6 6-6"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Qr,[...F[3]||(F[3]=[e.createElementVNode("path",{d:"m18 15-6-6-6 6"},null,-1)])]))],8,Gr)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"legend-panel__content overflow-hidden transition-all duration-200 ease-out",style:e.normalizeStyle(l.isCollapsible&&!b.value?{maxHeight:"0",padding:"0",margin:"0",opacity:"0"}:{})},[e.createElementVNode("div",{class:e.normalizeClass(["p-[10px]",b.value&&(e.unref(h)||[]).length?"pt-0":"pt-2"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h)||[],j=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:j.id},[e.createElementVNode("div",Xr,[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",Jr,[e.createElementVNode("span",vr,e.toDisplayString(j.text),1),j.count!=null?(e.openBlock(),e.createElementBlock("span",en,e.toDisplayString(j.count),1)):e.createCommentVNode("",!0)])])]))),128))],2)],4)],64)):(e.openBlock(),e.createElementBlock("div",tn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h)||[],j=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:j.id},[e.createElementVNode("div",ln,[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",on,[e.createElementVNode("span",rn,e.toDisplayString(j.text),1),j.count!=null?(e.openBlock(),e.createElementBlock("span",nn,e.toDisplayString(j.count),1)):e.createCommentVNode("",!0)])])]))),128))]))],6),e.createElementVNode("div",{ref_key:"popupDiv",ref:n,style:{display:"none"}},[e.renderSlot(N.$slots,"default",{hoverData:d.value})],512),e.createElementVNode("div",an,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.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:w.value===j.id}]),onClick:H=>w.value=j.id},[e.createElementVNode("img",{src:j.preview||i(j.url),class:"vs-map-slot-layers__image"},null,8,cn),e.createElementVNode("div",dn,e.toDisplayString(j.name),1)],10,sn)),[[P,j.name]])),128))])],512)),[[e.vShow,m.value]])}}}),qe={mounted(c,o){if(typeof document>"u")return;let l=null;const r=()=>{l=document.createElement("div"),l.textContent=o.value,Object.assign(l.style,{position:"absolute",background:"#333",color:"#fff",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:"9999"}),document.body.appendChild(l);const a=c.getBoundingClientRect();l.style.left=`${a.left+window.scrollX}px`,l.style.top=`${a.top+window.scrollY-l.offsetHeight-5}px`},t=()=>{l&&l.parentNode&&(l.parentNode.removeChild(l),l=null)};c.addEventListener("mouseenter",r),c.addEventListener("mouseleave",t),Object.assign(c,{tooltipHandlers:{showTooltip:r,hideTooltip:t}})},unmounted(c){if(typeof document>"u")return;const o=c.tooltipHandlers;o&&(c.removeEventListener("mouseenter",o.showTooltip),c.removeEventListener("mouseleave",o.hideTooltip))}},pn={class:"pt-[20px]"},fn={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},un={class:"flex items-center"},gn=["title"],hn={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},yn={class:"flex"},xn={key:0,class:"flex items-center py-[15px] pb-[24px] pl-2 pr-6 gap-4"},bn={class:"font-bold text-2xl mr-[10px]"},kn={class:"text-sm text-stone-500 font-medium"},wn={key:0,class:"inline-flex items-center gap-2 text-sm text-stone-700 select-none ml-auto mt-auto"},Vn={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},Cn={key:1,class:"text-center py-28"},Bn={key:1},En={key:2,class:"my-5 pr-2"},Nn={class:"flex justify-between"},_n={class:"w-full lg:w-1/2 relative"},Sn={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},Me=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}},emits:["change:filter","update:map"],setup(c,{emit:o}){var G,O,X,fe,se,ge,he;const l=e.getCurrentInstance();l&&!(l!=null&&l.appContext.directives.tooltip)&&(l.appContext.directives.tooltip=qe);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 t(E){switch(E==null?void 0:E.type){case"Polygon":return E.coordinates[0];case"MultiPolygon":return E.coordinates.flatMap(D=>D[0]);case"LineString":return E.coordinates;case"MultiLineString":return E.coordinates.flat();default:return[]}}function a(E){if(!E||E.type==="Point"||E.type==="MultiPoint")return null;const D=t(E);if(!D.length)return null;let Z=1/0,K=1/0,ee=-1/0,W=-1/0;return D.forEach(([U,te])=>{U<Z&&(Z=U),te<K&&(K=te),U>ee&&(ee=U),te>W&&(W=te)}),[[Z,K],[ee,W]]}function u(E){return(E==null?void 0:E.type)==="Polygon"||(E==null?void 0:E.type)==="MultiPolygon"}const s=c,m=o,b=e.ref(0);b.value=s.initTotal??((G=s.rows)==null?void 0:G.length)??0;const f=e.ref(""),p=e.ref(null),g=e.ref(!0),y=e.ref(((O=s.rows)==null?void 0:O.length)===1),w=e.ref(0),k=e.ref(s.rows),i=e.ref(1),n=e.ref(20),d=e.ref(s.filters||[]),x=e.ref(""),h=e.ref({}),M=e.ref(((X=s.rows)==null?void 0:X.length)===1?s.rows[0]:{}),_=e.ref(((fe=s.rows)==null?void 0:fe.length)===1?s.rows[0].id:""),C=e.ref(((se=s.rows)==null?void 0:se.length)===1?r((ge=s.rows[0])==null?void 0:ge.geom):s.center||null),S=e.ref(((he=s.rows)==null?void 0:he.length)===1?14:s.zoom||5),L=e.ref(!1),B=e.ref(!1),z=e.ref("");let R=!1;const A=e.ref(null),V=e.ref(null),$=e.computed(()=>{var E;return y.value&&!((E=M.value)!=null&&E.geom)}),T=e.computed({get:()=>$.value?"":_.value,set:E=>{_.value=E}});function I(){var W,U,te;if(!s.polygonFitBbox||!p.value||!((W=M.value)!=null&&W.geom)){A.value=null,V.value=null;return}const{geom:E}=M.value;if(!u(E)){A.value=null,V.value=null;return}const D=a(E);if(!D){A.value=null,V.value=null;return}const Z=(te=(U=p.value).cameraForBounds)==null?void 0:te.call(U,D,{padding:20,maxZoom:16}),K=Z==null?void 0:Z.zoom,ee=s.clusterZoom??12;if(K!=null&&K<ee){const Ge=Math.floor(K);A.value=Ge,V.value=Ge}else A.value=null,V.value=null}function Q(E){return Object.entries(E).filter(([D,Z])=>Array.isArray(Z)?Z.length:Z).map(([D,Z])=>`${D}=${Z}`).join("|")}function J(){var K,ee,W,U;if(!p.value||!B.value)return;const E=(ee=(K=p.value).getBounds)==null?void 0:ee.call(K);if(!E)return;const D=(W=E.getSouthWest)==null?void 0:W.call(E),Z=(U=E.getNorthEast)==null?void 0:U.call(E);!D||!Z||(z.value=`${D.lng} ${D.lat},${Z.lng} ${Z.lat}`)}async function v(E=!1){await e.nextTick();const D=Q(h.value);x.value=D,B.value?J():z.value="";try{const Z={search:f.value,limit:n.value.toString(),page:i.value.toString(),filter:D,...B.value&&z.value?{bbox:z.value}:{}},K=new URL(`/api/data/${s.table}`,window.location.origin)+(_.value?`/${_.value}`:""),ee=new URLSearchParams(Z).toString(),W=await fetch(`${K.toString()}?${ee}`).then(U=>U.json());if(_.value){let U;if(W.rows.length>1?U=W.rows.find(te=>te.id===_.value):[U]=W.rows,M.value=U,!E&&(U!=null&&U.geom)){const te=s.polygonFitBbox?a(U.geom):null;te&&p.value?p.value.fitBounds(te,{padding:20,maxZoom:16,duration:500}):(C.value=r(U.geom),S.value=14)}I(),y.value=!0}else A.value=null,V.value=null,y.value=!1,L.value||(S.value=s.zoom||5),k.value=W==null?void 0:W.rows;L.value=!1,b.value=W.filtered,dr({page:i.value,filter:D,id:_.value,filterByView:B.value})}catch(Z){console.error(Z.message)}}const ce=He(()=>v(),300),de=He(()=>v(!0),400);function me(){!p.value||R||!B.value||(p.value.on("moveend",de),p.value.on("zoomend",de),R=!0)}function pe(){!p.value||!R||(p.value.off("moveend",de),p.value.off("zoomend",de),R=!1)}function N(E){n.value=E,i.value=1,v()}function F(E){i.value=E,v()}function P(E){h.value=E.data,i.value=1,_.value?_.value="":v(),m("change:filter",E)}async function j(){if(s.filters)return;const D=await(await fetch(`/api/filter/${s.table}`)).json();d.value=D.list}function H(){h.value={},f.value="",v()}e.onMounted(async()=>{var Z,K;w.value=window.innerWidth,w.value<1e3&&(g.value=!1);const E=new URLSearchParams(window.location.search);i.value=Number(E.get("page"))||1,n.value=Number(E.get("limit"))||n.value,_.value=E.get("id")||"",y.value=!!_.value,x.value=E.get("filter")||"";const D=E.get("bbox");D!==null?B.value=D!=="0":B.value=!1,(K=(Z=E.get("filter"))==null?void 0:Z.split("|"))==null||K.forEach(ee=>{const[W,U]=ee.split("=");W&&(h.value[W]=U!=null&&U.includes(",")?U.split(","):[U])}),j(),!k.value&&!_.value&&v()}),e.onBeforeUnmount(()=>{pe()});function re(){L.value=!0,y.value=!1,M.value=null,_.value="",A.value=null,V.value=null}function q(E){if(E!=null&&E.geom){const D=s.polygonFitBbox?a(E.geom):null;D&&p.value?p.value.fitBounds(D,{padding:20,maxZoom:16,duration:500}):(C.value=r(E.geom),S.value=16)}M.value=E,_.value=E.id,I()}return e.watch(p,E=>{var D;m("update:map",E),E&&B.value&&me(),E&&s.polygonFitBbox&&((D=M.value)!=null&&D.geom)&&I()}),e.watch(f,E=>{E||v()}),e.watch(_,()=>{v()}),e.watch(B,()=>{B.value?me():pe(),v()}),(E,D)=>{var Z;return e.openBlock(),e.createElementBlock("section",pn,[e.renderSlot(E.$slots,"header",{title:s.title,total:b.value}),e.createElementVNode("div",fn,[e.createVNode(e.unref(oe),{type:"text",modelValue:f.value,"onUpdate:modelValue":D[0]||(D[0]=K=>f.value=K),name:"search",label:"Пошук",onChange:e.unref(ce)},null,8,["modelValue","onChange"]),d.value.length?(e.openBlock(),e.createBlock(e.unref(Se),{key:0,schema:d.value,view:"inline",onChange:P,limit:5,value:h.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",un,[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:g.value?"Приховати карту":"Показати карту",onClick:D[1]||(D[1]=K=>g.value=!g.value)},[g.value?(e.openBlock(),e.createBlock(Dr,{key:0})):(e.openBlock(),e.createBlock(Ar,{key:1})),D[9]||(D[9]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,gn),e.createElementVNode("div",hn,[e.createElementVNode("button",{onClick:D[2]||(D[2]=K=>g.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(Ur)]),e.createElementVNode("button",{onClick:D[3]||(D[3]=K=>g.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(Pr)])])])]),e.createElementVNode("div",yn,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",g.value?"w-2/4 mr-0":"w-full mr-3",y.value?"hidden":""])},[(Z=E.$slots)!=null&&Z.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",xn,[e.createElementVNode("div",null,[e.createElementVNode("span",bn,e.toDisplayString(s.title),1),e.createElementVNode("span",kn,e.toDisplayString(b.value),1),D[10]||(D[10]=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1))]),s.objectsInView?(e.openBlock(),e.createElementBlock("label",wn,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"accent-blue-600 w-4 h-4","onUpdate:modelValue":D[4]||(D[4]=K=>B.value=K)},null,512),[[e.vModelCheckbox,B.value]]),D[11]||(D[11]=e.createElementVNode("span",null,"В межах видимої області",-1))])):e.createCommentVNode("",!0)])),e.createElementVNode("div",Vn,[b.value>=1?e.renderSlot(E.$slots,"table",{key:0,rows:k.value,selectRow:q}):(e.openBlock(),e.createElementBlock("div",Cn,[e.createVNode(Nr),D[12]||(D[12]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),D[13]||(D[13]=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:H}," Очистити дані пошуку ")]))]),b.value>=1?(e.openBlock(),e.createElementBlock("hr",Bn)):e.createCommentVNode("",!0),b.value>=1?(e.openBlock(),e.createElementBlock("div",En,[e.createElementVNode("div",Nn,[e.createVNode(Vr,{total:b.value,currentPage:i.value??1,pageSize:n.value,onPageChange:D[5]||(D[5]=K=>F(K)),onPageSizeChange:D[6]||(D[6]=K=>N(K))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),y.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(g.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:s.table,selectedRow:M.value,closeObjCard:re})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",_n,[e.createVNode(mn,{table:s.table,map:p.value,"onUpdate:map":D[7]||(D[7]=K=>p.value=K),zoom:S.value,minZoom:s.minZoom,maxZoom:s.maxZoom,colorAttr:s.colorAttr,filter:x.value,center:C.value,clusterZoom:A.value??s.clusterZoom,pointZoom:V.value??12,modelValue:T.value,"onUpdate:modelValue":D[8]||(D[8]=K=>T.value=K),layers:s.layers,isCollapsible:s.isCollapsible,legendTitle:s.legendTitle,legendWidth:s.legendWidth},{default:e.withCtx(({hoverData:K})=>[e.renderSlot(E.$slots,"popup",{data:K})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","pointZoom","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.renderSlot(E.$slots,"default",{table:s.table,map:p.value,selectedRow:M.value}),$.value?(e.openBlock(),e.createElementBlock("div",Sn,[...D[14]||(D[14]=[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,g.value]])])])}}});return Me.install=c=>{c.component("VsPartsMap",Me),c._context.directives.tooltip||c.directive("tooltip",qe)},Me});
|