@opengis/partsmap 0.1.16 → 0.1.18
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 +1315 -1297
- 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,oe){typeof exports=="object"&&typeof module<"u"?module.exports=oe(require("vue")):typeof define=="function"&&define.amd?define(["vue"],oe):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=oe(e.Vue))})(this,function(e){"use strict";const oe=(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 Ke={},Ue={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 Oe(c,o){return e.openBlock(),e.createElementBlock("svg",Ue,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 Ie=oe(Ke,[["render",Oe]]),Ze={},He={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 We(c,o){return e.openBlock(),e.createElementBlock("svg",He,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 qe=oe(Ze,[["render",We]]),Ye={},Ge={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 Qe(c,o){return e.openBlock(),e.createElementBlock("svg",Ge,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 Xe=oe(Ye,[["render",Qe]]),Je={},ve={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 et(c,o){return e.openBlock(),e.createElementBlock("svg",ve,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const tt=oe(Je,[["render",et]]),lt={class:"rounded-md border border-gray-300 bg-white p-4 shadow-sm"},ot={class:"flex items-start gap-4 opacity-100 scale-5 transition-all duration-300"},rt={class:"flex-1"},at={class:"font-medium text-gray-900"},nt={class:"mt-0.5 text-sm text-gray-700"},it=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(c){const o={success:Ie,warning:qe,error:tt,info:Xe};return(l,r)=>(e.openBlock(),e.createElementBlock("div",lt,[e.createElementVNode("div",ot,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o[l.type]))),e.createElementVNode("div",rt,[e.createElementVNode("strong",at,e.toDisplayString(l.title),1),e.createElementVNode("p",nt,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 se={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"},Ve=c=>{var d;const{type:o="info",title:l,message:r,position:t="right-bottom"}=c||{};let n=document.querySelector("#notify-root");n||(n=document.createElement("div"),n.id="notify-root",n.className=`fixed z-[2000] flex flex-col gap-3 ${se[t]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(n)),n.className.includes(se[t])||(Object.values(se).forEach(b=>{n.classList.remove(...b.split(" "))}),n.classList.add(...se[t].split(" ")));const m=document.createElement("div");n.appendChild(m);const f=e.createApp({render(){return e.h(it,{type:o,title:l,message:r,onClose:()=>{f.unmount(),m.remove()}})}});f.mount(m),(d=m.querySelector("button"))==null||d.addEventListener("click",()=>{m.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{f.unmount(),m.remove()},350)}),setTimeout(()=>{m.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{f.unmount(),m.remove()},350)},3500)},v=(c,o)=>{const l=c.__vccOpts||c;for(const[r,t]of o)l[r]=t;return l},st={},ct={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 dt(c,o){return e.openBlock(),e.createElementBlock("svg",ct,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 mt=v(st,[["render",dt]]),pt={},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:"text-blue-600 w-[16px] h-[16px]"};function ut(c,o){return e.openBlock(),e.createElementBlock("svg",ft,o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const re=v(pt,[["render",ut]]),gt={class:"flex items-center justify-between w-full text-sm"},ht={class:"flex items-center cursor-pointer w-full"},yt={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},xt=["value"],bt={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},kt={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},wt={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},fe=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(c,{expose:o,emit:l}){const r=c,t=l;function n(){t("itemClick",r.value)}const m=e.ref(null),f=e.computed(()=>r.layout==="inline"&&r.type==="radio");return o({el:m}),(d,b)=>(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",gt,[e.createElementVNode("div",ht,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(d.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":d.highlighted,relative:f.value}]),onClick:e.withModifiers(n,["stop","prevent"])},[f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[d.type==="checkbox"?"rounded-[4px]":"rounded-full",d.color?`bg-[${d.color}] border-[#ffffff]`:d.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[d.isSelected?(e.openBlock(),e.createElementBlock("img",yt)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:d.value},null,8,xt),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",f.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",bt,e.toDisplayString(d.label??"Відсутні дані"),1),d.count?(e.openBlock(),e.createElementBlock("div",kt," ("+e.toDisplayString(d.count)+") ",1)):e.createCommentVNode("",!0)],2),f.value&&d.isSelected?(e.openBlock(),e.createElementBlock("span",wt,[e.createVNode(re)])):e.createCommentVNode("",!0)],2)])])],512))}});function ue(c,o){const{options:l=[],limit:r=20}=c;function t(u){return Array.isArray(u)?u[0]:u}const n=e.ref(t(c.modelValue)),m=e.ref(""),f=e.ref(!1),d=e.ref([]),b=e.ref("id"),p=e.ref("text"),g=e.ref(!1),h=e.ref(c.layout!=="popover"&&l.length>r);function y(u){const x=u.find(Boolean)??{},D=["id","value","code","key"].find(V=>V in x)??"id",S=["text","label","name","title"].find(V=>V in x)??"text";return{autoValueKey:D,autoLabelKey:S}}if(l.length>0){const u=y(l);b.value=u.autoValueKey,p.value=u.autoLabelKey}const w=e.computed(()=>{const u=d.value;return c.layout==="popover"||g.value?u:u.slice(0,r)});e.watch(()=>c.modelValue,u=>{n.value=t(u)},{immediate:!0}),d.value=[...l].sort((u,x)=>c.sort==="count"?x.count&&u.count?x.count-u.count:0:c.sort==="name"?String(u[p.value]??"").localeCompare(String(x[p.value]??"")):0);function k(u){return n.value===u[b.value]}function i(u){n.value=u[b.value],o("update:modelValue",n.value),o("change",{name:c.name,value:n.value})}function a(){n.value=void 0,o("update:modelValue",n.value),o("clear",c.name)}function s(){g.value=!g.value}return{innerValue:n,searchTerm:m,filteredOptions:w,isSelected:k,selectItem:i,clear:a,toggleShowAll:s,isReqProc:f,showAll:g,isEnableShowAll:h,labelKey:p,valueKey:b,allOptions:d}}const Vt={},Ct={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Bt(c,o){return e.openBlock(),e.createElementBlock("svg",Ct,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 ge=v(Vt,[["render",Bt]]),Et={},Nt={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 _t(c,o){return e.openBlock(),e.createElementBlock("svg",Nt,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const ce=v(Et,[["render",_t]]),St={},Mt={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 Dt(c,o){return e.openBlock(),e.createElementBlock("svg",Mt,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 he=v(St,[["render",Dt]]),zt={key:0,class:"w-full"},Lt={class:"flex flex-col items-center justify-center p-5 text-center"},At={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ft={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},$t=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),n=l,{innerValue:m,filteredOptions:f,isSelected:d,selectItem:b,clear:p,toggleShowAll:g,isReqProc:h,showAll:y,isEnableShowAll:w,labelKey:k,valueKey:i,allOptions:a}=ue({...r,modelValue:r.modelValue??r.default??""},n);return o({clear:p,inputTextRef:t}),e.watch(()=>r.modelValue,s=>{s===void 0&&(m.value=void 0)}),(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([s.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([s.layout==="popover"?"flex-1 overflow-y-auto p-2":"",s.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),x=>(e.openBlock(),e.createBlock(fe,{layout:s.layout,key:x[e.unref(i)],count:x.count,label:x[e.unref(k)],color:x.color,type:"radio",value:x[e.unref(i)],"is-selected":e.unref(d)(x),onItemClick:D=>e.unref(b)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),s.type==="select"&&e.unref(f).length===0&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("div",Lt,[e.createVNode(ge),u[4]||(u[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),s.layout!=="popover"&&s.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(y)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u[0]||(u[0]=(...x)=>e.unref(g)&&e.unref(g)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[u[5]||(u[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(ce)])):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:u[1]||(u[1]=(...x)=>e.unref(g)&&e.unref(g)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[u[6]||(u[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(he)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),s.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[s.layout==="inline"?(e.openBlock(),e.createElementBlock("div",At,[e.createTextVNode(e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(a).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[2]||(u[2]=(...x)=>e.unref(p)&&e.unref(p)(...x))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0),s.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(a).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[3]||(u[3]=(...x)=>e.unref(p)&&e.unref(p)(...x))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function Ce(c,o){const{options:l=[],limit:r=20}=c;function t(u){return Array.isArray(u)?u:u?[u]:[]}const n=e.ref(t(c.modelValue)),m=e.ref(""),f=e.ref(!1),d=e.ref([]),b=e.ref("id"),p=e.ref("text"),g=e.ref(!1),h=e.ref(c.layout!=="popover"&&l.length>r);function y(u){const x=u.find(Boolean)??{},D=["id","value","code","key"].find(V=>V in x)??"id",S=["text","label","name","title"].find(V=>V in x)??"text";return{autoValueKey:D,autoLabelKey:S}}if(l.length>0){const u=y(l);b.value=u.autoValueKey,p.value=u.autoLabelKey}const w=e.computed(()=>{const u=d.value;return c.layout==="popover"||g.value?u:u.slice(0,r)});e.watch(()=>c.modelValue,u=>{n.value=t(u)},{immediate:!0}),d.value=[...l].sort((u,x)=>c.sort==="count"?x.count&&u.count?x.count-u.count:0:c.sort==="name"?String(u[p.value]).localeCompare(String(x[p.value])):0);function k(u){return n.value&&n.value.includes(u[b.value])}function i(u){const x=n.value.includes(u[b.value]);n.value=x?n.value.filter(D=>D!==u[b.value]):[...n.value,u[b.value]],o("update:modelValue",n.value),o("change",{name:c.name,value:n.value})}function a(){n.value=[],o("update:modelValue",n.value),o("clear",c.name)}function s(){g.value=!g.value}return{innerValue:n,searchTerm:m,filteredOptions:w,isSelected:k,selectItem:i,clear:a,toggleShowAll:s,isReqProc:f,showAll:g,isEnableShowAll:h,labelKey:p,valueKey:b,allOptions:d}}const Be={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 Ee(c){const o=c.split(".")[1],l=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(Be[l||navigator.language]||Be.uk)[o]}function te(){const c=e.getCurrentInstance();if(!c.appContext.config.globalProperties.$i18n)return Ee;const o=c.appContext.config.globalProperties.$t;return l=>{const r=o(l);return r===l?Ee(l):r}}const jt={key:0,class:"w-full"},Tt={class:"flex flex-col items-center justify-center p-5 text-center"},Rt={class:"max-w-sm mx-auto mt-6"},Pt={class:"font-medium text-gray-800 dark:text-neutral-200"},Kt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ut={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ne=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=te(),t=c,n=l,{innerValue:m,filteredOptions:f,isSelected:d,selectItem:b,clear:p,toggleShowAll:g,isReqProc:h,showAll:y,isEnableShowAll:w,labelKey:k,valueKey:i,allOptions:a}=Ce({...t,modelValue:t.modelValue},n);return e.watch(()=>t.modelValue,s=>{s===void 0&&(m.value=[])}),o({clear:p}),(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([s.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([s.layout==="popover"?"flex-1 overflow-y-auto p-2":"",s.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),x=>(e.openBlock(),e.createBlock(fe,{layout:s.layout,count:x.count,label:x[e.unref(k)],color:x.color,type:"checkbox",value:x[e.unref(i)],"is-selected":e.unref(d)(x),onItemClick:D=>e.unref(b)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),s.type==="select"&&e.unref(f).length===0&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Tt,[e.createVNode(ge),e.createElementVNode("div",Rt,[e.createElementVNode("p",Pt,e.toDisplayString(e.unref(r)("filter.notfound")),1),u[4]||(u[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),s.layout!=="popover"&&s.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(y)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u[0]||(u[0]=(...x)=>e.unref(g)&&e.unref(g)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.more"))+" ",1),e.createVNode(ce)])):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:u[1]||(u[1]=(...x)=>e.unref(g)&&e.unref(g)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.less"))+" ",1),e.createVNode(he)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),s.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[s.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Kt,[e.createTextVNode(e.toDisplayString(e.unref(m).length)+" / "+e.toDisplayString(e.unref(a).length)+" "+e.toDisplayString(e.unref(r)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[2]||(u[2]=(...x)=>e.unref(p)&&e.unref(p)(...x))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0),s.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ut,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m).length)+" / "+e.toDisplayString(e.unref(a).length)+" "+e.toDisplayString(e.unref(r)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:u[3]||(u[3]=(...x)=>e.unref(p)&&e.unref(p)(...x))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ot={},It={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 Zt(c,o){return e.openBlock(),e.createElementBlock("svg",It,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=v(Ot,[["render",Zt]]),Ht={},Wt={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 qt(c,o){return e.openBlock(),e.createElementBlock("svg",Wt,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 ye=v(Ht,[["render",qt]]);class Se{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 Yt={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Gt=["placeholder"],Qt=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,n=e.ref(((b=l.modelValue)==null?void 0:b.toString())??"");e.watch(()=>l.modelValue,p=>{p!==n.value&&(n.value=(p==null?void 0:p.toString())??"")});let m=null;function f(){if(n.value=n.value.trimStart(),n.value.length===0){d();return}m&&clearTimeout(m),m=setTimeout(()=>{t("update:modelValue",n.value),t("change",{name:l.name,value:n.value})},300)}function d(){n.value="",t("update:modelValue",""),t("clear",l.name)}return(p,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-sm [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-sm [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",p.layout==="inline"?e.unref(Se).getWidthClass(p.width):"mb-2"+(p.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Yt,[e.createVNode(_e)]),n.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:d,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(ye)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=h=>n.value=h),onInput:f,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,Gt),[[e.vModelText,n.value]])],2))}});function Me(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 Xt(){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 Jt(){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 De(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 vt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},el=["placeholder","disabled"],tl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ll={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ol=["placeholder","disabled"],rl=["disabled"],al=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=Me(),t=Xt(),n=te(),m=c,f=e.ref(m.modelValue??m.default??[]),d=l,b=e.computed({get:()=>m.modelValue??f.value,set:h=>{m.modelValue!==void 0?d("update:modelValue",h):f.value=h}});function p(){d("change",{name:m.name,value:b.value||f.value})}function g(){f.value=[],b.value=f.value,d("clear",m.name)}return e.watch(()=>m.modelValue,h=>{h!==void 0&&m.layout!=="popover"?(f.value=h,d("update:modelValue",h)):f.value=[]}),o({clear:g,currentValue:b}),(h,y)=>{var w,k;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(h.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[h.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",vt,e.toDisplayString(e.unref(n)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((w=h.placeholder)==null?void 0:w[0])??e.unref(n)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":y[0]||(y[0]=i=>b.value[0]=i),disabled:h.disabled},null,10,el),[[e.vModelText,b.value[0]]])]),h.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",tl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[h.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",ll,e.toDisplayString(e.unref(n)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((k=h.placeholder)==null?void 0:k[1])??e.unref(n)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":y[1]||(y[1]=i=>b.value[1]=i),disabled:h.disabled},null,10,ol),[[e.vModelText,b.value[1]]])]),["popover","inline","vertical"].includes(h.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:p,class:e.normalizeClass(e.unref(t)+(h.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(h.layout==="vertical"?"Ok":e.unref(n)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(h.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(b.value[0]||b.value[1]),onClick:g,class:e.normalizeClass(e.unref(t)+" hover:bg-gray-100")},e.toDisplayString(e.unref(n)("filter.clear")),11,rl)):e.createCommentVNode("",!0)],2)]),(h.cleanable&&f.value.length,e.createCommentVNode("",!0))],64)}}});class W{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),p=new Date(l);return b.setDate(b.getDate()+r*7),p.setDate(p.getDate()+r*7),[this.format(b),this.format(p)]}const t=new Date,n=t.getDay(),m=n===0?13:n-1+7,f=new Date(t);f.setDate(t.getDate()-m+r*7);const d=new Date(f);return d.setDate(f.getDate()+6),[this.format(f),this.format(d)]}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 n=t,m=new Date(t.getFullYear(),t.getMonth()+1,0);return[this.format(n),this.format(m)]}static getQuarterRange(o,l,r=0){const t=o||l,n=t?new Date(t):new Date;let m=Math.floor(n.getMonth()/3);m+=r;const f=(m%4+4)%4*3,d=n.getFullYear()+Math.floor(m/4),b=new Date(d,f,1),p=new Date(d,f+3,0);return[this.format(b),this.format(p)]}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 ze(c,o){const{popoverRef:l}=c,r=te(),t=e.ref(""),n=e.ref(c.modelValue??c.default??[]),m=e.ref(0);function f(){const a=W.getRangeFromDaysBefore(m.value);return n.value=[...a],o("change",{name:c.name,value:n.value}),o("update:modelValue",n.value),a}function d(a){var u;t.value=a,(u=l.value)==null||u.close();const s=[];switch(t.value){case"today":s.push(W.getShiftedDay()),s.push(W.getShiftedDay());break;case"week":s.push(...W.getLastWeekRange());break;case"month":s.push(...W.getMonthRange());break;case"quarter":s.push(...W.getQuarterRange());break;case"year":s.push(...W.getYearRange());break;case"last_7_days":m.value=7,f();break;case"range":m.value=7,s.push(...f());break}n.value=[...s],o("change",{name:c.name,value:n.value}),o("update:modelValue",n.value)}function b(){const a=[];switch(t.value){case"today":a.push(W.getShiftedDay(n.value[0],1));break;case"week":a.push(...W.getLastWeekRange(n.value[0],n.value[1],1));break;case"month":a.push(...W.getMonthRange(n.value[0],n.value[1],1));break;case"quarter":a.push(...W.getQuarterRange(n.value[0],n.value[1],1));break;case"year":a.push(...W.getYearRange(n.value[0],1));break}n.value=[...a],o("change",{name:c.name,value:n.value}),o("update:modelValue",n.value)}function p(){const a=[];switch(t.value){case"today":a.push(W.getShiftedDay(n.value[0],-1));break;case"week":a.push(...W.getLastWeekRange(n.value[0],n.value[1],-1));break;case"month":a.push(...W.getMonthRange(n.value[0],n.value[1],-1));break;case"quarter":a.push(...W.getQuarterRange(n.value[0],n.value[1],-1));break;case"year":a.push(...W.getYearRange(n.value[0],-1));break}n.value=[...a],o("change",{name:c.name,value:n.value}),o("update:modelValue",n.value)}const g=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function h(a){const[s,u,x]=a.split("-");return`${x}.${u}.${s}`}function y(a,s="long"){const u=new Date(Date.UTC(2e3,a-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:s,timeZone:"UTC"}).format(u)}function w(a){const{value:s}=n;switch(a){case"today":return h(s[0]);case"range":return"Період";case"week":return s[0]&&s[1]?`${h(s[0])} – ${h(s[1])}`:"";case"quarter":if(s[0]){const u=new Date(s[0]),x=u.getFullYear(),D=u.getMonth();return`${Math.floor(D/3)+1} ${r("filter.quarter")} ${x}`}return"";case"month":if(s[0]){const[u,x]=s[0].split("-");return`${y(parseInt(x,10))} ${u}`}return"";case"year":return s[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="",n.value=[],o("update:modelValue",[]),o("clear",c.name)}return{activeMode:t,innerValue:n,daysBefore:m,onDaysBeforeChange:f,onSelectChange:d,nextClick:b,prevClick:p,ukMonths:g,formatDisplayDate:h,getModeLabel:w,currentLabel:k,clear:i}}const nl={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},il={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},sl=["max","disabled"],cl=["min","disabled"],dl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ml=["max","disabled"],pl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},fl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ul=["min","disabled"],gl={class:"flex gap-1 pt-2"},hl=["onClick"],yl=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=Me(),n=Jt(),m=te(),f=l,d=e.ref(null),{activeMode:b,innerValue:p,onSelectChange:g,nextClick:h,prevClick:y,clear:w}=ze({...r,popoverRef:d},f);return e.watch(()=>r.modelValue,k=>{k!==void 0?(p.value=k,f("update:modelValue",k)):(b.value="",p.value=[])}),e.watch(p,k=>{f("update:modelValue",k),f("change",{name:r.name,value:k})},{deep:!0}),o({clear:w,popoverRef:d}),(k,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[k.layout==="inline"?(e.openBlock(),e.createElementBlock("div",nl,[e.unref(b)!==""&&e.unref(b)==="range"?(e.openBlock(),e.createElementBlock("div",il,[i[7]||(i[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(p)[1],locale:"uk-UA","onUpdate:modelValue":i[0]||(i[0]=a=>e.unref(p)[0]=a),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,sl),[[e.vModelText,e.unref(p)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(p)[0],locale:"uk-UA","onUpdate:modelValue":i[1]||(i[1]=a=>e.unref(p)[1]=a),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:k.disabled},null,8,cl),[[e.vModelText,e.unref(p)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",dl,e.toDisplayString(e.unref(m)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(p)[1],locale:"uk-UA","onUpdate:modelValue":i[2]||(i[2]=a=>e.unref(p)[0]=a),class:e.normalizeClass(e.unref(t)),disabled:k.disabled},null,10,ml),[[e.vModelText,e.unref(p)[0]]])],2),k.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",pl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",fl,e.toDisplayString(e.unref(m)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(p)[0],locale:"uk-UA","onUpdate:modelValue":i[3]||(i[3]=a=>e.unref(p)[1]=a),class:e.normalizeClass(e.unref(t)),disabled:k.disabled},null,10,ul),[[e.vModelText,e.unref(p)[1]]])],2)],2),e.createElementVNode("div",gl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],a=>e.createElementVNode("button",{key:a,class:e.normalizeClass(e.unref(n)+(e.unref(b)===a?" bg-blue-100":"")),onClick:s=>e.unref(g)(a)},e.toDisplayString(e.unref(m)("filter."+a)),11,hl)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n)),onClick:i[4]||(i[4]=(...a)=>e.unref(y)&&e.unref(y)(...a))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n)),onClick:i[5]||(i[5]=(...a)=>e.unref(h)&&e.unref(h)(...a))},">",2)]),(k.cleanable,e.createCommentVNode("",!0))],64))}});function xl(c,o){const{api:l,options:r=[],limit:t=20,dataKey:n="data"}=c,m=c.multi;function f(C){return m?Array.isArray(C)?C:C?[C]:[]:Array.isArray(C)?C[0]:C}const d=e.ref(f(c.modelValue)),b=e.ref(""),p=e.ref(!1),g=e.ref(r),h=e.ref("id"),y=e.ref("text"),w=e.ref(!1),k=e.ref(c.layout!=="popover"&&r.length>t),i=e.ref([]),a=e.ref(0);function s(C){const F=C.find(Boolean)??{},j=["id","value","code","key"].find(Y=>Y in F)??"id",U=["text","label","name","title"].find(Y=>Y in F)??"text";return{autoValueKey:j,autoLabelKey:U}}if(r.length>0){const C=s(r);h.value=C.autoValueKey,y.value=C.autoLabelKey}const u=e.computed(()=>{if(l)return g.value;const C=g.value;if(c.layout==="popover")return C;if(!b.value)return w.value?C:C.slice(0,t);const F=b.value.toLowerCase();return C.filter(j=>j[y.value].toLowerCase().includes(F))});let x=null;async function D(C){if(l){p.value=!0;try{const F=new URL(l,window.location.origin);F.searchParams.set("json","1"),F.searchParams.set("key",C),F.searchParams.set("limit",t.toString());const j=await fetch(F.toString());if(!j.ok){Ve({type:"error",title:"Error",message:"Failed to fetch remote options"}),g.value=[];return}const U=await j.json();if(!U[n]){Ve({type:"error",title:"Error",message:U}),g.value=[];return}if(g.value=U[n],g.value.length>0){const Y=s(g.value);h.value=Y.autoValueKey,y.value=Y.autoLabelKey}a.value=U.total}catch(F){console.error("Failed to fetch remote options:",F)}finally{p.value=!1}}}e.watch(b,C=>{l&&(x&&clearTimeout(x),x=setTimeout(()=>{D(C)},200))}),e.watch(()=>c.modelValue,C=>{d.value=f(C)},{immediate:!0});function S(C){return m&&Array.isArray(d.value)?d.value.includes(C[h.value]):d.value&&d.value===C[h.value]}function V(C){if(m&&!Array.isArray(d.value)&&(d.value=[]),m&&Array.isArray(d.value)){const F=d.value.includes(C[h.value]);d.value=F?d.value.filter(j=>j!==C[h.value]):[...d.value,C[h.value]],i.value=F?i.value.filter(j=>j!==C[y.value]):[...i.value,C[y.value]]}else d.value=C[h.value],i.value=C[y.value];o("update:modelValue",d.value),o("change",{name:c.name,value:d.value})}function B(){m?(d.value=[],i.value=[]):(d.value=void 0,i.value=[]),o("update:modelValue",d.value),o("clear",c.name)}function _(){x&&clearTimeout(x),b.value="",w.value=!1}function N(){w.value=!w.value}e.onBeforeUnmount(()=>{x&&clearTimeout(x)});const z=e.ref(-1);e.watch(u,()=>{z.value=u.value.length>0?0:-1});function P(C){const F=u.value.length;if(C.key==="ArrowDown")C.preventDefault(),z.value=(z.value+1)%F;else if(C.key==="ArrowUp")C.preventDefault(),z.value=(z.value-1+F)%F;else if(C.key==="Enter"&&(C.preventDefault(),z.value>=0&&z.value<u.value.length)){const j=u.value[z.value];V(j)}}function L(){l&&g.value.length===0&&b.value.length===0&&D(b.value)}return{innerValue:d,searchTerm:b,filteredOptions:u,isSelected:S,selectItem:V,clear:B,resetSearch:_,toggleShowAll:N,isReqProc:p,showAll:w,isEnableShowAll:k,labelKey:y,valueKey:h,allOptions:g,highlightedIndex:z,onKeyDown:P,selectedLabels:i,totalCount:a,loadData:L}}const bl={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},kl=["placeholder"],wl={key:0,class:"w-full"},Vl={class:"flex flex-col items-center justify-center p-5 text-center"},Cl={class:"max-w-sm mx-auto mt-6"},Bl={class:"font-medium text-gray-800 dark:text-neutral-200"},El={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Nl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_l=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=te(),t=c,n=l,m=e.ref(null),{innerValue:f,filteredOptions:d,isSelected:b,selectItem:p,clear:g,resetSearch:h,toggleShowAll:y,isReqProc:w,showAll:k,isEnableShowAll:i,searchTerm:a,labelKey:s,valueKey:u,highlightedIndex:x,onKeyDown:D,selectedLabels:S,totalCount:V,loadData:B}=xl({...t,modelValue:t.modelValue},n);e.onMounted(()=>{h(),t.layout!=="inline"&&(B(),m.value&&t.layout==="popover"&&m.value.focus())}),e.watch(()=>t.modelValue,N=>{N===void 0&&(t.multi?f.value=[]:f.value=void 0)});const _=e.ref([]);return e.watch(x,N=>{var z;N>=0&&_.value[N]&&((z=_.value[N])==null||z.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(d,()=>{_.value=[]}),o({clear:g,inputTextRef:m,selectedLabels:S,loadData:B}),(N,z)=>{var P,L;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([N.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",bl,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":z[0]||(z[0]=C=>e.isRef(a)?a.value=C:null),onKeydown:z[1]||(z[1]=(...C)=>e.unref(D)&&e.unref(D)(...C)),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:m},null,40,kl),[[e.vModelText,e.unref(a)]]),e.createVNode(_e,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(a)!=""?(e.openBlock(),e.createBlock(ye,{key:0,onClick:z[2]||(z[2]=C=>a.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([N.layout==="popover"?"flex-1 overflow-y-auto p-2":"",N.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(C,F)=>(e.openBlock(),e.createBlock(fe,{layout:N.layout,count:C.count,label:C[e.unref(s)],color:C.color,type:N.multi?"checkbox":"radio",value:C[e.unref(u)],"is-selected":e.unref(b)(C),highlighted:F===e.unref(x),onItemClick:j=>e.unref(p)(C),ref_for:!0,ref:j=>_.value[F]=j==null?void 0:j.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),N.type==="select"&&e.unref(d).length===0&&!e.unref(w)?(e.openBlock(),e.createElementBlock("div",wl,[e.createElementVNode("div",Vl,[e.createVNode(ge),e.createElementVNode("div",Cl,[e.createElementVNode("p",Bl,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),N.layout!=="popover"&&N.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]=(...C)=>e.unref(y)&&e.unref(y)(...C)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.more"))+" ",1),e.createVNode(ce)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:z[4]||(z[4]=(...C)=>e.unref(y)&&e.unref(y)(...C)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.less"))+" ",1),e.createVNode(he)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),N.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[N.layout==="inline"?(e.openBlock(),e.createElementBlock("div",El,[e.createTextVNode(e.toDisplayString(N.multi&&Array.isArray(e.unref(f))?(P=e.unref(f))==null?void 0:P.length:e.unref(f)!==void 0&&(e.unref(f)||e.unref(f)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+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]=(...C)=>e.unref(g)&&e.unref(g)(...C))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(f)!==""&&e.unref(f)!==void 0||e.unref(f)]])])):e.createCommentVNode("",!0),N.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Nl,[e.createElementVNode("span",null,e.toDisplayString(N.multi&&Array.isArray(e.unref(f))?(L=e.unref(f))==null?void 0:L.length:e.unref(f)!==void 0&&(e.unref(f)||e.unref(f)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+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]=(...C)=>e.unref(g)&&e.unref(g)(...C))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(f)!==""&&e.unref(f)!==void 0||e.unref(f)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),Sl=["for","onClick"],Ml=["id","name","value"],Dl={class:"block"},zl={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ll={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Al=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:n,isSelected:m,selectItem:f,clear:d,labelKey:b,valueKey:p,allOptions:g}=r.multi?Ce({...r,modelValue:r.modelValue??r.default??[]},t):ue({...r,modelValue:r.modelValue!==void 0?r.modelValue:r.default??""},t);return o({clear:d}),e.watch(()=>r.modelValue,h=>{h===void 0&&(r.multi?n.value=[]:n.value=void 0)}),(h,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]",h.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),i=>(e.openBlock(),e.createElementBlock("label",{key:`item-${i[e.unref(p)]}`,for:`item-${i[e.unref(p)]}`,onClick:e.withModifiers(a=>e.unref(f)(i),["stop","prevent"]),class:e.normalizeClass([e.unref(m)(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(p)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${i[e.unref(p)]}`,value:i[e.unref(p)]},null,8,Ml),e.createElementVNode("span",Dl,e.toDisplayString(i[e.unref(b)]),1)],10,Sl))),128))],2),h.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[h.layout==="inline"?(e.openBlock(),e.createElementBlock("div",zl,[e.createTextVNode(e.toDisplayString(h.multi&&Array.isArray(e.unref(n))?(w=e.unref(n))==null?void 0:w.length:e.unref(n)!==void 0&&(e.unref(n)||e.unref(n)===null)?1:0)+" з "+e.toDisplayString(e.unref(g).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:y[0]||(y[0]=(...i)=>e.unref(d)&&e.unref(d)(...i))}," Очистити ",512),[[e.vShow,e.unref(n)!==""&&e.unref(n)!==void 0||e.unref(n)]])])):e.createCommentVNode("",!0),h.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ll,[e.createElementVNode("span",null,e.toDisplayString(h.multi&&Array.isArray(e.unref(n))?(k=e.unref(n))==null?void 0:k.length:e.unref(n)!==void 0&&(e.unref(n)||e.unref(n)===null)?1:0)+" з "+e.toDisplayString(e.unref(g).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:y[1]||(y[1]=(...i)=>e.unref(d)&&e.unref(d)(...i))}," Очистити ",512),[[e.vShow,e.unref(n)!==void 0&&e.unref(n)!==""||e.unref(n)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),Fl=["disabled","title"],$l={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},jl={class:"truncate text-ellipsis text-sm"},Tl={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"},Rl={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"},Pl={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"},xe=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(()=>De(l.mode)),t=e.ref(!1),n=e.ref({top:0,left:0}),m=e.ref(null),f=e.ref(null),d=e.ref(null);function b(){const x=f.value,D=d.value;if(!x||!D)return;const S=x.getBoundingClientRect(),V=D.offsetWidth,B=D.offsetHeight,_=window.innerWidth,N=window.innerHeight,z=8;let P=S.bottom+z,{left:L}=S;const C=Math.max(_-V-10,10);if(L=Math.min(L,C),L=Math.max(L,10),P+B>N-10){const F=S.top-B-z;P=F>=10?F:Math.max(N-B-10,10)}P<10&&(P=10),n.value={top:P,left:L}}function p(){t.value=!t.value,t.value&&e.nextTick(()=>{var x,D,S,V,B,_,N;b(),(x=l.fieldRef)!=null&&x.inputTextRef&&((V=(S=(D=l.fieldRef)==null?void 0:D.inputTextRef)==null?void 0:S.focus)==null||V.call(S)),(B=l.fieldRef)!=null&&B.loadData&&((N=(_=l.fieldRef)==null?void 0:_.loadData)==null||N.call(_))})}function g(x){var D,S,V;!((D=m.value)!=null&&D.contains(x.target))&&!((S=d.value)!=null&&S.contains(x.target))&&!((V=f.value)!=null&&V.contains(x.target))&&(t.value=!1)}function h(x){x.key==="Escape"&&(t.value=!1)}const y=e.ref(!1),w=e.ref("ua"),k=x=>{x.detail.key==="locale"&&(w.value=x.detail.newValue)};e.onMounted(()=>{y.value=!0,w.value=localStorage.locale,window.addEventListener("storage",k),document.addEventListener("click",g,!0),document.addEventListener("keydown",h),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",k),document.removeEventListener("click",g,!0),document.removeEventListener("keydown",h),window.removeEventListener("scroll",b,!0)});function i(){t.value=!1}o({close:i});function a(x){return Array.isArray(x)?x.filter(D=>D!=null&&D!=="").length:x&&typeof x=="object"?Object.values(x).filter(D=>D!=null&&D!=="").length:typeof x=="string"?x.trim()===""?0:1:typeof x=="number"?Number.isNaN(x)?0:1:x===null||x!==void 0?1:0}const s=e.computed(()=>{var S;const x=(S=l.fieldRef)==null?void 0:S.selectedLabels,D=a(x);return D>0?D:a(l.currentValue)}),u=e.computed(()=>{var D;const x=(D=l.fieldRef)==null?void 0:D.selectedLabels;return!x||["inline"].includes(l.layout||"")?l[w.value]||(l.label??""):Array.isArray(x)?x.length>0?x.join(", "):l.label??"":String(x)});return(x,D)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:p,disabled:x.disabled,ref_key:"triggerRef",ref:f,title:x.label,class:e.normalizeClass([r.value,x.width?e.unref(Se).getWidthClass(x.width):"w-full",x.layout==="inline"&&s.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",$l,[e.createElementVNode("span",jl,e.toDisplayString(u.value),1),x.layout==="inline"&&s.value>0?(e.openBlock(),e.createElementBlock("span",Tl,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)]),e.createVNode(ce,{class:"h-4 w-4 text-neutral-500"})],10,Fl),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:d,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${n.value.top}px`,left:`${n.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Rl,[e.createElementVNode("div",Pl,[e.renderSlot(x.$slots,"default")])])],4),[[e.vShow,t.value]])])):e.createCommentVNode("",!0)]))}}),Kl={},Ul={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 Ol(c,o){return e.openBlock(),e.createElementBlock("svg",Ul,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 Il=v(Kl,[["render",Ol]]),Zl={},Hl={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 Wl(c,o){return e.openBlock(),e.createElementBlock("svg",Hl,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 ql=v(Zl,[["render",Wl]]),Yl={class:"flex gap-1"},Gl={class:"mb-1"},Ql={class:"mb-1"},Xl={class:"inline-flex rounded-sm shrink-0 pl-1"},Jl=["title"],vl={class:"inline-flex rounded-sm shrink-0 pl-1"},eo=["title"],to={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},lo=["max","value","disabled"],oo=["min","value","disabled"],ro=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=te(),t=c,n=l,m=e.ref(null),{activeMode:f,innerValue:d,onSelectChange:b,nextClick:p,prevClick:g,currentLabel:h,clear:y}=ze({...t,popoverRef:m},n);e.watch(()=>t.modelValue,i=>{i!==void 0?(d.value=i,n("update:modelValue",i)):(f.value="",d.value=[])}),e.watch(d,i=>{n("update:modelValue",i),n("change",{name:t.name,value:i})},{deep:!0});function w(i){const a=Array.isArray(d.value)?[...d.value]:[];d.value=[i,a[1]||""]}function k(i){const a=Array.isArray(d.value)?[...d.value]:[];d.value=[a[0]||"",i]}return o({clear:y,popoverRef:m}),(i,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Yl,[e.createVNode(xe,{ref_key:"popoverRef",ref:m,label:e.unref(h),"current-value":e.unref(d),mode:i.mode,width:typeof i.width=="number"&&e.unref(d).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:a[0]||(a[0]=s=>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(f)==="range"?(e.openBlock(),e.createBlock(re,{key:0})):e.createCommentVNode("",!0)])]),a[12]||(a[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:a[1]||(a[1]=s=>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(f)==="today"?(e.openBlock(),e.createBlock(re,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:a[2]||(a[2]=s=>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(f)==="week"?(e.openBlock(),e.createBlock(re,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:a[3]||(a[3]=s=>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(f)==="month"?(e.openBlock(),e.createBlock(re,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:a[4]||(a[4]=s=>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(f)==="quarter"?(e.openBlock(),e.createBlock(re,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Gl,[e.createElementVNode("button",{type:"button",onClick:a[5]||(a[5]=s=>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(f)==="year"?(e.openBlock(),e.createBlock(re,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ql,[e.createElementVNode("button",{type:"button",onClick:a[6]||(a[6]=s=>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(d)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(re,{key:0}))])])]),_:1,__:[12]},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(f)!==""&&e.unref(f)!=="range"&&e.unref(f)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Xl,[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:a[7]||(a[7]=(...s)=>e.unref(g)&&e.unref(g)(...s))},[e.createVNode(Il)],8,Jl)]),e.createElementVNode("div",vl,[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:a[8]||(a[8]=(...s)=>e.unref(p)&&e.unref(p)(...s))},[e.createVNode(ql)],8,eo)])],64)):e.createCommentVNode("",!0),e.unref(f)!==""&&e.unref(f)==="range"?(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("input",{type:"date",max:e.unref(d)[1],locale:"uk-UA",value:e.unref(d)[0],onInput:a[9]||(a[9]=s=>w(s.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,lo),e.createElementVNode("input",{type:"date",min:e.unref(d)[0],locale:"uk-UA",value:e.unref(d)[1],onInput:a[10]||(a[10]=s=>k(s.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,oo)])):e.createCommentVNode("",!0)]),(i.cleanable,e.createCommentVNode("",!0))],64))}}),ao={class:"flex flex-wrap items-center gap-2"},no=["disabled","onClick"],io={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},so=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:n,isSelected:m,selectItem:f,clear:d,labelKey:b,valueKey:p,allOptions:g}=ue({...r,modelValue:r.modelValue??r.default??""},t),h=e.computed(()=>n.value!==void 0&&!(typeof n.value=="string"&&n.value==="")),y=e.computed(()=>h.value?1:0);function w(i){return m(i)?["bg-blue-600 text-white"].filter(a=>typeof a=="string"&&a.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(a=>typeof a=="string"&&a.trim().length>0).join(" ")}function k(i){r.disabled||f(i)}return o({clear:d}),e.watch(()=>r.modelValue,i=>{i===void 0&&(n.value=void 0)}),(i,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",ao,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),s=>(e.openBlock(),e.createElementBlock("button",{key:s[e.unref(p)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",w(s)]),disabled:i.disabled,onClick:u=>k(s)},e.toDisplayString(s[e.unref(b)]),11,no))),128))]),i.cleanable&&i.layout==="popover"?(e.openBlock(),e.createElementBlock("div",io,[e.createElementVNode("span",null,e.toDisplayString(y.value)+" з "+e.toDisplayString(e.unref(g).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:a[0]||(a[0]=(...s)=>e.unref(d)&&e.unref(d)(...s))}," Очистити ",512),[[e.vShow,h.value]])])):e.createCommentVNode("",!0)],64))}}),Le={radio:$t,checkbox:Ne,check:Ne,text:Qt,range:al,date:yl,select:_l,tag:Al,button:so,"date:inline":ro};function be(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:Le[l]||Le.text,type:l}}const co={style:{display:"inline-flex",margin:"0px",width:"100%"}},mo={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},po={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},fo={class:"flex items-center"},uo={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},go={class:"filter-layout__body"},ho=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,n=e.ref(),m=e.computed(()=>be(r.type,r.layout)),f=e.computed({get:()=>r.modelValue,set:g=>t("update:modelValue",g)});function d(g){t("clear",g)}function b(g,h){t("change",{name:g,value:h}),r.modelValue!==void 0&&t("update:modelValue",h)}function p(){t("clear",r.name)}return e.watch(()=>r.default,g=>{f.value=g}),e.watch(()=>r.modelValue,g=>{f.value=g}),o({filterRef:n}),(g,h)=>{var y,w,k;return e.openBlock(),e.createElementBlock("div",co,[e.createElementVNode("div",mo,[e.createElementVNode("div",po,[e.createElementVNode("div",fo,[e.createElementVNode("span",uo,e.toDisplayString(g.label),1)]),typeof f.value=="string"&&f.value.trim()!==""||Array.isArray(f.value)&&f.value.length>0&&f.value.some(i=>i!==void 0)||f.value===null?(e.openBlock(),e.createBlock(mt,{key:0,onClick:p})):e.createCommentVNode("",!0)]),e.createElementVNode("div",go,[((y=m.value)==null?void 0:y.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((w=m.value)==null?void 0:w.component),e.mergeProps({key:0},r,{type:(k=m.value)==null?void 0:k.type,class:r.itemClass,onChange:h[0]||(h[0]=i=>b(i.name,i.value)),onClear:h[1]||(h[1]=i=>d(i)),ref_key:"filterRef",ref:n}),null,16,["type","class"])):(e.openBlock(),e.createBlock(xe,{key:1,"current-value":f.value,label:g.label,mode:g.mode,onClear:p,fieldRef:n.value,width:void 0,disabled:g.disabled,layout:"vertical"},{default:e.withCtx(()=>{var i,a;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((i=m.value)==null?void 0:i.component),e.mergeProps({ref_key:"filterRef",ref:n},r,{type:(a=m.value)==null?void 0:a.type,class:r.itemClass,onChange:h[2]||(h[2]=s=>b(s.name,s.value)),onClear:h[3]||(h[3]=s=>d(s))}),null,16,["type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),Ae=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,n=e.ref(),m=e.computed(()=>be(r.type,r.layout)),f=e.computed({get:()=>r.modelValue,set:p=>t("update:modelValue",p)});function d(p=r.name){t("clear",p)}function b(p,g){t("change",{name:p,value:g}),r.modelValue!==void 0&&t("update:modelValue",g)}return e.watch(()=>r.default,p=>{f.value=p}),e.watch(()=>r.modelValue,p=>{f.value=p}),o({filterRef:n}),(p,g)=>{var h,y;return["text","date","button"].includes(p.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((h=m.value)==null?void 0:h.component),e.mergeProps({key:0},r,{type:(y=m.value)==null?void 0:y.type,class:p.itemClass,onChange:g[0]||(g[0]=w=>b(w.name,w.value)),onClear:g[1]||(g[1]=w=>d(w)),disabled:p.disabled,modelValue:f.value,"onUpdate:modelValue":g[2]||(g[2]=w=>f.value=w)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(xe,{key:1,"current-value":f.value,label:p.label,mode:p.mode,onClear:d,fieldRef:n.value,width:r.width,disabled:p.disabled,layout:"inline"},{default:e.withCtx(()=>{var w,k;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((w=m.value)==null?void 0:w.component),e.mergeProps({ref_key:"filterRef",ref:n},r,{modelValue:f.value,"onUpdate:modelValue":g[3]||(g[3]=i=>f.value=i),type:(k=m.value)==null?void 0:k.type,class:r.itemClass,onChange:g[4]||(g[4]=i=>b(i.name,i.value)),onClear:g[5]||(g[5]=i=>d(i))}),null,16,["modelValue","type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),yo=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,n=e.ref(),m=e.computed(()=>be(r.type,r.layout)),f=e.computed({get:()=>r.modelValue,set:p=>t("update:modelValue",p)});function d(p){t("clear",p)}function b(p,g){t("change",{name:p,value:g}),r.modelValue!==void 0&&t("update:modelValue",g)}return e.watch(()=>r.default,p=>{f.value=p}),e.watch(()=>r.modelValue,p=>{f.value=p}),e.watch(()=>r,p=>{f.value=p}),o({filterRef:n}),(p,g)=>{var h,y;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((h=m.value)==null?void 0:h.component),e.mergeProps(r,{type:(y=m.value)==null?void 0:y.type,class:r.itemClass,modelValue:f.value,"onUpdate:modelValue":g[0]||(g[0]=w=>f.value=w),onChange:g[1]||(g[1]=w=>b(w.name,w.value)),onClear:g[2]||(g[2]=w=>d(w)),ref_key:"filterRef",ref:n}),null,16,["type","class","modelValue"])}}}),ee=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,n=e.ref(),m=e.computed({get:()=>r.modelValue,set:p=>t("update:modelValue",p)});function f(p){t("clear",p)}function d(p,g){t("change",{name:p,value:g}),r.modelValue!==void 0&&t("update:modelValue",g)}e.watch(()=>r.default,p=>{m.value=p}),e.watch(()=>r.modelValue,p=>{m.value=p}),o({filterRef:n});function b(){switch(r.layout){case"inline":return Ae;case"vertical":return ho;case"popover":return yo;default:return Ae}}return(p,g)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(r,{onChange:g[0]||(g[0]=h=>d(h.name,h.value)),onClear:g[1]||(g[1]=h=>f(h)),modelValue:m.value,"onUpdate:modelValue":g[2]||(g[2]=h=>m.value=h)}),null,16,["modelValue"]))}});function de(c,o){const{slots:l}=c,r=a=>a?JSON.parse(JSON.stringify(e.toRaw(a))):{},t=e.ref(r(c.value));e.watch(()=>c.value,a=>{t.value=r(a)},{deep:!0,immediate:!0});const n=e.computed(()=>{var a;return(e.toRaw((a=l==null?void 0:l.default)==null?void 0:a.call(l))??[]).flatMap(s=>Array.isArray(s.children)?s.children:[s])});function m(a){delete t.value[a],o("clear",{data:e.toRaw(t.value),name:a})}function f(a,s){s===void 0?m(a):t.value={...t.value,[a]:s},o("change",{data:e.toRaw(t.value),name:a,value:s})}const d=e.computed(()=>n.value.map(a=>{var u,x,D;const s=(u=a.props)==null?void 0:u.name;return e.cloneVNode(a,{...a.props,layout:c.view,showClean:!0,modelValue:t.value[s],"onUpdate:modelValue":S=>{f(s,S)},onClear:()=>m(s),class:[c.itemClass,(x=a.props)==null?void 0:x.class],itemClass:[c.itemClass,(D=a.props)==null?void 0:D.itemClass].filter(S=>typeof S=="string"&&S.trim().length>0).join(" ")||void 0})})),b=e.computed(()=>new Map(d.value.map(a=>{var u;const s=(u=a.props)==null?void 0:u.name;return s?[s,a]:null}).filter(a=>a!==null)));function p(a=!1){t.value={},a||o("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const g=e.ref(""),h=e.computed(()=>{var a;return(a=c.schema)!=null&&a.value?Object.entries(t.value).filter(([s,u])=>c.schema&&!(s in c.schema.value)?!1:Array.isArray(u)?u.some(x=>x!==""&&x!==void 0):u!==""&&u!==void 0).length:0}),y=e.ref();e.watch(g,async()=>{var a,s;await e.nextTick(),(s=(a=y==null?void 0:y.value)==null?void 0:a.filterRef)!=null&&s.inputTextRef&&y.value.filterRef.inputTextRef.focus()});const w=e.computed(()=>{var a,s;return(a=c.schema)!=null&&a.value?Object.fromEntries(Object.entries((s=c.schema)==null?void 0:s.value).slice(0,c.limit)):{}}),k=e.computed(()=>{var s;if(d.value.length===0)return[];let a=0;if((s=c.schema)!=null&&s.value){const u=Object.entries(c.schema.value).length;c.limit&&u<c.limit?a=c.limit-u:a=0}return d.value.slice(0,a)}),i=e.computed(()=>d.value.length===0?[]:c.view!=="inline"?d.value:d.value.slice(k.value.length));return{activeFilter:t,activeFilterCount:h,onFilterChange:f,clearFilter:m,clearAllFilters:p,limitedSchema:w,filtersSlot:d,limitedFiltersSlot:k,popoverFiltersSlot:i,vnodeMap:b,selectedFilter:g,filterRef:y}}const xo=e.defineComponent({__name:"popover",emits:["open","close"],setup(c,{emit:o}){const l=e.ref(!1),r=e.ref(null),t=e.ref(null),n=e.ref(null),m=e.ref({top:"0px",left:"0px",position:"absolute"});function f(){l.value=!l.value}function d(){const y=n.value,w=r.value;if(!y||!w)return;const k=y.getBoundingClientRect(),i=w.offsetWidth,a=window.innerWidth-k.left;let s=k.left+window.scrollX;i>a&&(s=window.innerWidth-i-18,s<18&&(s=18)),m.value={position:"absolute",top:`${k.bottom+window.scrollY+18}px`,left:`${s}px`}}const b=e.computed(()=>Object.entries(m.value).map(y=>y.join(":")).join(";"));function p(y){var k,i;const w=y.target;!((k=n.value)!=null&&k.contains(y.target))&&!((i=r.value)!=null&&i.contains(y.target))&&!w.closest("[data-inside-popover]")&&(l.value=!1)}const g=e.ref(!1);e.onMounted(()=>{g.value=!0}),e.onMounted(()=>{var y,w;n.value=((y=t.value)==null?void 0:y.querySelector("[data-popover-trigger]"))||null,(w=n.value)==null||w.addEventListener("click",f),document.addEventListener("click",p),window.addEventListener("resize",d),window.addEventListener("scroll",d,!0)}),e.onBeforeUnmount(()=>{var y;(y=n.value)==null||y.removeEventListener("click",f),document.removeEventListener("click",p),window.removeEventListener("resize",d),window.removeEventListener("scroll",d,!0)});const h=o;return e.watch(l,async y=>{y?(h("open"),await e.nextTick(),d()):h("close")}),(y,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:t},[e.renderSlot(y.$slots,"trigger"),g.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))}}),bo={},ko={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 wo(c,o){return e.openBlock(),e.createElementBlock("svg",ko,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 Fe=v(bo,[["render",wo]]),Vo={class:"flex items-center gap-2 overflow-hidden"},Co={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"},Bo={class:"flex max-h-[400px]"},Eo={class:"w-64 border-r border-gray-200 overflow-y-auto"},No={class:"p-4 border-b"},_o={class:"text-sm text-gray-600"},So={class:"p-2"},Mo=["onClick"],Do={class:"flex items-center gap-2"},zo={class:"text-sm font-medium"},Lo={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"},Ao=["onClick"],Fo={class:"flex items-center gap-2"},$o={class:"text-sm font-medium"},jo={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"},To={key:0,class:"p-2 border-t"},Ro={class:"flex-1 min-h-[300px] overflow-y-auto"},Po={key:0,class:"flex items-center justify-center h-full text-gray-500"},Ko={class:"text-sm"},$e=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=te(),t=c,n=De(t.mode),m=e.useSlots(),f=l,d=e.ref({}),b=e.computed(()=>d!=null&&d.value?t.view!=="inline"?d==null?void 0:d.value:Object.fromEntries(Object.entries(d==null?void 0:d.value).slice(t.limit)):{}),{activeFilter:p,activeFilterCount:g,onFilterChange:h,clearFilter:y,clearAllFilters:w,popoverFiltersSlot:k,selectedFilter:i,filterRef:a}=de({...t,schema:d,slots:m},f),s=e.computed(()=>t.badgeCount??g.value);function u(S){return Array.isArray(S)?S.filter(V=>V!=null&&V!=="").length:S&&typeof S=="object"?Object.values(S).filter(V=>V!=null&&V!=="").length:S===null||S!==void 0&&S!==""?1:0}function x(S){return p.value?u(p.value[S]):0}function D(){if(b.value){const[S]=Object.keys(b.value);i.value=S}else k.value.length>0?i.value=k.value[0].props.name:i.value=""}return e.watch(()=>t.schema,S=>{d.value=S??{}},{deep:!0,immediate:!0}),o({clearFilter:y,clearAllFilters:w}),(S,V)=>(e.openBlock(),e.createBlock(xo,{onOpen:D,onClose:V[5]||(V[5]=B=>i.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([S.itemClass,e.unref(n),"flex items-center justify-between gap-2",s.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",Vo,[e.createVNode(Fe,{class:"h-4 w-4"}),V[6]||(V[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),s.value>0?(e.openBlock(),e.createElementBlock("span",Co,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Bo,[e.createElementVNode("div",Eo,[e.createElementVNode("div",No,[e.createElementVNode("p",_o,e.toDisplayString(e.unref(r)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",So,[S.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(b.value),([B,_])=>(e.openBlock(),e.createElementBlock("button",{key:B,onClick:()=>{i.value=B},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)===B?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Do,[e.createElementVNode("span",zo,e.toDisplayString(_.label),1)]),x(B)>0?(e.openBlock(),e.createElementBlock("div",Lo,e.toDisplayString(x(B)),1)):e.createCommentVNode("",!0)],10,Mo))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(B,_)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+_,onClick:N=>i.value=B.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)===B.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Fo,[e.createElementVNode("span",$o,e.toDisplayString(B.props.label),1)]),x(B.props.name)>0?(e.openBlock(),e.createElementBlock("div",jo,e.toDisplayString(x(B.props.name)),1)):e.createCommentVNode("",!0)],10,Ao))),128))]),e.unref(g)>0?(e.openBlock(),e.createElementBlock("div",To,[e.createElementVNode("button",{class:e.normalizeClass([S.itemClass,"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:V[0]||(V[0]=B=>e.unref(w)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ro,[e.unref(i)===""?(e.openBlock(),e.createElementBlock("div",Po,[e.createElementVNode("p",Ko,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),([B,_])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(i)===B?(e.openBlock(),e.createBlock(ee,e.mergeProps({key:B,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:a},{ref_for:!0},_,{class:[S.itemClass,_==null?void 0:_.class],"item-class":[S.itemClass,_==null?void 0:_.itemClass].filter(Boolean).join(" ")||void 0,onChange:V[1]||(V[1]=N=>e.unref(h)(N.name,N.value)),onClear:V[2]||(V[2]=N=>{e.unref(y)(N),e.unref(h)(N,void 0)}),modelValue:e.unref(p)[B],"onUpdate:modelValue":N=>e.unref(p)[B]=N,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(B,_)=>{var N,z;return e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+_},[e.unref(i)===B.props.name?(e.openBlock(),e.createBlock(ee,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},B.props,{ref_for:!0,ref_key:"filterRef",ref:a,class:[S.itemClass,(N=B.props)==null?void 0:N.class],"item-class":[S.itemClass,(z=B.props)==null?void 0:z.itemClass].filter(Boolean).join(" ")||void 0,onChange:V[3]||(V[3]=P=>e.unref(h)(P.name,P.value)),onClear:V[4]||(V[4]=P=>{e.unref(y)(P),e.unref(h)(P,void 0)}),modelValue:e.unref(p)[B.props.name],"onUpdate:modelValue":P=>e.unref(p)[B.props.name]=P,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Uo={class:"flex gap-1 items-center flex-wrap"},je=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const r=te(),t=c,n=l,m=e.useSlots(),f=e.ref({}),d=e.computed(()=>Object.keys(t.schema).length>t.limit),{activeFilter:b,activeFilterCount:p,onFilterChange:g,clearFilter:h,clearAllFilters:y,limitedSchema:w,filtersSlot:k,limitedFiltersSlot:i}=de({...t,schema:f,slots:m},n);function a(V){return Array.isArray(V)?V.some(B=>B!==""&&B!==void 0&&B!==null):V===null?!0:V&&typeof V=="object"?Object.values(V).some(B=>B!==""&&B!==void 0&&B!==null):V!==""&&V!==void 0}const s=e.computed(()=>{const V=Object.keys(w.value??{}),B=i.value.map(_=>{var N;return(N=_.props)==null?void 0:N.name}).filter(_=>typeof _=="string");return new Set([...V,...B])}),u=e.computed(()=>Object.entries(b.value??{}).filter(([V,B])=>s.value.has(V)&&a(B)).length),x=e.computed(()=>{const V=p.value??0,B=u.value??0;return Math.max(V-B,0)}),D=e.ref();function S(){D.value&&D.value.clearAllFilters(!0),y()}return e.watch(()=>t.schema,V=>{f.value=V},{deep:!0,immediate:!0}),o({clearFilter:h,clearAllFilters:y}),(V,B)=>(e.openBlock(),e.createElementBlock("div",Uo,[V.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(w)),([_,N])=>(e.openBlock(),e.createBlock(ee,e.mergeProps({key:_,mode:V.mode,width:V.width?V.width:N==null?void 0:N.width},{ref_for:!0},N,{class:[V.itemClass,N==null?void 0:N.class],"item-class":[V.itemClass,N==null?void 0:N.itemClass].filter(Boolean).join(" ")||void 0,onChange:B[0]||(B[0]=z=>e.unref(g)(z.name,z.value)),onClear:e.unref(h),layout:"inline",cleanable:!0,modelValue:e.unref(b)[_],"onUpdate:modelValue":z=>e.unref(b)[_]=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),(_,N)=>{var z,P;return e.openBlock(),e.createBlock(ee,e.mergeProps({key:"slot-"+N,layout:"inline"},{ref_for:!0},_.props,{class:[V.itemClass,(z=_.props)==null?void 0:z.class],"item-class":[V.itemClass,(P=_.props)==null?void 0:P.itemClass].filter(Boolean).join(" ")||void 0,onChange:B[1]||(B[1]=L=>e.unref(g)(L.name,L.value)),onClear:B[2]||(B[2]=L=>{e.unref(h)(L),e.unref(g)(L,void 0)}),cleanable:!0,modelValue:e.unref(b)[_.props.name],"onUpdate:modelValue":L=>e.unref(b)[_.props.name]=L}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128)),d.value?(e.openBlock(),e.createBlock($e,e.mergeProps({key:1},t,{schema:V.schema,limit:V.limit,onChange:B[3]||(B[3]=_=>e.unref(g)(_.name,_.value)),onClearAll:B[4]||(B[4]=_=>e.unref(y)()),onClear:B[5]||(B[5]=_=>e.unref(h)(_.name)),mode:V.mode,ref_key:"popoverRef",ref:D,cleanable:!0,"badge-count":x.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(_,N)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_),e.mergeProps({key:"slot-"+N,layout:"popover"},{ref_for:!0},_.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(p)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:S,class:e.normalizeClass([V.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)]))}}),Oo={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"},Io={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Zo=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,n=e.useSlots(),{activeFilter:m,activeFilterCount:f,onFilterChange:d,clearFilter:b,clearAllFilters:p,filtersSlot:g}=de({...r,slots:n},t);return o({clearFilter:b,clearAllFilters:p}),(h,y)=>h.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Oo,[e.createElementVNode("div",Io,[e.unref(f)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:y[0]||(y[0]=w=>e.unref(p)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([h.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),h.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(h.schema),([w,k])=>(e.openBlock(),e.createBlock(ee,e.mergeProps({layout:"vertical"},{ref_for:!0},k,{class:[h.itemClass,k==null?void 0:k.class],"item-class":[h.itemClass,k==null?void 0:k.itemClass].filter(Boolean).join(" ")||void 0,onChange:y[1]||(y[1]=i=>e.unref(d)(i.name,i.value)),onClear:y[2]||(y[2]=i=>{e.unref(b)(i),e.unref(d)(i,void 0)}),modelValue:e.unref(m)[w],"onUpdate:modelValue":i=>e.unref(m)[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(g),(w,k)=>{var i,a;return e.openBlock(),e.createBlock(ee,e.mergeProps({key:"slot-"+k,layout:"vertical"},{ref_for:!0},w.props,{class:[h.itemClass,(i=w.props)==null?void 0:i.class],"item-class":[h.itemClass,(a=w.props)==null?void 0:a.itemClass].filter(Boolean).join(" ")||void 0,onChange:y[3]||(y[3]=s=>e.unref(d)(s.name,s.value)),onClear:y[4]||(y[4]=s=>{e.unref(b)(s),e.unref(d)(s,void 0)}),modelValue:e.unref(m)[w.props.name],"onUpdate:modelValue":s=>e.unref(m)[w.props.name]=s,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))])])):e.createCommentVNode("",!0)}}),Ho=["onKeydown"],Wo=["disabled"],qo={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"},Yo={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Go={class:"mb-3 flex items-center justify-between"},Qo={class:"text-[15px] font-semibold text-slate-800"},Xo={"aria-hidden":"true"},Jo={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},vo={key:0,class:"mt-3 flex justify-end"},er=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=te(),r=c,t=o,n=e.ref({}),m=e.useSlots(),{activeFilter:f,activeFilterCount:d,onFilterChange:b,clearFilter:p,clearAllFilters:g,filtersSlot:h}=de({...r,schema:n.value,slots:m},t),y=e.ref(null),w=e.ref(null),k=e.reactive({open:!1,top:0,left:0}),i=e.computed(()=>k.open),a=e.computed(()=>!!r.disabled),s=e.computed(()=>n.value||{}),u=e.computed(()=>r.title??"Фільтр"),x=e.computed(()=>!!m.trigger),D=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",a.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),S=e.computed(()=>k.open?{position:"absolute",top:`${k.top}px`,left:`${k.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function V(){k.open=!1}function B(){if(!y.value)return;const L=y.value.getBoundingClientRect();k.top=L.bottom+window.scrollY+8,k.left=L.left+L.width/2+window.scrollX}function _(){k.open=!k.open,k.open&&e.nextTick(B)}function N(){a.value||_()}function z(){k.open&&B()}function P(){g()}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,L=>{if(!L){n.value={};return}if(Array.isArray(L)){const C=L.filter(F=>F&&(F.name||F.id)).map(F=>{const j=F.name||F.id;return[j,{...F,name:j}]});n.value=Object.fromEntries(C);return}n.value=L},{deep:!0,immediate:!0}),e.watch(()=>r.disabled,L=>{L&&V()}),(L,C)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:y},[x.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",a.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(N,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(N,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(N,["prevent","stop"]),["space"])]},[e.renderSlot(L.$slots,"trigger",{toggle:N,open:i.value,disabled:a.value,activeCount:e.unref(d)})],42,Ho)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(D.value),type:"button",disabled:a.value,onClick:e.withModifiers(N,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(Fe,{class:"h-4 w-4"}),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",qo,e.toDisplayString(e.unref(d)),1)):e.createCommentVNode("",!0)],10,Wo)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof L.width=="number"?`min-w-[${L.width+32+(Object.keys(s.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(S.value),ref_key:"panel",ref:w,onClick:C[4]||(C[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Yo,[e.createElementVNode("div",Go,[e.createElementVNode("h3",Qo,e.toDisplayString(u.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:V},[e.createElementVNode("span",Xo,[e.createVNode(ye,{class:"h-4 w-4"})]),C[5]||(C[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",Jo,[Object.keys(s.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(s.value),([F,j])=>(e.openBlock(),e.createBlock(ee,e.mergeProps({key:F},{ref_for:!0},{...j,layout:"inline"},{width:L.width?L.width:j==null?void 0:j.width,class:[L.itemClass,j==null?void 0:j.class],"item-class":[L.itemClass,j==null?void 0:j.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(f)[F],"onUpdate:modelValue":U=>e.unref(f)[F]=U,onChange:C[0]||(C[0]=U=>e.unref(b)(U.name,U.value)),onClear:C[1]||(C[1]=U=>{e.unref(p)(U),e.unref(b)(U,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(h),(F,j)=>{var U,Y;return e.openBlock(),e.createBlock(ee,e.mergeProps({key:"slot-"+j,ref_for:!0},{...F.props,layout:"inline"},{class:[L.itemClass,(U=F.props)==null?void 0:U.class],"item-class":[L.itemClass,(Y=F.props)==null?void 0:Y.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(f)[F.props.name],"onUpdate:modelValue":Q=>e.unref(f)[F.props.name]=Q,onChange:C[2]||(C[2]=Q=>e.unref(b)(Q.name,Q.value)),onClear:C[3]||(C[3]=Q=>{e.unref(p)(Q),e.unref(b)(Q,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))]),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",vo,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([L.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:P},e.toDisplayString(e.unref(l)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),ke=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(d(r.value??{}));e.watch(()=>r.value,async i=>{var a,s;t.value=d(i??{}),(!i||Object.keys(i).length===0)&&(await e.nextTick(),(s=(a=m.value)==null?void 0:a.clearAllFilters)==null||s.call(a,!0))},{deep:!0,immediate:!0});const n=l,m=e.ref(),f=e.useSlots();function d(i){if(Array.isArray(i))return i.map(a=>d(a));if(i!==null&&typeof i=="object"){const a=e.toRaw(i),s={};for(const u in a)s[u]=d(a[u]);return s}return i}function b(i,a){a!==void 0?t.value={...t.value,[i]:a}:delete t.value[i],n("change",{data:d(t.value),name:i,value:d(a)})}function p(i){delete t.value[i],n("clear",{data:d(t.value),name:i}),n("change",{data:d(t.value),name:i,value:null})}function g(){t.value={},n("clear",{data:d(t.value),name:"ALL"}),n("change",{data:d(t.value),name:"ALL",value:null})}const h=e.ref({});function y(){switch(r.view){case"inline":return je;case"vertical":return Zo;case"popover":return $e;case"popover-inline":return er;default:return je}}e.watch(()=>r.schema,i=>{if(!i){h.value={};return}if(Array.isArray(i)&&!i.length){h.value={};return}Array.isArray(i)?h.value=i.filter(a=>a.type).reduce((a,s)=>(Object.assign(s,{name:s.id||s.name,type:{datepicker:"date"}[s.type.toLowerCase()]||s.type.toLowerCase(),label:s.label||s.ua}),a[s.name]=s,s.data&&!s.api&&!s.options&&Object.assign(s,{api:`/api/suggest/${s.data}`}),a),{}):(Object.entries(i).forEach(([a,s])=>{Object.assign(s,{name:a||s.name||s.id,type:s.type.toLowerCase()})}),h.value={...i})},{immediate:!0,deep:!0});function w(i){m.value.clearFilter(i),p(i)}function k(){m.value.clearAllFilters(),g()}return e.watch(()=>t.value,i=>{if(r.history){const a=new URL(window.location.href),s=new URLSearchParams(window.location.search);Object.keys(i).length>0?s.set("filter",Object.entries(i).filter(([,u])=>u).map(([u,x])=>`${u}=${x}`).join("|")):s.delete("filter"),a.search=decodeURI(s.toString()),window.history.pushState({},"",a)}}),o({clearAllFilters:k,clearFilter:w}),(i,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y()),e.mergeProps(r,{schema:h.value,onChange:a[0]||(a[0]=s=>b(s.name,s.value)),onClear:a[1]||(a[1]=s=>p(s.name)),onClearAll:g,ref_key:"filterRef",ref:m}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(f).trigger?{name:"trigger",fn:e.withCtx(s=>[e.renderSlot(i.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(s)))]),key:"0"}:void 0]),1040,["schema"]))}});ke.install=function(c){c.component("Filter",ke),c.component("FilterField",ee)};function tr(c){const{page:o,id:l,filter:r,filterByView:t}=c,n=new URL(window.location.href),m=new URLSearchParams(window.location.search);o?m.set("page",o.toString()):m.delete("page"),l?m.set("id",l.toString()):m.delete("id"),r?m.set("filter",r):m.delete("filter"),typeof t=="boolean"?m.set("bbox",t?"1":"0"):m.delete("bbox"),n.search=decodeURI(m.toString()),window.history.pushState({},"",n)}const lr={class:"flex items-center justify-between w-full gap-x-1"},or={class:"flex items-center"},rr=["disabled"],ar={class:"flex items-center gap-x-1"},nr=["onClick"],ir=["disabled"],sr={class:"flex justify-center items-center gap-x-5 ml-3"},cr={class:"relative"},dr={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"},mr=["onClick"],pr={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"},fr=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),n=e.ref(l.pageSize),m=e.ref(!1);e.watch(()=>l.pageSize,y=>{n.value=y});const f=e.computed(()=>Math.ceil(l.total/l.pageSize)),d=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>f.value&&(k-=i-f.value,i=f.value),k=Math.max(1,k);const a=[];for(let s=k;s<=i;s+=1)a.push(s);return a}),b=()=>{t.value>1&&g(t.value-1)},p=()=>{t.value<f.value&&g(t.value+1)},g=y=>{t.value=y,r("update:currentPage",y),r("pageChange",y)},h=(y=n.value)=>{n.value=y,m.value=!1,r("update:pageSize",n.value),r("update:currentPage",1),r("pageSizeChange",n.value)};return e.watch(()=>l.currentPage,y=>{t.value=y}),(y,w)=>(e.openBlock(),e.createElementBlock("nav",lr,[e.createElementVNode("div",or,[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,rr),e.createElementVNode("div",ar,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,k=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:k,onClick:i=>g(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,nr))),128))]),e.createElementVNode("button",{type:"button","aria-label":"Next",onClick:p,disabled:t.value===f.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,ir)]),e.createElementVNode("div",sr,[e.createElementVNode("div",cr,[e.withDirectives(e.createElementVNode("div",dr,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],k=>e.createElementVNode("button",{type:"button",key:k,onClick:i=>h(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),n.value===k?(e.openBlock(),e.createElementBlock("svg",pr,[...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,mr)),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:w[0]||(w[0]=k=>m.value=!m.value)},[e.createTextVNode(e.toDisplayString(n.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))])])])]))}}),ie=(c,o)=>{const l=c.__vccOpts||c;for(const[r,t]of o)l[r]=t;return l},ur={},gr={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 hr(c,o){return e.openBlock(),e.createElementBlock("svg",gr,[...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 yr=ie(ur,[["render",hr]]),xr={},br={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 kr(c,o){return e.openBlock(),e.createElementBlock("svg",br,[...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 wr=ie(xr,[["render",kr]]),Vr={},Cr={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 Br(c,o){return e.openBlock(),e.createElementBlock("svg",Cr,[...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 Er=ie(Vr,[["render",Br]]),Nr={},_r={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-map"};function Sr(c,o){return e.openBlock(),e.createElementBlock("svg",_r,[...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 Mr=ie(Nr,[["render",Sr]]),Dr={},zr={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 Lr(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:"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 Ar=ie(Dr,[["render",Lr]]);function Te(c,o){let l;return function(...r){clearTimeout(l),l=setTimeout(()=>c(...r),o)}}function Re(c,o,l=12){const r=o??"";return`${window.location.origin}/api/vtile/${c}/ua/{z}/{x}/{y}.vmt?pointZoom=12&clusterZoom=${l}&filter=${r}`}function Fr(c,o,l,r,t=12){if(!o)return;const n=Re(c,r,t);o.addSource("vector",{type:"vector",tiles:[n],minzoom:0,maxzoom:12});const m=["coalesce",["get","point_count"],["get","pointCount"],["get","cluster_count"],["get","clusterCount"],0],f=[">",m,1],d=["<=",m,1],b=["coalesce",["get","point_count_abbreviated"],["get","cluster_count_abbreviated"],["get","clusterCountAbbreviated"],m];o.addLayer({id:"vector-clusters",type:"circle",source:"vector","source-layer":c,filter:f,maxzoom:12,paint:{"circle-color":["step",m,"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",m,18,100,26,750,32],"circle-opacity":.85}}),o.addLayer({id:"vector-cluster-count",type:"symbol",source:"vector","source-layer":c,filter:f,maxzoom:12,layout:{"text-field":["to-string",b],"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:d,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,paint:{"fill-color":l,"fill-opacity":.6}})}const $r=[{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"}],jr={class:"relative w-auto h-full"},Tr={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] px-[12px]"},Rr={key:0,class:"text-[0.875rem] font-medium text-stone-700"},Pr=["aria-label"],Kr={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"},Ur={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"},Or={class:"flex justify-start items-center gap-2"},Ir={class:"ml-1 text-[0.875rem]"},Zr={key:1,class:"p-[10px]"},Hr={class:"flex justify-start items-center gap-2"},Wr={class:"ml-1 text-[0.875rem]"},qr={class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},Yr=["title","onClick"],Gr=["src"],Qr={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"},me="vector-clusters",Xr=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},filter:{},modelValue:{},zoom:{},minZoom:{},maxZoom:{},map:{},layers:{},clusterZoom:{},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{}},emits:["update:modelValue","update:map"],setup(c,{emit:o}){const l=c,r=o;let t,n;const m=e.getCurrentInstance(),f=e.ref(null),d=e.ref(!1),b=e.ref(!1),p=["vector-circle","vector-fill"],g=e.computed(()=>{var E,A;return((A=(E=m==null?void 0:m.appContext.config.globalProperties)==null?void 0:E.$settings)==null?void 0:A.basemaps)||[]}),h=e.computed(()=>(l.layers&&l.layers.length?l.layers:g.value.length?g.value:$r).map((A,R)=>{var le;const T=A.id||((le=A.name)==null?void 0:le.toString().toLowerCase().replace(/\s+/g,"-"))||`layer-${R}`,J=A.name||A.id||`layer-${R}`;return{...A,id:T,name:J}})),y=e.ref(""),w=e.computed(()=>h.value.find(E=>E.id===y.value)||h.value[0]);e.watch(h,E=>{var A;E.length&&(!y.value||!E.some(R=>R.id===y.value))&&(y.value=((A=E[0])==null?void 0:A.id)||"")},{immediate:!0});function k(E){return E?E.replace("{x}","2422").replace("{y}","1400").replace("{z}","12"):""}const i=e.ref(null),a=e.ref(null),s=["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#17BECF","#BCBD22"];let u;const x=[30,48];let D=null,S=[];function V(){if(typeof window>"u")return{zoom:null,center:null,hasQuery:!1};const E=new URLSearchParams(window.location.search),A=Number(E.get("z")),R=Number(E.get("y")),T=Number(E.get("x")),J=E.has("x")&&E.has("y"),le=E.has("z");return{zoom:le?A:null,center:J?[T,R]:null,hasQuery:J||le}}function B(E,A){if(!E||typeof window>"u")return;const R=new URL(window.location.href);R.searchParams.set("z",A.toFixed(2)),R.searchParams.set("x",E[0].toFixed(6)),R.searchParams.set("y",E[1].toFixed(6)),window.history.replaceState({},"",R)}let _=!1;function N(){if(!t||!_)return;const E=t.getCenter();B([E.lng,E.lat],t.getZoom())}const z=()=>{_||(_=!0),N()};function P(E){return E?["==",["to-string",["get","id"]],E]:["==",["literal",1],0]}function L(){const E=P(l.modelValue);if(!t.getLayer("vector-highlight-circle")){const T=(l.clusterZoom??12)-.01;t.addLayer({id:"vector-highlight-circle",type:"circle",maxzoom:T,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",E),t.setFilter("vector-highlight-fill",E);const A=l.modelValue?"visible":"none";t.setLayoutProperty("vector-highlight-circle","visibility",A),t.setLayoutProperty("vector-highlight-fill","visibility",A),F()}function C(E){if(!t||!S.length)return;const R=["case",["all",["has","id"],["==",["to-string",["get","id"]],E]],"#ef4444",S];t.getLayer("vector-circle")&&t.setPaintProperty("vector-circle","circle-color",R),t.getLayer("vector-fill")&&t.setPaintProperty("vector-fill","fill-color",R)}function F(){if(j(),!l.modelValue)return;let E=!0;D=window.setInterval(()=>{E=!E;const A=E?.8:.2;t!=null&&t.getLayer("vector-highlight-circle")&&t.setPaintProperty("vector-highlight-circle","circle-opacity",A),t!=null&&t.getLayer("vector-highlight-fill")&&t.setPaintProperty("vector-highlight-fill","line-opacity",A)},600)}function j(){D&&(clearInterval(D),D=null)}function U(){t&&(t.setCenter(l.center||x),t.setZoom(l.zoom||5))}function Y(){if(!(t!=null&&t.setLayerZoomRange))return;const E=l.minZoom??0,A=Math.min((l.maxZoom??18)+.01,24),R=l.clusterZoom??12,T=R-.01;t.getLayer("vector-circle")&&t.setLayerZoomRange("vector-circle",E,T),t.getLayer("vector-highlight-circle")&&t.setLayerZoomRange("vector-highlight-circle",E,T),t.getLayer("vector-fill")&&t.setLayerZoomRange("vector-fill",R,A),t.getLayer("vector-highlight-fill")&&t.setLayerZoomRange("vector-highlight-fill",R,A),t.getLayer(me)&&t.setLayerZoomRange(me,E,T),t.getLayer("vector-cluster-count")&&t.setLayerZoomRange("vector-cluster-count",E,T)}const Q=V();_=Q.hasQuery,e.onMounted(async()=>{u=(await fetch(`/api/data/${l.table}/${l.colorAttr}`).then(Z=>Z.json())).rows,u.forEach((Z,H)=>{Z.color||Object.assign(Z,{color:s[H%10]})}),n=new maplibregl.Popup({closeButton:!1,closeOnClick:!1});const A=w.value;if(!A)return;const R=Q.center||l.center||x,T=Q.zoom||l.zoom||5;t=new maplibregl.Map({container:f.value,style:{version:8,sources:{[A.id]:{type:"raster",tiles:[A.url],tileSize:256}},layers:[{id:A.id,type:"raster",source:A.id,minzoom:0,maxzoom:19}]},center:R,zoom:T,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",z),t.on("zoomend",z),_&&N(),t.on("load",()=>{t==null||t.resize(),d.value=!0;const Z=u.filter(I=>I.id).reduce((I,G)=>[G.id,G.color].concat(I),[]),H=["match",["get",l.colorAttr],...Z,"#808080"];S=H,Fr(l.table,t,H,l.filter,l.clusterZoom),L(),C(l.modelValue),Y()});const J=Z=>{var I,G;const H=(I=Z.features)==null?void 0:I[0];(G=H==null?void 0:H.properties)!=null&&G.id&&r("update:modelValue",H.properties.id)};p.forEach(Z=>{t.on("click",Z,J)}),t.on("click",me,Z=>{var M,$,O;const H=(M=Z.features)==null?void 0:M[0];if(!H)return;const I=H.geometry,G=(I==null?void 0:I.type)==="Point"?I.coordinates:(O=($=I==null?void 0:I.coordinates)==null?void 0:$[0])==null?void 0:O[0];if(!G)return;const ae=Math.min(t.getZoom()+2,t.getMaxZoom());t.easeTo({center:G,zoom:ae})}),[...p,me].forEach(Z=>{t.on("mouseenter",Z,()=>{t.getCanvas().style.cursor="pointer"}),t.on("mouseleave",Z,()=>{t.getCanvas().style.cursor=""})}),t.on("mousemove",Z=>{var M;const H=t.queryRenderedFeatures(Z.point,{layers:p});if(!H||!H.length){n.remove();return}const I=H[0],{coordinates:G}=I.geometry,ae=I.geometry.type==="Point"?G:G[0][0];a.value=I.properties,n.setLngLat(ae).setHTML((M=i.value)==null?void 0:M.innerHTML).addTo(t)})}),e.watch(()=>l.center,E=>{t&&t.setCenter(E||x)}),e.watch(()=>l.zoom,E=>{t&&t.setZoom(E)}),e.watch(()=>l.minZoom,E=>{t&&(t.setMinZoom(E??3),Y())}),e.watch(()=>l.maxZoom,E=>{t&&(t.setMaxZoom(E??18),Y())});function pe(E,A){if(!(t!=null&&t.getSource("vector")))return;const R=Re(l.table,E??l.filter,A??l.clusterZoom??12);t.getSource("vector").setTiles([R])}return e.watch(()=>l.filter,E=>{pe(E)}),e.watch(()=>l.clusterZoom,E=>{pe(void 0,E),Y()}),e.watch(()=>l.modelValue,E=>{if(!t)return;const A=P(E);t.getLayer("vector-highlight-circle")&&(t.setFilter("vector-highlight-circle",A),t.setLayoutProperty("vector-highlight-circle","visibility",E?"visible":"none")),t.getLayer("vector-highlight-fill")&&(t.setFilter("vector-highlight-fill",A),t.setLayoutProperty("vector-highlight-fill","visibility",E?"visible":"none")),C(E),E?F():j()}),e.watch(y,(E,A)=>{if(!t||!E)return;const R=h.value.find(J=>J.id===E);if(!R)return;t.getLayer(A)&&t.removeLayer(A),t.getSource(A)&&t.removeSource(A),t.addSource(E,{type:"raster",tiles:[R.url],tileSize:256});const T=t.getLayer("vector-clusters")?"vector-clusters":t.getLayer("vector-circle")?"vector-circle":void 0;t.addLayer({id:R.id,type:"raster",source:R.id,minzoom:0,maxzoom:19},T)}),e.onBeforeUnmount(()=>{j(),t&&(t.off("moveend",z),t.off("zoomend",z),t.remove())}),(E,A)=>{const R=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",jr,[e.createElementVNode("div",{ref_key:"mapContainer",ref:f,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:U},[...A[1]||(A[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)])])),[[R,"Повернутися до базового вигляду"]]),e.createElementVNode("div",{class:e.normalizeClass(["absolute left-[20px] bottom-[74px] bg-white rounded-lg z-10 border legend-panel",{"legend-panel--has-header":l.legendTitle||l.isCollapsible}]),style:e.normalizeStyle(l.legendWidth?{width:l.legendWidth}:{maxWidth:"250px"})},[l.legendTitle||l.isCollapsible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Tr,[l.legendTitle?(e.openBlock(),e.createElementBlock("span",Rr,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:A[0]||(A[0]=T=>b.value=!b.value)},[b.value?(e.openBlock(),e.createElementBlock("svg",Kr,[...A[2]||(A[2]=[e.createElementVNode("path",{d:"M6 9l6 6 6-6"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Ur,[...A[3]||(A[3]=[e.createElementVNode("path",{d:"m18 15-6-6-6 6"},null,-1)])]))],8,Pr)):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(u)||[]).length?"pt-0":"pt-2"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u)||[],T=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:T.id},[e.createElementVNode("div",Or,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+T.color)},null,4),e.createElementVNode("div",Ir,e.toDisplayString(T.text),1)])]))),128))],2)],4)],64)):(e.openBlock(),e.createElementBlock("div",Zr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u)||[],T=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:T.id},[e.createElementVNode("div",Hr,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+T.color)},null,4),e.createElementVNode("div",Wr,e.toDisplayString(T.text),1)])]))),128))]))],6),e.createElementVNode("div",{ref_key:"popupDiv",ref:i,style:{display:"none"}},[e.renderSlot(E.$slots,"default",{hoverData:a.value})],512),e.createElementVNode("div",qr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,T=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:T.id,title:T.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:y.value===T.id}]),onClick:J=>y.value=T.id},[e.createElementVNode("img",{src:T.preview||k(T.url),class:"vs-map-slot-layers__image"},null,8,Gr),e.createElementVNode("div",Qr,e.toDisplayString(T.name),1)],10,Yr)),[[R,T.name]])),128))])],512)),[[e.vShow,d.value]])}}}),Pe={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 n=c.getBoundingClientRect();l.style.left=`${n.left+window.scrollX}px`,l.style.top=`${n.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))}},Jr={class:"pt-[20px]"},vr={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},ea={class:"flex items-center"},ta=["title"],la={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},oa={class:"flex"},ra={key:0,class:"flex items-center py-[15px] pb-[24px] pl-2 pr-6 gap-4"},aa={class:"font-bold text-2xl mr-[10px]"},na={class:"text-sm text-stone-500 font-medium"},ia={key:0,class:"inline-flex items-center gap-2 text-sm text-stone-700 select-none ml-auto mt-auto"},sa={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},ca={key:1,class:"text-center py-28"},da={key:1},ma={key:2,class:"my-5 pr-2"},pa={class:"flex justify-between"},fa={class:"w-full lg:w-1/2 relative"},ua={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},we=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:{}},emits:["change:filter","update:map"],setup(c,{emit:o}){var J,le,Z,H,I,G,ae;const l=e.getCurrentInstance();l&&!(l!=null&&l.appContext.directives.tooltip)&&(l.appContext.directives.tooltip=Pe);function r(M){return M?(M.type==="Point"?M.coordinates:null)||(M.type.includes("Multi")?M.coordinates[0][0][0]:M.coordinates[0][0]):null}const t=c,n=o,m=e.ref(0);m.value=t.initTotal??((J=t.rows)==null?void 0:J.length)??0;const f=e.ref(""),d=e.ref(null),b=e.ref(!0),p=e.ref(((le=t.rows)==null?void 0:le.length)===1),g=e.ref(0),h=e.ref(t.rows),y=e.ref(1),w=e.ref(20),k=e.ref(t.filters||[]),i=e.ref(""),a=e.ref({}),s=e.ref(((Z=t.rows)==null?void 0:Z.length)===1?t.rows[0]:{}),u=e.ref(((H=t.rows)==null?void 0:H.length)===1?t.rows[0].id:""),x=e.ref(((I=t.rows)==null?void 0:I.length)===1?r((G=t.rows[0])==null?void 0:G.geom):t.center||null),D=e.ref(((ae=t.rows)==null?void 0:ae.length)===1?14:t.zoom||5),S=e.ref(!1),V=e.ref(!1),B=e.ref("");let _=!1;const N=e.computed(()=>{var M;return p.value&&!((M=s.value)!=null&&M.geom)});function z(M){return Object.entries(M).filter(([$,O])=>Array.isArray(O)?O.length:O).map(([$,O])=>`${$}=${O}`).join("|")}function P(){var K,ne,X,q;if(!d.value||!V.value)return;const M=(ne=(K=d.value).getBounds)==null?void 0:ne.call(K);if(!M)return;const $=(X=M.getSouthWest)==null?void 0:X.call(M),O=(q=M.getNorthEast)==null?void 0:q.call(M);!$||!O||(B.value=`${$.lng} ${$.lat},${O.lng} ${O.lat}`)}async function L(M=!1){await e.nextTick();const $=z(a.value);i.value=$,V.value?P():B.value="";try{const O={search:f.value,limit:w.value.toString(),page:y.value.toString(),filter:$,...V.value&&B.value?{bbox:B.value}:{}},K=new URL(`/api/data/${t.table}`,window.location.origin)+(u.value?`/${u.value}`:""),ne=new URLSearchParams(O).toString(),X=await fetch(`${K.toString()}?${ne}`).then(q=>q.json());if(u.value){let q;X.rows.length>1?q=X.rows.find(ga=>ga.id===u.value):[q]=X.rows,s.value=q,M||(x.value=r(q==null?void 0:q.geom),D.value=14),p.value=!0}else p.value=!1,S.value||(D.value=t.zoom||5),h.value=X==null?void 0:X.rows;S.value=!1,m.value=X.filtered,tr({page:y.value,filter:$,id:u.value,filterByView:V.value})}catch(O){console.error(O.message)}}const C=Te(()=>L(),300),F=Te(()=>L(!0),400);function j(){!d.value||_||!V.value||(d.value.on("moveend",F),d.value.on("zoomend",F),_=!0)}function U(){!d.value||!_||(d.value.off("moveend",F),d.value.off("zoomend",F),_=!1)}function Y(M){w.value=M,y.value=1,L()}function Q(M){y.value=M,L()}function pe(M){a.value=M.data,y.value=1,u.value?u.value="":L(),n("change:filter",M)}async function E(){if(t.filters)return;const $=await(await fetch(`/api/filter/${t.table}`)).json();k.value=$.list}function A(){a.value={},f.value="",L()}e.onMounted(async()=>{var O,K;g.value=window.innerWidth,g.value<1e3&&(b.value=!1);const M=new URLSearchParams(window.location.search);y.value=Number(M.get("page"))||1,w.value=Number(M.get("limit"))||w.value,u.value=M.get("id")||"",p.value=!!u.value,i.value=M.get("filter")||"";const $=M.get("bbox");$!==null?V.value=$!=="0":V.value=!1,(K=(O=M.get("filter"))==null?void 0:O.split("|"))==null||K.forEach(ne=>{const[X,q]=ne.split("=");X&&(a.value[X]=q!=null&&q.includes(",")?q.split(","):[q])}),E(),!h.value&&!u.value&&L()}),e.onBeforeUnmount(()=>{U()});function R(){S.value=!0,p.value=!1,s.value=null,u.value=""}function T(M){M!=null&&M.geom&&(x.value=r(M.geom),D.value=16),s.value=M,u.value=M.id}return e.watch(d,M=>{n("update:map",M),M&&V.value&&j()}),e.watch(f,M=>{M||L()}),e.watch(u,()=>{L()}),e.watch(V,()=>{V.value?j():U(),L()}),(M,$)=>{var O;return e.openBlock(),e.createElementBlock("section",Jr,[e.renderSlot(M.$slots,"header",{title:t.title,total:m.value}),e.createElementVNode("div",vr,[e.createVNode(e.unref(ee),{type:"text",modelValue:f.value,"onUpdate:modelValue":$[0]||($[0]=K=>f.value=K),name:"search",label:"Пошук",onChange:e.unref(C)},null,8,["modelValue","onChange"]),k.value.length?(e.openBlock(),e.createBlock(e.unref(ke),{key:0,schema:k.value,view:"inline",onChange:pe,limit:5,value:a.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",ea,[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:b.value?"Приховати карту":"Показати карту",onClick:$[1]||($[1]=K=>b.value=!b.value)},[b.value?(e.openBlock(),e.createBlock(wr,{key:0})):(e.openBlock(),e.createBlock(Er,{key:1})),$[9]||($[9]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,ta),e.createElementVNode("div",la,[e.createElementVNode("button",{onClick:$[2]||($[2]=K=>b.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(Ar)]),e.createElementVNode("button",{onClick:$[3]||($[3]=K=>b.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(Mr)])])])]),e.createElementVNode("div",oa,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",b.value?"w-2/4 mr-0":"w-full mr-3",p.value?"hidden":""])},[(O=M.$slots)!=null&&O.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ra,[e.createElementVNode("div",null,[e.createElementVNode("span",aa,e.toDisplayString(t.title),1),e.createElementVNode("span",na,e.toDisplayString(m.value),1),$[10]||($[10]=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1))]),t.objectsInView?(e.openBlock(),e.createElementBlock("label",ia,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"accent-blue-600 w-4 h-4","onUpdate:modelValue":$[4]||($[4]=K=>V.value=K)},null,512),[[e.vModelCheckbox,V.value]]),$[11]||($[11]=e.createElementVNode("span",null,"В межах видимої області",-1))])):e.createCommentVNode("",!0)])),e.createElementVNode("div",sa,[m.value>=1?e.renderSlot(M.$slots,"table",{key:0,rows:h.value,selectRow:T}):(e.openBlock(),e.createElementBlock("div",ca,[e.createVNode(yr),$[12]||($[12]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),$[13]||($[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:A}," Очистити дані пошуку ")]))]),m.value>=1?(e.openBlock(),e.createElementBlock("hr",da)):e.createCommentVNode("",!0),m.value>=1?(e.openBlock(),e.createElementBlock("div",ma,[e.createElementVNode("div",pa,[e.createVNode(fr,{total:m.value,currentPage:y.value??1,pageSize:w.value,onPageChange:$[5]||($[5]=K=>Q(K)),onPageSizeChange:$[6]||($[6]=K=>Y(K))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),p.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(b.value?"lg:static lg:w-1/2 mr-0 pb-5":"pb-5 mr-3"),style:{height:"calc(100vh - 152px)"}},[e.renderSlot(M.$slots,"details",{table:t.table,selectedRow:s.value,closeObjCard:R})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",fa,[e.createVNode(Xr,{table:t.table,map:d.value,"onUpdate:map":$[7]||($[7]=K=>d.value=K),zoom:D.value,minZoom:t.minZoom,maxZoom:t.maxZoom,colorAttr:t.colorAttr,filter:i.value,center:x.value,clusterZoom:t.clusterZoom,modelValue:u.value,"onUpdate:modelValue":$[8]||($[8]=K=>u.value=K),layers:t.layers,isCollapsible:t.isCollapsible,legendTitle:t.legendTitle,legendWidth:t.legendWidth},{default:e.withCtx(({hoverData:K})=>[e.renderSlot(M.$slots,"popup",{data:K})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.renderSlot(M.$slots,"default",{table:t.table,map:d.value,selectedRow:s.value}),N.value?(e.openBlock(),e.createElementBlock("div",ua,[...$[14]||($[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,b.value]])])])}}});return we.install=c=>{c.component("VsPartsMap",we),c._context.directives.tooltip||c.directive("tooltip",Pe)},we});
|
|
1
|
+
(function(e,te){typeof exports=="object"&&typeof module<"u"?module.exports=te(require("vue")):typeof define=="function"&&define.amd?define(["vue"],te):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=te(e.Vue))})(this,function(e){"use strict";const te=(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 Ke={},Ue={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 Ie(c,o){return e.openBlock(),e.createElementBlock("svg",Ue,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 Oe=te(Ke,[["render",Ie]]),Ze={},He={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 We(c,o){return e.openBlock(),e.createElementBlock("svg",He,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 qe=te(Ze,[["render",We]]),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-blue-600"};function Qe(c,o){return e.openBlock(),e.createElementBlock("svg",Ye,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 Xe=te(Ge,[["render",Qe]]),Je={},ve={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 et(c,o){return e.openBlock(),e.createElementBlock("svg",ve,o[0]||(o[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const tt=te(Je,[["render",et]]),lt={class:"rounded-md border border-gray-300 bg-white p-4 shadow-sm"},ot={class:"flex items-start gap-4 opacity-100 scale-5 transition-all duration-300"},rt={class:"flex-1"},nt={class:"font-medium text-gray-900"},at={class:"mt-0.5 text-sm text-gray-700"},it=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(c){const o={success:Oe,warning:qe,error:tt,info:Xe};return(l,r)=>(e.openBlock(),e.createElementBlock("div",lt,[e.createElementVNode("div",ot,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o[l.type]))),e.createElementVNode("div",rt,[e.createElementVNode("strong",nt,e.toDisplayString(l.title),1),e.createElementVNode("p",at,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 ae={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"},Ve=c=>{var d;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 ${ae[t]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(a)),a.className.includes(ae[t])||(Object.values(ae).forEach(b=>{a.classList.remove(...b.split(" "))}),a.classList.add(...ae[t].split(" ")));const m=document.createElement("div");a.appendChild(m);const f=e.createApp({render(){return e.h(it,{type:o,title:l,message:r,onClose:()=>{f.unmount(),m.remove()}})}});f.mount(m),(d=m.querySelector("button"))==null||d.addEventListener("click",()=>{m.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{f.unmount(),m.remove()},350)}),setTimeout(()=>{m.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{f.unmount(),m.remove()},350)},3500)},J=(c,o)=>{const l=c.__vccOpts||c;for(const[r,t]of o)l[r]=t;return l},st={},ct={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 dt(c,o){return e.openBlock(),e.createElementBlock("svg",ct,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 mt=J(st,[["render",dt]]),pt={},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:"text-blue-600 w-[16px] h-[16px]"};function ut(c,o){return e.openBlock(),e.createElementBlock("svg",ft,o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const le=J(pt,[["render",ut]]),gt={class:"flex items-center justify-between w-full text-sm"},ht={class:"flex items-center cursor-pointer w-full"},yt={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},xt=["value"],bt={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},kt={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},wt={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},me=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 m=e.ref(null),f=e.computed(()=>r.layout==="inline"&&r.type==="radio");return o({el:m}),(d,b)=>(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",gt,[e.createElementVNode("div",ht,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(d.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":d.highlighted,relative:f.value}]),onClick:e.withModifiers(a,["stop","prevent"])},[f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[d.type==="checkbox"?"rounded-[4px]":"rounded-full",d.color?`bg-[${d.color}] border-[#ffffff]`:d.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[d.isSelected?(e.openBlock(),e.createElementBlock("img",yt)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:d.value},null,8,xt),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",f.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",bt,e.toDisplayString(d.label??"Відсутні дані"),1),d.count?(e.openBlock(),e.createElementBlock("div",kt," ("+e.toDisplayString(d.count)+") ",1)):e.createCommentVNode("",!0)],2),f.value&&d.isSelected?(e.openBlock(),e.createElementBlock("span",wt,[e.createVNode(le)])):e.createCommentVNode("",!0)],2)])])],512))}});function pe(c,o){const{options:l=[],limit:r=20}=c;function t(g){return Array.isArray(g)?g[0]:g}const a=e.ref(t(c.modelValue)),m=e.ref(""),f=e.ref(!1),d=e.ref([]),b=e.ref("id"),p=e.ref("text"),u=e.ref(!1),y=e.ref(c.layout!=="popover"&&l.length>r);function x(g){const h=g.find(Boolean)??{},L=["id","value","code","key"].find(V=>V in h)??"id",M=["text","label","name","title"].find(V=>V in h)??"text";return{autoValueKey:L,autoLabelKey:M}}if(l.length>0){const g=x(l);b.value=g.autoValueKey,p.value=g.autoLabelKey}const w=e.computed(()=>{const g=d.value;return c.layout==="popover"||u.value?g:g.slice(0,r)});e.watch(()=>c.modelValue,g=>{a.value=t(g)},{immediate:!0}),d.value=[...l].sort((g,h)=>c.sort==="count"?h.count&&g.count?h.count-g.count:0:c.sort==="name"?String(g[p.value]??"").localeCompare(String(h[p.value]??"")):0);function k(g){return a.value===g[b.value]}function i(g){a.value=g[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 s(){u.value=!u.value}return{innerValue:a,searchTerm:m,filteredOptions:w,isSelected:k,selectItem:i,clear:n,toggleShowAll:s,isReqProc:f,showAll:u,isEnableShowAll:y,labelKey:p,valueKey:b,allOptions:d}}const Vt={},Ct={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Bt(c,o){return e.openBlock(),e.createElementBlock("svg",Ct,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 fe=J(Vt,[["render",Bt]]),Et={},Nt={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 _t(c,o){return e.openBlock(),e.createElementBlock("svg",Nt,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const ie=J(Et,[["render",_t]]),St={},Mt={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 Dt(c,o){return e.openBlock(),e.createElementBlock("svg",Mt,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 ue=J(St,[["render",Dt]]),Lt={key:0,class:"w-full"},zt={class:"flex flex-col items-center justify-center p-5 text-center"},Ft={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},At={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},$t=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:m,filteredOptions:f,isSelected:d,selectItem:b,clear:p,toggleShowAll:u,isReqProc:y,showAll:x,isEnableShowAll:w,labelKey:k,valueKey:i,allOptions:n}=pe({...r,modelValue:r.modelValue??r.default??""},a);return o({clear:p,inputTextRef:t}),e.watch(()=>r.modelValue,s=>{s===void 0&&(m.value=void 0)}),(s,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([s.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([s.layout==="popover"?"flex-1 overflow-y-auto p-2":"",s.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),h=>(e.openBlock(),e.createBlock(me,{layout:s.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(d)(h),onItemClick:L=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),s.type==="select"&&e.unref(f).length===0&&!e.unref(y)?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("div",zt,[e.createVNode(fe),g[4]||(g[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),s.layout!=="popover"&&s.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g[0]||(g[0]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[g[5]||(g[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(ie)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:g[1]||(g[1]=(...h)=>e.unref(u)&&e.unref(u)(...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"},[g[6]||(g[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(ue)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),s.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[s.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ft,[e.createTextVNode(e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(n).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[2]||(g[2]=(...h)=>e.unref(p)&&e.unref(p)(...h))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0),s.layout==="popover"?(e.openBlock(),e.createElementBlock("div",At,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(n).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[3]||(g[3]=(...h)=>e.unref(p)&&e.unref(p)(...h))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function Ce(c,o){const{options:l=[],limit:r=20}=c;function t(g){return Array.isArray(g)?g:g?[g]:[]}const a=e.ref(t(c.modelValue)),m=e.ref(""),f=e.ref(!1),d=e.ref([]),b=e.ref("id"),p=e.ref("text"),u=e.ref(!1),y=e.ref(c.layout!=="popover"&&l.length>r);function x(g){const h=g.find(Boolean)??{},L=["id","value","code","key"].find(V=>V in h)??"id",M=["text","label","name","title"].find(V=>V in h)??"text";return{autoValueKey:L,autoLabelKey:M}}if(l.length>0){const g=x(l);b.value=g.autoValueKey,p.value=g.autoLabelKey}const w=e.computed(()=>{const g=d.value;return c.layout==="popover"||u.value?g:g.slice(0,r)});e.watch(()=>c.modelValue,g=>{a.value=t(g)},{immediate:!0}),d.value=[...l].sort((g,h)=>c.sort==="count"?h.count&&g.count?h.count-g.count:0:c.sort==="name"?String(g[p.value]).localeCompare(String(h[p.value])):0);function k(g){return a.value&&a.value.includes(g[b.value])}function i(g){const h=a.value.includes(g[b.value]);a.value=h?a.value.filter(L=>L!==g[b.value]):[...a.value,g[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 s(){u.value=!u.value}return{innerValue:a,searchTerm:m,filteredOptions:w,isSelected:k,selectItem:i,clear:n,toggleShowAll:s,isReqProc:f,showAll:u,isEnableShowAll:y,labelKey:p,valueKey:b,allOptions:d}}const Be={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 Ee(c){const o=c.split(".")[1],l=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(Be[l||navigator.language]||Be.uk)[o]}function ee(){const c=e.getCurrentInstance();if(!c.appContext.config.globalProperties.$i18n)return Ee;const o=c.appContext.config.globalProperties.$t;return l=>{const r=o(l);return r===l?Ee(l):r}}const jt={key:0,class:"w-full"},Tt={class:"flex flex-col items-center justify-center p-5 text-center"},Rt={class:"max-w-sm mx-auto mt-6"},Pt={class:"font-medium text-gray-800 dark:text-neutral-200"},Kt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ut={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ne=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=ee(),t=c,a=l,{innerValue:m,filteredOptions:f,isSelected:d,selectItem:b,clear:p,toggleShowAll:u,isReqProc:y,showAll:x,isEnableShowAll:w,labelKey:k,valueKey:i,allOptions:n}=Ce({...t,modelValue:t.modelValue},a);return e.watch(()=>t.modelValue,s=>{s===void 0&&(m.value=[])}),o({clear:p}),(s,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([s.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([s.layout==="popover"?"flex-1 overflow-y-auto p-2":"",s.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),h=>(e.openBlock(),e.createBlock(me,{layout:s.layout,count:h.count,label:h[e.unref(k)],color:h.color,type:"checkbox",value:h[e.unref(i)],"is-selected":e.unref(d)(h),onItemClick:L=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),s.type==="select"&&e.unref(f).length===0&&!e.unref(y)?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Tt,[e.createVNode(fe),e.createElementVNode("div",Rt,[e.createElementVNode("p",Pt,e.toDisplayString(e.unref(r)("filter.notfound")),1),g[4]||(g[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),s.layout!=="popover"&&s.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g[0]||(g[0]=(...h)=>e.unref(u)&&e.unref(u)(...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(ie)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:g[1]||(g[1]=(...h)=>e.unref(u)&&e.unref(u)(...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(ue)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),s.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[s.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Kt,[e.createTextVNode(e.toDisplayString(e.unref(m).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:g[2]||(g[2]=(...h)=>e.unref(p)&&e.unref(p)(...h))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0),s.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ut,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m).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:g[3]||(g[3]=(...h)=>e.unref(p)&&e.unref(p)(...h))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),It={},Ot={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 Zt(c,o){return e.openBlock(),e.createElementBlock("svg",Ot,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"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=J(It,[["render",Zt]]),Ht={},Wt={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 qt(c,o){return e.openBlock(),e.createElementBlock("svg",Wt,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 ge=J(Ht,[["render",qt]]);class Se{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 Gt={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Yt=["placeholder"],Qt=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,p=>{p!==a.value&&(a.value=(p==null?void 0:p.toString())??"")});let m=null;function f(){if(a.value=a.value.trimStart(),a.value.length===0){d();return}m&&clearTimeout(m),m=setTimeout(()=>{t("update:modelValue",a.value),t("change",{name:l.name,value:a.value})},300)}function d(){a.value="",t("update:modelValue",""),t("clear",l.name)}return(p,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-sm [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-sm [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",p.layout==="inline"?e.unref(Se).getWidthClass(p.width):"mb-2"+(p.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Gt,[e.createVNode(_e)]),a.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:d,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(ge)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":u[0]||(u[0]=y=>a.value=y),onInput:f,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,Yt),[[e.vModelText,a.value]])],2))}});function Me(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 Xt(){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 Jt(){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 De(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 vt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},el=["placeholder","disabled"],tl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ll={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ol=["placeholder","disabled"],rl=["disabled"],nl=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=Me(),t=Xt(),a=ee(),m=c,f=e.ref(m.modelValue??m.default??[]),d=l,b=e.computed({get:()=>m.modelValue??f.value,set:y=>{m.modelValue!==void 0?d("update:modelValue",y):f.value=y}});function p(){d("change",{name:m.name,value:b.value||f.value})}function u(){f.value=[],b.value=f.value,d("clear",m.name)}return e.watch(()=>m.modelValue,y=>{y!==void 0&&m.layout!=="popover"?(f.value=y,d("update:modelValue",y)):f.value=[]}),o({clear:u,currentValue:b}),(y,x)=>{var w,k;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(y.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[y.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",vt,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=y.placeholder)==null?void 0:w[0])??e.unref(a)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":x[0]||(x[0]=i=>b.value[0]=i),disabled:y.disabled},null,10,el),[[e.vModelText,b.value[0]]])]),y.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",tl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[y.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",ll,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=y.placeholder)==null?void 0:k[1])??e.unref(a)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":x[1]||(x[1]=i=>b.value[1]=i),disabled:y.disabled},null,10,ol),[[e.vModelText,b.value[1]]])]),["popover","inline","vertical"].includes(y.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:p,class:e.normalizeClass(e.unref(t)+(y.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(y.layout==="vertical"?"Ok":e.unref(a)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(y.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(b.value[0]||b.value[1]),onClick:u,class:e.normalizeClass(e.unref(t)+" hover:bg-gray-100")},e.toDisplayString(e.unref(a)("filter.clear")),11,rl)):e.createCommentVNode("",!0)],2)]),(y.cleanable&&f.value.length,e.createCommentVNode("",!0))],64)}}});class W{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),p=new Date(l);return b.setDate(b.getDate()+r*7),p.setDate(p.getDate()+r*7),[this.format(b),this.format(p)]}const t=new Date,a=t.getDay(),m=a===0?13:a-1+7,f=new Date(t);f.setDate(t.getDate()-m+r*7);const d=new Date(f);return d.setDate(f.getDate()+6),[this.format(f),this.format(d)]}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,m=new Date(t.getFullYear(),t.getMonth()+1,0);return[this.format(a),this.format(m)]}static getQuarterRange(o,l,r=0){const t=o||l,a=t?new Date(t):new Date;let m=Math.floor(a.getMonth()/3);m+=r;const f=(m%4+4)%4*3,d=a.getFullYear()+Math.floor(m/4),b=new Date(d,f,1),p=new Date(d,f+3,0);return[this.format(b),this.format(p)]}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 Le(c,o){const{popoverRef:l}=c,r=ee(),t=e.ref(""),a=e.ref(c.modelValue??c.default??[]),m=e.ref(0);function f(){const n=W.getRangeFromDaysBefore(m.value);return a.value=[...n],o("change",{name:c.name,value:a.value}),o("update:modelValue",a.value),n}function d(n){var g;t.value=n,(g=l.value)==null||g.close();const s=[];switch(t.value){case"today":s.push(W.getShiftedDay()),s.push(W.getShiftedDay());break;case"week":s.push(...W.getLastWeekRange());break;case"month":s.push(...W.getMonthRange());break;case"quarter":s.push(...W.getQuarterRange());break;case"year":s.push(...W.getYearRange());break;case"last_7_days":m.value=7,f();break;case"range":m.value=7,s.push(...f());break}a.value=[...s],o("change",{name:c.name,value:a.value}),o("update:modelValue",a.value)}function b(){const n=[];switch(t.value){case"today":n.push(W.getShiftedDay(a.value[0],1));break;case"week":n.push(...W.getLastWeekRange(a.value[0],a.value[1],1));break;case"month":n.push(...W.getMonthRange(a.value[0],a.value[1],1));break;case"quarter":n.push(...W.getQuarterRange(a.value[0],a.value[1],1));break;case"year":n.push(...W.getYearRange(a.value[0],1));break}a.value=[...n],o("change",{name:c.name,value:a.value}),o("update:modelValue",a.value)}function p(){const n=[];switch(t.value){case"today":n.push(W.getShiftedDay(a.value[0],-1));break;case"week":n.push(...W.getLastWeekRange(a.value[0],a.value[1],-1));break;case"month":n.push(...W.getMonthRange(a.value[0],a.value[1],-1));break;case"quarter":n.push(...W.getQuarterRange(a.value[0],a.value[1],-1));break;case"year":n.push(...W.getYearRange(a.value[0],-1));break}a.value=[...n],o("change",{name:c.name,value:a.value}),o("update:modelValue",a.value)}const u=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function y(n){const[s,g,h]=n.split("-");return`${h}.${g}.${s}`}function x(n,s="long"){const g=new Date(Date.UTC(2e3,n-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:s,timeZone:"UTC"}).format(g)}function w(n){const{value:s}=a;switch(n){case"today":return y(s[0]);case"range":return"Період";case"week":return s[0]&&s[1]?`${y(s[0])} – ${y(s[1])}`:"";case"quarter":if(s[0]){const g=new Date(s[0]),h=g.getFullYear(),L=g.getMonth();return`${Math.floor(L/3)+1} ${r("filter.quarter")} ${h}`}return"";case"month":if(s[0]){const[g,h]=s[0].split("-");return`${x(parseInt(h,10))} ${g}`}return"";case"year":return s[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:m,onDaysBeforeChange:f,onSelectChange:d,nextClick:b,prevClick:p,ukMonths:u,formatDisplayDate:y,getModeLabel:w,currentLabel:k,clear:i}}const al={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},il={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},sl=["max","disabled"],cl=["min","disabled"],dl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ml=["max","disabled"],pl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},fl={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ul=["min","disabled"],gl={class:"flex gap-1 pt-2"},hl=["onClick"],yl=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=Me(),a=Jt(),m=ee(),f=l,d=e.ref(null),{activeMode:b,innerValue:p,onSelectChange:u,nextClick:y,prevClick:x,clear:w}=Le({...r,popoverRef:d},f);return e.watch(()=>r.modelValue,k=>{k!==void 0?(p.value=k,f("update:modelValue",k)):(b.value="",p.value=[])}),e.watch(p,k=>{f("update:modelValue",k),f("change",{name:r.name,value:k})},{deep:!0}),o({clear:w,popoverRef:d}),(k,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[k.layout==="inline"?(e.openBlock(),e.createElementBlock("div",al,[e.unref(b)!==""&&e.unref(b)==="range"?(e.openBlock(),e.createElementBlock("div",il,[i[7]||(i[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(p)[1],locale:"uk-UA","onUpdate:modelValue":i[0]||(i[0]=n=>e.unref(p)[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,sl),[[e.vModelText,e.unref(p)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(p)[0],locale:"uk-UA","onUpdate:modelValue":i[1]||(i[1]=n=>e.unref(p)[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,cl),[[e.vModelText,e.unref(p)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",dl,e.toDisplayString(e.unref(m)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(p)[1],locale:"uk-UA","onUpdate:modelValue":i[2]||(i[2]=n=>e.unref(p)[0]=n),class:e.normalizeClass(e.unref(t)),disabled:k.disabled},null,10,ml),[[e.vModelText,e.unref(p)[0]]])],2),k.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",pl," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(k.layout!=="popover"?"w-[48%]":"")},[k.layout==="popover"?(e.openBlock(),e.createElementBlock("label",fl,e.toDisplayString(e.unref(m)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(p)[0],locale:"uk-UA","onUpdate:modelValue":i[3]||(i[3]=n=>e.unref(p)[1]=n),class:e.normalizeClass(e.unref(t)),disabled:k.disabled},null,10,ul),[[e.vModelText,e.unref(p)[1]]])],2)],2),e.createElementVNode("div",gl,[(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:s=>e.unref(u)(n)},e.toDisplayString(e.unref(m)("filter."+n)),11,hl)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:i[4]||(i[4]=(...n)=>e.unref(x)&&e.unref(x)(...n))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:i[5]||(i[5]=(...n)=>e.unref(y)&&e.unref(y)(...n))},">",2)]),(k.cleanable,e.createCommentVNode("",!0))],64))}});function xl(c,o){const{api:l,options:r=[],limit:t=20,dataKey:a="data"}=c,m=c.multi;function f(C){return m?Array.isArray(C)?C:C?[C]:[]:Array.isArray(C)?C[0]:C}const d=e.ref(f(c.modelValue)),b=e.ref(""),p=e.ref(!1),u=e.ref(r),y=e.ref("id"),x=e.ref("text"),w=e.ref(!1),k=e.ref(c.layout!=="popover"&&r.length>t),i=e.ref([]),n=e.ref(0);function s(C){const $=C.find(Boolean)??{},R=["id","value","code","key"].find(G=>G in $)??"id",I=["text","label","name","title"].find(G=>G in $)??"text";return{autoValueKey:R,autoLabelKey:I}}if(r.length>0){const C=s(r);y.value=C.autoValueKey,x.value=C.autoLabelKey}const g=e.computed(()=>{if(l)return u.value;const C=u.value;if(c.layout==="popover")return C;if(!b.value)return w.value?C:C.slice(0,t);const $=b.value.toLowerCase();return C.filter(R=>R[x.value].toLowerCase().includes($))});let h=null;async function L(C){if(l){p.value=!0;try{const $=new URL(l,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",C),$.searchParams.set("limit",t.toString());const R=await fetch($.toString());if(!R.ok){Ve({type:"error",title:"Error",message:"Failed to fetch remote options"}),u.value=[];return}const I=await R.json();if(!I[a]){Ve({type:"error",title:"Error",message:I}),u.value=[];return}if(u.value=I[a],u.value.length>0){const G=s(u.value);y.value=G.autoValueKey,x.value=G.autoLabelKey}n.value=I.total}catch($){console.error("Failed to fetch remote options:",$)}finally{p.value=!1}}}e.watch(b,C=>{l&&(h&&clearTimeout(h),h=setTimeout(()=>{L(C)},200))}),e.watch(()=>c.modelValue,C=>{d.value=f(C)},{immediate:!0});function M(C){return m&&Array.isArray(d.value)?d.value.includes(C[y.value]):d.value&&d.value===C[y.value]}function V(C){if(m&&!Array.isArray(d.value)&&(d.value=[]),m&&Array.isArray(d.value)){const $=d.value.includes(C[y.value]);d.value=$?d.value.filter(R=>R!==C[y.value]):[...d.value,C[y.value]],i.value=$?i.value.filter(R=>R!==C[x.value]):[...i.value,C[x.value]]}else d.value=C[y.value],i.value=C[x.value];o("update:modelValue",d.value),o("change",{name:c.name,value:d.value})}function B(){m?(d.value=[],i.value=[]):(d.value=void 0,i.value=[]),o("update:modelValue",d.value),o("clear",c.name)}function D(){h&&clearTimeout(h),b.value="",w.value=!1}function _(){w.value=!w.value}e.onBeforeUnmount(()=>{h&&clearTimeout(h)});const A=e.ref(-1);e.watch(g,()=>{A.value=g.value.length>0?0:-1});function K(C){const $=g.value.length;if(C.key==="ArrowDown")C.preventDefault(),A.value=(A.value+1)%$;else if(C.key==="ArrowUp")C.preventDefault(),A.value=(A.value-1+$)%$;else if(C.key==="Enter"&&(C.preventDefault(),A.value>=0&&A.value<g.value.length)){const R=g.value[A.value];V(R)}}function F(){l&&u.value.length===0&&b.value.length===0&&L(b.value)}return{innerValue:d,searchTerm:b,filteredOptions:g,isSelected:M,selectItem:V,clear:B,resetSearch:D,toggleShowAll:_,isReqProc:p,showAll:w,isEnableShowAll:k,labelKey:x,valueKey:y,allOptions:u,highlightedIndex:A,onKeyDown:K,selectedLabels:i,totalCount:n,loadData:F}}const bl={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},kl=["placeholder"],wl={key:0,class:"w-full"},Vl={class:"flex flex-col items-center justify-center p-5 text-center"},Cl={class:"max-w-sm mx-auto mt-6"},Bl={class:"font-medium text-gray-800 dark:text-neutral-200"},El={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Nl={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_l=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=ee(),t=c,a=l,m=e.ref(null),{innerValue:f,filteredOptions:d,isSelected:b,selectItem:p,clear:u,resetSearch:y,toggleShowAll:x,isReqProc:w,showAll:k,isEnableShowAll:i,searchTerm:n,labelKey:s,valueKey:g,highlightedIndex:h,onKeyDown:L,selectedLabels:M,totalCount:V,loadData:B}=xl({...t,modelValue:t.modelValue},a);e.onMounted(()=>{y(),t.layout!=="inline"&&(B(),m.value&&t.layout==="popover"&&m.value.focus())}),e.watch(()=>t.modelValue,_=>{_===void 0&&(t.multi?f.value=[]:f.value=void 0)});const D=e.ref([]);return e.watch(h,_=>{var A;_>=0&&D.value[_]&&((A=D.value[_])==null||A.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(d,()=>{D.value=[]}),o({clear:u,inputTextRef:m,selectedLabels:M,loadData:B}),(_,A)=>{var K,F;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([_.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",bl,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":A[0]||(A[0]=C=>e.isRef(n)?n.value=C:null),onKeydown:A[1]||(A[1]=(...C)=>e.unref(L)&&e.unref(L)(...C)),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:m},null,40,kl),[[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(ge,{key:0,onClick:A[2]||(A[2]=C=>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([_.layout==="popover"?"flex-1 overflow-y-auto p-2":"",_.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(C,$)=>(e.openBlock(),e.createBlock(me,{layout:_.layout,count:C.count,label:C[e.unref(s)],color:C.color,type:_.multi?"checkbox":"radio",value:C[e.unref(g)],"is-selected":e.unref(b)(C),highlighted:$===e.unref(h),onItemClick:R=>e.unref(p)(C),ref_for:!0,ref:R=>D.value[$]=R==null?void 0:R.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),_.type==="select"&&e.unref(d).length===0&&!e.unref(w)?(e.openBlock(),e.createElementBlock("div",wl,[e.createElementVNode("div",Vl,[e.createVNode(fe),e.createElementVNode("div",Cl,[e.createElementVNode("p",Bl,e.toDisplayString(e.unref(r)("filter.notfound")),1),A[7]||(A[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),_.layout!=="popover"&&_.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(i)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:A[3]||(A[3]=(...C)=>e.unref(x)&&e.unref(x)(...C)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.more"))+" ",1),e.createVNode(ie)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:A[4]||(A[4]=(...C)=>e.unref(x)&&e.unref(x)(...C)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.less"))+" ",1),e.createVNode(ue)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),_.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[_.layout==="inline"?(e.openBlock(),e.createElementBlock("div",El,[e.createTextVNode(e.toDisplayString(_.multi&&Array.isArray(e.unref(f))?(K=e.unref(f))==null?void 0:K.length:e.unref(f)!==void 0&&(e.unref(f)||e.unref(f)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+e.toDisplayString(e.unref(r)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:A[5]||(A[5]=(...C)=>e.unref(u)&&e.unref(u)(...C))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(f)!==""&&e.unref(f)!==void 0||e.unref(f)]])])):e.createCommentVNode("",!0),_.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Nl,[e.createElementVNode("span",null,e.toDisplayString(_.multi&&Array.isArray(e.unref(f))?(F=e.unref(f))==null?void 0:F.length:e.unref(f)!==void 0&&(e.unref(f)||e.unref(f)===null)?1:0)+" / "+e.toDisplayString(e.unref(V))+" "+e.toDisplayString(e.unref(r)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:A[6]||(A[6]=(...C)=>e.unref(u)&&e.unref(u)(...C))},e.toDisplayString(e.unref(r)("filter.clear")),513),[[e.vShow,e.unref(f)!==""&&e.unref(f)!==void 0||e.unref(f)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),Sl=["for","onClick"],Ml=["id","name","value"],Dl={class:"block"},Ll={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"},Fl=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:m,selectItem:f,clear:d,labelKey:b,valueKey:p,allOptions:u}=r.multi?Ce({...r,modelValue:r.modelValue??r.default??[]},t):pe({...r,modelValue:r.modelValue!==void 0?r.modelValue:r.default??""},t);return o({clear:d}),e.watch(()=>r.modelValue,y=>{y===void 0&&(r.multi?a.value=[]:a.value=void 0)}),(y,x)=>{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]",y.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),i=>(e.openBlock(),e.createElementBlock("label",{key:`item-${i[e.unref(p)]}`,for:`item-${i[e.unref(p)]}`,onClick:e.withModifiers(n=>e.unref(f)(i),["stop","prevent"]),class:e.normalizeClass([e.unref(m)(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(p)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${i[e.unref(p)]}`,value:i[e.unref(p)]},null,8,Ml),e.createElementVNode("span",Dl,e.toDisplayString(i[e.unref(b)]),1)],10,Sl))),128))],2),y.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ll,[e.createTextVNode(e.toDisplayString(y.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(u).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[0]||(x[0]=(...i)=>e.unref(d)&&e.unref(d)(...i))}," Очистити ",512),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),y.layout==="popover"?(e.openBlock(),e.createElementBlock("div",zl,[e.createElementVNode("span",null,e.toDisplayString(y.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(u).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[1]||(x[1]=(...i)=>e.unref(d)&&e.unref(d)(...i))}," Очистити ",512),[[e.vShow,e.unref(a)!==void 0&&e.unref(a)!==""||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),Al=["disabled","title"],$l={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},jl={class:"truncate text-ellipsis text-sm"},Tl={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"},Rl={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"},Pl={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"},he=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(()=>De(l.mode)),t=e.ref(!1),a=e.ref({top:0,left:0}),m=e.ref(null),f=e.ref(null),d=e.ref(null);function b(){const h=f.value,L=d.value;if(!h||!L)return;const M=h.getBoundingClientRect(),V=L.offsetWidth,B=L.offsetHeight,D=window.innerWidth,_=window.innerHeight,A=8;let K=M.bottom+A,{left:F}=M;const C=Math.max(D-V-10,10);if(F=Math.min(F,C),F=Math.max(F,10),K+B>_-10){const $=M.top-B-A;K=$>=10?$:Math.max(_-B-10,10)}K<10&&(K=10),a.value={top:K,left:F}}function p(){t.value=!t.value,t.value&&e.nextTick(()=>{var h,L,M,V,B,D,_;b(),(h=l.fieldRef)!=null&&h.inputTextRef&&((V=(M=(L=l.fieldRef)==null?void 0:L.inputTextRef)==null?void 0:M.focus)==null||V.call(M)),(B=l.fieldRef)!=null&&B.loadData&&((_=(D=l.fieldRef)==null?void 0:D.loadData)==null||_.call(D))})}function u(h){var L,M,V;!((L=m.value)!=null&&L.contains(h.target))&&!((M=d.value)!=null&&M.contains(h.target))&&!((V=f.value)!=null&&V.contains(h.target))&&(t.value=!1)}function y(h){h.key==="Escape"&&(t.value=!1)}const x=e.ref(!1),w=e.ref("ua"),k=h=>{h.detail.key==="locale"&&(w.value=h.detail.newValue)};e.onMounted(()=>{x.value=!0,w.value=localStorage.locale,window.addEventListener("storage",k),document.addEventListener("click",u,!0),document.addEventListener("keydown",y),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",k),document.removeEventListener("click",u,!0),document.removeEventListener("keydown",y),window.removeEventListener("scroll",b,!0)});function i(){t.value=!1}o({close:i});function n(h){return Array.isArray(h)?h.filter(L=>L!=null&&L!=="").length:h&&typeof h=="object"?Object.values(h).filter(L=>L!=null&&L!=="").length:typeof h=="string"?h.trim()===""?0:1:typeof h=="number"?Number.isNaN(h)?0:1:h===null||h!==void 0?1:0}const s=e.computed(()=>{var M;const h=(M=l.fieldRef)==null?void 0:M.selectedLabels,L=n(h);return L>0?L:n(l.currentValue)}),g=e.computed(()=>{var L;const h=(L=l.fieldRef)==null?void 0:L.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,L)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:p,disabled:h.disabled,ref_key:"triggerRef",ref:f,title:h.label,class:e.normalizeClass([r.value,h.width?e.unref(Se).getWidthClass(h.width):"w-full",h.layout==="inline"&&s.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",$l,[e.createElementVNode("span",jl,e.toDisplayString(g.value),1),h.layout==="inline"&&s.value>0?(e.openBlock(),e.createElementBlock("span",Tl,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)]),e.createVNode(ie,{class:"h-4 w-4 text-neutral-500"})],10,Al),x.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:d,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${a.value.top}px`,left:`${a.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Rl,[e.createElementVNode("div",Pl,[e.renderSlot(h.$slots,"default")])])],4),[[e.vShow,t.value]])])):e.createCommentVNode("",!0)]))}}),Kl={},Ul={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 Il(c,o){return e.openBlock(),e.createElementBlock("svg",Ul,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Ol=J(Kl,[["render",Il]]),Zl={},Hl={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 Wl(c,o){return e.openBlock(),e.createElementBlock("svg",Hl,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 ql=J(Zl,[["render",Wl]]),Gl={class:"flex gap-1"},Yl={class:"mb-1"},Ql={class:"mb-1"},Xl={class:"inline-flex rounded-sm shrink-0 pl-1"},Jl=["title"],vl={class:"inline-flex rounded-sm shrink-0 pl-1"},eo=["title"],to={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},lo=["max","value","disabled"],oo=["min","value","disabled"],ro=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=ee(),t=c,a=l,m=e.ref(null),{activeMode:f,innerValue:d,onSelectChange:b,nextClick:p,prevClick:u,currentLabel:y,clear:x}=Le({...t,popoverRef:m},a);e.watch(()=>t.modelValue,i=>{i!==void 0?(d.value=i,a("update:modelValue",i)):(f.value="",d.value=[])}),e.watch(d,i=>{a("update:modelValue",i),a("change",{name:t.name,value:i})},{deep:!0});function w(i){const n=Array.isArray(d.value)?[...d.value]:[];d.value=[i,n[1]||""]}function k(i){const n=Array.isArray(d.value)?[...d.value]:[];d.value=[n[0]||"",i]}return o({clear:x,popoverRef:m}),(i,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Gl,[e.createVNode(he,{ref_key:"popoverRef",ref:m,label:e.unref(y),"current-value":e.unref(d),mode:i.mode,width:typeof i.width=="number"&&e.unref(d).length?i.width-70:i.width,onClear:e.unref(x),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]=s=>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(f)==="range"?(e.openBlock(),e.createBlock(le,{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]=s=>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(f)==="today"?(e.openBlock(),e.createBlock(le,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:n[2]||(n[2]=s=>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(f)==="week"?(e.openBlock(),e.createBlock(le,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:n[3]||(n[3]=s=>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(f)==="month"?(e.openBlock(),e.createBlock(le,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:n[4]||(n[4]=s=>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(f)==="quarter"?(e.openBlock(),e.createBlock(le,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Yl,[e.createElementVNode("button",{type:"button",onClick:n[5]||(n[5]=s=>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(f)==="year"?(e.openBlock(),e.createBlock(le,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ql,[e.createElementVNode("button",{type:"button",onClick:n[6]||(n[6]=s=>e.unref(x)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(r)("filter.alltime"))+" ",1),e.unref(d)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(le,{key:0}))])])]),_:1,__:[12]},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(f)!==""&&e.unref(f)!=="range"&&e.unref(f)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Xl,[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]=(...s)=>e.unref(u)&&e.unref(u)(...s))},[e.createVNode(Ol)],8,Jl)]),e.createElementVNode("div",vl,[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]=(...s)=>e.unref(p)&&e.unref(p)(...s))},[e.createVNode(ql)],8,eo)])],64)):e.createCommentVNode("",!0),e.unref(f)!==""&&e.unref(f)==="range"?(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("input",{type:"date",max:e.unref(d)[1],locale:"uk-UA",value:e.unref(d)[0],onInput:n[9]||(n[9]=s=>w(s.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,lo),e.createElementVNode("input",{type:"date",min:e.unref(d)[0],locale:"uk-UA",value:e.unref(d)[1],onInput:n[10]||(n[10]=s=>k(s.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,oo)])):e.createCommentVNode("",!0)]),(i.cleanable,e.createCommentVNode("",!0))],64))}}),no={class:"flex flex-wrap items-center gap-2"},ao=["disabled","onClick"],io={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},so=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:m,selectItem:f,clear:d,labelKey:b,valueKey:p,allOptions:u}=pe({...r,modelValue:r.modelValue??r.default??""},t),y=e.computed(()=>a.value!==void 0&&!(typeof a.value=="string"&&a.value==="")),x=e.computed(()=>y.value?1:0);function w(i){return m(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||f(i)}return o({clear:d}),e.watch(()=>r.modelValue,i=>{i===void 0&&(a.value=void 0)}),(i,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",no,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),s=>(e.openBlock(),e.createElementBlock("button",{key:s[e.unref(p)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",w(s)]),disabled:i.disabled,onClick:g=>k(s)},e.toDisplayString(s[e.unref(b)]),11,ao))),128))]),i.cleanable&&i.layout==="popover"?(e.openBlock(),e.createElementBlock("div",io,[e.createElementVNode("span",null,e.toDisplayString(x.value)+" з "+e.toDisplayString(e.unref(u).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:n[0]||(n[0]=(...s)=>e.unref(d)&&e.unref(d)(...s))}," Очистити ",512),[[e.vShow,y.value]])])):e.createCommentVNode("",!0)],64))}}),ze={radio:$t,checkbox:Ne,check:Ne,text:Qt,range:nl,date:yl,select:_l,tag:Fl,button:so,"date:inline":ro};function ye(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:ze[l]||ze.text,type:l}}const co={style:{display:"inline-flex",margin:"0px",width:"100%"}},mo={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},po={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},fo={class:"flex items-center"},uo={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},go={class:"filter-layout__body"},ho=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,a=e.ref(),m=e.computed(()=>ye(r.type,r.layout)),f=e.computed({get:()=>r.modelValue,set:u=>t("update:modelValue",u)});function d(u){t("clear",u)}function b(u,y){t("change",{name:u,value:y}),r.modelValue!==void 0&&t("update:modelValue",y)}function p(){t("clear",r.name)}return e.watch(()=>r.default,u=>{f.value=u}),e.watch(()=>r.modelValue,u=>{f.value=u}),o({filterRef:a}),(u,y)=>{var x,w,k;return e.openBlock(),e.createElementBlock("div",co,[e.createElementVNode("div",mo,[e.createElementVNode("div",po,[e.createElementVNode("div",fo,[e.createElementVNode("span",uo,e.toDisplayString(u.label),1)]),typeof f.value=="string"&&f.value.trim()!==""||Array.isArray(f.value)&&f.value.length>0&&f.value.some(i=>i!==void 0)||f.value===null?(e.openBlock(),e.createBlock(mt,{key:0,onClick:p})):e.createCommentVNode("",!0)]),e.createElementVNode("div",go,[((x=m.value)==null?void 0:x.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((w=m.value)==null?void 0:w.component),e.mergeProps({key:0},r,{type:(k=m.value)==null?void 0:k.type,class:r.itemClass,onChange:y[0]||(y[0]=i=>b(i.name,i.value)),onClear:y[1]||(y[1]=i=>d(i)),ref_key:"filterRef",ref:a}),null,16,["type","class"])):(e.openBlock(),e.createBlock(he,{key:1,"current-value":f.value,label:u.label,mode:u.mode,onClear:p,fieldRef:a.value,width:void 0,disabled:u.disabled,layout:"vertical"},{default:e.withCtx(()=>{var i,n;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((i=m.value)==null?void 0:i.component),e.mergeProps({ref_key:"filterRef",ref:a},r,{type:(n=m.value)==null?void 0:n.type,class:r.itemClass,onChange:y[2]||(y[2]=s=>b(s.name,s.value)),onClear:y[3]||(y[3]=s=>d(s))}),null,16,["type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),Fe=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(c,{expose:o,emit:l}){const r=c,t=l,a=e.ref(),m=e.computed(()=>ye(r.type,r.layout)),f=e.computed({get:()=>r.modelValue,set:p=>t("update:modelValue",p)});function d(p=r.name){t("clear",p)}function b(p,u){t("change",{name:p,value:u}),r.modelValue!==void 0&&t("update:modelValue",u)}return e.watch(()=>r.default,p=>{f.value=p}),e.watch(()=>r.modelValue,p=>{f.value=p}),o({filterRef:a}),(p,u)=>{var y,x;return["text","date","button"].includes(p.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=m.value)==null?void 0:y.component),e.mergeProps({key:0},r,{type:(x=m.value)==null?void 0:x.type,class:p.itemClass,onChange:u[0]||(u[0]=w=>b(w.name,w.value)),onClear:u[1]||(u[1]=w=>d(w)),disabled:p.disabled,modelValue:f.value,"onUpdate:modelValue":u[2]||(u[2]=w=>f.value=w)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(he,{key:1,"current-value":f.value,label:p.label,mode:p.mode,onClear:d,fieldRef:a.value,width:r.width,disabled:p.disabled,layout:"inline"},{default:e.withCtx(()=>{var w,k;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((w=m.value)==null?void 0:w.component),e.mergeProps({ref_key:"filterRef",ref:a},r,{modelValue:f.value,"onUpdate:modelValue":u[3]||(u[3]=i=>f.value=i),type:(k=m.value)==null?void 0:k.type,class:r.itemClass,onChange:u[4]||(u[4]=i=>b(i.name,i.value)),onClear:u[5]||(u[5]=i=>d(i))}),null,16,["modelValue","type","class"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),yo=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(),m=e.computed(()=>ye(r.type,r.layout)),f=e.computed({get:()=>r.modelValue,set:p=>t("update:modelValue",p)});function d(p){t("clear",p)}function b(p,u){t("change",{name:p,value:u}),r.modelValue!==void 0&&t("update:modelValue",u)}return e.watch(()=>r.default,p=>{f.value=p}),e.watch(()=>r.modelValue,p=>{f.value=p}),e.watch(()=>r,p=>{f.value=p}),o({filterRef:a}),(p,u)=>{var y,x;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=m.value)==null?void 0:y.component),e.mergeProps(r,{type:(x=m.value)==null?void 0:x.type,class:r.itemClass,modelValue:f.value,"onUpdate:modelValue":u[0]||(u[0]=w=>f.value=w),onChange:u[1]||(u[1]=w=>b(w.name,w.value)),onClear:u[2]||(u[2]=w=>d(w)),ref_key:"filterRef",ref:a}),null,16,["type","class","modelValue"])}}}),v=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(),m=e.computed({get:()=>r.modelValue,set:p=>t("update:modelValue",p)});function f(p){t("clear",p)}function d(p,u){t("change",{name:p,value:u}),r.modelValue!==void 0&&t("update:modelValue",u)}e.watch(()=>r.default,p=>{m.value=p}),e.watch(()=>r.modelValue,p=>{m.value=p}),o({filterRef:a});function b(){switch(r.layout){case"inline":return Fe;case"vertical":return ho;case"popover":return yo;default:return Fe}}return(p,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(r,{onChange:u[0]||(u[0]=y=>d(y.name,y.value)),onClear:u[1]||(u[1]=y=>f(y)),modelValue:m.value,"onUpdate:modelValue":u[2]||(u[2]=y=>m.value=y)}),null,16,["modelValue"]))}});function se(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(s=>Array.isArray(s.children)?s.children:[s])});function m(n){delete t.value[n],o("clear",{data:e.toRaw(t.value),name:n})}function f(n,s){s===void 0?m(n):t.value={...t.value,[n]:s},o("change",{data:e.toRaw(t.value),name:n,value:s})}const d=e.computed(()=>a.value.map(n=>{var g,h,L;const s=(g=n.props)==null?void 0:g.name;return e.cloneVNode(n,{...n.props,layout:c.view,showClean:!0,modelValue:t.value[s],"onUpdate:modelValue":M=>{f(s,M)},onClear:()=>m(s),class:[c.itemClass,(h=n.props)==null?void 0:h.class],itemClass:[c.itemClass,(L=n.props)==null?void 0:L.itemClass].filter(M=>typeof M=="string"&&M.trim().length>0).join(" ")||void 0})})),b=e.computed(()=>new Map(d.value.map(n=>{var g;const s=(g=n.props)==null?void 0:g.name;return s?[s,n]:null}).filter(n=>n!==null)));function p(n=!1){t.value={},n||o("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const u=e.ref(""),y=e.computed(()=>{var n;return(n=c.schema)!=null&&n.value?Object.entries(t.value).filter(([s,g])=>c.schema&&!(s in c.schema.value)?!1:Array.isArray(g)?g.some(h=>h!==""&&h!==void 0):g!==""&&g!==void 0).length:0}),x=e.ref();e.watch(u,async()=>{var n,s;await e.nextTick(),(s=(n=x==null?void 0:x.value)==null?void 0:n.filterRef)!=null&&s.inputTextRef&&x.value.filterRef.inputTextRef.focus()});const w=e.computed(()=>{var n,s;return(n=c.schema)!=null&&n.value?Object.fromEntries(Object.entries((s=c.schema)==null?void 0:s.value).slice(0,c.limit)):{}}),k=e.computed(()=>{var s;if(d.value.length===0)return[];let n=0;if((s=c.schema)!=null&&s.value){const g=Object.entries(c.schema.value).length;c.limit&&g<c.limit?n=c.limit-g:n=0}return d.value.slice(0,n)}),i=e.computed(()=>d.value.length===0?[]:c.view!=="inline"?d.value:d.value.slice(k.value.length));return{activeFilter:t,activeFilterCount:y,onFilterChange:f,clearFilter:m,clearAllFilters:p,limitedSchema:w,filtersSlot:d,limitedFiltersSlot:k,popoverFiltersSlot:i,vnodeMap:b,selectedFilter:u,filterRef:x}}const xo=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),m=e.ref({top:"0px",left:"0px",position:"absolute"});function f(){l.value=!l.value}function d(){const x=a.value,w=r.value;if(!x||!w)return;const k=x.getBoundingClientRect(),i=w.offsetWidth,n=window.innerWidth-k.left;let s=k.left+window.scrollX;i>n&&(s=window.innerWidth-i-18,s<18&&(s=18)),m.value={position:"absolute",top:`${k.bottom+window.scrollY+18}px`,left:`${s}px`}}const b=e.computed(()=>Object.entries(m.value).map(x=>x.join(":")).join(";"));function p(x){var k,i;const w=x.target;!((k=a.value)!=null&&k.contains(x.target))&&!((i=r.value)!=null&&i.contains(x.target))&&!w.closest("[data-inside-popover]")&&(l.value=!1)}const u=e.ref(!1);e.onMounted(()=>{u.value=!0}),e.onMounted(()=>{var x,w;a.value=((x=t.value)==null?void 0:x.querySelector("[data-popover-trigger]"))||null,(w=a.value)==null||w.addEventListener("click",f),document.addEventListener("click",p),window.addEventListener("resize",d),window.addEventListener("scroll",d,!0)}),e.onBeforeUnmount(()=>{var x;(x=a.value)==null||x.removeEventListener("click",f),document.removeEventListener("click",p),window.removeEventListener("resize",d),window.removeEventListener("scroll",d,!0)});const y=o;return e.watch(l,async x=>{x?(y("open"),await e.nextTick(),d()):y("close")}),(x,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:t},[e.renderSlot(x.$slots,"trigger"),u.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(x.$slots,"default")],4),[[e.vShow,l.value]])])):e.createCommentVNode("",!0)],512))}}),bo={},ko={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 wo(c,o){return e.openBlock(),e.createElementBlock("svg",ko,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 Ae=J(bo,[["render",wo]]),Vo={class:"flex items-center gap-2 overflow-hidden"},Co={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"},Bo={class:"flex max-h-[400px]"},Eo={class:"w-64 border-r border-gray-200 overflow-y-auto"},No={class:"p-4 border-b"},_o={class:"text-sm text-gray-600"},So={class:"p-2"},Mo=["onClick"],Do={class:"flex items-center gap-2"},Lo={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"},Fo=["onClick"],Ao={class:"flex items-center gap-2"},$o={class:"text-sm font-medium"},jo={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"},To={key:0,class:"p-2 border-t"},Ro={class:"flex-1 min-h-[300px] overflow-y-auto"},Po={key:0,class:"flex items-center justify-center h-full text-gray-500"},Ko={class:"text-sm"},$e=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=ee(),t=c,a=De(t.mode),m=e.useSlots(),f=l,d=e.ref({}),b=e.computed(()=>d!=null&&d.value?t.view!=="inline"?d==null?void 0:d.value:Object.fromEntries(Object.entries(d==null?void 0:d.value).slice(t.limit)):{}),{activeFilter:p,activeFilterCount:u,onFilterChange:y,clearFilter:x,clearAllFilters:w,popoverFiltersSlot:k,selectedFilter:i,filterRef:n}=se({...t,schema:d,slots:m},f),s=e.computed(()=>t.badgeCount??u.value);function g(M){return Array.isArray(M)?M.filter(V=>V!=null&&V!=="").length:M&&typeof M=="object"?Object.values(M).filter(V=>V!=null&&V!=="").length:M===null||M!==void 0&&M!==""?1:0}function h(M){return p.value?g(p.value[M]):0}function L(){if(b.value){const[M]=Object.keys(b.value);i.value=M}else k.value.length>0?i.value=k.value[0].props.name:i.value=""}return e.watch(()=>t.schema,M=>{d.value=M??{}},{deep:!0,immediate:!0}),o({clearFilter:x,clearAllFilters:w}),(M,V)=>(e.openBlock(),e.createBlock(xo,{onOpen:L,onClose:V[5]||(V[5]=B=>i.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([M.itemClass,e.unref(a),"flex items-center justify-between gap-2",s.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",Vo,[e.createVNode(Ae,{class:"h-4 w-4"}),V[6]||(V[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),s.value>0?(e.openBlock(),e.createElementBlock("span",Co,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Bo,[e.createElementVNode("div",Eo,[e.createElementVNode("div",No,[e.createElementVNode("p",_o,e.toDisplayString(e.unref(r)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",So,[M.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(b.value),([B,D])=>(e.openBlock(),e.createElementBlock("button",{key:B,onClick:()=>{i.value=B},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)===B?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Do,[e.createElementVNode("span",Lo,e.toDisplayString(D.label),1)]),h(B)>0?(e.openBlock(),e.createElementBlock("div",zo,e.toDisplayString(h(B)),1)):e.createCommentVNode("",!0)],10,Mo))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(B,D)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+D,onClick:_=>i.value=B.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)===B.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Ao,[e.createElementVNode("span",$o,e.toDisplayString(B.props.label),1)]),h(B.props.name)>0?(e.openBlock(),e.createElementBlock("div",jo,e.toDisplayString(h(B.props.name)),1)):e.createCommentVNode("",!0)],10,Fo))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",To,[e.createElementVNode("button",{class:e.normalizeClass([M.itemClass,"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:V[0]||(V[0]=B=>e.unref(w)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ro,[e.unref(i)===""?(e.openBlock(),e.createElementBlock("div",Po,[e.createElementVNode("p",Ko,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),([B,D])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(i)===B?(e.openBlock(),e.createBlock(v,e.mergeProps({key:B,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:n},{ref_for:!0},D,{class:[M.itemClass,D==null?void 0:D.class],"item-class":[M.itemClass,D==null?void 0:D.itemClass].filter(Boolean).join(" ")||void 0,onChange:V[1]||(V[1]=_=>e.unref(y)(_.name,_.value)),onClear:V[2]||(V[2]=_=>{e.unref(x)(_),e.unref(y)(_,void 0)}),modelValue:e.unref(p)[B],"onUpdate:modelValue":_=>e.unref(p)[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),(B,D)=>{var _,A;return e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+D},[e.unref(i)===B.props.name?(e.openBlock(),e.createBlock(v,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},B.props,{ref_for:!0,ref_key:"filterRef",ref:n,class:[M.itemClass,(_=B.props)==null?void 0:_.class],"item-class":[M.itemClass,(A=B.props)==null?void 0:A.itemClass].filter(Boolean).join(" ")||void 0,onChange:V[3]||(V[3]=K=>e.unref(y)(K.name,K.value)),onClear:V[4]||(V[4]=K=>{e.unref(x)(K),e.unref(y)(K,void 0)}),modelValue:e.unref(p)[B.props.name],"onUpdate:modelValue":K=>e.unref(p)[B.props.name]=K,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Uo={class:"flex gap-1 items-center flex-wrap"},je=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{}},emits:["change","clear","clearAll"],setup(c,{expose:o,emit:l}){const r=ee(),t=c,a=l,m=e.useSlots(),f=e.ref({}),d=e.computed(()=>Object.keys(t.schema).length>t.limit),{activeFilter:b,activeFilterCount:p,onFilterChange:u,clearFilter:y,clearAllFilters:x,limitedSchema:w,filtersSlot:k,limitedFiltersSlot:i}=se({...t,schema:f,slots:m},a);function n(V){return Array.isArray(V)?V.some(B=>B!==""&&B!==void 0&&B!==null):V===null?!0:V&&typeof V=="object"?Object.values(V).some(B=>B!==""&&B!==void 0&&B!==null):V!==""&&V!==void 0}const s=e.computed(()=>{const V=Object.keys(w.value??{}),B=i.value.map(D=>{var _;return(_=D.props)==null?void 0:_.name}).filter(D=>typeof D=="string");return new Set([...V,...B])}),g=e.computed(()=>Object.entries(b.value??{}).filter(([V,B])=>s.value.has(V)&&n(B)).length),h=e.computed(()=>{const V=p.value??0,B=g.value??0;return Math.max(V-B,0)}),L=e.ref();function M(){L.value&&L.value.clearAllFilters(!0),x()}return e.watch(()=>t.schema,V=>{f.value=V},{deep:!0,immediate:!0}),o({clearFilter:y,clearAllFilters:x}),(V,B)=>(e.openBlock(),e.createElementBlock("div",Uo,[V.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(w)),([D,_])=>(e.openBlock(),e.createBlock(v,e.mergeProps({key:D,mode:V.mode,width:V.width?V.width:_==null?void 0:_.width},{ref_for:!0},_,{class:[V.itemClass,_==null?void 0:_.class],"item-class":[V.itemClass,_==null?void 0:_.itemClass].filter(Boolean).join(" ")||void 0,onChange:B[0]||(B[0]=A=>e.unref(u)(A.name,A.value)),onClear:e.unref(y),layout:"inline",cleanable:!0,modelValue:e.unref(b)[D],"onUpdate:modelValue":A=>e.unref(b)[D]=A}),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),(D,_)=>{var A,K;return e.openBlock(),e.createBlock(v,e.mergeProps({key:"slot-"+_,layout:"inline"},{ref_for:!0},D.props,{class:[V.itemClass,(A=D.props)==null?void 0:A.class],"item-class":[V.itemClass,(K=D.props)==null?void 0:K.itemClass].filter(Boolean).join(" ")||void 0,onChange:B[1]||(B[1]=F=>e.unref(u)(F.name,F.value)),onClear:B[2]||(B[2]=F=>{e.unref(y)(F),e.unref(u)(F,void 0)}),cleanable:!0,modelValue:e.unref(b)[D.props.name],"onUpdate:modelValue":F=>e.unref(b)[D.props.name]=F}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128)),d.value?(e.openBlock(),e.createBlock($e,e.mergeProps({key:1},t,{schema:V.schema,limit:V.limit,onChange:B[3]||(B[3]=D=>e.unref(u)(D.name,D.value)),onClearAll:B[4]||(B[4]=D=>e.unref(x)()),onClear:B[5]||(B[5]=D=>e.unref(y)(D.name)),mode:V.mode,ref_key:"popoverRef",ref:L,cleanable:!0,"badge-count":h.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(D,_)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D),e.mergeProps({key:"slot-"+_,layout:"popover"},{ref_for:!0},D.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(p)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:M,class:e.normalizeClass([V.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)]))}}),Io={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"},Oo={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Zo=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:m,activeFilterCount:f,onFilterChange:d,clearFilter:b,clearAllFilters:p,filtersSlot:u}=se({...r,slots:a},t);return o({clearFilter:b,clearAllFilters:p}),(y,x)=>y.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Io,[e.createElementVNode("div",Oo,[e.unref(f)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x[0]||(x[0]=w=>e.unref(p)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([y.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),y.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(y.schema),([w,k])=>(e.openBlock(),e.createBlock(v,e.mergeProps({layout:"vertical"},{ref_for:!0},k,{class:[y.itemClass,k==null?void 0:k.class],"item-class":[y.itemClass,k==null?void 0:k.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[1]||(x[1]=i=>e.unref(d)(i.name,i.value)),onClear:x[2]||(x[2]=i=>{e.unref(b)(i),e.unref(d)(i,void 0)}),modelValue:e.unref(m)[w],"onUpdate:modelValue":i=>e.unref(m)[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(u),(w,k)=>{var i,n;return e.openBlock(),e.createBlock(v,e.mergeProps({key:"slot-"+k,layout:"vertical"},{ref_for:!0},w.props,{class:[y.itemClass,(i=w.props)==null?void 0:i.class],"item-class":[y.itemClass,(n=w.props)==null?void 0:n.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[3]||(x[3]=s=>e.unref(d)(s.name,s.value)),onClear:x[4]||(x[4]=s=>{e.unref(b)(s),e.unref(d)(s,void 0)}),modelValue:e.unref(m)[w.props.name],"onUpdate:modelValue":s=>e.unref(m)[w.props.name]=s,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))])])):e.createCommentVNode("",!0)}}),Ho=["onKeydown"],Wo=["disabled"],qo={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"},Go={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Yo={class:"mb-3 flex items-center justify-between"},Qo={class:"text-[15px] font-semibold text-slate-800"},Xo={"aria-hidden":"true"},Jo={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},vo={key:0,class:"mt-3 flex justify-end"},er=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=ee(),r=c,t=o,a=e.ref({}),m=e.useSlots(),{activeFilter:f,activeFilterCount:d,onFilterChange:b,clearFilter:p,clearAllFilters:u,filtersSlot:y}=se({...r,schema:a.value,slots:m},t),x=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),s=e.computed(()=>a.value||{}),g=e.computed(()=>r.title??"Фільтр"),h=e.computed(()=>!!m.trigger),L=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"]),M=e.computed(()=>k.open?{position:"absolute",top:`${k.top}px`,left:`${k.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function V(){k.open=!1}function B(){if(!x.value)return;const F=x.value.getBoundingClientRect();k.top=F.bottom+window.scrollY+8,k.left=F.left+F.width/2+window.scrollX}function D(){k.open=!k.open,k.open&&e.nextTick(B)}function _(){n.value||D()}function A(){k.open&&B()}function K(){u()}return e.onMounted(()=>{window.addEventListener("resize",A),window.addEventListener("scroll",A,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",A),window.removeEventListener("scroll",A,!0)}),e.watch(()=>r.schema,F=>{if(!F){a.value={};return}if(Array.isArray(F)){const C=F.filter($=>$&&($.name||$.id)).map($=>{const R=$.name||$.id;return[R,{...$,name:R}]});a.value=Object.fromEntries(C);return}a.value=F},{deep:!0,immediate:!0}),e.watch(()=>r.disabled,F=>{F&&V()}),(F,C)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:x},[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(_,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(_,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(_,["prevent","stop"]),["space"])]},[e.renderSlot(F.$slots,"trigger",{toggle:_,open:i.value,disabled:n.value,activeCount:e.unref(d)})],42,Ho)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(L.value),type:"button",disabled:n.value,onClick:e.withModifiers(_,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(Ae,{class:"h-4 w-4"}),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",qo,e.toDisplayString(e.unref(d)),1)):e.createCommentVNode("",!0)],10,Wo)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof F.width=="number"?`min-w-[${F.width+32+(Object.keys(s.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(M.value),ref_key:"panel",ref:w,onClick:C[4]||(C[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Go,[e.createElementVNode("div",Yo,[e.createElementVNode("h3",Qo,e.toDisplayString(g.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:V},[e.createElementVNode("span",Xo,[e.createVNode(ge,{class:"h-4 w-4"})]),C[5]||(C[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",Jo,[Object.keys(s.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(s.value),([$,R])=>(e.openBlock(),e.createBlock(v,e.mergeProps({key:$},{ref_for:!0},{...R,layout:"inline"},{width:F.width?F.width:R==null?void 0:R.width,class:[F.itemClass,R==null?void 0:R.class],"item-class":[F.itemClass,R==null?void 0:R.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(f)[$],"onUpdate:modelValue":I=>e.unref(f)[$]=I,onChange:C[0]||(C[0]=I=>e.unref(b)(I.name,I.value)),onClear:C[1]||(C[1]=I=>{e.unref(p)(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(y),($,R)=>{var I,G;return e.openBlock(),e.createBlock(v,e.mergeProps({key:"slot-"+R,ref_for:!0},{...$.props,layout:"inline"},{class:[F.itemClass,(I=$.props)==null?void 0:I.class],"item-class":[F.itemClass,(G=$.props)==null?void 0:G.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(f)[$.props.name],"onUpdate:modelValue":Y=>e.unref(f)[$.props.name]=Y,onChange:C[2]||(C[2]=Y=>e.unref(b)(Y.name,Y.value)),onClear:C[3]||(C[3]=Y=>{e.unref(p)(Y),e.unref(b)(Y,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])}),128))]),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",vo,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([F.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:K},e.toDisplayString(e.unref(l)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),xe=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(d(r.value??{}));e.watch(()=>r.value,async i=>{var n,s;t.value=d(i??{}),(!i||Object.keys(i).length===0)&&(await e.nextTick(),(s=(n=m.value)==null?void 0:n.clearAllFilters)==null||s.call(n,!0))},{deep:!0,immediate:!0});const a=l,m=e.ref(),f=e.useSlots();function d(i){if(Array.isArray(i))return i.map(n=>d(n));if(i!==null&&typeof i=="object"){const n=e.toRaw(i),s={};for(const g in n)s[g]=d(n[g]);return s}return i}function b(i,n){n!==void 0?t.value={...t.value,[i]:n}:delete t.value[i],a("change",{data:d(t.value),name:i,value:d(n)})}function p(i){delete t.value[i],a("clear",{data:d(t.value),name:i}),a("change",{data:d(t.value),name:i,value:null})}function u(){t.value={},a("clear",{data:d(t.value),name:"ALL"}),a("change",{data:d(t.value),name:"ALL",value:null})}const y=e.ref({});function x(){switch(r.view){case"inline":return je;case"vertical":return Zo;case"popover":return $e;case"popover-inline":return er;default:return je}}e.watch(()=>r.schema,i=>{if(!i){y.value={};return}if(Array.isArray(i)&&!i.length){y.value={};return}Array.isArray(i)?y.value=i.filter(n=>n.type).reduce((n,s)=>(Object.assign(s,{name:s.id||s.name,type:{datepicker:"date"}[s.type.toLowerCase()]||s.type.toLowerCase(),label:s.label||s.ua}),n[s.name]=s,s.data&&!s.api&&!s.options&&Object.assign(s,{api:`/api/suggest/${s.data}`}),n),{}):(Object.entries(i).forEach(([n,s])=>{Object.assign(s,{name:n||s.name||s.id,type:s.type.toLowerCase()})}),y.value={...i})},{immediate:!0,deep:!0});function w(i){m.value.clearFilter(i),p(i)}function k(){m.value.clearAllFilters(),u()}return e.watch(()=>t.value,i=>{if(r.history){const n=new URL(window.location.href),s=new URLSearchParams(window.location.search);Object.keys(i).length>0?s.set("filter",Object.entries(i).filter(([,g])=>g).map(([g,h])=>`${g}=${h}`).join("|")):s.delete("filter"),n.search=decodeURI(s.toString()),window.history.pushState({},"",n)}}),o({clearAllFilters:k,clearFilter:w}),(i,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x()),e.mergeProps(r,{schema:y.value,onChange:n[0]||(n[0]=s=>b(s.name,s.value)),onClear:n[1]||(n[1]=s=>p(s.name)),onClearAll:u,ref_key:"filterRef",ref:m}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(f).trigger?{name:"trigger",fn:e.withCtx(s=>[e.renderSlot(i.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(s)))]),key:"0"}:void 0]),1040,["schema"]))}});xe.install=function(c){c.component("Filter",xe),c.component("FilterField",v)};function tr(c){const{page:o,id:l,filter:r,filterByView:t}=c,a=new URL(window.location.href),m=new URLSearchParams(window.location.search);o?m.set("page",o.toString()):m.delete("page"),l?m.set("id",l.toString()):m.delete("id"),r?m.set("filter",r):m.delete("filter"),typeof t=="boolean"?m.set("bbox",t?"1":"0"):m.delete("bbox"),a.search=decodeURI(m.toString()),window.history.pushState({},"",a)}const lr={class:"flex items-center justify-between w-full gap-x-1"},or={class:"flex items-center"},rr=["disabled"],nr={class:"flex items-center gap-x-1"},ar=["onClick"],ir=["disabled"],sr={class:"flex justify-center items-center gap-x-5 ml-3"},cr={class:"relative"},dr={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"},mr=["onClick"],pr={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"},fr=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),m=e.ref(!1);e.watch(()=>l.pageSize,x=>{a.value=x});const f=e.computed(()=>Math.ceil(l.total/l.pageSize)),d=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>f.value&&(k-=i-f.value,i=f.value),k=Math.max(1,k);const n=[];for(let s=k;s<=i;s+=1)n.push(s);return n}),b=()=>{t.value>1&&u(t.value-1)},p=()=>{t.value<f.value&&u(t.value+1)},u=x=>{t.value=x,r("update:currentPage",x),r("pageChange",x)},y=(x=a.value)=>{a.value=x,m.value=!1,r("update:pageSize",a.value),r("update:currentPage",1),r("pageSizeChange",a.value)};return e.watch(()=>l.currentPage,x=>{t.value=x}),(x,w)=>(e.openBlock(),e.createElementBlock("nav",lr,[e.createElementVNode("div",or,[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,rr),e.createElementVNode("div",nr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,k=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:k,onClick:i=>u(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,ar))),128))]),e.createElementVNode("button",{type:"button","aria-label":"Next",onClick:p,disabled:t.value===f.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,ir)]),e.createElementVNode("div",sr,[e.createElementVNode("div",cr,[e.withDirectives(e.createElementVNode("div",dr,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],k=>e.createElementVNode("button",{type:"button",key:k,onClick:i=>y(k),class:"w-full flex items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm text-gray-800 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:hover:text-neutral-300 dark:focus:bg-neutral-700"},[e.createTextVNode(e.toDisplayString(k)+" ",1),a.value===k?(e.openBlock(),e.createElementBlock("svg",pr,[...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,mr)),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:w[0]||(w[0]=k=>m.value=!m.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))])])])]))}}),re=(c,o)=>{const l=c.__vccOpts||c;for(const[r,t]of o)l[r]=t;return l},ur={},gr={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 hr(c,o){return e.openBlock(),e.createElementBlock("svg",gr,[...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 yr=re(ur,[["render",hr]]),xr={},br={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 kr(c,o){return e.openBlock(),e.createElementBlock("svg",br,[...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 wr=re(xr,[["render",kr]]),Vr={},Cr={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 Br(c,o){return e.openBlock(),e.createElementBlock("svg",Cr,[...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 Er=re(Vr,[["render",Br]]),Nr={},_r={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-map"};function Sr(c,o){return e.openBlock(),e.createElementBlock("svg",_r,[...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 Mr=re(Nr,[["render",Sr]]),Dr={},Lr={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",Lr,[...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 Fr=re(Dr,[["render",zr]]);function Te(c,o){let l;return function(...r){clearTimeout(l),l=setTimeout(()=>c(...r),o)}}function Re(c,o,l=12){const r=o??"";return`${window.location.origin}/api/vtile/${c}/ua/{z}/{x}/{y}.vmt?pointZoom=12&clusterZoom=${l}&filter=${r}`}function Ar(c,o,l,r,t=12){if(!o)return;const a=Re(c,r,t);o.addSource("vector",{type:"vector",tiles:[a],minzoom:0,maxzoom:12});const m=["coalesce",["get","point_count"],["get","pointCount"],["get","cluster_count"],["get","clusterCount"],0],f=[">",m,1],d=["<=",m,1],b=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],p=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]],u=["coalesce",["get","point_count_abbreviated"],["get","cluster_count_abbreviated"],["get","clusterCountAbbreviated"],m];o.addLayer({id:"vector-clusters",type:"circle",source:"vector","source-layer":c,filter:f,maxzoom:12,paint:{"circle-color":["step",m,"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",m,18,100,26,750,32],"circle-opacity":.85}}),o.addLayer({id:"vector-cluster-count",type:"symbol",source:"vector","source-layer":c,filter:f,maxzoom:12,layout:{"text-field":["to-string",u],"text-font":["Noto Sans Regular"],"text-size":12},paint:{"text-color":"#1f2937"}}),o.addLayer({id:"vector-circle",type:"circle",maxzoom:12,source:"vector","source-layer":c,filter:["all",d,b],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 $r=[{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"}],jr={class:"relative w-auto h-full"},Tr={class:"legend-panel__header flex items-center justify-between gap-2 py-[7px] px-[12px]"},Rr={key:0,class:"text-[0.875rem] font-medium text-stone-700"},Pr=["aria-label"],Kr={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"},Ur={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"},Ir={class:"flex justify-start items-center gap-2"},Or={class:"ml-1 text-[0.875rem]"},Zr={key:1,class:"p-[10px]"},Hr={class:"flex justify-start items-center gap-2"},Wr={class:"ml-1 text-[0.875rem]"},qr={class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},Gr=["title","onClick"],Yr=["src"],Qr={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"},ce="vector-clusters",Xr=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},filter:{},modelValue:{},zoom:{},minZoom:{},maxZoom:{},map:{},layers:{},clusterZoom:{},isCollapsible:{type:Boolean},legendTitle:{},legendWidth:{}},emits:["update:modelValue","update:map"],setup(c,{emit:o}){const l=c,r=o;let t,a;const m=e.getCurrentInstance(),f=e.ref(null),d=e.ref(!1),b=e.ref(!1),p=["vector-circle","vector-fill"],u=e.ref(!0),y=e.computed(()=>{var E,z;return((z=(E=m==null?void 0:m.appContext.config.globalProperties)==null?void 0:E.$settings)==null?void 0:z.basemaps)||[]}),x=e.computed(()=>(l.layers&&l.layers.length?l.layers:y.value.length?y.value:$r).map((z,T)=>{var X;const j=z.id||((X=z.name)==null?void 0:X.toString().toLowerCase().replace(/\s+/g,"-"))||`layer-${T}`,H=z.name||z.id||`layer-${T}`;return{...z,id:j,name:H}})),w=e.ref(""),k=e.computed(()=>x.value.find(E=>E.id===w.value)||x.value[0]);e.watch(x,E=>{var z;E.length&&(!w.value||!E.some(T=>T.id===w.value))&&(w.value=((z=E[0])==null?void 0:z.id)||"")},{immediate:!0});function i(E){return E?E.replace("{x}","2422").replace("{y}","1400").replace("{z}","12"):""}const n=e.ref(null),s=e.ref(null),g=["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#17BECF","#BCBD22"];let h;const L=[30,48];let M=null,V=[];function B(){if(typeof window>"u")return{zoom:null,center:null,hasQuery:!1};const E=new URLSearchParams(window.location.search),z=Number(E.get("z")),T=Number(E.get("y")),j=Number(E.get("x")),H=E.has("x")&&E.has("y"),X=E.has("z");return{zoom:X?z:null,center:H?[j,T]:null,hasQuery:H||X}}function D(E,z){if(!E||typeof window>"u")return;const T=new URL(window.location.href);T.searchParams.set("z",z.toFixed(2)),T.searchParams.set("x",E[0].toFixed(6)),T.searchParams.set("y",E[1].toFixed(6)),window.history.replaceState({},"",T)}let _=!1;function A(){if(!t||!_)return;const E=t.getCenter();D([E.lng,E.lat],t.getZoom())}const K=()=>{_||(_=!0),A()};function F(E){return E?["==",["to-string",["get","id"]],E]:["==",["literal",1],0]}const C=["in",["geometry-type"],["literal",["Point","MultiPoint"]]],$=["in",["geometry-type"],["literal",["Polygon","MultiPolygon"]]];function R(){const E=F(l.modelValue),z=["all",E,C],T=["all",E,$];if(!t.getLayer("vector-highlight-circle")){const X=(l.clusterZoom??12)-.01;t.addLayer({id:"vector-highlight-circle",type:"circle",maxzoom:X,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",z),t.setFilter("vector-highlight-fill",T);const j=l.modelValue?"visible":"none";t.setLayoutProperty("vector-highlight-circle","visibility",j),t.setLayoutProperty("vector-highlight-fill","visibility",j),G()}function I(E){if(!t||!V.length)return;const T=["case",["all",["has","id"],["==",["to-string",["get","id"]],E]],"#ef4444",V];t.getLayer("vector-circle")&&t.setPaintProperty("vector-circle","circle-color",T),t.getLayer("vector-fill")&&t.setPaintProperty("vector-fill","fill-color",T)}function G(){if(Y(),!l.modelValue)return;let E=!0;M=window.setInterval(()=>{E=!E;const z=E?.8:.2;t!=null&&t.getLayer("vector-highlight-circle")&&t.setPaintProperty("vector-highlight-circle","circle-opacity",z),t!=null&&t.getLayer("vector-highlight-fill")&&t.setPaintProperty("vector-highlight-fill","line-opacity",z)},600)}function Y(){M&&(clearInterval(M),M=null)}function ke(){t&&(t.setCenter(l.center||L),t.setZoom(l.zoom||5))}function oe(){if(!(t!=null&&t.setLayerZoomRange))return;const E=l.minZoom??0,z=Math.min((l.maxZoom??18)+.01,24),T=l.clusterZoom??12,j=T-.01,H=u.value?j:z;t.getLayer("vector-circle")&&t.setLayerZoomRange("vector-circle",E,H),t.getLayer("vector-highlight-circle")&&t.setLayerZoomRange("vector-highlight-circle",E,H),t.getLayer("vector-fill")&&t.setLayerZoomRange("vector-fill",T,z),t.getLayer("vector-highlight-fill")&&t.setLayerZoomRange("vector-highlight-fill",T,z),t.getLayer(ce)&&t.setLayerZoomRange(ce,E,j),t.getLayer("vector-cluster-count")&&t.setLayerZoomRange("vector-cluster-count",E,j)}function we(){if(t!=null&&t.getSource("vector")){try{const z=t.querySourceFeatures("vector",{sourceLayerId:l.table}).some(T=>{var H;const j=(H=T.geometry)==null?void 0:H.type;return j==="Polygon"||j==="MultiPolygon"});u.value=z}catch{}oe()}}const ne=B();_=ne.hasQuery,e.onMounted(async()=>{h=(await fetch(`/api/data/${l.table}/${l.colorAttr}`).then(Z=>Z.json())).rows,h.forEach((Z,N)=>{Z.color||Object.assign(Z,{color:g[N%10]})}),a=new maplibregl.Popup({closeButton:!1,closeOnClick:!1});const z=k.value;if(!z)return;const T=ne.center||l.center||L,j=ne.zoom||l.zoom||5;t=new maplibregl.Map({container:f.value,style:{version:8,sources:{[z.id]:{type:"raster",tiles:[z.url],tileSize:256}},layers:[{id:z.id,type:"raster",source:z.id,minzoom:0,maxzoom:19}]},center:T,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",K),t.on("zoomend",K),_&&A(),t.on("load",()=>{t==null||t.resize(),d.value=!0;const Z=h.filter(S=>S.id).reduce((S,P)=>[P.id,P.color].concat(S),[]),N=["match",["get",l.colorAttr],...Z,"#808080"];V=N,Ar(l.table,t,N,l.filter,l.clusterZoom),R(),I(l.modelValue),oe(),t.on("sourcedata",S=>{S.sourceId==="vector"&&S.isSourceLoaded&&t.getZoom()>=(l.clusterZoom??12)&&we()})});const H=Z=>{var S,P;const N=(S=Z.features)==null?void 0:S[0];(P=N==null?void 0:N.properties)!=null&&P.id&&r("update:modelValue",N.properties.id)};p.forEach(Z=>{t.on("click",Z,H)}),t.on("click",ce,Z=>{var Q,q,O;const N=(Q=Z.features)==null?void 0:Q[0];if(!N)return;const S=N.geometry,P=(S==null?void 0:S.type)==="Point"?S.coordinates:(O=(q=S==null?void 0:S.coordinates)==null?void 0:q[0])==null?void 0:O[0];if(!P)return;const U=Math.min(t.getZoom()+2,t.getMaxZoom());t.easeTo({center:P,zoom:U})}),[...p,ce].forEach(Z=>{t.on("mouseenter",Z,()=>{t.getCanvas().style.cursor="pointer"}),t.on("mouseleave",Z,()=>{t.getCanvas().style.cursor=""})}),t.on("mousemove",Z=>{var Q;const N=t.queryRenderedFeatures(Z.point,{layers:p});if(!N||!N.length){a.remove();return}const S=N[0],{coordinates:P}=S.geometry,U=S.geometry.type==="Point"?P:P[0][0];s.value=S.properties,a.setLngLat(U).setHTML((Q=n.value)==null?void 0:Q.innerHTML).addTo(t)})}),e.watch(()=>l.center,E=>{t&&t.setCenter(E||L)}),e.watch(()=>l.zoom,E=>{t&&t.setZoom(E)}),e.watch(()=>l.minZoom,E=>{t&&(t.setMinZoom(E??3),oe())}),e.watch(()=>l.maxZoom,E=>{t&&(t.setMaxZoom(E??18),oe())});function de(E,z){if(!(t!=null&&t.getSource("vector")))return;const T=Re(l.table,E??l.filter,z??l.clusterZoom??12);t.getSource("vector").setTiles([T])}return e.watch(()=>l.filter,E=>{de(E)}),e.watch(()=>l.clusterZoom,E=>{de(void 0,E),oe()}),e.watch(()=>l.modelValue,E=>{if(!t)return;const z=F(E),T=["all",z,C],j=["all",z,$];t.getLayer("vector-highlight-circle")&&(t.setFilter("vector-highlight-circle",T),t.setLayoutProperty("vector-highlight-circle","visibility",E?"visible":"none")),t.getLayer("vector-highlight-fill")&&(t.setFilter("vector-highlight-fill",j),t.setLayoutProperty("vector-highlight-fill","visibility",E?"visible":"none")),I(E),E?G():Y()}),e.watch(w,(E,z)=>{if(!t||!E)return;const T=x.value.find(H=>H.id===E);if(!T)return;t.getLayer(z)&&t.removeLayer(z),t.getSource(z)&&t.removeSource(z),t.addSource(E,{type:"raster",tiles:[T.url],tileSize:256});const j=t.getLayer("vector-clusters")?"vector-clusters":t.getLayer("vector-circle")?"vector-circle":void 0;t.addLayer({id:T.id,type:"raster",source:T.id,minzoom:0,maxzoom:19},j)}),e.onBeforeUnmount(()=>{Y(),t&&(t.off("moveend",K),t.off("zoomend",K),t.remove())}),(E,z)=>{const T=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",jr,[e.createElementVNode("div",{ref_key:"mapContainer",ref:f,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:ke},[...z[1]||(z[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)])])),[[T,"Повернутися до базового вигляду"]]),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",Tr,[l.legendTitle?(e.openBlock(),e.createElementBlock("span",Rr,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:z[0]||(z[0]=j=>b.value=!b.value)},[b.value?(e.openBlock(),e.createElementBlock("svg",Kr,[...z[2]||(z[2]=[e.createElementVNode("path",{d:"M6 9l6 6 6-6"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Ur,[...z[3]||(z[3]=[e.createElementVNode("path",{d:"m18 15-6-6-6 6"},null,-1)])]))],8,Pr)):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",Ir,[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",Or,e.toDisplayString(j.text),1)])]))),128))],2)],4)],64)):(e.openBlock(),e.createElementBlock("div",Zr,[(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",Hr,[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",Wr,e.toDisplayString(j.text),1)])]))),128))]))],6),e.createElementVNode("div",{ref_key:"popupDiv",ref:n,style:{display:"none"}},[e.renderSlot(E.$slots,"default",{hoverData:s.value})],512),e.createElementVNode("div",qr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.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,Yr),e.createElementVNode("div",Qr,e.toDisplayString(j.name),1)],10,Gr)),[[T,j.name]])),128))])],512)),[[e.vShow,d.value]])}}}),Pe={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))}},Jr={class:"pt-[20px]"},vr={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},en={class:"flex items-center"},tn=["title"],ln={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},on={class:"flex"},rn={key:0,class:"flex items-center py-[15px] pb-[24px] pl-2 pr-6 gap-4"},nn={class:"font-bold text-2xl mr-[10px]"},an={class:"text-sm text-stone-500 font-medium"},sn={key:0,class:"inline-flex items-center gap-2 text-sm text-stone-700 select-none ml-auto mt-auto"},cn={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},dn={key:1,class:"text-center py-28"},mn={key:1},pn={key:2,class:"my-5 pr-2"},fn={class:"flex justify-between"},un={class:"w-full lg:w-1/2 relative"},gn={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-black/40 backdrop-blur-[2px]"},be=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:{}},emits:["change:filter","update:map"],setup(c,{emit:o}){var E,z,T,j,H,X,Z;const l=e.getCurrentInstance();l&&!(l!=null&&l.appContext.directives.tooltip)&&(l.appContext.directives.tooltip=Pe);function r(N){return N?(N.type==="Point"?N.coordinates:null)||(N.type.includes("Multi")?N.coordinates[0][0][0]:N.coordinates[0][0]):null}const t=c,a=o,m=e.ref(0);m.value=t.initTotal??((E=t.rows)==null?void 0:E.length)??0;const f=e.ref(""),d=e.ref(null),b=e.ref(!0),p=e.ref(((z=t.rows)==null?void 0:z.length)===1),u=e.ref(0),y=e.ref(t.rows),x=e.ref(1),w=e.ref(20),k=e.ref(t.filters||[]),i=e.ref(""),n=e.ref({}),s=e.ref(((T=t.rows)==null?void 0:T.length)===1?t.rows[0]:{}),g=e.ref(((j=t.rows)==null?void 0:j.length)===1?t.rows[0].id:""),h=e.ref(((H=t.rows)==null?void 0:H.length)===1?r((X=t.rows[0])==null?void 0:X.geom):t.center||null),L=e.ref(((Z=t.rows)==null?void 0:Z.length)===1?14:t.zoom||5),M=e.ref(!1),V=e.ref(!1),B=e.ref("");let D=!1;const _=e.computed(()=>{var N;return p.value&&!((N=s.value)!=null&&N.geom)});function A(N){return Object.entries(N).filter(([S,P])=>Array.isArray(P)?P.length:P).map(([S,P])=>`${S}=${P}`).join("|")}function K(){var U,Q,q,O;if(!d.value||!V.value)return;const N=(Q=(U=d.value).getBounds)==null?void 0:Q.call(U);if(!N)return;const S=(q=N.getSouthWest)==null?void 0:q.call(N),P=(O=N.getNorthEast)==null?void 0:O.call(N);!S||!P||(B.value=`${S.lng} ${S.lat},${P.lng} ${P.lat}`)}async function F(N=!1){await e.nextTick();const S=A(n.value);i.value=S,V.value?K():B.value="";try{const P={search:f.value,limit:w.value.toString(),page:x.value.toString(),filter:S,...V.value&&B.value?{bbox:B.value}:{}},U=new URL(`/api/data/${t.table}`,window.location.origin)+(g.value?`/${g.value}`:""),Q=new URLSearchParams(P).toString(),q=await fetch(`${U.toString()}?${Q}`).then(O=>O.json());if(g.value){let O;q.rows.length>1?O=q.rows.find(hn=>hn.id===g.value):[O]=q.rows,s.value=O,!N&&(O!=null&&O.geom)&&(h.value=r(O.geom),L.value=14),p.value=!0}else p.value=!1,M.value||(L.value=t.zoom||5),y.value=q==null?void 0:q.rows;M.value=!1,m.value=q.filtered,tr({page:x.value,filter:S,id:g.value,filterByView:V.value})}catch(P){console.error(P.message)}}const C=Te(()=>F(),300),$=Te(()=>F(!0),400);function R(){!d.value||D||!V.value||(d.value.on("moveend",$),d.value.on("zoomend",$),D=!0)}function I(){!d.value||!D||(d.value.off("moveend",$),d.value.off("zoomend",$),D=!1)}function G(N){w.value=N,x.value=1,F()}function Y(N){x.value=N,F()}function ke(N){n.value=N.data,x.value=1,g.value?g.value="":F(),a("change:filter",N)}async function oe(){if(t.filters)return;const S=await(await fetch(`/api/filter/${t.table}`)).json();k.value=S.list}function we(){n.value={},f.value="",F()}e.onMounted(async()=>{var P,U;u.value=window.innerWidth,u.value<1e3&&(b.value=!1);const N=new URLSearchParams(window.location.search);x.value=Number(N.get("page"))||1,w.value=Number(N.get("limit"))||w.value,g.value=N.get("id")||"",p.value=!!g.value,i.value=N.get("filter")||"";const S=N.get("bbox");S!==null?V.value=S!=="0":V.value=!1,(U=(P=N.get("filter"))==null?void 0:P.split("|"))==null||U.forEach(Q=>{const[q,O]=Q.split("=");q&&(n.value[q]=O!=null&&O.includes(",")?O.split(","):[O])}),oe(),!y.value&&!g.value&&F()}),e.onBeforeUnmount(()=>{I()});function ne(){M.value=!0,p.value=!1,s.value=null,g.value=""}function de(N){N!=null&&N.geom&&(h.value=r(N.geom),L.value=16),s.value=N,g.value=N.id}return e.watch(d,N=>{a("update:map",N),N&&V.value&&R()}),e.watch(f,N=>{N||F()}),e.watch(g,()=>{F()}),e.watch(V,()=>{V.value?R():I(),F()}),(N,S)=>{var P;return e.openBlock(),e.createElementBlock("section",Jr,[e.renderSlot(N.$slots,"header",{title:t.title,total:m.value}),e.createElementVNode("div",vr,[e.createVNode(e.unref(v),{type:"text",modelValue:f.value,"onUpdate:modelValue":S[0]||(S[0]=U=>f.value=U),name:"search",label:"Пошук",onChange:e.unref(C)},null,8,["modelValue","onChange"]),k.value.length?(e.openBlock(),e.createBlock(e.unref(xe),{key:0,schema:k.value,view:"inline",onChange:ke,limit:5,value:n.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",en,[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:b.value?"Приховати карту":"Показати карту",onClick:S[1]||(S[1]=U=>b.value=!b.value)},[b.value?(e.openBlock(),e.createBlock(wr,{key:0})):(e.openBlock(),e.createBlock(Er,{key:1})),S[9]||(S[9]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,tn),e.createElementVNode("div",ln,[e.createElementVNode("button",{onClick:S[2]||(S[2]=U=>b.value=!1),class:"py-2 px-2 h-[38px] inline-flex items-center gap-x-1.5 text-sm rounded-lg border border-gray-200 bg-white text-gray-600 shadow-sm hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100"},[e.createVNode(Fr)]),e.createElementVNode("button",{onClick:S[3]||(S[3]=U=>b.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(Mr)])])])]),e.createElementVNode("div",on,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",b.value?"w-2/4 mr-0":"w-full mr-3",p.value?"hidden":""])},[(P=N.$slots)!=null&&P.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",rn,[e.createElementVNode("div",null,[e.createElementVNode("span",nn,e.toDisplayString(t.title),1),e.createElementVNode("span",an,e.toDisplayString(m.value),1),S[10]||(S[10]=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1))]),t.objectsInView?(e.openBlock(),e.createElementBlock("label",sn,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"accent-blue-600 w-4 h-4","onUpdate:modelValue":S[4]||(S[4]=U=>V.value=U)},null,512),[[e.vModelCheckbox,V.value]]),S[11]||(S[11]=e.createElementVNode("span",null,"В межах видимої області",-1))])):e.createCommentVNode("",!0)])),e.createElementVNode("div",cn,[m.value>=1?e.renderSlot(N.$slots,"table",{key:0,rows:y.value,selectRow:de}):(e.openBlock(),e.createElementBlock("div",dn,[e.createVNode(yr),S[12]||(S[12]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),S[13]||(S[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:we}," Очистити дані пошуку ")]))]),m.value>=1?(e.openBlock(),e.createElementBlock("hr",mn)):e.createCommentVNode("",!0),m.value>=1?(e.openBlock(),e.createElementBlock("div",pn,[e.createElementVNode("div",fn,[e.createVNode(fr,{total:m.value,currentPage:x.value??1,pageSize:w.value,onPageChange:S[5]||(S[5]=U=>Y(U)),onPageSizeChange:S[6]||(S[6]=U=>G(U))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),p.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(b.value?"lg:static lg:w-1/2 mr-0 pb-5":"pb-5 mr-3"),style:{height:"calc(100vh - 152px)"}},[e.renderSlot(N.$slots,"details",{table:t.table,selectedRow:s.value,closeObjCard:ne})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",un,[e.createVNode(Xr,{table:t.table,map:d.value,"onUpdate:map":S[7]||(S[7]=U=>d.value=U),zoom:L.value,minZoom:t.minZoom,maxZoom:t.maxZoom,colorAttr:t.colorAttr,filter:i.value,center:h.value,clusterZoom:t.clusterZoom,modelValue:g.value,"onUpdate:modelValue":S[8]||(S[8]=U=>g.value=U),layers:t.layers,isCollapsible:t.isCollapsible,legendTitle:t.legendTitle,legendWidth:t.legendWidth},{default:e.withCtx(({hoverData:U})=>[e.renderSlot(N.$slots,"popup",{data:U})]),_:3},8,["table","map","zoom","minZoom","maxZoom","colorAttr","filter","center","clusterZoom","modelValue","layers","isCollapsible","legendTitle","legendWidth"]),e.renderSlot(N.$slots,"default",{table:t.table,map:d.value,selectedRow:s.value}),_.value?(e.openBlock(),e.createElementBlock("div",gn,[...S[14]||(S[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,b.value]])])])}}});return be.install=c=>{c.component("VsPartsMap",be),c._context.directives.tooltip||c.directive("tooltip",Pe)},be});
|