@opengis/partsmap 0.1.4 → 0.1.5

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.
Files changed (3) hide show
  1. package/index.js +1261 -1255
  2. package/index.umd.cjs +1 -1
  3. package/package.json +1 -1
package/index.umd.cjs CHANGED
@@ -1 +1 @@
1
- (function(e,H){typeof exports=="object"&&typeof module<"u"?module.exports=H(require("vue")):typeof define=="function"&&define.amd?define(["vue"],H):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=H(e.Vue))})(this,function(e){"use strict";const H={class:"flex items-center justify-between w-full text-sm"},Ve={class:"flex items-center cursor-pointer w-full"},Be={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Ce=["value"],Ee={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},Ne={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},_e={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Q=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(n,{expose:o,emit:c}){const r=n,t=c;function i(){t("itemClick",r.value)}const p=e.ref(null);return o({el:p}),(u,h)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:p},[e.createElementVNode("div",H,[e.createElementVNode("div",Ve,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(u.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":u.highlighted}]),onClick:e.withModifiers(i,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[u.type=="checkbox"?"rounded-[4px]":"rounded-full",u.color?`bg-[${u.color}] border-[#ffffff]`:u.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[u.isSelected?(e.openBlock(),e.createElementBlock("img",Be)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:u.value},null,8,Ce),e.createElementVNode("div",Ee,[e.createElementVNode("span",Ne,e.toDisplayString(u.label??"Відсутні данні"),1),u.count?(e.openBlock(),e.createElementBlock("div",_e," ("+e.toDisplayString(u.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function re(n,o){const{options:c=[],limit:r=20}=n;function t(a){return Array.isArray(a)?a[0]:a}const i=e.ref(t(n.modelValue)),p=e.ref(""),u=e.ref(!1),h=e.ref([]),x=e.ref("id"),f=e.ref("text"),m=e.ref(!1),y=e.ref(n.layout!=="popover"&&c.length>r);function w(a){const k=a.find(Boolean)??{},V=["id","value","code","key"].find(E=>E in k)??"id",C=["text","label","name","title"].find(E=>E in k)??"text";return{autoValueKey:V,autoLabelKey:C}}if(c.length>0){const a=w(c);x.value=a.autoValueKey,f.value=a.autoLabelKey}const d=e.computed(()=>{const a=h.value;return n.layout==="popover"||m.value?a:a.slice(0,r)});e.watch(()=>n.modelValue,a=>{i.value=t(a)},{immediate:!0}),h.value=[...c].sort((a,k)=>n.sort==="count"?k.count&&a.count?k.count-a.count:0:n.sort==="name"?String(a[f.value]??"").localeCompare(String(k[f.value]??"")):0);function s(a){return i.value===a[x.value]}function l(a){i.value=a[x.value],o("update:modelValue",i.value),o("change",{name:n.name,value:i.value})}function b(){i.value=void 0,o("update:modelValue",i.value),o("clear",n.name)}function g(){m.value=!m.value}return{innerValue:i,searchTerm:p,filteredOptions:d,isSelected:s,selectItem:l,clear:b,toggleShowAll:g,isReqProc:u,showAll:m,isEnableShowAll:y,labelKey:f,valueKey:x,allOptions:h}}const j=(n,o)=>{const c=n.__vccOpts||n;for(const[r,t]of o)c[r]=t;return c},Se={},De={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Me(n,o){return e.openBlock(),e.createElementBlock("svg",De,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 Z=j(Se,[["render",Me]]),ze={},Fe={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 $e(n,o){return e.openBlock(),e.createElementBlock("svg",Fe,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const W=j(ze,[["render",$e]]),Ae={},Re={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 je(n,o){return e.openBlock(),e.createElementBlock("svg",Re,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 J=j(Ae,[["render",je]]),Te={key:0,class:"w-full"},Le={class:"flex flex-col items-center justify-center p-5 text-center"},Ke={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Pe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ue=e.defineComponent({__name:"radio",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=e.ref(null),i=c,{innerValue:p,filteredOptions:u,isSelected:h,selectItem:x,clear:f,toggleShowAll:m,isReqProc:y,showAll:w,isEnableShowAll:d,labelKey:s,valueKey:l,allOptions:b}=re({...r,modelValue:r.modelValue??r.default??""},i);return o({clear:f,inputTextRef:t}),e.watch(()=>r.modelValue,g=>{g===void 0&&(p.value=void 0)}),(g,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([g.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([g.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",g.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),k=>(e.openBlock(),e.createBlock(Q,{layout:g.layout,key:k[e.unref(l)],count:k.count,label:k[e.unref(s)],color:k.color,type:"radio",value:k[e.unref(l)],"is-selected":e.unref(h)(k),onItemClick:V=>e.unref(x)(k)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),g.type==="select"&&e.unref(u).length===0&&!e.unref(y)?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",Le,[e.createVNode(Z),a[4]||(a[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),g.layout!=="popover"&&g.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(w)&&e.unref(d)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:a[0]||(a[0]=(...k)=>e.unref(m)&&e.unref(m)(...k)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[a[5]||(a[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(W)])):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:a[1]||(a[1]=(...k)=>e.unref(m)&&e.unref(m)(...k)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[a[6]||(a[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(J)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),g.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[g.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ke,[e.createTextVNode(e.toDisplayString(e.unref(p)||e.unref(p)===null?1:0)+" з "+e.toDisplayString(e.unref(b).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:a[2]||(a[2]=(...k)=>e.unref(f)&&e.unref(f)(...k))}," Очистити ",512),[[e.vShow,e.unref(p)!==""&&e.unref(p)!==void 0]])])):e.createCommentVNode("",!0),g.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(p)||e.unref(p)===null?1:0)+" з "+e.toDisplayString(e.unref(b).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:a[3]||(a[3]=(...k)=>e.unref(f)&&e.unref(f)(...k))}," Очистити ",512),[[e.vShow,e.unref(p)!==""&&e.unref(p)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function ae(n,o){const{options:c=[],limit:r=20}=n;function t(a){return Array.isArray(a)?a:a?[a]:[]}const i=e.ref(t(n.modelValue)),p=e.ref(""),u=e.ref(!1),h=e.ref([]),x=e.ref("id"),f=e.ref("text"),m=e.ref(!1),y=e.ref(n.layout!=="popover"&&c.length>r);function w(a){const k=a.find(Boolean)??{},V=["id","value","code","key"].find(E=>E in k)??"id",C=["text","label","name","title"].find(E=>E in k)??"text";return{autoValueKey:V,autoLabelKey:C}}if(c.length>0){const a=w(c);x.value=a.autoValueKey,f.value=a.autoLabelKey}const d=e.computed(()=>{const a=h.value;return n.layout==="popover"||m.value?a:a.slice(0,r)});e.watch(()=>n.modelValue,a=>{i.value=t(a)},{immediate:!0}),h.value=[...c].sort((a,k)=>n.sort==="count"?k.count&&a.count?k.count-a.count:0:n.sort==="name"?String(a[f.value]).localeCompare(String(k[f.value])):0);function s(a){return i.value&&i.value.includes(a[x.value])}function l(a){const k=i.value.includes(a[x.value]);i.value=k?i.value.filter(V=>V!==a[x.value]):[...i.value,a[x.value]],o("update:modelValue",i.value),o("change",{name:n.name,value:i.value})}function b(){i.value=[],o("update:modelValue",i.value),o("clear",n.name)}function g(){m.value=!m.value}return{innerValue:i,searchTerm:p,filteredOptions:d,isSelected:s,selectItem:l,clear:b,toggleShowAll:g,isReqProc:u,showAll:m,isEnableShowAll:y,labelKey:f,valueKey:x,allOptions:h}}const Oe={key:0,class:"w-full"},Ie={class:"flex flex-col items-center justify-center p-5 text-center"},He={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ye={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:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=c,{innerValue:i,filteredOptions:p,isSelected:u,selectItem:h,clear:x,toggleShowAll:f,isReqProc:m,showAll:y,isEnableShowAll:w,labelKey:d,valueKey:s,allOptions:l}=ae({...r,modelValue:r.modelValue},t);return e.watch(()=>r.modelValue,b=>{b===void 0&&(i.value=[])}),o({clear:x}),(b,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([b.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([b.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",b.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),a=>(e.openBlock(),e.createBlock(Q,{layout:b.layout,count:a.count,label:a[e.unref(d)],color:a.color,type:"checkbox",value:a[e.unref(s)],"is-selected":e.unref(u)(a),onItemClick:k=>e.unref(h)(a)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),b.type==="select"&&e.unref(p).length===0&&!e.unref(m)?(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("div",Ie,[e.createVNode(Z),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),b.layout!=="popover"&&b.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(y)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g[0]||(g[0]=(...a)=>e.unref(f)&&e.unref(f)(...a)),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(W)])):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:g[1]||(g[1]=(...a)=>e.unref(f)&&e.unref(f)(...a)),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(J)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),b.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[b.layout==="inline"?(e.openBlock(),e.createElementBlock("div",He,[e.createTextVNode(e.toDisplayString(e.unref(i).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[2]||(g[2]=(...a)=>e.unref(x)&&e.unref(x)(...a))}," Очистити ",512),[[e.vShow,e.unref(i).length!==0]])])):e.createCommentVNode("",!0),b.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ye,[e.createElementVNode("span",null,e.toDisplayString(e.unref(i).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:g[3]||(g[3]=(...a)=>e.unref(x)&&e.unref(x)(...a))}," Очистити ",512),[[e.vShow,e.unref(i).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),qe={},We={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function Ge(n,o){return e.openBlock(),e.createElementBlock("svg",We,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 ie=j(qe,[["render",Ge]]),Qe={},Ze={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 Je(n,o){return e.openBlock(),e.createElementBlock("svg",Ze,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 se=j(Qe,[["render",Je]]);class X{static getWidthClass(o){return typeof o=="number"?`max-w-[${o}px]`:typeof o=="string"?o.endsWith("%")||o.endsWith("px")?`max-w-[${o}]`:`max-w-${o}`:"w-full"}}const Xe={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},ve=["placeholder"],et=e.defineComponent({__name:"text-input",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{emit:o}){const c=n,r=e.ref((c.placeHolder||c.label||c.name||"search").toString()),t=o,i=e.ref(c.modelValue??"");e.watch(()=>c.modelValue,h=>{h!==i.value&&(i.value=h??"")});function p(){t("update:modelValue",i.value),t("change",{name:c.name,value:i.value})}function u(){i.value="",t("update:modelValue",""),t("clear",c.name),t("change",{name:c.name,value:null})}return(h,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-lg [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",h.layout==="inline"?e.unref(X).getWidthClass(h.width):"mb-2"+(h.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Xe,[e.createVNode(ie)]),i.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(se)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":x[0]||(x[0]=f=>i.value=f),onInput:p,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-lg text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,40,ve),[[e.vModelText,i.value]])],2))}});function ce(n={color:"blue"}){return e.computed(()=>{const o=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${n.color}-500 focus:border-transparent`;return(n==null?void 0:n.size)==="sm"?`${o}h-[32px]`:`${o}h-[38px]`})}function tt(){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 lt(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function de(n){return n==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":n==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-2 bg-transparent h-[38px]"}const ot={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},rt=["placeholder","disabled"],at={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},nt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},it=["placeholder","disabled"],st=["disabled"],ct=e.defineComponent({__name:"range-input",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=ce(),t=tt(),i=n,p=e.ref(i.modelValue??i.default??[]),u=c,h=e.computed({get:()=>i.modelValue??p.value,set:m=>{i.modelValue!==void 0?u("update:modelValue",m):p.value=m}});function x(){u("change",{name:i.name,value:h.value||p.value})}function f(){p.value=[],h.value=p.value,u("clear",i.name)}return e.watch(()=>i.modelValue,m=>{m!==void 0&&i.layout!=="popover"?(p.value=m,u("update:modelValue",m)):p.value=[]}),o({clear:f,currentValue:h}),(m,y)=>{var w,d;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(m.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[m.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",ot,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((w=m.placeHolder)==null?void 0:w[0])??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":y[0]||(y[0]=s=>h.value[0]=s),disabled:m.disabled},null,10,rt),[[e.vModelText,h.value[0]]])]),m.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",at," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[m.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",nt,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(r)),placeholder:((d=m.placeHolder)==null?void 0:d[1])??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":y[1]||(y[1]=s=>h.value[1]=s),disabled:m.disabled},null,10,it),[[e.vModelText,h.value[1]]])]),["popover","inline","vertical"].includes(m.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:x,class:e.normalizeClass(e.unref(t)+(m.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(m.layout==="vertical"?"Ok":"Застосувати"),3)):e.createCommentVNode("",!0),["popover","inline"].includes(m.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(h.value[0]||h.value[1]),onClick:f,class:e.normalizeClass(e.unref(t)+" hover:bg-gray-100")},"Очистити",10,st)):e.createCommentVNode("",!0)],2)]),(m.cleanable&&p.value.length,e.createCommentVNode("",!0))],64)}}}),dt=["disabled","title"],mt={key:0,class:"absolute top-0 end-0 inline-flex min-h-[10px] min-w-[10px] z-10 items-center py-0.5 rounded-full text-xs font-medium transform -translate-y-1/2 translate-x-1/2 bg-blue-600 text-white px-1"},pt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},ft={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"},v=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(n,{expose:o}){const c=n,r=e.computed(()=>de(c.mode)),t=e.ref(!1),i=e.ref({top:0,left:0}),p=e.ref(null),u=e.ref(null),h=e.ref(null);function x(){const l=u.value,b=h.value;if(!l||!b)return;const g=l.getBoundingClientRect(),a=b.offsetWidth,k=window.innerWidth,V=g.bottom+8;let{left:C}=g;C+a>k&&(C=Math.max(k-a-10,10)),i.value={top:V,left:C}}function f(){t.value=!t.value,t.value&&e.nextTick(()=>{var l,b;x(),(l=c.fieldRef)!=null&&l.inputTextRef&&((b=c.fieldRef)==null||b.inputTextRef.focus())})}function m(l){var b,g;!((b=p.value)!=null&&b.contains(l.target))&&!((g=h.value)!=null&&g.contains(l.target))&&(t.value=!1)}function y(l){l.key==="Escape"&&(t.value=!1)}const w=e.ref(!1);e.onMounted(()=>{w.value=!0}),e.onMounted(()=>{document.addEventListener("click",m,!0),document.addEventListener("keydown",y),window.addEventListener("scroll",x,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",m,!0),document.removeEventListener("keydown",y),window.removeEventListener("scroll",x,!0)});function d(){t.value=!1}o({close:d});const s=e.computed(()=>{var b;const l=(b=c.fieldRef)==null?void 0:b.selectedLabels;return l?Array.isArray(l)?l.length>0?l.join(", "):c.label??"":String(l):c.label??""});return(l,b)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:f,disabled:l.disabled,ref_key:"triggerRef",ref:u,title:l.label,class:e.normalizeClass(r.value+" "+(l.width?e.unref(X).getWidthClass(l.width):"w-full"))},[e.createElementVNode("span",{class:e.normalizeClass(["truncate text-ellipsis block",l.width?e.unref(X).getWidthClass(l.width-50):"w-full"])},e.toDisplayString(s.value),3),e.createVNode(W,{class:"h-4 w-4"}),(Array.isArray(l.currentValue)?l.currentValue===null||l.currentValue.length>0:l.currentValue===null||l.currentValue)&&l.layout==="inline"?(e.openBlock(),e.createElementBlock("span",mt)):e.createCommentVNode("",!0)],10,dt),w.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:h,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${i.value.top}px`,left:`${i.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",pt,[e.createElementVNode("div",ft,[e.renderSlot(l.$slots,"default")])])],4),[[e.vShow,t.value]])])):e.createCommentVNode("",!0)]))}});function ut(n){return String(n).charAt(0).toUpperCase()+String(n).slice(1)}class F{static format(o){const c=o.getFullYear(),r=(o.getMonth()+1).toString().padStart(2,"0"),t=o.getDate().toString().padStart(2,"0");return`${c}-${r}-${t}`}static getShiftedDay(o,c=0){const r=o?new Date(o):new Date;return r.setDate(r.getDate()+c),this.format(r)}static getLastWeekRange(o,c,r=0){if(o&&c){const x=new Date(o),f=new Date(c);return x.setDate(x.getDate()+r*7),f.setDate(f.getDate()+r*7),[this.format(x),this.format(f)]}const t=new Date,i=t.getDay(),p=i===0?13:i-1+7,u=new Date(t);u.setDate(t.getDate()-p+r*7);const h=new Date(u);return h.setDate(u.getDate()+6),[this.format(u),this.format(h)]}static getMonthRange(o,c,r=0){let t;o?t=new Date(o):t=new Date,t=new Date(t.getFullYear(),t.getMonth()+r,1);const i=t,p=new Date(t.getFullYear(),t.getMonth()+1,0);return[this.format(i),this.format(p)]}static getQuarterRange(o,c,r=0){const t=o||c,i=t?new Date(t):new Date;let p=Math.floor(i.getMonth()/3);p+=r;const u=(p%4+4)%4*3,h=i.getFullYear()+Math.floor(p/4),x=new Date(h,u,1),f=new Date(h,u+3,0);return[this.format(x),this.format(f)]}static getYear(o,c=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+c)}static getYearRange(o,c=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+c,0,1)),this.format(new Date(r+c+1,0,0))]}static getRangeFromDaysBefore(o){const c=new Date,r=new Date(c.getTime());return r.setDate(c.getDate()-o),[this.format(r),this.format(c)]}}function me(n,o){const{popoverRef:c}=n,r=e.ref(""),t=e.ref(n.modelValue??n.default??[]),i=e.ref(0);function p(){const s=F.getRangeFromDaysBefore(i.value);return t.value=[...s],o("change",{name:n.name,value:t.value}),o("update:modelValue",t.value),s}function u(s){var b;r.value=s,(b=c.value)==null||b.close();const l=[];switch(r.value){case"today":l.push(F.getShiftedDay()),l.push(F.getShiftedDay());break;case"week":l.push(...F.getLastWeekRange());break;case"month":l.push(...F.getMonthRange());break;case"quarter":l.push(...F.getQuarterRange());break;case"year":l.push(...F.getYearRange());break;case"last_7_days":i.value=7,p();break;case"range":i.value=7,l.push(...p());break}t.value=[...l],o("change",{name:n.name,value:t.value}),o("update:modelValue",t.value)}function h(){const s=[];switch(r.value){case"today":s.push(F.getShiftedDay(t.value[0],1));break;case"week":s.push(...F.getLastWeekRange(t.value[0],t.value[1],1));break;case"month":s.push(...F.getMonthRange(t.value[0],t.value[1],1));break;case"quarter":s.push(...F.getQuarterRange(t.value[0],t.value[1],1));break;case"year":s.push(...F.getYearRange(t.value[0],1));break}t.value=[...s],o("change",{name:n.name,value:t.value}),o("update:modelValue",t.value)}function x(){const s=[];switch(r.value){case"today":s.push(F.getShiftedDay(t.value[0],-1));break;case"week":s.push(...F.getLastWeekRange(t.value[0],t.value[1],-1));break;case"month":s.push(...F.getMonthRange(t.value[0],t.value[1],-1));break;case"quarter":s.push(...F.getQuarterRange(t.value[0],t.value[1],-1));break;case"year":s.push(...F.getYearRange(t.value[0],-1));break}t.value=[...s],o("change",{name:n.name,value:t.value}),o("update:modelValue",t.value)}const f=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function m(s){const[l,b,g]=s.split("-");return`${g}.${b}.${l}`}function y(s){const{value:l}=t;switch(s){case"today":return m(l[0]);case"range":return"Період";case"week":return l[0]&&l[1]?`${m(l[0])} – ${m(l[1])}`:"";case"quarter":if(l[0]){const b=new Date(l[0]),g=b.getFullYear(),a=b.getMonth();return`${Math.floor(a/3)+1} квартал ${g}`}return"";case"month":if(l[0]){const[b,g]=l[0].split("-");return`${f[parseInt(g,10)-1]} ${b}`}return"";case"year":return l[0]||"";case"last_7_days":return"За останні дні";default:return n.label??""}}const w=e.computed(()=>r.value?y(r.value):n.label??"");function d(){r.value="",t.value=[],o("update:modelValue",[]),o("clear",n.name)}return{activeMode:r,innerValue:t,daysBefore:i,onDaysBeforeChange:p,onSelectChange:u,nextClick:h,prevClick:x,ukMonths:f,formatDisplayDate:m,getModeLabel:y,currentLabel:w,clear:d}}const gt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},ht={key:0,class:"flex gap-1 !w-[75%] rounded-lg"},yt=["max","disabled"],bt=["min","disabled"],xt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},kt=["max","disabled"],wt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Vt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Bt=["min","disabled"],Ct={class:"flex gap-1 pt-2"},Et=["onClick"],Nt=e.defineComponent({__name:"date-input",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=ce(),i=lt(),p=c,u=e.ref(null),{activeMode:h,innerValue:x,onSelectChange:f,nextClick:m,prevClick:y,clear:w}=me({...r,popoverRef:u},p);return e.watch(()=>r.modelValue,d=>{d!==void 0?(x.value=d,p("update:modelValue",d)):(h.value="",x.value=[])}),o({clear:w,popoverRef:u}),(d,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[d.layout==="inline"?(e.openBlock(),e.createElementBlock("div",gt,[e.unref(h)!==""&&e.unref(h)==="range"?(e.openBlock(),e.createElementBlock("div",ht,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(x)[1],locale:"uk-UA","onUpdate:modelValue":s[0]||(s[0]=l=>e.unref(x)[0]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:d.disabled},null,8,yt),[[e.vModelText,e.unref(x)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(x)[0],locale:"uk-UA","onUpdate:modelValue":s[1]||(s[1]=l=>e.unref(x)[1]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:d.disabled},null,8,bt),[[e.vModelText,e.unref(x)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(d.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(d.layout!=="popover"?"w-[48%]":"")},[d.layout==="popover"?(e.openBlock(),e.createElementBlock("label",xt,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(x)[1],locale:"uk-UA","onUpdate:modelValue":s[2]||(s[2]=l=>e.unref(x)[0]=l),class:e.normalizeClass(e.unref(t)),disabled:d.disabled},null,10,kt),[[e.vModelText,e.unref(x)[0]]])],2),d.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",wt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(d.layout!=="popover"?"w-[48%]":"")},[d.layout==="popover"?(e.openBlock(),e.createElementBlock("label",Vt,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(x)[0],locale:"uk-UA","onUpdate:modelValue":s[3]||(s[3]=l=>e.unref(x)[1]=l),class:e.normalizeClass(e.unref(t)),disabled:d.disabled},null,10,Bt),[[e.vModelText,e.unref(x)[1]]])],2)],2),e.createElementVNode("div",Ct,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],l=>e.createElementVNode("button",{key:l,class:e.normalizeClass(e.unref(i)+(e.unref(h)===l?" bg-blue-100":"")),onClick:b=>e.unref(f)(l)},e.toDisplayString(e.unref(ut)(l)),11,Et)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(i)),onClick:s[4]||(s[4]=(...l)=>e.unref(y)&&e.unref(y)(...l))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(i)),onClick:s[5]||(s[5]=(...l)=>e.unref(m)&&e.unref(m)(...l))}," >",2)]),(d.cleanable,e.createCommentVNode("",!0))],64))}});function _t(n,o){const{api:c,options:r=[],limit:t=20,dataKey:i="data"}=n,p=n.multi;function u(B){return p?Array.isArray(B)?B:B?[B]:[]:Array.isArray(B)?B[0]:B}const h=e.ref(u(n.modelValue)),x=e.ref(""),f=e.ref(!1),m=e.ref([]),y=e.ref("id"),w=e.ref("text"),d=e.ref(!1),s=e.ref(n.layout!=="popover"&&r.length>t),l=e.ref([]),b=e.ref(0);function g(B){const D=B.find(Boolean)??{},A=["id","value","code","key"].find(T=>T in D)??"id",P=["text","label","name","title"].find(T=>T in D)??"text";return{autoValueKey:A,autoLabelKey:P}}if(r.length>0){const B=g(r);y.value=B.autoValueKey,w.value=B.autoLabelKey}const a=e.computed(()=>{if(c)return m.value;const B=m.value;if(n.layout==="popover")return B;if(!x.value)return d.value?B:B.slice(0,t);const D=x.value.toLowerCase();return B.filter(A=>A[w.value].toLowerCase().includes(D))});let k=null;async function V(B){if(c){f.value=!0;try{const D=new URL(c,window.location.origin);D.searchParams.set("json","1"),D.searchParams.set("key",B),D.searchParams.set("limit",t.toString());const A=await fetch(D.toString());if(!A.ok)throw new Error(`HTTP error! status: ${A.status}`);const P=await A.json();if(m.value=P[i],m.value.length>0){const T=g(m.value);y.value=T.autoValueKey,w.value=T.autoLabelKey}b.value=P.total}catch(D){console.error("Failed to fetch remote options:",D)}finally{f.value=!1}}}e.watch(x,B=>{c&&(k&&clearTimeout(k),k=setTimeout(()=>{V(B)},200))}),e.watch(()=>n.modelValue,B=>{h.value=u(B)},{immediate:!0}),c?V(""):m.value=r;function C(B){return p&&Array.isArray(h.value)?h.value.includes(B[y.value]):h.value&&h.value===B[y.value]}function E(B){if(p&&!Array.isArray(h.value)&&(h.value=[]),p&&Array.isArray(h.value)){const D=h.value.includes(B[y.value]);h.value=D?h.value.filter(A=>A!==B[y.value]):[...h.value,B[y.value]],l.value=D?l.value.filter(A=>A!==B[w.value]):[...l.value,B[w.value]]}else h.value=B[y.value],l.value=B[w.value];o("update:modelValue",h.value),o("change",{name:n.name,value:h.value})}function M(){p?(h.value=[],l.value=[]):(h.value=void 0,l.value=[]),o("update:modelValue",h.value),o("clear",n.name)}function S(){k&&clearTimeout(k),x.value="",d.value=!1}function U(){d.value=!d.value}e.onBeforeUnmount(()=>{k&&clearTimeout(k)});const R=e.ref(-1);e.watch(a,()=>{R.value=a.value.length>0?0:-1});function z(B){const D=a.value.length;if(B.key==="ArrowDown")B.preventDefault(),R.value=(R.value+1)%D;else if(B.key==="ArrowUp")B.preventDefault(),R.value=(R.value-1+D)%D;else if(B.key==="Enter"&&(B.preventDefault(),R.value>=0&&R.value<a.value.length)){const A=a.value[R.value];E(A)}}return{innerValue:h,searchTerm:x,filteredOptions:a,isSelected:C,selectItem:E,clear:M,resetSearch:S,toggleShowAll:U,isReqProc:f,showAll:d,isEnableShowAll:s,labelKey:w,valueKey:y,allOptions:m,highlightedIndex:R,onKeyDown:z,selectedLabels:l,totalCount:b}}const St={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Dt={key:0,class:"w-full"},Mt={class:"flex flex-col items-center justify-center p-5 text-center"},zt={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:"select",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=c,i=e.ref(null),{innerValue:p,filteredOptions:u,isSelected:h,selectItem:x,clear:f,resetSearch:m,toggleShowAll:y,isReqProc:w,showAll:d,isEnableShowAll:s,searchTerm:l,labelKey:b,valueKey:g,highlightedIndex:a,onKeyDown:k,selectedLabels:V,totalCount:C}=_t({...r,modelValue:r.modelValue},t);e.onMounted(()=>{m()}),e.watch(()=>r.modelValue,M=>{M===void 0&&(r.multi?p.value=[]:p.value=void 0)});const E=e.ref([]);return e.watch(a,M=>{var S;M>=0&&E.value[M]&&((S=E.value[M])==null||S.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(u,()=>{E.value=[]}),o({clear:f,inputTextRef:i,selectedLabels:V}),(M,S)=>{var U,R;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([M.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",St,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":S[0]||(S[0]=z=>e.isRef(l)?l.value=z:null),onKeydown:S[1]||(S[1]=(...z)=>e.unref(k)&&e.unref(k)(...z)),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",placeholder:"Пошук",type:"text",ref_key:"inputTextRef",ref:i},null,544),[[e.vModelText,e.unref(l)]]),e.createVNode(ie,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.createVNode(se,{onClick:S[2]||(S[2]=z=>l.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})]),e.createElementVNode("div",{class:e.normalizeClass([M.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",M.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(z,B)=>(e.openBlock(),e.createBlock(Q,{layout:M.layout,count:z.count,label:z[e.unref(b)],color:z.color,type:M.multi?"checkbox":"radio",value:z[e.unref(g)],"is-selected":e.unref(h)(z),highlighted:B===e.unref(a),onItemClick:D=>e.unref(x)(z),ref_for:!0,ref:D=>E.value[B]=D==null?void 0:D.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),M.type==="select"&&e.unref(u).length===0&&!e.unref(w)?(e.openBlock(),e.createElementBlock("div",Dt,[e.createElementVNode("div",Mt,[e.createVNode(Z),S[7]||(S[7]=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),M.layout!=="popover"&&M.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(d)&&e.unref(s)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:S[3]||(S[3]=(...z)=>e.unref(y)&&e.unref(y)(...z)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[S[8]||(S[8]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(W)])):e.createCommentVNode("",!0),e.unref(d)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:S[4]||(S[4]=(...z)=>e.unref(y)&&e.unref(y)(...z)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[S[9]||(S[9]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(J)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),M.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[M.layout==="inline"?(e.openBlock(),e.createElementBlock("div",zt,[e.createTextVNode(e.toDisplayString(M.multi&&Array.isArray(e.unref(p))?(U=e.unref(p))==null?void 0:U.length:e.unref(p)!==void 0&&(e.unref(p)||e.unref(p)===null)?1:0)+" з "+e.toDisplayString(e.unref(C))+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[5]||(S[5]=(...z)=>e.unref(f)&&e.unref(f)(...z))}," Очистити ",512),[[e.vShow,e.unref(p)!==""&&e.unref(p)!==void 0||e.unref(p)]])])):e.createCommentVNode("",!0),M.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("span",null,e.toDisplayString(M.multi&&Array.isArray(e.unref(p))?(R=e.unref(p))==null?void 0:R.length:e.unref(p)!==void 0&&(e.unref(p)||e.unref(p)===null)?1:0)+" з "+e.toDisplayString(e.unref(C))+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[6]||(S[6]=(...z)=>e.unref(f)&&e.unref(f)(...z))}," Очистити ",512),[[e.vShow,e.unref(p)!==""&&e.unref(p)!==void 0||e.unref(p)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),At=["for","onClick"],Rt=["id","name","value"],jt={class:"block"},Tt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Lt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Kt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=c,{innerValue:i,isSelected:p,selectItem:u,clear:h,labelKey:x,valueKey:f,allOptions:m}=r.multi?ae({...r,modelValue:r.modelValue??r.default??[]},t):re({...r,modelValue:r.modelValue!==void 0?r.modelValue:r.default??""},t);return o({clear:h}),e.watch(()=>r.modelValue,y=>{y===void 0&&(r.multi?i.value=[]:i.value=void 0)}),(y,w)=>{var d,s;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(m),l=>(e.openBlock(),e.createElementBlock("label",{key:`item-${l[e.unref(f)]}`,for:`item-${l[e.unref(f)]}`,onClick:e.withModifiers(b=>e.unref(u)(l),["stop","prevent"]),class:e.normalizeClass([e.unref(p)(l)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-lg dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${l[e.unref(f)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${l[e.unref(f)]}`,value:l[e.unref(f)]},null,8,Rt),e.createElementVNode("span",jt,e.toDisplayString(l[e.unref(x)]),1)],10,At))),128))],2),y.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Tt,[e.createTextVNode(e.toDisplayString(y.multi&&Array.isArray(e.unref(i))?(d=e.unref(i))==null?void 0:d.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(m).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[0]||(w[0]=(...l)=>e.unref(h)&&e.unref(h)(...l))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0),y.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("span",null,e.toDisplayString(y.multi&&Array.isArray(e.unref(i))?(s=e.unref(i))==null?void 0:s.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(m).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[1]||(w[1]=(...l)=>e.unref(h)&&e.unref(h)(...l))}," Очистити ",512),[[e.vShow,e.unref(i)!==void 0&&e.unref(i)!==""||e.unref(i)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),Pt={},Ut={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function Ot(n,o){return e.openBlock(),e.createElementBlock("svg",Ut,o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const K=j(Pt,[["render",Ot]]),It={},Ht={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 Yt(n,o){return e.openBlock(),e.createElementBlock("svg",Ht,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 qt=j(It,[["render",Yt]]),Wt={},Gt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"};function Qt(n,o){return e.openBlock(),e.createElementBlock("svg",Gt,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Zt=j(Wt,[["render",Qt]]),Jt={class:"flex"},Xt={class:"mb-1"},vt={class:"mb-1"},el={class:"inline-flex rounded-lg shrink-0 pl-1"},tl={class:"inline-flex rounded-lg shrink-0 pl-1"},ll={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},ol=["max","disabled"],rl=["min","disabled"],al=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=c,i=e.ref(null),{activeMode:p,innerValue:u,onSelectChange:h,nextClick:x,prevClick:f,currentLabel:m,clear:y}=me({...r,popoverRef:i},t);return e.watch(()=>r.modelValue,w=>{w!==void 0?(u.value=w,t("update:modelValue",w)):(p.value="",u.value=[])}),o({clear:y,popoverRef:i}),(w,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Jt,[e.createVNode(v,{ref_key:"popoverRef",ref:i,label:e.unref(m),"current-value":e.unref(u),mode:w.mode,onClear:e.unref(y),layout:w.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[0]||(d[0]=s=>e.unref(h)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[d[12]||(d[12]=e.createTextVNode(" Період ",-1)),e.unref(p)==="range"?(e.openBlock(),e.createBlock(K,{key:0})):e.createCommentVNode("",!0)])]),d[19]||(d[19]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[1]||(d[1]=s=>e.unref(h)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[d[13]||(d[13]=e.createTextVNode(" Сьогодні ",-1)),e.unref(p)==="today"?(e.openBlock(),e.createBlock(K,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[2]||(d[2]=s=>e.unref(h)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[d[14]||(d[14]=e.createTextVNode(" Тиждень ",-1)),e.unref(p)==="week"?(e.openBlock(),e.createBlock(K,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[3]||(d[3]=s=>e.unref(h)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[d[15]||(d[15]=e.createTextVNode(" Місяць ",-1)),e.unref(p)==="month"?(e.openBlock(),e.createBlock(K,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:d[4]||(d[4]=s=>e.unref(h)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[d[16]||(d[16]=e.createTextVNode(" Квартал ",-1)),e.unref(p)==="quarter"?(e.openBlock(),e.createBlock(K,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Xt,[e.createElementVNode("button",{type:"button",onClick:d[5]||(d[5]=s=>e.unref(h)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[d[17]||(d[17]=e.createTextVNode(" Рік ",-1)),e.unref(p)==="year"?(e.openBlock(),e.createBlock(K,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",vt,[e.createElementVNode("button",{type:"button",onClick:d[6]||(d[6]=s=>e.unref(y)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[d[18]||(d[18]=e.createTextVNode(" Весь час ",-1)),e.unref(u)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(K,{key:0}))])])]),_:1,__:[19]},8,["label","current-value","mode","onClear","layout"]),e.unref(p)!==""&&e.unref(p)!=="range"&&e.unref(p)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",el,[e.createElementVNode("button",{type:"button",title:"Попередній період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:d[7]||(d[7]=(...s)=>e.unref(f)&&e.unref(f)(...s))},[e.createVNode(qt)])]),e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",title:"Наступний період",class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:d[8]||(d[8]=(...s)=>e.unref(x)&&e.unref(x)(...s))},[e.createVNode(Zt)])])],64)):e.createCommentVNode("",!0),e.unref(p)!==""&&e.unref(p)==="range"?(e.openBlock(),e.createElementBlock("div",ll,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":d[9]||(d[9]=s=>e.unref(u)[0]=s),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:w.disabled},null,8,ol),[[e.vModelText,e.unref(u)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":d[10]||(d[10]=s=>e.unref(u)[1]=s),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:w.disabled},null,8,rl),[[e.vModelText,e.unref(u)[1]]])])):e.createCommentVNode("",!0)]),(w.cleanable,e.createCommentVNode("",!0))],64))}}),pe={radio:Ue,checkbox:ne,check:ne,text:et,range:ct,date:Nt,select:$t,tag:Kt,"date:inline":al};function ee(n,o){let c;switch(n.toLowerCase()){case"autocomplete":c="select";break;case"check":c="checkbox";break;default:c=n==null?void 0:n.toString().toLowerCase()}return c==="date"&&o&&o==="inline"&&(c="date:inline"),{component:pe[c]||pe.text,type:c}}const nl={},il={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 sl(n,o){return e.openBlock(),e.createElementBlock("svg",il,o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"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 cl=j(nl,[["render",sl]]),dl={style:{display:"inline-flex",margin:"0px",width:"100%"}},ml={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},pl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},fl={class:"flex items-center"},ul={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},gl={class:"filter-layout__body"},hl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=c,i=e.ref(),p=ee(r.type,r.layout),u=e.computed({get:()=>r.modelValue,set:m=>t("update:modelValue",m)});function h(m){t("clear",m)}function x(m,y){t("change",{name:m,value:y}),r.modelValue!==void 0&&t("update:modelValue",y)}function f(){i.value&&i.value.clear(),t("clear",r.name)}return e.watch(()=>r.default,m=>{u.value=m}),e.watch(()=>r.modelValue,m=>{u.value=m}),o({filterRef:i}),(m,y)=>{var w,d,s;return e.openBlock(),e.createElementBlock("div",dl,[e.createElementVNode("div",ml,[e.createElementVNode("div",pl,[e.createElementVNode("div",fl,[e.createElementVNode("span",ul,e.toDisplayString(m.label),1)]),typeof u.value=="string"&&u.value.trim()!==""||Array.isArray(u.value)&&u.value.length>0&&u.value.some(l=>l!==void 0)||u.value===null?(e.openBlock(),e.createBlock(cl,{key:0,onClick:f})):e.createCommentVNode("",!0)]),e.createElementVNode("div",gl,[((w=e.unref(p))==null?void 0:w.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((d=e.unref(p))==null?void 0:d.component),e.mergeProps({key:0},r,{type:(s=e.unref(p))==null?void 0:s.type,onChange:y[0]||(y[0]=l=>x(l.name,l.value)),onClear:y[1]||(y[1]=l=>h(l)),ref_key:"filterRef",ref:i}),null,16,["type"])):(e.openBlock(),e.createBlock(v,{key:1,"current-value":u.value,label:m.label,mode:m.mode,onClear:f,fieldRef:i.value,width:void 0,disabled:m.disabled,layout:"vertical"},{default:e.withCtx(()=>{var l,b;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((l=e.unref(p))==null?void 0:l.component),e.mergeProps({ref_key:"filterRef",ref:i},r,{type:(b=e.unref(p))==null?void 0:b.type,onChange:y[2]||(y[2]=g=>x(g.name,g.value)),onClear:y[3]||(y[3]=g=>h(g))}),null,16,["type"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),fe=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=c,i=e.ref(),p=ee(r.type,r.layout),u=e.computed({get:()=>r.modelValue,set:f=>t("update:modelValue",f)});function h(f=r.name){t("clear",f)}function x(f,m){t("change",{name:f,value:m}),r.modelValue!==void 0&&t("update:modelValue",m)}return e.watch(()=>r.default,f=>{u.value=f}),e.watch(()=>r.modelValue,f=>{u.value=f}),o({filterRef:i}),(f,m)=>{var y,w;return["text","date"].includes(f.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=e.unref(p))==null?void 0:y.component),e.mergeProps({key:0},r,{type:(w=e.unref(p))==null?void 0:w.type,onChange:m[0]||(m[0]=d=>x(d.name,d.value)),onClear:m[1]||(m[1]=d=>h(d)),disabled:f.disabled,modelValue:u.value,"onUpdate:modelValue":m[2]||(m[2]=d=>u.value=d)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(v,{key:1,"current-value":u.value,label:f.label,mode:f.mode,onClear:h,fieldRef:i.value,width:r.width,disabled:f.disabled,layout:"inline"},{default:e.withCtx(()=>{var d,s;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((d=e.unref(p))==null?void 0:d.component),e.mergeProps({ref_key:"filterRef",ref:i},r,{modelValue:u.value,"onUpdate:modelValue":m[3]||(m[3]=l=>u.value=l),type:(s=e.unref(p))==null?void 0:s.type,onChange:m[4]||(m[4]=l=>x(l.name,l.value)),onClear:m[5]||(m[5]=l=>h(l))}),null,16,["modelValue","type"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),yl=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=c,i=e.ref(),p=e.ref(ee(r.type,r.layout)),u=e.computed({get:()=>r.modelValue,set:f=>t("update:modelValue",f)});function h(f){t("clear",f)}function x(f,m){t("change",{name:f,value:m}),r.modelValue!==void 0&&t("update:modelValue",m)}return e.watch(()=>r.default,f=>{u.value=f}),e.watch(()=>r.modelValue,f=>{u.value=f}),e.watch(()=>r,f=>{u.value=f}),o({filterRef:i}),(f,m)=>{var y,w;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=p.value)==null?void 0:y.component),e.mergeProps(r,{type:(w=p.value)==null?void 0:w.type,modelValue:u.value,"onUpdate:modelValue":m[0]||(m[0]=d=>u.value=d),onChange:m[1]||(m[1]=d=>x(d.name,d.value)),onClear:m[2]||(m[2]=d=>h(d)),ref_key:"filterRef",ref:i}),null,16,["type","modelValue"])}}}),L=e.defineComponent({__name:"filter-field",props:{id:{},name:{},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"}},emits:["update:modelValue","change","clear"],setup(n,{expose:o,emit:c}){const r=n,t=c,i=e.ref(),p=e.computed({get:()=>r.modelValue,set:f=>t("update:modelValue",f)});function u(f){t("clear",f)}function h(f,m){t("change",{name:f,value:m}),r.modelValue!==void 0&&t("update:modelValue",m)}e.watch(()=>r.default,f=>{p.value=f}),e.watch(()=>r.modelValue,f=>{p.value=f}),o({filterRef:i});function x(){switch(r.layout){case"inline":return fe;case"vertical":return hl;case"popover":return yl;default:return fe}}return(f,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x()),e.mergeProps(r,{onChange:m[0]||(m[0]=y=>h(y.name,y.value)),onClear:m[1]||(m[1]=y=>u(y)),modelValue:p.value,"onUpdate:modelValue":m[2]||(m[2]=y=>p.value=y)}),null,16,["modelValue"]))}});function te(n,o){const{slots:c}=n,r=e.ref(n.value??{}),t=e.computed(()=>{var g;return(e.toRaw((g=c==null?void 0:c.default)==null?void 0:g.call(c))??[]).flatMap(a=>Array.isArray(a.children)?a.children:[a])});function i(g){delete r.value[g],o("clear",{data:e.toRaw(r.value),name:g})}function p(g,a){a===void 0?i(g):r.value={...r.value,[g]:a},o("change",{data:e.toRaw(r.value),name:g,value:a})}const u=e.computed(()=>t.value.map(g=>{var k;const a=(k=g.props)==null?void 0:k.name;return e.cloneVNode(g,{...g.props,layout:n.view,showClean:!0,modelValue:r[a],"onUpdate:modelValue":V=>{p(a,V)},onClear:()=>i(a)})})),h=e.computed(()=>new Map(u.value.map(g=>{var k;const a=(k=g.props)==null?void 0:k.name;return a?[a,g]:null}).filter(g=>g!==null)));function x(g=!1){r.value={},g||o("clearAll",{data:e.toRaw(r.value),name:"ALL"})}const f=e.ref(""),m=e.computed(()=>{var g;return(g=n.schema)!=null&&g.value?Object.entries(r.value).filter(([a,k])=>n.schema&&!(a in n.schema.value)?!1:Array.isArray(k)?k.some(V=>V!==""&&V!==void 0):k!==""&&k!==void 0).length:0}),y=e.ref();e.watch(f,async()=>{var g,a;await e.nextTick(),(a=(g=y==null?void 0:y.value)==null?void 0:g.filterRef)!=null&&a.inputTextRef&&y.value.filterRef.inputTextRef.focus()});const w=e.computed(()=>{var g,a;return(g=n.schema)!=null&&g.value?Object.fromEntries(Object.entries((a=n.schema)==null?void 0:a.value).slice(0,n.limit)):{}}),d=e.computed(()=>{var g,a,k;return(g=n.schema)!=null&&g.value?n.view!=="inline"?(a=n.schema)==null?void 0:a.value:Object.fromEntries(Object.entries((k=n.schema)==null?void 0:k.value).slice(n.limit)):{}}),s=e.computed(()=>{var a;if(u.value.length===0)return[];let g=0;if((a=n.schema)!=null&&a.value){const k=Object.entries(n.schema.value).length;k<n.limit?g=n.limit-k:g=0}return u.value.slice(0,g)}),l=e.computed(()=>u.value.length===0?[]:n.view!=="inline"?u.value:u.value.slice(s.value.length));function b(){if(d.value){const[g]=Object.keys(d.value);f.value=g}else l.value.length>0?f.value=l.value[0].props.name:f.value=""}return{activeFilter:r,activeFilterCount:m,onFilterChange:p,clearFilter:i,clearAllFilters:x,limitedSchema:w,popoverSchema:d,filtersSlot:u,limitedFiltersSlot:s,popoverFiltersSlot:l,vnodeMap:h,onPopoverOpen:b,selectedFilter:f,filterRef:y}}const bl=e.defineComponent({__name:"popover",emits:["open","close"],setup(n,{emit:o}){const c=e.ref(!1),r=e.ref(null),t=e.ref(null),i=e.ref(null),p=e.ref({top:"0px",left:"0px",position:"absolute"});function u(){c.value=!c.value}function h(){const y=i.value,w=r.value;if(!y||!w)return;const d=y.getBoundingClientRect(),s=w.offsetWidth,l=window.innerWidth-d.left;let b=d.left+window.scrollX;s>l&&(b=window.innerWidth-s-8,b<8&&(b=8)),p.value={position:"absolute",top:`${d.bottom+window.scrollY+8}px`,left:`${b}px`}}function x(y){var d,s;const w=y.target;!((d=i.value)!=null&&d.contains(y.target))&&!((s=r.value)!=null&&s.contains(y.target))&&!w.closest("[data-inside-popover]")&&(c.value=!1)}const f=e.ref(!1);e.onMounted(()=>{f.value=!0}),e.onMounted(()=>{var y,w;i.value=((y=t.value)==null?void 0:y.querySelector("[data-popover-trigger]"))||null,(w=i.value)==null||w.addEventListener("click",u),document.addEventListener("click",x),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0)}),e.onBeforeUnmount(()=>{var y;(y=i.value)==null||y.removeEventListener("click",u),document.removeEventListener("click",x),window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)});const m=o;return e.watch(c,async y=>{y?(m("open"),await e.nextTick(),h()):m("close")}),(y,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:t},[e.renderSlot(y.$slots,"trigger"),f.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(p.value)},[e.renderSlot(y.$slots,"default")],4),[[e.vShow,c.value]])])):e.createCommentVNode("",!0)],512))}}),xl={},kl={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 wl(n,o){return e.openBlock(),e.createElementBlock("svg",kl,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 Vl=j(xl,[["render",wl]]),Bl={key:0,class:"inline-flex rounded-sm items-center border font-semibold border-transparent hover:bg-secondary/80 bg-blue-500 text-white text-xs px-1.5"},Cl={class:"flex"},El={class:"w-64 border-r border-gray-200"},Nl={class:"p-2"},_l=["onClick"],Sl={class:"flex items-center gap-2"},Dl={class:"text-sm font-medium"},Ml={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},zl=["onClick"],Fl={class:"flex items-center gap-2"},$l={class:"text-sm font-medium"},Al={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},Rl={key:0,class:"p-2 border-t"},jl={class:"flex-1 min-h-[300px] overflow-y-auto"},Tl={key:0,class:"flex items-center justify-center h-full text-gray-500"},ue=e.defineComponent({__name:"popover-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(n,{expose:o,emit:c}){const r=n,t=de(r.mode),i=e.useSlots(),p=c,u=e.ref({}),{activeFilter:h,activeFilterCount:x,onFilterChange:f,clearFilter:m,clearAllFilters:y,popoverSchema:w,popoverFiltersSlot:d,onPopoverOpen:s,selectedFilter:l,filterRef:b}=te({...r,schema:u,slots:i},p);return e.watch(()=>r.schema,g=>{u.value=g},{deep:!0,immediate:!0}),o({clearFilter:m,clearAllFilters:y}),(g,a)=>(e.openBlock(),e.createBlock(bl,{onOpen:e.unref(s),onClose:a[5]||(a[5]=k=>l.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass(e.unref(t)+(e.unref(x)>0?"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100":"text-gray-800 hover:bg-gray-200 focus:bg-gray-200")),type:"button"},[e.createVNode(Vl),a[6]||(a[6]=e.createTextVNode(" Фільтр ",-1)),e.unref(x)>0?(e.openBlock(),e.createElementBlock("div",Bl,e.toDisplayString(e.unref(x)),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Cl,[e.createElementVNode("div",El,[a[7]||(a[7]=e.createElementVNode("div",{class:"p-4 border-b"},[e.createElementVNode("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),e.createElementVNode("div",Nl,[g.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(w)),([k,V])=>{var C;return e.openBlock(),e.createElementBlock("button",{key:k,onClick:()=>{l.value=k},class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===k?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",Sl,[e.createElementVNode("span",Dl,e.toDisplayString(V.label),1)]),(Array.isArray(e.unref(h)[k])?((C=e.unref(h)[k])==null?void 0:C.length)>0:e.unref(h)[k]||e.unref(h)[k]===null)?(e.openBlock(),e.createElementBlock("div",Ml)):e.createCommentVNode("",!0)],10,_l)}),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(k,V)=>{var C;return e.openBlock(),e.createElementBlock("button",{key:"slot-"+V,onClick:E=>l.value=k.props.name,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===k.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",Fl,[e.createElementVNode("span",$l,e.toDisplayString(k.props.label),1)]),((C=e.unref(h)[k.props.name])==null?void 0:C.length)>0?(e.openBlock(),e.createElementBlock("div",Al)):e.createCommentVNode("",!0)],10,zl)}),128))]),e.unref(x)>0?(e.openBlock(),e.createElementBlock("div",Rl,[e.createElementVNode("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:a[0]||(a[0]=k=>e.unref(y)()),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",jl,[e.unref(l)===""?(e.openBlock(),e.createElementBlock("div",Tl,a[8]||(a[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)]))):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(w)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(w)),([k,V])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)===k?(e.openBlock(),e.createBlock(L,e.mergeProps({name:k,key:k,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:b},{ref_for:!0},V,{onChange:a[1]||(a[1]=C=>e.unref(f)(C.name,C.value)),onClear:a[2]||(a[2]=C=>{e.unref(m)(C),e.unref(f)(C,void 0)}),modelValue:e.unref(h)[k],"onUpdate:modelValue":C=>e.unref(h)[k]=C,cleanable:!0}),null,16,["name","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(k,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+V},[e.unref(l)===k.props.name?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},k.props,{ref_for:!0,ref_key:"filterRef",ref:b,onChange:a[3]||(a[3]=C=>e.unref(f)(C.name,C.value)),onClear:a[4]||(a[4]=C=>{e.unref(m)(C),e.unref(f)(C,void 0)}),modelValue:e.unref(h)[k.props.name],"onUpdate:modelValue":C=>e.unref(h)[k.props.name]=C,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1},8,["onOpen"]))}}),Ll={class:"flex gap-1 items-center flex-wrap"},ge=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(n,{expose:o,emit:c}){const r=n,t=c,i=e.useSlots(),p=e.ref({}),{activeFilter:u,activeFilterCount:h,onFilterChange:x,clearFilter:f,clearAllFilters:m,limitedSchema:y,popoverSchema:w,filtersSlot:d,limitedFiltersSlot:s,popoverFiltersSlot:l}=te({...r,schema:p,slots:i},t),b=e.ref();function g(){b.value&&b.value.clearAllFilters(!0),m()}return e.watch(()=>r.schema,a=>{p.value=a},{deep:!0,immediate:!0}),o({clearFilter:f,clearAllFilters:m}),(a,k)=>(e.openBlock(),e.createElementBlock("div",Ll,[a.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(y)),([V,C])=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:V,name:V,mode:a.mode},{ref_for:!0},C,{onChange:k[0]||(k[0]=E=>e.unref(x)(E.name,E.value)),onClear:e.unref(f),layout:"inline",cleanable:!0,modelValue:e.unref(u)[V],"onUpdate:modelValue":E=>e.unref(u)[V]=E}),null,16,["name","mode","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(V,C)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+C,layout:"inline"},{ref_for:!0},V.props,{onChange:k[1]||(k[1]=E=>e.unref(x)(E.name,E.value)),onClear:k[2]||(k[2]=E=>{e.unref(f)(E),e.unref(x)(E,void 0)}),cleanable:!0,modelValue:e.unref(u)[V.props.name],"onUpdate:modelValue":E=>e.unref(u)[V.props.name]=E}),null,16,["modelValue","onUpdate:modelValue"]))),128)),Object.entries(e.unref(w)).length>0||e.unref(l).length>0?(e.openBlock(),e.createBlock(ue,e.mergeProps({key:1},r,{schema:e.unref(w),limit:0,onChange:k[3]||(k[3]=V=>e.unref(x)(V.name,V.value)),onClearAll:k[4]||(k[4]=V=>e.unref(m)()),onClear:k[5]||(k[5]=V=>e.unref(f)(V.name)),mode:a.mode,ref_key:"popoverRef",ref:b,cleanable:!0}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(V,C)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V),e.mergeProps({key:"slot-"+C,layout:"popover"},{ref_for:!0},V.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","mode"])):e.createCommentVNode("",!0),e.unref(h)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:g,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 border border-transparent text-gray-800 hover:bg-gray-200 focus:bg-gray-200"}," Очистити ")):e.createCommentVNode("",!0)]))}}),Kl={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"},Pl={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Ul=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(n,{expose:o,emit:c}){const r=n,t=c,i=e.useSlots(),{activeFilter:p,activeFilterCount:u,onFilterChange:h,clearFilter:x,clearAllFilters:f,filtersSlot:m}=te({...r,slots:i},t);return o({clearFilter:x,clearAllFilters:f}),(y,w)=>y.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Kl,[e.createElementVNode("div",Pl,[e.unref(u)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:w[0]||(w[0]=d=>e.unref(f)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200",type:"button"}," Очистити ")):e.createCommentVNode("",!0),y.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(y.schema),([d,s])=>(e.openBlock(),e.createBlock(L,e.mergeProps({name:d,layout:"vertical"},{ref_for:!0},s,{onChange:w[1]||(w[1]=l=>e.unref(h)(l.name,l.value)),onClear:w[2]||(w[2]=l=>{e.unref(x)(l),e.unref(h)(l,void 0)}),modelValue:e.unref(p)[d],"onUpdate:modelValue":l=>e.unref(p)[d]=l,showClean:!0}),null,16,["name","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(d,s)=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:"slot-"+s,layout:"vertical"},{ref_for:!0},d.props,{onChange:w[3]||(w[3]=l=>e.unref(h)(l.name,l.value)),onClear:w[4]||(w[4]=l=>{e.unref(x)(l),e.unref(h)(l,void 0)}),modelValue:e.unref(p)[d.props.name],"onUpdate:modelValue":l=>e.unref(p)[d.props.name]=l,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),le=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(n,{expose:o,emit:c}){const r=n,t=e.ref(r.value??{}),i=c,p=e.ref();function u(s){if(Array.isArray(s))return s.map(l=>u(l));if(s!==null&&typeof s=="object"){const l=e.toRaw(s),b={};for(const g in l)b[g]=u(l[g]);return b}return s}function h(s,l){l!==void 0?t.value={...t.value,[s]:l}:delete t.value[s],i("change",{data:u(t.value),name:s,value:u(l)})}function x(s){delete t.value[s],i("clear",{data:u(t.value),name:s}),i("change",{data:u(t.value),name:s,value:null})}function f(){t.value={},i("clear",{data:u(t.value),name:"ALL"}),i("change",{data:u(t.value),name:"ALL",value:null})}const m=e.ref({});function y(){switch(r.view){case"inline":return ge;case"vertical":return Ul;case"popover":return ue;default:return ge}}e.watch(()=>r.schema,s=>{if(!s){m.value={};return}if(Array.isArray(s)&&!s.length){m.value={};return}Array.isArray(s)?m.value=s.filter(l=>l.type).reduce((l,b)=>(Object.assign(b,{name:b.id||b.name,type:b.type.toLowerCase()}),l[b.name]=b,b.data&&!b.api&&!b.options&&Object.assign(b,{api:`/api/suggest/${b.data}`}),l),{}):(Object.entries(s).forEach(([l,b])=>{Object.assign(b,{name:l||b.name||b.id,type:b.type.toLowerCase()})}),m.value={...s})},{immediate:!0,deep:!0});function w(s){p.value.clearFilter(s),x(s)}function d(){p.value.clearAllFilters(),f()}return o({clearAllFilters:d,clearFilter:w}),(s,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y()),e.mergeProps(r,{schema:m.value,onChange:l[0]||(l[0]=b=>h(b.name,b.value)),onClear:l[1]||(l[1]=b=>x(b.name)),onClearAll:f,ref_key:"filterRef",ref:p}),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},16,["schema"]))}});le.install=function(n){n.component("Filter",le),n.component("FilterField",L)};function Ol(n){const{page:o,id:c,filter:r}=n,t=new URL(window.location.href),i=new URLSearchParams(window.location.search);o?i.set("page",o.toString()):i.delete("page"),c?i.set("id",c.toString()):i.delete("id"),r?i.set("filter",r):i.delete("filter"),t.search=decodeURI(i.toString()),window.history.pushState({},"",t)}const Il={class:"flex items-center justify-between w-full gap-x-1"},Hl={class:"flex items-center"},Yl=["disabled"],ql={class:"flex items-center gap-x-1"},Wl=["onClick"],Gl=["disabled"],Ql={class:"flex justify-center items-center gap-x-5 ml-3"},Zl={class:"relative"},Jl={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"},Xl=["onClick"],vl={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"},eo=e.defineComponent({__name:"pagination",props:{total:{},currentPage:{},pageSize:{}},emits:["update:currentPage","update:pageSize","pageChange","pageSizeChange"],setup(n,{emit:o}){const c=n,r=o,t=e.ref(c.currentPage),i=e.ref(c.pageSize),p=e.ref(!1);e.watch(()=>c.pageSize,w=>{i.value=w});const u=e.computed(()=>Math.ceil(c.total/c.pageSize)),h=e.computed(()=>{const d=Math.floor(3.5);let s=t.value-d,l=t.value+d;s<1&&(l+=1-s,s=1),l>u.value&&(s-=l-u.value,l=u.value),s=Math.max(1,s);const b=[];for(let g=s;g<=l;g+=1)b.push(g);return b}),x=()=>{t.value>1&&(t.value-=1,r("update:currentPage",t.value))},f=()=>{t.value<u.value&&(t.value+=1,r("update:currentPage",t.value))},m=w=>{t.value=w,r("update:currentPage",w),r("pageChange",w)},y=(w=i.value)=>{i.value=w,p.value=!1,r("update:pageSize",i.value),r("update:currentPage",1),r("pageSizeChange",i.value)};return(w,d)=>(e.openBlock(),e.createElementBlock("nav",Il,[e.createElementVNode("div",Hl,[e.createElementVNode("button",{type:"button","aria-label":"Previous",onClick:x,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"},d[1]||(d[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,Yl),e.createElementVNode("div",ql,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,s=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:s,onClick:l=>m(s),class:e.normalizeClass(t.value===s?"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(s),11,Wl))),128))]),e.createElementVNode("button",{type:"button","aria-label":"Next",onClick:f,disabled:t.value===u.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"},d[2]||(d[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,Gl)]),e.createElementVNode("div",Ql,[e.createElementVNode("div",Zl,[e.withDirectives(e.createElementVNode("div",Jl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],s=>e.createElementVNode("button",{type:"button",key:s,onClick:l=>y(s),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(s)+" ",1),i.value===s?(e.openBlock(),e.createElementBlock("svg",vl,d[3]||(d[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,Xl)),64))],512),[[e.vShow,p.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:d[0]||(d[0]=s=>p.value=!p.value)},[e.createTextVNode(e.toDisplayString(i.value)+" ",1),d[4]||(d[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))])])])]))}}),Y=(n,o)=>{const c=n.__vccOpts||n;for(const[r,t]of o)c[r]=t;return c},to={},lo={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 oo(n,o){return e.openBlock(),e.createElementBlock("svg",lo,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 ro=Y(to,[["render",oo]]),ao={},no={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 io(n,o){return e.openBlock(),e.createElementBlock("svg",no,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 so=Y(ao,[["render",io]]),co={},mo={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 po(n,o){return e.openBlock(),e.createElementBlock("svg",mo,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 fo=Y(co,[["render",po]]),uo={},go={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 ho(n,o){return e.openBlock(),e.createElementBlock("svg",go,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 yo=Y(uo,[["render",ho]]),bo={},xo={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-table"};function ko(n,o){return e.openBlock(),e.createElementBlock("svg",xo,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 wo=Y(bo,[["render",ko]]);function Vo(n,o){let c;return function(...r){clearTimeout(c),c=setTimeout(()=>n(...r),o)}}function Bo(n,o,c){o&&(o.addSource("vector",{type:"vector",tiles:[`http://${window.location.host}/api/vtile/${n}/ua/{z}/{x}/{y}.vmt?pointZoom=12`],minzoom:0,maxzoom:12}),o.addLayer({id:"vector-circle",type:"circle",maxzoom:12,source:"vector","source-layer":n,paint:{"circle-color":c,"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":n,paint:{"fill-color":c,"fill-opacity":.6}}))}const G=[{name:"voyager",label:"Базова карта (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"},{name:"orto",label:"Ортофото 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"},{name:"esri",label:"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"},{name:"google",label:"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"}],Co={class:"relative w-auto h-full"},Eo={class:"absolute left-[20px] bottom-[74px] bg-white max-w-[250px] p-[10px] rounded-lg z-10 border"},No={class:"flex justify-start items-center gap-2"},_o={class:"ml-1 text-[0.875rem]"},So={class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},Do=["title","onClick"],Mo=["src"],zo={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"},Fo=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},filter:{},modelValue:{},zoom:{},map:{}},emits:["update:modelValue","update:map"],setup(n,{emit:o}){const c=n,r=o;let t,i;const p=e.ref(null),u=e.ref(!1),h=e.ref(G[0].name),x=G[0],f=e.ref(null),m=e.ref(null),y=["#2563EB","#60A5FA","#10B981","#34D399","#F59E0B","#F97316","#EF4444","#F43F5E","#374151","#D1D5DB"];let w;const d=[30,48];return e.onMounted(async()=>{w=(await fetch(`/api/data/${c.table}/${c.colorAttr}`).then(l=>l.json())).rows,w.forEach((l,b)=>{l.color||Object.assign(l,{color:y[b%10]})}),i=new maplibregl.Popup({closeButton:!1,closeOnClick:!1}),t=new maplibregl.Map({container:p.value,style:{version:8,sources:{[x.name]:{type:"raster",tiles:[x.url],tileSize:256}},layers:[{id:x.name,type:"raster",source:x.name,minzoom:0,maxzoom:19}]},center:c.center||d,zoom:c.zoom||5,minZoom:3,maxZoom:18,attributionControl:!1}),r("update:map",t),t.addControl(new maplibregl.NavigationControl,"top-right"),t.on("zoom",()=>{console.log("Zoom is changing:",t.getZoom())}),t.on("load",()=>{t==null||t.resize(),u.value=!0;const l=w.filter(g=>g.id).reduce((g,a)=>[a.id,a.color].concat(g),[]),b=["match",["get",c.colorAttr],...l,"#808080"];Bo(c.table,t,b)}),t.on("click",l=>{const b=t.queryRenderedFeatures(l.point);b.length&&r("update:modelValue",b[0].properties.id)}),t.on("mousemove",l=>{var V;const b=t.queryRenderedFeatures(l.point);if(!b||!b.length){i.remove(),t.getCanvas().style.cursor="";return}t.getCanvas().style.cursor="pointer";const g=b[0],{coordinates:a}=g.geometry,k=g.geometry.type==="Point"?a:a[0][0];m.value=g.properties,i.setLngLat(k).setHTML((V=f.value)==null?void 0:V.innerHTML).addTo(t)})}),e.watch(()=>c.center,s=>{t&&t.setCenter(s||d)}),e.watch(()=>c.zoom,s=>{t&&t.setZoom(s)}),e.watch(()=>c.filter,s=>{const l=`http://${window.location.host}/api/vtile/${c.table}/ua/{z}/{x}/{y}.vmt?pointZoom=12&filter=${s}`;t.getSource("vector").setTiles([l])}),e.watch(h,(s,l)=>{const b=G.find(g=>g.name===s);b&&(t.removeLayer(l),t.removeSource(l),t.addSource(s,{type:"raster",tiles:[b.url],tileSize:256}),t.addLayer({id:b.name,type:"raster",source:b.name,minzoom:0,maxzoom:19},"vector-circle"))}),e.onBeforeUnmount(()=>{t&&t.remove()}),(s,l)=>{const b=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Co,[e.createElementVNode("div",{ref_key:"mapContainer",ref:p,class:"map-container w-auto relative"},null,512),e.createElementVNode("div",Eo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),g=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:g.id},[e.createElementVNode("div",No,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+g.color)},null,4),e.createElementVNode("div",_o,e.toDisplayString(g.text),1)])]))),128))]),e.createElementVNode("div",{ref_key:"popupDiv",ref:f,style:{display:"none"}},[e.renderSlot(s.$slots,"default",{hoverData:m.value})],512),e.createElementVNode("div",So,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(G),g=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:g.name,title:g.label||g.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:h.value===g.name}]),onClick:a=>h.value=g.name},[e.createElementVNode("img",{src:g.preview,class:"vs-map-slot-layers__image"},null,8,Mo),e.createElementVNode("div",zo,e.toDisplayString(g.label),1)],10,Do)),[[b,g.label||g.name]])),128))])],512)),[[e.vShow,u.value]])}}}),he={mounted(n,o){if(typeof document>"u")return;let c=null;const r=()=>{c=document.createElement("div"),c.textContent=o.value,Object.assign(c.style,{position:"absolute",background:"#333",color:"#fff",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:"9999"}),document.body.appendChild(c);const i=n.getBoundingClientRect();c.style.left=`${i.left+window.scrollX}px`,c.style.top=`${i.top+window.scrollY-c.offsetHeight-5}px`},t=()=>{c&&c.parentNode&&(c.parentNode.removeChild(c),c=null)};n.addEventListener("mouseenter",r),n.addEventListener("mouseleave",t),Object.assign(n,{tooltipHandlers:{showTooltip:r,hideTooltip:t}})},unmounted(n){if(typeof document>"u")return;const o=n.tooltipHandlers;o&&(n.removeEventListener("mouseenter",o.showTooltip),n.removeEventListener("mouseleave",o.hideTooltip))}},$o={class:"pt-[20px]"},Ao={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},Ro={class:"flex items-center"},jo=["title"],To={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},Lo={class:"flex"},Ko={key:0,class:"py-[15px] pb-[24px] pl-2"},Po={class:"font-bold text-2xl mr-[10px]"},Uo={class:"text-sm text-stone-500 font-medium"},Oo={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},Io={key:1,class:"text-center py-28"},Ho={key:1},Yo={key:2,class:"my-5 pr-2"},qo={class:"flex justify-between"},Wo={class:"w-full lg:w-1/2 relative"},oe=e.defineComponent({__name:"vs-parts-map",props:{title:{},table:{},map:{},rows:{},zoom:{},center:{},initTotal:{},colorAttr:{},id:{},filters:{},history:{type:Boolean}},emits:["change:filter","update:map"],setup(n,{emit:o}){var P,T,ye,be,xe,ke,we;const c=e.getCurrentInstance();c&&!(c!=null&&c.appContext.directives.tooltip)&&(console.log("init tooltip"),c.appContext.directives.tooltip=he);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=n,i=o,p=e.ref(0);p.value=t.initTotal??((P=t.rows)==null?void 0:P.length)??0;const u=e.ref(""),h=e.ref(null),x=e.ref(!0),f=e.ref(((T=t.rows)==null?void 0:T.length)===1),m=e.ref(0),y=e.ref(t.rows),w=e.ref(1),d=e.ref(20),s=e.ref(t.filters||[]),l=e.ref(""),b=e.ref({}),g=e.ref(((ye=t.rows)==null?void 0:ye.length)===1?t.rows[0]:{}),a=e.ref(((be=t.rows)==null?void 0:be.length)===1?t.rows[0].id:""),k=e.ref(((xe=t.rows)==null?void 0:xe.length)===1?r((ke=t.rows[0])==null?void 0:ke.geom):t.center||null),V=e.ref(((we=t.rows)==null?void 0:we.length)===1?14:t.zoom||5);function C(N){return Object.entries(N).filter(([,_])=>_).map(([_,O])=>`${_}=${O}`).join("|")}async function E(){const N=C(b.value);l.value=N;try{const _={search:u.value,limit:d.value.toString(),page:w.value.toString(),filter:N},O=new URL(`/api/data/${t.table}`,window.location.origin)+(a.value?`/${a.value}`:""),$=new URLSearchParams(_).toString(),q=await fetch(`${O.toString()}?${$}`).then(I=>I.json());if(a.value){const[I]=q.rows;g.value=I,k.value=r(I==null?void 0:I.geom),V.value=14,f.value=!0}else f.value=!1,V.value=t.zoom||5,y.value=q==null?void 0:q.rows;p.value=q.filtered,Ol({page:w.value,filter:N,id:a.value})}catch(_){console.error(_.message)}}const M=Vo(E,300);function S(N){d.value=N,w.value=1,E()}function U(N){w.value=N,E()}function R(N){b.value=N.data,w.value=1,a.value?a.value="":E(),i("change:filter",N)}async function z(){if(t.filters)return;const _=await(await fetch(`/api/filter/${t.table}`)).json();s.value=_.list}function B(){b.value={},u.value="",E()}e.onMounted(async()=>{m.value=window.innerWidth,m.value<1e3&&(x.value=!1);const N=new URLSearchParams(window.location.search);w.value=Number(N.get("page"))||1,d.value=Number(N.get("limit"))||d.value,a.value=N.get("id")||"",f.value=!!a.value,z(),!y.value&&!a.value&&E()});function D(){f.value=!1,g.value=null,a.value="",E()}function A(N){a.value=N.id}return e.watch(h,N=>{i("update:map",N)}),e.watch(u,N=>{N||E()}),e.watch(a,()=>{E()}),(N,_)=>{var O;return e.openBlock(),e.createElementBlock("section",$o,[e.renderSlot(N.$slots,"header",{title:t.title,total:p.value}),e.createElementVNode("div",Ao,[e.createVNode(e.unref(L),{type:"text",modelValue:u.value,"onUpdate:modelValue":_[0]||(_[0]=$=>u.value=$),name:"search",label:"Пошук",onChange:e.unref(M)},null,8,["modelValue","onChange"]),s.value.length?(e.openBlock(),e.createBlock(e.unref(le),{key:0,schema:s.value,view:"inline",onChange:R,limit:5,value:b.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ro,[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:x.value?"Приховати карту":"Показати карту",onClick:_[1]||(_[1]=$=>x.value=!x.value)},[x.value?(e.openBlock(),e.createBlock(so,{key:0})):(e.openBlock(),e.createBlock(fo,{key:1})),_[8]||(_[8]=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1))],8,jo),e.createElementVNode("div",To,[e.createElementVNode("button",{onClick:_[2]||(_[2]=$=>x.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(wo)]),e.createElementVNode("button",{onClick:_[3]||(_[3]=$=>x.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(yo)])])])]),e.createElementVNode("div",Lo,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",x.value?"w-2/4 mr-0":"w-full mr-3",f.value?"hidden":""])},[(O=N.$slots)!=null&&O.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("h1",Ko,[e.createElementVNode("span",Po,e.toDisplayString(t.title),1),e.createElementVNode("span",Uo,e.toDisplayString(p.value),1),_[9]||(_[9]=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1))])),e.createElementVNode("div",Oo,[p.value>=1?e.renderSlot(N.$slots,"table",{key:0,rows:y.value,selectRow:A}):(e.openBlock(),e.createElementBlock("div",Io,[e.createVNode(ro),_[10]||(_[10]=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1)),_[11]||(_[11]=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:B}," Очистити дані пошуку ")]))]),p.value>=1?(e.openBlock(),e.createElementBlock("hr",Ho)):e.createCommentVNode("",!0),p.value>=1?(e.openBlock(),e.createElementBlock("div",Yo,[e.createElementVNode("div",qo,[e.createVNode(eo,{total:p.value,currentPage:w.value??1,pageSize:d.value,onPageChange:_[4]||(_[4]=$=>U($)),onPageSizeChange:_[5]||(_[5]=$=>S($))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),f.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(x.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:g.value,closeObjCard:D})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",Wo,[e.createVNode(Fo,{table:t.table,map:h.value,"onUpdate:map":_[6]||(_[6]=$=>h.value=$),zoom:V.value,colorAttr:t.colorAttr,filter:l.value,center:k.value,modelValue:a.value,"onUpdate:modelValue":_[7]||(_[7]=$=>a.value=$)},{default:e.withCtx(({hoverData:$})=>[e.renderSlot(N.$slots,"popup",{data:$})]),_:3},8,["table","map","zoom","colorAttr","filter","center","modelValue"]),e.renderSlot(N.$slots,"default",{table:t.table,map:h.value,selectedRow:g.value})],512),[[e.vShow,x.value]])])])}}});return oe.install=n=>{n.component("VsPartsMap",oe),n._context.directives.tooltip||n.directive("tooltip",he)},oe});
1
+ (function(e,Y){typeof exports=="object"&&typeof module<"u"?module.exports=Y(require("vue")):typeof define=="function"&&define.amd?define(["vue"],Y):(e=typeof globalThis<"u"?globalThis:e||self,e.PartsMap=Y(e.Vue))})(this,function(e){"use strict";const Y={class:"flex items-center justify-between w-full text-sm"},Ve={class:"flex items-center cursor-pointer w-full"},Be={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},_e=["value"],Ce={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},Ee={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Ne={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Q=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(r,{expose:n,emit:s}){const o=r,t=s;function i(){t("itemClick",o.value)}const p=e.ref(null);return n({el:p}),(u,g)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:p},[e.createElementVNode("div",Y,[e.createElementVNode("div",Ve,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(u.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":u.highlighted}]),onClick:e.withModifiers(i,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[u.type=="checkbox"?"rounded-[4px]":"rounded-full",u.color?`bg-[${u.color}] border-[#ffffff]`:u.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[u.isSelected?(e.openBlock(),e.createElementBlock("img",Be)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:u.value},null,8,_e),e.createElementVNode("div",Ce,[e.createElementVNode("span",Ee,e.toDisplayString(u.label??"Відсутні данні"),1),u.count?(e.openBlock(),e.createElementBlock("div",Ne," ("+e.toDisplayString(u.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function ne(r,n){const{options:s=[],limit:o=20}=r;function t(a){return Array.isArray(a)?a[0]:a}const i=e.ref(t(r.modelValue)),p=e.ref(""),u=e.ref(!1),g=e.ref([]),x=e.ref("id"),f=e.ref("text"),d=e.ref(!1),y=e.ref(r.layout!=="popover"&&s.length>o);function k(a){const w=a.find(Boolean)??{},V=["id","value","code","key"].find(C=>C in w)??"id",_=["text","label","name","title"].find(C=>C in w)??"text";return{autoValueKey:V,autoLabelKey:_}}if(s.length>0){const a=k(s);x.value=a.autoValueKey,f.value=a.autoLabelKey}const m=e.computed(()=>{const a=g.value;return r.layout==="popover"||d.value?a:a.slice(0,o)});e.watch(()=>r.modelValue,a=>{i.value=t(a)},{immediate:!0}),g.value=[...s].sort((a,w)=>r.sort==="count"?w.count&&a.count?w.count-a.count:0:r.sort==="name"?String(a[f.value]??"").localeCompare(String(w[f.value]??"")):0);function c(a){return i.value===a[x.value]}function l(a){i.value=a[x.value],n("update:modelValue",i.value),n("change",{name:r.name,value:i.value})}function b(){i.value=void 0,n("update:modelValue",i.value),n("clear",r.name)}function h(){d.value=!d.value}return{innerValue:i,searchTerm:p,filteredOptions:m,isSelected:c,selectItem:l,clear:b,toggleShowAll:h,isReqProc:u,showAll:d,isEnableShowAll:y,labelKey:f,valueKey:x,allOptions:g}}const T=(r,n)=>{const s=r.__vccOpts||r;for(const[o,t]of n)s[o]=t;return s},Se={},$e={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function De(r,n){return e.openBlock(),e.createElementBlock("svg",$e,n[0]||(n[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)]))}const Z=T(Se,[["render",De]]),Me={},ze={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 Fe(r,n){return e.openBlock(),e.createElementBlock("svg",ze,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const W=T(Me,[["render",Fe]]),Ae={},Re={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 je(r,n){return e.openBlock(),e.createElementBlock("svg",Re,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const J=T(Ae,[["render",je]]),Te={key:0,class:"w-full"},Le={class:"flex flex-col items-center justify-center p-5 text-center"},Ke={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Pe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ue=e.defineComponent({__name:"radio",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=e.ref(null),i=s,{innerValue:p,filteredOptions:u,isSelected:g,selectItem:x,clear:f,toggleShowAll:d,isReqProc:y,showAll:k,isEnableShowAll:m,labelKey:c,valueKey:l,allOptions:b}=ne({...o,modelValue:o.modelValue??o.default??""},i);return n({clear:f,inputTextRef:t}),e.watch(()=>o.modelValue,h=>{h===void 0&&(p.value=void 0)}),(h,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([h.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([h.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",h.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),w=>(e.openBlock(),e.createBlock(Q,{layout:h.layout,key:w[e.unref(l)],count:w.count,label:w[e.unref(c)],color:w.color,type:"radio",value:w[e.unref(l)],"is-selected":e.unref(g)(w),onItemClick:V=>e.unref(x)(w)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),h.type==="select"&&e.unref(u).length===0&&!e.unref(y)?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",Le,[e.createVNode(Z),a[4]||(a[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),h.layout!=="popover"&&h.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(k)&&e.unref(m)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:a[0]||(a[0]=(...w)=>e.unref(d)&&e.unref(d)(...w)),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"},[a[5]||(a[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(W)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:a[1]||(a[1]=(...w)=>e.unref(d)&&e.unref(d)(...w)),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"},[a[6]||(a[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(J)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),h.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[h.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ke,[e.createTextVNode(e.toDisplayString(e.unref(p)||e.unref(p)===null?1:0)+" з "+e.toDisplayString(e.unref(b).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:a[2]||(a[2]=(...w)=>e.unref(f)&&e.unref(f)(...w))}," Очистити ",512),[[e.vShow,e.unref(p)!==""&&e.unref(p)!==void 0]])])):e.createCommentVNode("",!0),h.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(p)||e.unref(p)===null?1:0)+" з "+e.toDisplayString(e.unref(b).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:a[3]||(a[3]=(...w)=>e.unref(f)&&e.unref(f)(...w))}," Очистити ",512),[[e.vShow,e.unref(p)!==""&&e.unref(p)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function ae(r,n){const{options:s=[],limit:o=20}=r;function t(a){return Array.isArray(a)?a:a?[a]:[]}const i=e.ref(t(r.modelValue)),p=e.ref(""),u=e.ref(!1),g=e.ref([]),x=e.ref("id"),f=e.ref("text"),d=e.ref(!1),y=e.ref(r.layout!=="popover"&&s.length>o);function k(a){const w=a.find(Boolean)??{},V=["id","value","code","key"].find(C=>C in w)??"id",_=["text","label","name","title"].find(C=>C in w)??"text";return{autoValueKey:V,autoLabelKey:_}}if(s.length>0){const a=k(s);x.value=a.autoValueKey,f.value=a.autoLabelKey}const m=e.computed(()=>{const a=g.value;return r.layout==="popover"||d.value?a:a.slice(0,o)});e.watch(()=>r.modelValue,a=>{i.value=t(a)},{immediate:!0}),g.value=[...s].sort((a,w)=>r.sort==="count"?w.count&&a.count?w.count-a.count:0:r.sort==="name"?String(a[f.value]).localeCompare(String(w[f.value])):0);function c(a){return i.value&&i.value.includes(a[x.value])}function l(a){const w=i.value.includes(a[x.value]);i.value=w?i.value.filter(V=>V!==a[x.value]):[...i.value,a[x.value]],n("update:modelValue",i.value),n("change",{name:r.name,value:i.value})}function b(){i.value=[],n("update:modelValue",i.value),n("clear",r.name)}function h(){d.value=!d.value}return{innerValue:i,searchTerm:p,filteredOptions:m,isSelected:c,selectItem:l,clear:b,toggleShowAll:h,isReqProc:u,showAll:d,isEnableShowAll:y,labelKey:f,valueKey:x,allOptions:g}}const Oe={key:0,class:"w-full"},Ie={class:"flex flex-col items-center justify-center p-5 text-center"},He={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ye={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},re=e.defineComponent({__name:"checkbox",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=s,{innerValue:i,filteredOptions:p,isSelected:u,selectItem:g,clear:x,toggleShowAll:f,isReqProc:d,showAll:y,isEnableShowAll:k,labelKey:m,valueKey:c,allOptions:l}=ae({...o,modelValue:o.modelValue},t);return e.watch(()=>o.modelValue,b=>{b===void 0&&(i.value=[])}),n({clear:x}),(b,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([b.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([b.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",b.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),a=>(e.openBlock(),e.createBlock(Q,{layout:b.layout,count:a.count,label:a[e.unref(m)],color:a.color,type:"checkbox",value:a[e.unref(c)],"is-selected":e.unref(u)(a),onItemClick:w=>e.unref(g)(a)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),b.type==="select"&&e.unref(p).length===0&&!e.unref(d)?(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("div",Ie,[e.createVNode(Z),h[4]||(h[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),b.layout!=="popover"&&b.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(y)&&e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:h[0]||(h[0]=(...a)=>e.unref(f)&&e.unref(f)(...a)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[h[5]||(h[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(W)])):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:h[1]||(h[1]=(...a)=>e.unref(f)&&e.unref(f)(...a)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[h[6]||(h[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(J)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),b.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[b.layout==="inline"?(e.openBlock(),e.createElementBlock("div",He,[e.createTextVNode(e.toDisplayString(e.unref(i).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:h[2]||(h[2]=(...a)=>e.unref(x)&&e.unref(x)(...a))}," Очистити ",512),[[e.vShow,e.unref(i).length!==0]])])):e.createCommentVNode("",!0),b.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ye,[e.createElementVNode("span",null,e.toDisplayString(e.unref(i).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:h[3]||(h[3]=(...a)=>e.unref(x)&&e.unref(x)(...a))}," Очистити ",512),[[e.vShow,e.unref(i).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),qe={},We={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"15px",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function Ge(r,n){return e.openBlock(),e.createElementBlock("svg",We,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)]))}const ie=T(qe,[["render",Ge]]),Qe={},Ze={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 Je(r,n){return e.openBlock(),e.createElementBlock("svg",Ze,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))}const se=T(Qe,[["render",Je]]);class X{static getWidthClass(n){return typeof n=="number"?`max-w-[${n}px]`:typeof n=="string"?n.endsWith("%")||n.endsWith("px")?`max-w-[${n}]`:`max-w-${n}`:"w-full"}}const Xe={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},ve=["placeholder"],et=e.defineComponent({__name:"text-input",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{emit:n}){const s=r,o=e.ref((s.placeHolder||s.label||s.name||"search").toString()),t=n,i=e.ref(s.modelValue??"");e.watch(()=>s.modelValue,g=>{g!==i.value&&(i.value=g??"")});function p(){t("update:modelValue",i.value),t("change",{name:s.name,value:i.value})}function u(){i.value="",t("update:modelValue",""),t("clear",s.name),t("change",{name:s.name,value:null})}return(g,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white rounded-lg [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",g.layout==="inline"?e.unref(X).getWidthClass(g.width):"mb-2"+(g.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Xe,[e.createVNode(ie)]),i.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(se)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":x[0]||(x[0]=f=>i.value=f),onInput:p,placeholder:o.value,class:"!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,40,ve),[[e.vModelText,i.value]])],2))}});function ce(r={color:"blue"}){return e.computed(()=>{const n=`w-full px-3 py-2 border-solid border border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${r.color}-500 focus:border-transparent`;return(r==null?void 0:r.size)==="sm"?`${n}h-[32px]`:`${n}h-[38px]`})}function tt(){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 lt(){return"font-medium border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 border h-7 rounded-md text-xs px-2 py-1 hover:bg-gray-100"}function de(r){return r==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":r==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-2 bg-transparent h-[38px]"}const ot={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},nt=["placeholder","disabled"],at={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},rt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},it=["placeholder","disabled"],st=["disabled"],ct=e.defineComponent({__name:"range-input",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=ce(),t=tt(),i=r,p=e.ref(i.modelValue??i.default??[]),u=s,g=e.computed({get:()=>i.modelValue??p.value,set:d=>{i.modelValue!==void 0?u("update:modelValue",d):p.value=d}});function x(){u("change",{name:i.name,value:g.value||p.value})}function f(){p.value=[],g.value=p.value,u("clear",i.name)}return e.watch(()=>i.modelValue,d=>{d!==void 0&&i.layout!=="popover"?(p.value=d,u("update:modelValue",d)):p.value=[]}),n({clear:f,currentValue:g}),(d,y)=>{var k,m;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(d.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[d.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",ot,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(o)),placeholder:((k=d.placeHolder)==null?void 0:k[0])??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":y[0]||(y[0]=c=>g.value[0]=c),disabled:d.disabled},null,10,nt),[[e.vModelText,g.value[0]]])]),d.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",at," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[d.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",rt,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(o)),placeholder:((m=d.placeHolder)==null?void 0:m[1])??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":y[1]||(y[1]=c=>g.value[1]=c),disabled:d.disabled},null,10,it),[[e.vModelText,g.value[1]]])]),["popover","inline","vertical"].includes(d.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:x,class:e.normalizeClass(e.unref(t)+(d.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(d.layout==="vertical"?"Ok":"Застосувати"),3)):e.createCommentVNode("",!0),["popover","inline"].includes(d.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(g.value[0]||g.value[1]),onClick:f,class:e.normalizeClass(e.unref(t)+" hover:bg-gray-100")},"Очистити",10,st)):e.createCommentVNode("",!0)],2)]),(d.cleanable&&p.value.length,e.createCommentVNode("",!0))],64)}}}),dt=["disabled","title"],mt={key:0,class:"absolute top-0 end-0 inline-flex min-h-[10px] min-w-[10px] z-10 items-center py-0.5 rounded-full text-xs font-medium transform -translate-y-1/2 translate-x-1/2 bg-blue-600 text-white px-1"},pt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},ft={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"},v=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(r,{expose:n}){const s=r,o=e.computed(()=>de(s.mode)),t=e.ref(!1),i=e.ref({top:0,left:0}),p=e.ref(null),u=e.ref(null),g=e.ref(null);function x(){const l=u.value,b=g.value;if(!l||!b)return;const h=l.getBoundingClientRect(),a=b.offsetWidth,w=window.innerWidth,V=h.bottom+8;let{left:_}=h;_+a>w&&(_=Math.max(w-a-10,10)),i.value={top:V,left:_}}function f(){t.value=!t.value,t.value&&e.nextTick(()=>{var l,b;x(),(l=s.fieldRef)!=null&&l.inputTextRef&&((b=s.fieldRef)==null||b.inputTextRef.focus())})}function d(l){var b,h;!((b=p.value)!=null&&b.contains(l.target))&&!((h=g.value)!=null&&h.contains(l.target))&&(t.value=!1)}function y(l){l.key==="Escape"&&(t.value=!1)}const k=e.ref(!1);e.onMounted(()=>{k.value=!0}),e.onMounted(()=>{document.addEventListener("click",d,!0),document.addEventListener("keydown",y),window.addEventListener("scroll",x,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",d,!0),document.removeEventListener("keydown",y),window.removeEventListener("scroll",x,!0)});function m(){t.value=!1}n({close:m});const c=e.computed(()=>{var b;const l=(b=s.fieldRef)==null?void 0:b.selectedLabels;return l?Array.isArray(l)?l.length>0?l.join(", "):s.label??"":String(l):s.label??""});return(l,b)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:f,disabled:l.disabled,ref_key:"triggerRef",ref:u,title:l.label,class:e.normalizeClass(o.value+" "+(l.width?e.unref(X).getWidthClass(l.width):"w-full"))},[e.createElementVNode("span",{class:e.normalizeClass(["truncate text-ellipsis block",l.width?e.unref(X).getWidthClass(l.width-50):"w-full"])},e.toDisplayString(c.value),3),e.createVNode(W,{class:"h-4 w-4"}),(Array.isArray(l.currentValue)?l.currentValue===null||l.currentValue.length>0:l.currentValue===null||l.currentValue)&&l.layout==="inline"?(e.openBlock(),e.createElementBlock("span",mt)):e.createCommentVNode("",!0)],10,dt),k.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:g,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${i.value.top}px`,left:`${i.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",pt,[e.createElementVNode("div",ft,[e.renderSlot(l.$slots,"default")])])],4),[[e.vShow,t.value]])])):e.createCommentVNode("",!0)]))}});function ut(r){return String(r).charAt(0).toUpperCase()+String(r).slice(1)}class F{static format(n){const s=n.getFullYear(),o=(n.getMonth()+1).toString().padStart(2,"0"),t=n.getDate().toString().padStart(2,"0");return`${s}-${o}-${t}`}static getShiftedDay(n,s=0){const o=n?new Date(n):new Date;return o.setDate(o.getDate()+s),this.format(o)}static getLastWeekRange(n,s,o=0){if(n&&s){const x=new Date(n),f=new Date(s);return x.setDate(x.getDate()+o*7),f.setDate(f.getDate()+o*7),[this.format(x),this.format(f)]}const t=new Date,i=t.getDay(),p=i===0?13:i-1+7,u=new Date(t);u.setDate(t.getDate()-p+o*7);const g=new Date(u);return g.setDate(u.getDate()+6),[this.format(u),this.format(g)]}static getMonthRange(n,s,o=0){let t;n?t=new Date(n):t=new Date,t=new Date(t.getFullYear(),t.getMonth()+o,1);const i=t,p=new Date(t.getFullYear(),t.getMonth()+1,0);return[this.format(i),this.format(p)]}static getQuarterRange(n,s,o=0){const t=n||s,i=t?new Date(t):new Date;let p=Math.floor(i.getMonth()/3);p+=o;const u=(p%4+4)%4*3,g=i.getFullYear()+Math.floor(p/4),x=new Date(g,u,1),f=new Date(g,u+3,0);return[this.format(x),this.format(f)]}static getYear(n,s=0){let o;return n&&/^\d{4}$/.test(n)?o=parseInt(n,10):n?o=new Date(n).getFullYear():o=new Date().getFullYear(),String(o+s)}static getYearRange(n,s=0){let o;return n&&/^\d{4}$/.test(n)?o=parseInt(n,10):n?o=new Date(n).getFullYear():o=new Date().getFullYear(),[this.format(new Date(o+s,0,1)),this.format(new Date(o+s+1,0,0))]}static getRangeFromDaysBefore(n){const s=new Date,o=new Date(s.getTime());return o.setDate(s.getDate()-n),[this.format(o),this.format(s)]}}function me(r,n){const{popoverRef:s}=r,o=e.ref(""),t=e.ref(r.modelValue??r.default??[]),i=e.ref(0);function p(){const c=F.getRangeFromDaysBefore(i.value);return t.value=[...c],n("change",{name:r.name,value:t.value}),n("update:modelValue",t.value),c}function u(c){var b;o.value=c,(b=s.value)==null||b.close();const l=[];switch(o.value){case"today":l.push(F.getShiftedDay()),l.push(F.getShiftedDay());break;case"week":l.push(...F.getLastWeekRange());break;case"month":l.push(...F.getMonthRange());break;case"quarter":l.push(...F.getQuarterRange());break;case"year":l.push(...F.getYearRange());break;case"last_7_days":i.value=7,p();break;case"range":i.value=7,l.push(...p());break}t.value=[...l],n("change",{name:r.name,value:t.value}),n("update:modelValue",t.value)}function g(){const c=[];switch(o.value){case"today":c.push(F.getShiftedDay(t.value[0],1));break;case"week":c.push(...F.getLastWeekRange(t.value[0],t.value[1],1));break;case"month":c.push(...F.getMonthRange(t.value[0],t.value[1],1));break;case"quarter":c.push(...F.getQuarterRange(t.value[0],t.value[1],1));break;case"year":c.push(...F.getYearRange(t.value[0],1));break}t.value=[...c],n("change",{name:r.name,value:t.value}),n("update:modelValue",t.value)}function x(){const c=[];switch(o.value){case"today":c.push(F.getShiftedDay(t.value[0],-1));break;case"week":c.push(...F.getLastWeekRange(t.value[0],t.value[1],-1));break;case"month":c.push(...F.getMonthRange(t.value[0],t.value[1],-1));break;case"quarter":c.push(...F.getQuarterRange(t.value[0],t.value[1],-1));break;case"year":c.push(...F.getYearRange(t.value[0],-1));break}t.value=[...c],n("change",{name:r.name,value:t.value}),n("update:modelValue",t.value)}const f=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function d(c){const[l,b,h]=c.split("-");return`${h}.${b}.${l}`}function y(c){const{value:l}=t;switch(c){case"today":return d(l[0]);case"range":return"Період";case"week":return l[0]&&l[1]?`${d(l[0])} – ${d(l[1])}`:"";case"quarter":if(l[0]){const b=new Date(l[0]),h=b.getFullYear(),a=b.getMonth();return`${Math.floor(a/3)+1} квартал ${h}`}return"";case"month":if(l[0]){const[b,h]=l[0].split("-");return`${f[parseInt(h,10)-1]} ${b}`}return"";case"year":return l[0]||"";case"last_7_days":return"За останні дні";default:return r.label??""}}const k=e.computed(()=>o.value?y(o.value):r.label??"");function m(){o.value="",t.value=[],n("update:modelValue",[]),n("clear",r.name)}return{activeMode:o,innerValue:t,daysBefore:i,onDaysBeforeChange:p,onSelectChange:u,nextClick:g,prevClick:x,ukMonths:f,formatDisplayDate:d,getModeLabel:y,currentLabel:k,clear:m}}const ht={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},gt={key:0,class:"flex gap-1 !w-[75%] rounded-lg"},yt=["max","disabled"],bt=["min","disabled"],xt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},kt=["max","disabled"],wt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Vt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Bt=["min","disabled"],_t={class:"flex gap-1 pt-2"},Ct=["onClick"],Et=e.defineComponent({__name:"date-input",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=ce(),i=lt(),p=s,u=e.ref(null),{activeMode:g,innerValue:x,onSelectChange:f,nextClick:d,prevClick:y,clear:k}=me({...o,popoverRef:u},p);return e.watch(()=>o.modelValue,m=>{m!==void 0?(x.value=m,p("update:modelValue",m)):(g.value="",x.value=[])}),n({clear:k,popoverRef:u}),(m,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[m.layout==="inline"?(e.openBlock(),e.createElementBlock("div",ht,[e.unref(g)!==""&&e.unref(g)==="range"?(e.openBlock(),e.createElementBlock("div",gt,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(x)[1],locale:"uk-UA","onUpdate:modelValue":c[0]||(c[0]=l=>e.unref(x)[0]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:m.disabled},null,8,yt),[[e.vModelText,e.unref(x)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(x)[0],locale:"uk-UA","onUpdate:modelValue":c[1]||(c[1]=l=>e.unref(x)[1]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:m.disabled},null,8,bt),[[e.vModelText,e.unref(x)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(m.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(m.layout!=="popover"?"w-[48%]":"")},[m.layout==="popover"?(e.openBlock(),e.createElementBlock("label",xt,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(x)[1],locale:"uk-UA","onUpdate:modelValue":c[2]||(c[2]=l=>e.unref(x)[0]=l),class:e.normalizeClass(e.unref(t)),disabled:m.disabled},null,10,kt),[[e.vModelText,e.unref(x)[0]]])],2),m.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",wt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(m.layout!=="popover"?"w-[48%]":"")},[m.layout==="popover"?(e.openBlock(),e.createElementBlock("label",Vt,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(x)[0],locale:"uk-UA","onUpdate:modelValue":c[3]||(c[3]=l=>e.unref(x)[1]=l),class:e.normalizeClass(e.unref(t)),disabled:m.disabled},null,10,Bt),[[e.vModelText,e.unref(x)[1]]])],2)],2),e.createElementVNode("div",_t,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["today","week","month","quarter","year"],l=>e.createElementVNode("button",{key:l,class:e.normalizeClass(e.unref(i)+(e.unref(g)===l?" bg-blue-100":"")),onClick:b=>e.unref(f)(l)},e.toDisplayString(e.unref(ut)(l)),11,Ct)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(i)),onClick:c[4]||(c[4]=(...l)=>e.unref(y)&&e.unref(y)(...l))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(i)),onClick:c[5]||(c[5]=(...l)=>e.unref(d)&&e.unref(d)(...l))}," >",2)]),(m.cleanable,e.createCommentVNode("",!0))],64))}});function Nt(r,n){const{api:s,options:o=[],limit:t=20,dataKey:i="data"}=r,p=r.multi;function u(B){return p?Array.isArray(B)?B:B?[B]:[]:Array.isArray(B)?B[0]:B}const g=e.ref(u(r.modelValue)),x=e.ref(""),f=e.ref(!1),d=e.ref([]),y=e.ref("id"),k=e.ref("text"),m=e.ref(!1),c=e.ref(r.layout!=="popover"&&o.length>t),l=e.ref([]),b=e.ref(0);function h(B){const $=B.find(Boolean)??{},A=["id","value","code","key"].find(L=>L in $)??"id",I=["text","label","name","title"].find(L=>L in $)??"text";return{autoValueKey:A,autoLabelKey:I}}if(o.length>0){const B=h(o);y.value=B.autoValueKey,k.value=B.autoLabelKey}const a=e.computed(()=>{if(s)return d.value;const B=d.value;if(r.layout==="popover")return B;if(!x.value)return m.value?B:B.slice(0,t);const $=x.value.toLowerCase();return B.filter(A=>A[k.value].toLowerCase().includes($))});let w=null;async function V(B){if(s){f.value=!0;try{const $=new URL(s,window.location.origin);$.searchParams.set("json","1"),$.searchParams.set("key",B),$.searchParams.set("limit",t.toString());const A=await fetch($.toString());if(!A.ok)throw new Error(`HTTP error! status: ${A.status}`);const I=await A.json();if(d.value=I[i],d.value.length>0){const L=h(d.value);y.value=L.autoValueKey,k.value=L.autoLabelKey}b.value=I.total}catch($){console.error("Failed to fetch remote options:",$)}finally{f.value=!1}}}e.watch(x,B=>{s&&(w&&clearTimeout(w),w=setTimeout(()=>{V(B)},200))}),e.watch(()=>r.modelValue,B=>{g.value=u(B)},{immediate:!0}),s?V(""):d.value=o;function _(B){return p&&Array.isArray(g.value)?g.value.includes(B[y.value]):g.value&&g.value===B[y.value]}function C(B){if(p&&!Array.isArray(g.value)&&(g.value=[]),p&&Array.isArray(g.value)){const $=g.value.includes(B[y.value]);g.value=$?g.value.filter(A=>A!==B[y.value]):[...g.value,B[y.value]],l.value=$?l.value.filter(A=>A!==B[k.value]):[...l.value,B[k.value]]}else g.value=B[y.value],l.value=B[k.value];n("update:modelValue",g.value),n("change",{name:r.name,value:g.value})}function D(){p?(g.value=[],l.value=[]):(g.value=void 0,l.value=[]),n("update:modelValue",g.value),n("clear",r.name)}function S(){w&&clearTimeout(w),x.value="",m.value=!1}function H(){m.value=!m.value}e.onBeforeUnmount(()=>{w&&clearTimeout(w)});const R=e.ref(-1);e.watch(a,()=>{R.value=a.value.length>0?0:-1});function M(B){const $=a.value.length;if(B.key==="ArrowDown")B.preventDefault(),R.value=(R.value+1)%$;else if(B.key==="ArrowUp")B.preventDefault(),R.value=(R.value-1+$)%$;else if(B.key==="Enter"&&(B.preventDefault(),R.value>=0&&R.value<a.value.length)){const A=a.value[R.value];C(A)}}return{innerValue:g,searchTerm:x,filteredOptions:a,isSelected:_,selectItem:C,clear:D,resetSearch:S,toggleShowAll:H,isReqProc:f,showAll:m,isEnableShowAll:c,labelKey:k,valueKey:y,allOptions:d,highlightedIndex:R,onKeyDown:M,selectedLabels:l,totalCount:b}}const St={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},$t={key:0,class:"w-full"},Dt={class:"flex flex-col items-center justify-center p-5 text-center"},Mt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},zt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ft=e.defineComponent({__name:"select",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=s,i=e.ref(null),{innerValue:p,filteredOptions:u,isSelected:g,selectItem:x,clear:f,resetSearch:d,toggleShowAll:y,isReqProc:k,showAll:m,isEnableShowAll:c,searchTerm:l,labelKey:b,valueKey:h,highlightedIndex:a,onKeyDown:w,selectedLabels:V,totalCount:_}=Nt({...o,modelValue:o.modelValue},t);e.onMounted(()=>{d()}),e.watch(()=>o.modelValue,D=>{D===void 0&&(o.multi?p.value=[]:p.value=void 0)});const C=e.ref([]);return e.watch(a,D=>{var S;D>=0&&C.value[D]&&((S=C.value[D])==null||S.scrollIntoView({block:"nearest",behavior:"smooth"}))}),e.watch(u,()=>{C.value=[]}),n({clear:f,inputTextRef:i,selectedLabels:V}),(D,S)=>{var H,R;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([D.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",St,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":S[0]||(S[0]=M=>e.isRef(l)?l.value=M:null),onKeydown:S[1]||(S[1]=(...M)=>e.unref(w)&&e.unref(w)(...M)),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",placeholder:"Пошук",type:"text",ref_key:"inputTextRef",ref:i},null,544),[[e.vModelText,e.unref(l)]]),e.createVNode(ie,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.createVNode(se,{onClick:S[2]||(S[2]=M=>l.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})]),e.createElementVNode("div",{class:e.normalizeClass([D.layout==="popover"?"flex-1 overflow-y-auto max-h-64 p-2":"",D.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(M,B)=>(e.openBlock(),e.createBlock(Q,{layout:D.layout,count:M.count,label:M[e.unref(b)],color:M.color,type:D.multi?"checkbox":"radio",value:M[e.unref(h)],"is-selected":e.unref(g)(M),highlighted:B===e.unref(a),onItemClick:$=>e.unref(x)(M),ref_for:!0,ref:$=>C.value[B]=$==null?void 0:$.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),D.type==="select"&&e.unref(u).length===0&&!e.unref(k)?(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("div",Dt,[e.createVNode(Z),S[7]||(S[7]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),D.layout!=="popover"&&D.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(m)&&e.unref(c)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:S[3]||(S[3]=(...M)=>e.unref(y)&&e.unref(y)(...M)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[S[8]||(S[8]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(W)])):e.createCommentVNode("",!0),e.unref(m)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:S[4]||(S[4]=(...M)=>e.unref(y)&&e.unref(y)(...M)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[S[9]||(S[9]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(J)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),D.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[D.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Mt,[e.createTextVNode(e.toDisplayString(D.multi&&Array.isArray(e.unref(p))?(H=e.unref(p))==null?void 0:H.length:e.unref(p)!==void 0&&(e.unref(p)||e.unref(p)===null)?1:0)+" з "+e.toDisplayString(e.unref(_))+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[5]||(S[5]=(...M)=>e.unref(f)&&e.unref(f)(...M))}," Очистити ",512),[[e.vShow,e.unref(p)!==""&&e.unref(p)!==void 0||e.unref(p)]])])):e.createCommentVNode("",!0),D.layout==="popover"?(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("span",null,e.toDisplayString(D.multi&&Array.isArray(e.unref(p))?(R=e.unref(p))==null?void 0:R.length:e.unref(p)!==void 0&&(e.unref(p)||e.unref(p)===null)?1:0)+" з "+e.toDisplayString(e.unref(_))+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:S[6]||(S[6]=(...M)=>e.unref(f)&&e.unref(f)(...M))}," Очистити ",512),[[e.vShow,e.unref(p)!==""&&e.unref(p)!==void 0||e.unref(p)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2)}}}),At=["for","onClick"],Rt=["id","name","value"],jt={class:"block"},Tt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Lt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Kt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=s,{innerValue:i,isSelected:p,selectItem:u,clear:g,labelKey:x,valueKey:f,allOptions:d}=o.multi?ae({...o,modelValue:o.modelValue??o.default??[]},t):ne({...o,modelValue:o.modelValue!==void 0?o.modelValue:o.default??""},t);return n({clear:g}),e.watch(()=>o.modelValue,y=>{y===void 0&&(o.multi?i.value=[]:i.value=void 0)}),(y,k)=>{var m,c;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(d),l=>(e.openBlock(),e.createElementBlock("label",{key:`item-${l[e.unref(f)]}`,for:`item-${l[e.unref(f)]}`,onClick:e.withModifiers(b=>e.unref(u)(l),["stop","prevent"]),class:e.normalizeClass([e.unref(p)(l)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-lg dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${l[e.unref(f)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${l[e.unref(f)]}`,value:l[e.unref(f)]},null,8,Rt),e.createElementVNode("span",jt,e.toDisplayString(l[e.unref(x)]),1)],10,At))),128))],2),y.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Tt,[e.createTextVNode(e.toDisplayString(y.multi&&Array.isArray(e.unref(i))?(m=e.unref(i))==null?void 0:m.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(d).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[0]||(k[0]=(...l)=>e.unref(g)&&e.unref(g)(...l))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0),y.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("span",null,e.toDisplayString(y.multi&&Array.isArray(e.unref(i))?(c=e.unref(i))==null?void 0:c.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(d).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[1]||(k[1]=(...l)=>e.unref(g)&&e.unref(g)(...l))}," Очистити ",512),[[e.vShow,e.unref(i)!==void 0&&e.unref(i)!==""||e.unref(i)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64)}}}),Pt={},Ut={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"text-blue-600 w-[16px] h-[16px]"};function Ot(r,n){return e.openBlock(),e.createElementBlock("svg",Ut,n[0]||(n[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const O=T(Pt,[["render",Ot]]),It={},Ht={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 Yt(r,n){return e.openBlock(),e.createElementBlock("svg",Ht,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const qt=T(It,[["render",Yt]]),Wt={},Gt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"};function Qt(r,n){return e.openBlock(),e.createElementBlock("svg",Gt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Zt=T(Wt,[["render",Qt]]),Jt={class:"flex"},Xt={class:"mb-1"},vt={class:"mb-1"},el={class:"inline-flex rounded-lg shrink-0 pl-1"},tl={class:"inline-flex rounded-lg shrink-0 pl-1"},ll={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},ol=["max","disabled"],nl=["min","disabled"],al=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=s,i=e.ref(null),{activeMode:p,innerValue:u,onSelectChange:g,nextClick:x,prevClick:f,currentLabel:d,clear:y}=me({...o,popoverRef:i},t);return e.watch(()=>o.modelValue,k=>{k!==void 0?(u.value=k,t("update:modelValue",k)):(p.value="",u.value=[])}),n({clear:y,popoverRef:i}),(k,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Jt,[e.createVNode(v,{ref_key:"popoverRef",ref:i,label:e.unref(d),"current-value":e.unref(u),mode:k.mode,onClear:e.unref(y),layout:k.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:m[0]||(m[0]=c=>e.unref(g)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[m[12]||(m[12]=e.createTextVNode(" Період ",-1)),e.unref(p)==="range"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),m[19]||(m[19]=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:m[1]||(m[1]=c=>e.unref(g)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[m[13]||(m[13]=e.createTextVNode(" Сьогодні ",-1)),e.unref(p)==="today"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:m[2]||(m[2]=c=>e.unref(g)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[m[14]||(m[14]=e.createTextVNode(" Тиждень ",-1)),e.unref(p)==="week"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:m[3]||(m[3]=c=>e.unref(g)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[m[15]||(m[15]=e.createTextVNode(" Місяць ",-1)),e.unref(p)==="month"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:m[4]||(m[4]=c=>e.unref(g)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[m[16]||(m[16]=e.createTextVNode(" Квартал ",-1)),e.unref(p)==="quarter"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Xt,[e.createElementVNode("button",{type:"button",onClick:m[5]||(m[5]=c=>e.unref(g)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[m[17]||(m[17]=e.createTextVNode(" Рік ",-1)),e.unref(p)==="year"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",vt,[e.createElementVNode("button",{type:"button",onClick:m[6]||(m[6]=c=>e.unref(y)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-lg cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[m[18]||(m[18]=e.createTextVNode(" Весь час ",-1)),e.unref(u)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(O,{key:0}))])])]),_:1,__:[19]},8,["label","current-value","mode","onClear","layout"]),e.unref(p)!==""&&e.unref(p)!=="range"&&e.unref(p)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",el,[e.createElementVNode("button",{type:"button",title:"Попередній період",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:m[7]||(m[7]=(...c)=>e.unref(f)&&e.unref(f)(...c))},[e.createVNode(qt)])]),e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",title:"Наступний період",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:m[8]||(m[8]=(...c)=>e.unref(x)&&e.unref(x)(...c))},[e.createVNode(Zt)])])],64)):e.createCommentVNode("",!0),e.unref(p)!==""&&e.unref(p)==="range"?(e.openBlock(),e.createElementBlock("div",ll,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA","onUpdate:modelValue":m[9]||(m[9]=c=>e.unref(u)[0]=c),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:k.disabled},null,8,ol),[[e.vModelText,e.unref(u)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA","onUpdate:modelValue":m[10]||(m[10]=c=>e.unref(u)[1]=c),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:k.disabled},null,8,nl),[[e.vModelText,e.unref(u)[1]]])])):e.createCommentVNode("",!0)]),(k.cleanable,e.createCommentVNode("",!0))],64))}}),pe={radio:Ue,checkbox:re,check:re,text:et,range:ct,date:Et,select:Ft,tag:Kt,"date:inline":al};function ee(r,n){let s;switch(r.toLowerCase()){case"autocomplete":s="select";break;case"check":s="checkbox";break;default:s=r==null?void 0:r.toString().toLowerCase()}return s==="date"&&n&&n==="inline"&&(s="date:inline"),{component:pe[s]||pe.text,type:s}}const rl={},il={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 sl(r,n){return e.openBlock(),e.createElementBlock("svg",il,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"},null,-1),e.createElementVNode("path",{d:"M20 4v5h-5"},null,-1)]))}const cl=T(rl,[["render",sl]]),dl={style:{display:"inline-flex",margin:"0px",width:"100%"}},ml={class:"relative w-full mb-2 p-4 bg-white rounded-lg shadow-sm"},pl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},fl={class:"flex items-center"},ul={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},hl={class:"filter-layout__body"},gl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=s,i=e.ref(),p=ee(o.type,o.layout),u=e.computed({get:()=>o.modelValue,set:d=>t("update:modelValue",d)});function g(d){t("clear",d)}function x(d,y){t("change",{name:d,value:y}),o.modelValue!==void 0&&t("update:modelValue",y)}function f(){i.value&&i.value.clear(),t("clear",o.name)}return e.watch(()=>o.default,d=>{u.value=d}),e.watch(()=>o.modelValue,d=>{u.value=d}),n({filterRef:i}),(d,y)=>{var k,m,c;return e.openBlock(),e.createElementBlock("div",dl,[e.createElementVNode("div",ml,[e.createElementVNode("div",pl,[e.createElementVNode("div",fl,[e.createElementVNode("span",ul,e.toDisplayString(d.label),1)]),typeof u.value=="string"&&u.value.trim()!==""||Array.isArray(u.value)&&u.value.length>0&&u.value.some(l=>l!==void 0)||u.value===null?(e.openBlock(),e.createBlock(cl,{key:0,onClick:f})):e.createCommentVNode("",!0)]),e.createElementVNode("div",hl,[((k=e.unref(p))==null?void 0:k.type)!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((m=e.unref(p))==null?void 0:m.component),e.mergeProps({key:0},o,{type:(c=e.unref(p))==null?void 0:c.type,onChange:y[0]||(y[0]=l=>x(l.name,l.value)),onClear:y[1]||(y[1]=l=>g(l)),ref_key:"filterRef",ref:i}),null,16,["type"])):(e.openBlock(),e.createBlock(v,{key:1,"current-value":u.value,label:d.label,mode:d.mode,onClear:f,fieldRef:i.value,width:void 0,disabled:d.disabled,layout:"vertical"},{default:e.withCtx(()=>{var l,b;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((l=e.unref(p))==null?void 0:l.component),e.mergeProps({ref_key:"filterRef",ref:i},o,{type:(b=e.unref(p))==null?void 0:b.type,onChange:y[2]||(y[2]=h=>x(h.name,h.value)),onClear:y[3]||(y[3]=h=>g(h))}),null,16,["type"]))]}),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])])}}}),fe=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=s,i=e.ref(),p=ee(o.type,o.layout),u=e.computed({get:()=>o.modelValue,set:f=>t("update:modelValue",f)});function g(f=o.name){t("clear",f)}function x(f,d){t("change",{name:f,value:d}),o.modelValue!==void 0&&t("update:modelValue",d)}return e.watch(()=>o.default,f=>{u.value=f}),e.watch(()=>o.modelValue,f=>{u.value=f}),n({filterRef:i}),(f,d)=>{var y,k;return["text","date"].includes(f.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=e.unref(p))==null?void 0:y.component),e.mergeProps({key:0},o,{type:(k=e.unref(p))==null?void 0:k.type,onChange:d[0]||(d[0]=m=>x(m.name,m.value)),onClear:d[1]||(d[1]=m=>g(m)),disabled:f.disabled,modelValue:u.value,"onUpdate:modelValue":d[2]||(d[2]=m=>u.value=m)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(v,{key:1,"current-value":u.value,label:f.label,mode:f.mode,onClear:g,fieldRef:i.value,width:o.width,disabled:f.disabled,layout:"inline"},{default:e.withCtx(()=>{var m,c;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((m=e.unref(p))==null?void 0:m.component),e.mergeProps({ref_key:"filterRef",ref:i},o,{modelValue:u.value,"onUpdate:modelValue":d[3]||(d[3]=l=>u.value=l),type:(c=e.unref(p))==null?void 0:c.type,onChange:d[4]||(d[4]=l=>x(l.name,l.value)),onClear:d[5]||(d[5]=l=>g(l))}),null,16,["modelValue","type"]))]}),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}}),yl=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},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:{}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=s,i=e.ref(),p=e.ref(ee(o.type,o.layout)),u=e.computed({get:()=>o.modelValue,set:f=>t("update:modelValue",f)});function g(f){t("clear",f)}function x(f,d){t("change",{name:f,value:d}),o.modelValue!==void 0&&t("update:modelValue",d)}return e.watch(()=>o.default,f=>{u.value=f}),e.watch(()=>o.modelValue,f=>{u.value=f}),e.watch(()=>o,f=>{u.value=f}),n({filterRef:i}),(f,d)=>{var y,k;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((y=p.value)==null?void 0:y.component),e.mergeProps(o,{type:(k=p.value)==null?void 0:k.type,modelValue:u.value,"onUpdate:modelValue":d[0]||(d[0]=m=>u.value=m),onChange:d[1]||(d[1]=m=>x(m.name,m.value)),onClear:d[2]||(d[2]=m=>g(m)),ref_key:"filterRef",ref:i}),null,16,["type","modelValue"])}}}),P=e.defineComponent({__name:"filter-field",props:{id:{},name:{},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"}},emits:["update:modelValue","change","clear"],setup(r,{expose:n,emit:s}){const o=r,t=s,i=e.ref(),p=e.computed({get:()=>o.modelValue,set:f=>t("update:modelValue",f)});function u(f){t("clear",f)}function g(f,d){t("change",{name:f,value:d}),o.modelValue!==void 0&&t("update:modelValue",d)}e.watch(()=>o.default,f=>{p.value=f}),e.watch(()=>o.modelValue,f=>{p.value=f}),n({filterRef:i});function x(){switch(o.layout){case"inline":return fe;case"vertical":return gl;case"popover":return yl;default:return fe}}return(f,d)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x()),e.mergeProps(o,{onChange:d[0]||(d[0]=y=>g(y.name,y.value)),onClear:d[1]||(d[1]=y=>u(y)),modelValue:p.value,"onUpdate:modelValue":d[2]||(d[2]=y=>p.value=y)}),null,16,["modelValue"]))}});function te(r,n){const{slots:s}=r,o=e.ref(r.value??{}),t=e.computed(()=>{var h;return(e.toRaw((h=s==null?void 0:s.default)==null?void 0:h.call(s))??[]).flatMap(a=>Array.isArray(a.children)?a.children:[a])});function i(h){delete o.value[h],n("clear",{data:e.toRaw(o.value),name:h})}function p(h,a){a===void 0?i(h):o.value={...o.value,[h]:a},n("change",{data:e.toRaw(o.value),name:h,value:a})}const u=e.computed(()=>t.value.map(h=>{var w;const a=(w=h.props)==null?void 0:w.name;return e.cloneVNode(h,{...h.props,layout:r.view,showClean:!0,modelValue:o[a],"onUpdate:modelValue":V=>{p(a,V)},onClear:()=>i(a)})})),g=e.computed(()=>new Map(u.value.map(h=>{var w;const a=(w=h.props)==null?void 0:w.name;return a?[a,h]:null}).filter(h=>h!==null)));function x(h=!1){o.value={},h||n("clearAll",{data:e.toRaw(o.value),name:"ALL"})}const f=e.ref(""),d=e.computed(()=>{var h;return(h=r.schema)!=null&&h.value?Object.entries(o.value).filter(([a,w])=>r.schema&&!(a in r.schema.value)?!1:Array.isArray(w)?w.some(V=>V!==""&&V!==void 0):w!==""&&w!==void 0).length:0}),y=e.ref();e.watch(f,async()=>{var h,a;await e.nextTick(),(a=(h=y==null?void 0:y.value)==null?void 0:h.filterRef)!=null&&a.inputTextRef&&y.value.filterRef.inputTextRef.focus()});const k=e.computed(()=>{var h,a;return(h=r.schema)!=null&&h.value?Object.fromEntries(Object.entries((a=r.schema)==null?void 0:a.value).slice(0,r.limit)):{}}),m=e.computed(()=>{var h,a,w;return(h=r.schema)!=null&&h.value?r.view!=="inline"?(a=r.schema)==null?void 0:a.value:Object.fromEntries(Object.entries((w=r.schema)==null?void 0:w.value).slice(r.limit)):{}}),c=e.computed(()=>{var a;if(u.value.length===0)return[];let h=0;if((a=r.schema)!=null&&a.value){const w=Object.entries(r.schema.value).length;w<r.limit?h=r.limit-w:h=0}return u.value.slice(0,h)}),l=e.computed(()=>u.value.length===0?[]:r.view!=="inline"?u.value:u.value.slice(c.value.length));function b(){if(m.value){const[h]=Object.keys(m.value);f.value=h}else l.value.length>0?f.value=l.value[0].props.name:f.value=""}return{activeFilter:o,activeFilterCount:d,onFilterChange:p,clearFilter:i,clearAllFilters:x,limitedSchema:k,popoverSchema:m,filtersSlot:u,limitedFiltersSlot:c,popoverFiltersSlot:l,vnodeMap:g,onPopoverOpen:b,selectedFilter:f,filterRef:y}}const bl=e.defineComponent({__name:"popover",emits:["open","close"],setup(r,{emit:n}){const s=e.ref(!1),o=e.ref(null),t=e.ref(null),i=e.ref(null),p=e.ref({top:"0px",left:"0px",position:"absolute"});function u(){s.value=!s.value}function g(){const y=i.value,k=o.value;if(!y||!k)return;const m=y.getBoundingClientRect(),c=k.offsetWidth,l=window.innerWidth-m.left;let b=m.left+window.scrollX;c>l&&(b=window.innerWidth-c-8,b<8&&(b=8)),p.value={position:"absolute",top:`${m.bottom+window.scrollY+8}px`,left:`${b}px`}}function x(y){var m,c;const k=y.target;!((m=i.value)!=null&&m.contains(y.target))&&!((c=o.value)!=null&&c.contains(y.target))&&!k.closest("[data-inside-popover]")&&(s.value=!1)}const f=e.ref(!1);e.onMounted(()=>{f.value=!0}),e.onMounted(()=>{var y,k;i.value=((y=t.value)==null?void 0:y.querySelector("[data-popover-trigger]"))||null,(k=i.value)==null||k.addEventListener("click",u),document.addEventListener("click",x),window.addEventListener("resize",g),window.addEventListener("scroll",g,!0)}),e.onBeforeUnmount(()=>{var y;(y=i.value)==null||y.removeEventListener("click",u),document.removeEventListener("click",x),window.removeEventListener("resize",g),window.removeEventListener("scroll",g,!0)});const d=n;return e.watch(s,async y=>{y?(d("open"),await e.nextTick(),g()):d("close")}),(y,k)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:t},[e.renderSlot(y.$slots,"trigger"),f.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:o,class:"absolute z-[50] w-[600px] rounded-md border bg-white shadow-md",style:e.normalizeStyle(p.value)},[e.renderSlot(y.$slots,"default")],4),[[e.vShow,s.value]])])):e.createCommentVNode("",!0)],512))}}),xl={},kl={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 wl(r,n){return e.openBlock(),e.createElementBlock("svg",kl,n[0]||(n[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)]))}const Vl=T(xl,[["render",wl]]),Bl={key:0,class:"inline-flex rounded-sm items-center border font-semibold border-transparent hover:bg-secondary/80 bg-blue-500 text-white text-xs px-1.5"},_l={class:"flex"},Cl={class:"w-64 border-r border-gray-200"},El={class:"p-2"},Nl=["onClick"],Sl={class:"flex items-center gap-2"},$l={class:"text-sm font-medium"},Dl={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},Ml=["onClick"],zl={class:"flex items-center gap-2"},Fl={class:"text-sm font-medium"},Al={key:0,class:"inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-secondary/80 bg-blue-100 text-blue-700 text-xs p-2"},Rl={key:0,class:"p-2 border-t"},jl={class:"flex-1 min-h-[300px] overflow-y-auto"},Tl={key:0,class:"flex items-center justify-center h-full text-gray-500"},ue=e.defineComponent({__name:"popover-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(r,{expose:n,emit:s}){const o=r,t=de(o.mode),i=e.useSlots(),p=s,u=e.ref({}),{activeFilter:g,activeFilterCount:x,onFilterChange:f,clearFilter:d,clearAllFilters:y,popoverSchema:k,popoverFiltersSlot:m,onPopoverOpen:c,selectedFilter:l,filterRef:b}=te({...o,schema:u,slots:i},p);return e.watch(()=>o.schema,h=>{u.value=h},{deep:!0,immediate:!0}),n({clearFilter:d,clearAllFilters:y}),(h,a)=>(e.openBlock(),e.createBlock(bl,{onOpen:e.unref(c),onClose:a[5]||(a[5]=w=>l.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass(e.unref(t)+(e.unref(x)>0?"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100":"text-gray-800 hover:bg-gray-200 focus:bg-gray-200")),type:"button"},[e.createVNode(Vl),a[6]||(a[6]=e.createTextVNode(" Фільтр ",-1)),e.unref(x)>0?(e.openBlock(),e.createElementBlock("div",Bl,e.toDisplayString(e.unref(x)),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",_l,[e.createElementVNode("div",Cl,[a[7]||(a[7]=e.createElementVNode("div",{class:"p-4 border-b"},[e.createElementVNode("p",{class:"text-sm text-gray-600"},"Select a field to start creating a filter.")],-1)),e.createElementVNode("div",El,[h.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(k)),([w,V])=>{var _;return e.openBlock(),e.createElementBlock("button",{key:w,onClick:()=>{l.value=w},class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===w?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",Sl,[e.createElementVNode("span",$l,e.toDisplayString(V.label),1)]),(Array.isArray(e.unref(g)[w])?((_=e.unref(g)[w])==null?void 0:_.length)>0:e.unref(g)[w]||e.unref(g)[w]===null)?(e.openBlock(),e.createElementBlock("div",Dl)):e.createCommentVNode("",!0)],10,Nl)}),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(w,V)=>{var _;return e.openBlock(),e.createElementBlock("button",{key:"slot-"+V,onClick:C=>l.value=w.props.name,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===w.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",zl,[e.createElementVNode("span",Fl,e.toDisplayString(w.props.label),1)]),((_=e.unref(g)[w.props.name])==null?void 0:_.length)>0?(e.openBlock(),e.createElementBlock("div",Al)):e.createCommentVNode("",!0)],10,Ml)}),128))]),e.unref(x)>0?(e.openBlock(),e.createElementBlock("div",Rl,[e.createElementVNode("button",{class:"w-full px-3 py-2 text-left text-sm text-gray-600 hover:bg-gray-50 transition-colors",onClick:a[0]||(a[0]=w=>e.unref(y)()),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",jl,[e.unref(l)===""?(e.openBlock(),e.createElementBlock("div",Tl,a[8]||(a[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)]))):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(k)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(k)),([w,V])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)===w?(e.openBlock(),e.createBlock(P,e.mergeProps({name:w,key:w,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:b},{ref_for:!0},V,{onChange:a[1]||(a[1]=_=>e.unref(f)(_.name,_.value)),onClear:a[2]||(a[2]=_=>{e.unref(d)(_),e.unref(f)(_,void 0)}),modelValue:e.unref(g)[w],"onUpdate:modelValue":_=>e.unref(g)[w]=_,cleanable:!0}),null,16,["name","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(w,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+V},[e.unref(l)===w.props.name?(e.openBlock(),e.createBlock(P,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},w.props,{ref_for:!0,ref_key:"filterRef",ref:b,onChange:a[3]||(a[3]=_=>e.unref(f)(_.name,_.value)),onClear:a[4]||(a[4]=_=>{e.unref(d)(_),e.unref(f)(_,void 0)}),modelValue:e.unref(g)[w.props.name],"onUpdate:modelValue":_=>e.unref(g)[w.props.name]=_,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1},8,["onOpen"]))}}),Ll={class:"flex gap-1 items-center flex-wrap"},he=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(r,{expose:n,emit:s}){const o=r,t=s,i=e.useSlots(),p=e.ref({}),{activeFilter:u,activeFilterCount:g,onFilterChange:x,clearFilter:f,clearAllFilters:d,limitedSchema:y,popoverSchema:k,filtersSlot:m,limitedFiltersSlot:c,popoverFiltersSlot:l}=te({...o,schema:p,slots:i},t),b=e.ref();function h(){b.value&&b.value.clearAllFilters(!0),d()}return e.watch(()=>o.schema,a=>{p.value=a},{deep:!0,immediate:!0}),n({clearFilter:f,clearAllFilters:d}),(a,w)=>(e.openBlock(),e.createElementBlock("div",Ll,[a.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(y)),([V,_])=>(e.openBlock(),e.createBlock(P,e.mergeProps({key:V,name:V,mode:a.mode},{ref_for:!0},_,{onChange:w[0]||(w[0]=C=>e.unref(x)(C.name,C.value)),onClear:e.unref(f),layout:"inline",cleanable:!0,modelValue:e.unref(u)[V],"onUpdate:modelValue":C=>e.unref(u)[V]=C}),null,16,["name","mode","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),(V,_)=>(e.openBlock(),e.createBlock(P,e.mergeProps({key:"slot-"+_,layout:"inline"},{ref_for:!0},V.props,{onChange:w[1]||(w[1]=C=>e.unref(x)(C.name,C.value)),onClear:w[2]||(w[2]=C=>{e.unref(f)(C),e.unref(x)(C,void 0)}),cleanable:!0,modelValue:e.unref(u)[V.props.name],"onUpdate:modelValue":C=>e.unref(u)[V.props.name]=C}),null,16,["modelValue","onUpdate:modelValue"]))),128)),Object.entries(e.unref(k)).length>0||e.unref(l).length>0?(e.openBlock(),e.createBlock(ue,e.mergeProps({key:1},o,{schema:e.unref(k),limit:0,onChange:w[3]||(w[3]=V=>e.unref(x)(V.name,V.value)),onClearAll:w[4]||(w[4]=V=>e.unref(d)()),onClear:w[5]||(w[5]=V=>e.unref(f)(V.name)),mode:a.mode,ref_key:"popoverRef",ref:b,cleanable:!0}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(V,_)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V),e.mergeProps({key:"slot-"+_,layout:"popover"},{ref_for:!0},V.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","mode"])):e.createCommentVNode("",!0),e.unref(g)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:h,class:"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 border border-transparent text-gray-800 hover:bg-gray-200 focus:bg-gray-200"}," Очистити ")):e.createCommentVNode("",!0)]))}}),Kl={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"},Pl={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Ul=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(r,{expose:n,emit:s}){const o=r,t=s,i=e.useSlots(),{activeFilter:p,activeFilterCount:u,onFilterChange:g,clearFilter:x,clearAllFilters:f,filtersSlot:d}=te({...o,slots:i},t);return n({clearFilter:x,clearAllFilters:f}),(y,k)=>y.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Kl,[e.createElementVNode("div",Pl,[e.unref(u)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:k[0]||(k[0]=m=>e.unref(f)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200",type:"button"}," Очистити ")):e.createCommentVNode("",!0),y.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(y.schema),([m,c])=>(e.openBlock(),e.createBlock(P,e.mergeProps({name:m,layout:"vertical"},{ref_for:!0},c,{onChange:k[1]||(k[1]=l=>e.unref(g)(l.name,l.value)),onClear:k[2]||(k[2]=l=>{e.unref(x)(l),e.unref(g)(l,void 0)}),modelValue:e.unref(p)[m],"onUpdate:modelValue":l=>e.unref(p)[m]=l,showClean:!0}),null,16,["name","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(m,c)=>(e.openBlock(),e.createBlock(P,e.mergeProps({key:"slot-"+c,layout:"vertical"},{ref_for:!0},m.props,{onChange:k[3]||(k[3]=l=>e.unref(g)(l.name,l.value)),onClear:k[4]||(k[4]=l=>{e.unref(x)(l),e.unref(g)(l,void 0)}),modelValue:e.unref(p)[m.props.name],"onUpdate:modelValue":l=>e.unref(p)[m.props.name]=l,showClean:!0}),null,16,["modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),le=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3}},emits:["change","clear","clearAll"],setup(r,{expose:n,emit:s}){const o=r,t=e.ref(o.value??{}),i=s,p=e.ref();function u(c){if(Array.isArray(c))return c.map(l=>u(l));if(c!==null&&typeof c=="object"){const l=e.toRaw(c),b={};for(const h in l)b[h]=u(l[h]);return b}return c}function g(c,l){l!==void 0?t.value={...t.value,[c]:l}:delete t.value[c],i("change",{data:u(t.value),name:c,value:u(l)})}function x(c){delete t.value[c],i("clear",{data:u(t.value),name:c}),i("change",{data:u(t.value),name:c,value:null})}function f(){t.value={},i("clear",{data:u(t.value),name:"ALL"}),i("change",{data:u(t.value),name:"ALL",value:null})}const d=e.ref({});function y(){switch(o.view){case"inline":return he;case"vertical":return Ul;case"popover":return ue;default:return he}}e.watch(()=>o.schema,c=>{if(!c){d.value={};return}if(Array.isArray(c)&&!c.length){d.value={};return}Array.isArray(c)?d.value=c.filter(l=>l.type).reduce((l,b)=>(Object.assign(b,{name:b.id||b.name,type:b.type.toLowerCase()}),l[b.name]=b,b.data&&!b.api&&!b.options&&Object.assign(b,{api:`/api/suggest/${b.data}`}),l),{}):(Object.entries(c).forEach(([l,b])=>{Object.assign(b,{name:l||b.name||b.id,type:b.type.toLowerCase()})}),d.value={...c})},{immediate:!0,deep:!0});function k(c){p.value.clearFilter(c),x(c)}function m(){p.value.clearAllFilters(),f()}return n({clearAllFilters:m,clearFilter:k}),(c,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y()),e.mergeProps(o,{schema:d.value,onChange:l[0]||(l[0]=b=>g(b.name,b.value)),onClear:l[1]||(l[1]=b=>x(b.name)),onClearAll:f,ref_key:"filterRef",ref:p}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["schema"]))}});le.install=function(r){r.component("Filter",le),r.component("FilterField",P)};function Ol(r){const{page:n,id:s,filter:o}=r,t=new URL(window.location.href),i=new URLSearchParams(window.location.search);n?i.set("page",n.toString()):i.delete("page"),s?i.set("id",s.toString()):i.delete("id"),o?i.set("filter",o):i.delete("filter"),t.search=decodeURI(i.toString()),window.history.pushState({},"",t)}const Il={class:"flex items-center justify-between w-full gap-x-1"},Hl={class:"flex items-center"},Yl=["disabled"],ql=[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)],Wl={class:"flex items-center gap-x-1"},Gl=["onClick"],Ql=["disabled"],Zl=[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)],Jl={class:"flex justify-center items-center gap-x-5 ml-3"},Xl={class:"relative"},vl={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"},eo=["onClick"],to={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"},lo=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M5 12l5 5l10 -10"},null,-1)],oo=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),no=e.defineComponent({__name:"pagination",props:{total:{},currentPage:{},pageSize:{}},emits:["update:currentPage","update:pageSize","pageChange","pageSizeChange"],setup(r,{emit:n}){const s=r,o=n,t=e.ref(s.currentPage),i=e.ref(s.pageSize),p=e.ref(!1);e.watch(()=>s.pageSize,k=>{i.value=k});const u=e.computed(()=>Math.ceil(s.total/s.pageSize)),g=e.computed(()=>{const m=Math.floor(3.5);let c=t.value-m,l=t.value+m;c<1&&(l+=1-c,c=1),l>u.value&&(c-=l-u.value,l=u.value),c=Math.max(1,c);const b=[];for(let h=c;h<=l;h+=1)b.push(h);return b}),x=()=>{t.value>1&&d(t.value-1)},f=()=>{t.value<u.value&&d(t.value+1)},d=k=>{t.value=k,o("update:currentPage",k),o("pageChange",k)},y=(k=i.value)=>{i.value=k,p.value=!1,o("update:pageSize",i.value),o("update:currentPage",1),o("pageSizeChange",i.value)};return e.watch(()=>s.currentPage,k=>{t.value=k}),(k,m)=>(e.openBlock(),e.createElementBlock("nav",Il,[e.createElementVNode("div",Hl,[e.createElementVNode("button",{type:"button","aria-label":"Previous",onClick:x,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"},ql,8,Yl),e.createElementVNode("div",Wl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,c=>(e.openBlock(),e.createElementBlock("button",{type:"button",key:c,onClick:l=>d(c),class:e.normalizeClass(t.value===c?"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(c),11,Gl))),128))]),e.createElementVNode("button",{type:"button","aria-label":"Next",onClick:f,disabled:t.value===u.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"},Zl,8,Ql)]),e.createElementVNode("div",Jl,[e.createElementVNode("div",Xl,[e.withDirectives(e.createElementVNode("div",vl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30],c=>e.createElementVNode("button",{type:"button",key:c,onClick:l=>y(c),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(c)+" ",1),i.value===c?(e.openBlock(),e.createElementBlock("svg",to,lo)):e.createCommentVNode("",!0)],8,eo)),64))],512),[[e.vShow,p.value]]),e.createElementVNode("button",{type:"button",class:"py-3 px-3.5 inline-flex items-center gap-x-1 text-sm rounded-lg border border-gray-200 text-gray-800 shadow-sm hover:bg-gray-50 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 text-base h-[38px] min-w-[38px]","aria-haspopup":"menu","aria-expanded":"false","aria-label":"Dropdown",onClick:m[0]||(m[0]=c=>p.value=!p.value)},[e.createTextVNode(e.toDisplayString(i.value)+" ",1),oo])])])]))}}),q=(r,n)=>{const s=r.__vccOpts||r;for(const[o,t]of n)s[o]=t;return s},ao={},ro={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"},io=[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)];function so(r,n){return e.openBlock(),e.createElementBlock("svg",ro,io)}const co=q(ao,[["render",so]]),mo={},po={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"},fo=[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)];function uo(r,n){return e.openBlock(),e.createElementBlock("svg",po,fo)}const ho=q(mo,[["render",uo]]),go={},yo={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"},bo=[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)];function xo(r,n){return e.openBlock(),e.createElementBlock("svg",yo,bo)}const ko=q(go,[["render",xo]]),wo={},Vo={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"},Bo=[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)];function _o(r,n){return e.openBlock(),e.createElementBlock("svg",Vo,Bo)}const Co=q(wo,[["render",_o]]),Eo={},No={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"},So=[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)];function $o(r,n){return e.openBlock(),e.createElementBlock("svg",No,So)}const Do=q(Eo,[["render",$o]]);function Mo(r,n){let s;return function(...o){clearTimeout(s),s=setTimeout(()=>r(...o),n)}}function zo(r,n,s,o){n&&(n.addSource("vector",{type:"vector",tiles:[`http://${window.location.host}/api/vtile/${r}/ua/{z}/{x}/{y}.vmt?pointZoom=12`+(o?`&filter=${o}`:"")],minzoom:0,maxzoom:12}),n.addLayer({id:"vector-circle",type:"circle",maxzoom:12,source:"vector","source-layer":r,paint:{"circle-color":s,"circle-stroke-color":"#eee","circle-stroke-width":1,"circle-radius":["interpolate",["linear"],["zoom"],10,5,15,12]}}),n.addLayer({id:"vector-fill",type:"fill",minzoom:12,source:"vector","source-layer":r,paint:{"fill-color":s,"fill-opacity":.6}}))}const G=[{name:"voyager",label:"Базова карта (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"},{name:"orto",label:"Ортофото 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"},{name:"esri",label:"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"},{name:"google",label:"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"}],Fo={class:"relative w-auto h-full"},Ao={class:"absolute left-[20px] bottom-[74px] bg-white max-w-[250px] p-[10px] rounded-lg z-10 border"},Ro={class:"flex justify-start items-center gap-2"},jo={class:"ml-1 text-[0.875rem]"},To={class:"vs-map-slot-layers z-10 select-none",style:{display:"flex"}},Lo=["title","onClick"],Ko=["src"],Po={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"},Uo=e.defineComponent({__name:"map",props:{table:{},center:{},colorAttr:{},filter:{},modelValue:{},zoom:{},map:{}},emits:["update:modelValue","update:map"],setup(r,{emit:n}){const s=r,o=n;let t,i;const p=e.ref(null),u=e.ref(!1),g=e.ref(G[0].name),x=G[0],f=e.ref(null),d=e.ref(null),y=["#2563EB","#60A5FA","#10B981","#34D399","#F59E0B","#F97316","#EF4444","#F43F5E","#374151","#D1D5DB"];let k;const m=[30,48];return e.onMounted(async()=>{k=(await fetch(`/api/data/${s.table}/${s.colorAttr}`).then(l=>l.json())).rows,k.forEach((l,b)=>{l.color||Object.assign(l,{color:y[b%10]})}),i=new maplibregl.Popup({closeButton:!1,closeOnClick:!1}),t=new maplibregl.Map({container:p.value,style:{version:8,sources:{[x.name]:{type:"raster",tiles:[x.url],tileSize:256}},layers:[{id:x.name,type:"raster",source:x.name,minzoom:0,maxzoom:19}]},center:s.center||m,zoom:s.zoom||5,minZoom:3,maxZoom:18,attributionControl:!1}),o("update:map",t),t.addControl(new maplibregl.NavigationControl,"top-right"),t.on("zoom",()=>{console.log("Zoom is changing:",t.getZoom())}),t.on("load",()=>{t==null||t.resize(),u.value=!0;const l=k.filter(h=>h.id).reduce((h,a)=>[a.id,a.color].concat(h),[]),b=["match",["get",s.colorAttr],...l,"#808080"];zo(s.table,t,b,s.filter)}),t.on("click",l=>{const b=t.queryRenderedFeatures(l.point);b.length&&o("update:modelValue",b[0].properties.id)}),t.on("mousemove",l=>{var V;const b=t.queryRenderedFeatures(l.point);if(!b||!b.length){i.remove(),t.getCanvas().style.cursor="";return}t.getCanvas().style.cursor="pointer";const h=b[0],{coordinates:a}=h.geometry,w=h.geometry.type==="Point"?a:a[0][0];d.value=h.properties,i.setLngLat(w).setHTML((V=f.value)==null?void 0:V.innerHTML).addTo(t)})}),e.watch(()=>s.center,c=>{t&&t.setCenter(c||m)}),e.watch(()=>s.zoom,c=>{t&&t.setZoom(c)}),e.watch(()=>s.filter,c=>{const l=`http://${window.location.host}/api/vtile/${s.table}/ua/{z}/{x}/{y}.vmt?pointZoom=12&filter=${c}`;t!=null&&t.getSource("vector")&&t.getSource("vector").setTiles([l])}),e.watch(g,(c,l)=>{const b=G.find(h=>h.name===c);b&&(t.removeLayer(l),t.removeSource(l),t.addSource(c,{type:"raster",tiles:[b.url],tileSize:256}),t.addLayer({id:b.name,type:"raster",source:b.name,minzoom:0,maxzoom:19},"vector-circle"))}),e.onBeforeUnmount(()=>{t&&t.remove()}),(c,l)=>{const b=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Fo,[e.createElementVNode("div",{ref_key:"mapContainer",ref:p,class:"map-container w-auto relative"},null,512),e.createElementVNode("div",Ao,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),h=>(e.openBlock(),e.createElementBlock("div",{class:"legend-item",key:h.id},[e.createElementVNode("div",Ro,[e.createElementVNode("div",{class:"w-[15px] h-[15px] rounded-[50%] min-w-[15px]",style:e.normalizeStyle("background-color:"+h.color)},null,4),e.createElementVNode("div",jo,e.toDisplayString(h.text),1)])]))),128))]),e.createElementVNode("div",{ref_key:"popupDiv",ref:f,style:{display:"none"}},[e.renderSlot(c.$slots,"default",{hoverData:d.value})],512),e.createElementVNode("div",To,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(G),h=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:h.name,title:h.label||h.name,class:e.normalizeClass(["vs-map-slot-layers__layer relative",{focused:g.value===h.name}]),onClick:a=>g.value=h.name},[e.createElementVNode("img",{src:h.preview,class:"vs-map-slot-layers__image"},null,8,Ko),e.createElementVNode("div",Po,e.toDisplayString(h.label),1)],10,Lo)),[[b,h.label||h.name]])),128))])],512)),[[e.vShow,u.value]])}}}),ge={mounted(r,n){if(typeof document>"u")return;let s=null;const o=()=>{s=document.createElement("div"),s.textContent=n.value,Object.assign(s.style,{position:"absolute",background:"#333",color:"#fff",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",whiteSpace:"nowrap",pointerEvents:"none",zIndex:"9999"}),document.body.appendChild(s);const i=r.getBoundingClientRect();s.style.left=`${i.left+window.scrollX}px`,s.style.top=`${i.top+window.scrollY-s.offsetHeight-5}px`},t=()=>{s&&s.parentNode&&(s.parentNode.removeChild(s),s=null)};r.addEventListener("mouseenter",o),r.addEventListener("mouseleave",t),Object.assign(r,{tooltipHandlers:{showTooltip:o,hideTooltip:t}})},unmounted(r){if(typeof document>"u")return;const n=r.tooltipHandlers;n&&(r.removeEventListener("mouseenter",n.showTooltip),r.removeEventListener("mouseleave",n.hideTooltip))}},Oo={class:"pt-[20px]"},Io={class:"w-full gap-5 inline-flex mb-[6px] pr-3"},Ho={class:"flex items-center"},Yo=["title"],qo=e.createElementVNode("span",{class:"sr-only"},"Відкрити мапу",-1),Wo={class:"max-[1000px]:flex gap-2 min-[1001px]:hidden"},Go={class:"flex"},Qo={key:0,class:"py-[15px] pb-[24px] pl-2"},Zo={class:"font-bold text-2xl mr-[10px]"},Jo={class:"text-sm text-stone-500 font-medium"},Xo=e.createElementVNode("span",{class:"text-sm text-stone-500 font-medium"}," об'єктів",-1),vo={class:"wrapperTable flex flex-col",style:{height:"calc(100vh - 302px)"}},en={key:1,class:"text-center py-28"},tn=e.createElementVNode("h2",{class:"font-medium text-base text-gray-500 rounded-xl"}," За вашим запитом даних не знайдено! ",-1),ln=e.createElementVNode("p",{class:"font-normal text-sm text-gray-500 rounded-xl"}," Введіть, будь ласка, інші значення для пошуку. ",-1),on={key:1},nn={key:2,class:"my-5 pr-2"},an={class:"flex justify-between"},rn={class:"w-full lg:w-1/2 relative"},oe=e.defineComponent({__name:"vs-parts-map",props:{title:{},table:{},map:{},rows:{},zoom:{},center:{},initTotal:{},colorAttr:{},id:{},filters:{},history:{type:Boolean}},emits:["change:filter","update:map"],setup(r,{emit:n}){var I,L,ye,be,xe,ke,we;const s=e.getCurrentInstance();s&&!(s!=null&&s.appContext.directives.tooltip)&&(console.log("init tooltip"),s.appContext.directives.tooltip=ge);function o(E){return E?(E.type==="Point"?E.coordinates:null)||(E.type.includes("Multi")?E.coordinates[0][0][0]:E.coordinates[0][0]):null}const t=r,i=n,p=e.ref(0);p.value=t.initTotal??((I=t.rows)==null?void 0:I.length)??0;const u=e.ref(""),g=e.ref(null),x=e.ref(!0),f=e.ref(((L=t.rows)==null?void 0:L.length)===1),d=e.ref(0),y=e.ref(t.rows),k=e.ref(1),m=e.ref(20),c=e.ref(t.filters||[]),l=e.ref(""),b=e.ref({}),h=e.ref(((ye=t.rows)==null?void 0:ye.length)===1?t.rows[0]:{}),a=e.ref(((be=t.rows)==null?void 0:be.length)===1?t.rows[0].id:""),w=e.ref(((xe=t.rows)==null?void 0:xe.length)===1?o((ke=t.rows[0])==null?void 0:ke.geom):t.center||null),V=e.ref(((we=t.rows)==null?void 0:we.length)===1?14:t.zoom||5);function _(E){return Object.entries(E).filter(([,N])=>N).map(([N,K])=>`${N}=${K}`).join("|")}async function C(){const E=_(b.value);l.value=E;try{const N={search:u.value,limit:m.value.toString(),page:k.value.toString(),filter:E},K=new URL(`/api/data/${t.table}`,window.location.origin)+(a.value?`/${a.value}`:""),z=new URLSearchParams(N).toString(),U=await fetch(`${K.toString()}?${z}`).then(j=>j.json());if(a.value){const[j]=U.rows;h.value=j,w.value=o(j==null?void 0:j.geom),V.value=14,f.value=!0}else f.value=!1,V.value=t.zoom||5,y.value=U==null?void 0:U.rows;p.value=U.filtered,Ol({page:k.value,filter:E,id:a.value})}catch(N){console.error(N.message)}}const D=Mo(C,300);function S(E){m.value=E,k.value=1,C()}function H(E){k.value=E,C()}function R(E){b.value=E.data,k.value=1,a.value?a.value="":C(),i("change:filter",E)}async function M(){if(t.filters)return;const N=await(await fetch(`/api/filter/${t.table}`)).json();c.value=N.list}function B(){b.value={},u.value="",C()}e.onMounted(async()=>{var N,K;d.value=window.innerWidth,d.value<1e3&&(x.value=!1);const E=new URLSearchParams(window.location.search);k.value=Number(E.get("page"))||1,m.value=Number(E.get("limit"))||m.value,a.value=E.get("id")||"",f.value=!!a.value,l.value=E.get("filter")||"",(K=(N=E.get("filter"))==null?void 0:N.split("|"))==null||K.forEach(z=>{const[U,j]=z.split("=");U&&(b.value[U]=j!=null&&j.includes(",")?j.split(","):[j])}),M(),!y.value&&!a.value&&C()});function $(){f.value=!1,h.value=null,a.value="",C()}function A(E){a.value=E.id}return e.watch(g,E=>{i("update:map",E)}),e.watch(u,E=>{E||C()}),e.watch(a,()=>{C()}),(E,N)=>{var K;return e.openBlock(),e.createElementBlock("section",Oo,[e.renderSlot(E.$slots,"header",{title:t.title,total:p.value}),e.createElementVNode("div",Io,[e.createVNode(e.unref(P),{type:"text",modelValue:u.value,"onUpdate:modelValue":N[0]||(N[0]=z=>u.value=z),name:"search",label:"Пошук",onChange:e.unref(D)},null,8,["modelValue","onChange"]),c.value.length?(e.openBlock(),e.createBlock(e.unref(le),{key:0,schema:c.value,view:"inline",onChange:R,limit:5,value:b.value,ref:"filterRef"},null,8,["schema","value"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ho,[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:x.value?"Приховати карту":"Показати карту",onClick:N[1]||(N[1]=z=>x.value=!x.value)},[x.value?(e.openBlock(),e.createBlock(ho,{key:0})):(e.openBlock(),e.createBlock(ko,{key:1})),qo],8,Yo),e.createElementVNode("div",Wo,[e.createElementVNode("button",{onClick:N[2]||(N[2]=z=>x.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(Do)]),e.createElementVNode("button",{onClick:N[3]||(N[3]=z=>x.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(Co)])])])]),e.createElementVNode("div",Go,[e.createElementVNode("div",{class:e.normalizeClass(["relative overflow-hidden shrink-0",x.value?"w-2/4 mr-0":"w-full mr-3",f.value?"hidden":""])},[(K=E.$slots)!=null&&K.header?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("h1",Qo,[e.createElementVNode("span",Zo,e.toDisplayString(t.title),1),e.createElementVNode("span",Jo,e.toDisplayString(p.value),1),Xo])),e.createElementVNode("div",vo,[p.value>=1?e.renderSlot(E.$slots,"table",{key:0,rows:y.value,selectRow:A}):(e.openBlock(),e.createElementBlock("div",en,[e.createVNode(co),tn,ln,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:B}," Очистити дані пошуку ")]))]),p.value>=1?(e.openBlock(),e.createElementBlock("hr",on)):e.createCommentVNode("",!0),p.value>=1?(e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("div",an,[e.createVNode(no,{total:p.value,currentPage:k.value??1,pageSize:m.value,onPageChange:N[4]||(N[4]=z=>H(z)),onPageSizeChange:N[5]||(N[5]=z=>S(z))},null,8,["total","currentPage","pageSize"])])])):e.createCommentVNode("",!0)],2),f.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(x.value?"lg:static lg:w-1/2 mr-0 pb-5":"pb-5 mr-3"),style:{height:"calc(100vh - 152px)"}},[e.renderSlot(E.$slots,"details",{table:t.table,selectedRow:h.value,closeObjCard:$})],2)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",rn,[e.createVNode(Uo,{table:t.table,map:g.value,"onUpdate:map":N[6]||(N[6]=z=>g.value=z),zoom:V.value,colorAttr:t.colorAttr,filter:l.value,center:w.value,modelValue:a.value,"onUpdate:modelValue":N[7]||(N[7]=z=>a.value=z)},{default:e.withCtx(({hoverData:z})=>[e.renderSlot(E.$slots,"popup",{data:z})]),_:3},8,["table","map","zoom","colorAttr","filter","center","modelValue"]),e.renderSlot(E.$slots,"default",{table:t.table,map:g.value,selectedRow:h.value})],512),[[e.vShow,x.value]])])])}}});return oe.install=r=>{r.component("VsPartsMap",oe),r._context.directives.tooltip||r.directive("tooltip",ge)},oe});