@opengis/filter 0.1.30 → 0.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- (function(L,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@opengis/core")):typeof define=="function"&&define.amd?define(["exports","vue","@opengis/core"],e):(L=typeof globalThis<"u"?globalThis:L||self,e(L.FilterLib={},L.Vue,L.OpenGISCore))})(this,(function(L,e,Z){"use strict";const T=(p,o)=>{const b=p.__vccOpts||p;for(const[t,a]of o)b[t]=a;return b},ue={},pe={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 ye(p,o){return e.openBlock(),e.createElementBlock("svg",pe,[...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 ge=T(ue,[["render",ye]]),he={},be={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 ke(p,o){return e.openBlock(),e.createElementBlock("svg",be,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const O=T(he,[["render",ke]]),xe={class:"flex items-center cursor-pointer w-full"},we={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Ve=["value"],Ce={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Be={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Ee={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},W=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(p,{expose:o,emit:b}){const t=p,a=b;function l(){a("itemClick",t.value)}const f=e.ref(null),s=e.computed(()=>t.layout==="inline"&&t.type==="radio"),d=e.computed(()=>t.layout==="vertical"?"text-[13px]":"text-sm");return o({el:f}),(g,n)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:f},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between w-full",d.value])},[e.createElementVNode("div",xe,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(g.layout)?"text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-gray-500 cursor-pointer",{"bg-blue-100":g.highlighted,relative:s.value},d.value]),onClick:e.withModifiers(l,["stop","prevent"])},[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[g.type==="checkbox"?"rounded-[4px]":"rounded-full",g.color?`bg-[${g.color}] border-[#ffffff]`:g.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[g.isSelected?(e.openBlock(),e.createElementBlock("img",we)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:g.value},null,8,Ve),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",s.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Ce,e.toDisplayString(g.label??"Відсутні дані"),1),g.count?(e.openBlock(),e.createElementBlock("div",Be," ("+e.toDisplayString(g.count)+") ",1)):e.createCommentVNode("",!0)],2),s.value&&g.isSelected?(e.openBlock(),e.createElementBlock("span",Ee,[e.createVNode(O)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function Y(p,o){const{options:b=[],limit:t=20}=p;function a(r){return Array.isArray(r)?r[0]:r}const l=e.ref(a(p.modelValue)),f=e.ref(""),s=e.ref(!1),d=e.ref([]),g=e.ref("id"),n=e.ref("text"),y=e.ref(!1),i=e.ref(p.layout!=="popover"&&b.length>t);function x(r){const m=r.find(Boolean)??{},_=["id","value","code","key"].find(B=>B in m)??"id",$=["text","label","name","title"].find(B=>B in m)??"text";return{autoValueKey:_,autoLabelKey:$}}if(b.length>0){const r=x(b);g.value=r.autoValueKey,n.value=r.autoLabelKey}const V=e.computed(()=>{const r=d.value;return p.layout==="popover"||y.value?r:r.slice(0,t)});e.watch(()=>p.modelValue,r=>{l.value=a(r)},{immediate:!0}),d.value=[...b].sort((r,m)=>p.sort==="count"?m.count&&r.count?m.count-r.count:0:p.sort==="name"?String(r[n.value]??"").localeCompare(String(m[n.value]??"")):0);function S(r){return l.value===r[g.value]}function k(r){l.value=r[g.value],o("update:modelValue",l.value),o("change",{name:p.name,value:l.value})}function c(){l.value=void 0,o("update:modelValue",l.value),o("clear",p.name)}function h(){y.value=!y.value}return{innerValue:l,searchTerm:f,filteredOptions:V,isSelected:S,selectItem:k,clear:c,toggleShowAll:h,isReqProc:s,showAll:y,isEnableShowAll:i,labelKey:n,valueKey:g,allOptions:d}}const Ne={},Se={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function _e(p,o){return e.openBlock(),e.createElementBlock("svg",Se,[...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 H=T(Ne,[["render",_e]]),$e={},De={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 Ae(p,o){return e.openBlock(),e.createElementBlock("svg",De,[...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 U=T($e,[["render",Ae]]),Fe={},je={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 Me(p,o){return e.openBlock(),e.createElementBlock("svg",je,[...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 Q=T(Fe,[["render",Me]]),Re={key:0,class:"w-full"},Le={class:"flex flex-col items-center justify-center p-5 text-center"},Te={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Ke={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},ze=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=p,a=e.ref(null),l=b,{innerValue:f,filteredOptions:s,isSelected:d,selectItem:g,clear:n,toggleShowAll:y,isReqProc:i,showAll:x,isEnableShowAll:V,labelKey:S,valueKey:k,allOptions:c}=Y({...t,modelValue:t.modelValue??t.default??""},l);return o({clear:n,inputTextRef:a}),e.watch(()=>t.modelValue,h=>{h===void 0&&(f.value=void 0)}),(h,r)=>(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 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(s),m=>(e.openBlock(),e.createBlock(W,{layout:h.layout,key:m[e.unref(k)],count:m.count,label:m[e.unref(S)],color:m.color,type:"radio",value:m[e.unref(k)],"is-selected":e.unref(d)(m),onItemClick:_=>e.unref(g)(m)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),h.type==="select"&&e.unref(s).length===0&&!e.unref(i)?(e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("div",Le,[e.createVNode(H),r[4]||(r[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(x)&&e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:r[0]||(r[0]=(...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"},[r[5]||(r[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:r[1]||(r[1]=(...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"},[r[6]||(r[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Q)])):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",Te,[e.createTextVNode(e.toDisplayString(e.unref(f)||e.unref(f)===null?1:0)+" з "+e.toDisplayString(e.unref(c).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:r[2]||(r[2]=(...m)=>e.unref(n)&&e.unref(n)(...m))}," Очистити ",512),[[e.vShow,e.unref(f)!==""&&e.unref(f)!==void 0]])])):e.createCommentVNode("",!0),h.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("span",null,e.toDisplayString(e.unref(f)||e.unref(f)===null?1:0)+" з "+e.toDisplayString(e.unref(c).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:r[3]||(r[3]=(...m)=>e.unref(n)&&e.unref(n)(...m))}," Очистити ",512),[[e.vShow,e.unref(f)!==""&&e.unref(f)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function v(p,o){const{options:b=[],limit:t=20}=p;function a(r){return Array.isArray(r)?r:r?[r]:[]}const l=e.ref(a(p.modelValue)),f=e.ref(""),s=e.ref(!1),d=e.ref([]),g=e.ref("id"),n=e.ref("text"),y=e.ref(!1),i=e.ref(p.layout!=="popover"&&b.length>t);function x(r){const m=r.find(Boolean)??{},_=["id","value","code","key"].find(B=>B in m)??"id",$=["text","label","name","title"].find(B=>B in m)??"text";return{autoValueKey:_,autoLabelKey:$}}if(b.length>0){const r=x(b);g.value=r.autoValueKey,n.value=r.autoLabelKey}const V=e.computed(()=>{const r=d.value;return p.layout==="popover"||y.value?r:r.slice(0,t)});e.watch(()=>p.modelValue,r=>{l.value=a(r)},{immediate:!0}),d.value=[...b].sort((r,m)=>p.sort==="count"?m.count&&r.count?m.count-r.count:0:p.sort==="name"?String(r[n.value]).localeCompare(String(m[n.value])):0);function S(r){return l.value&&l.value.includes(r[g.value])}function k(r){const m=l.value.includes(r[g.value]);l.value=m?l.value.filter(_=>_!==r[g.value]):[...l.value,r[g.value]],o("update:modelValue",l.value),o("change",{name:p.name,value:l.value})}function c(){l.value=[],o("update:modelValue",l.value),o("clear",p.name)}function h(){y.value=!y.value}return{innerValue:l,searchTerm:f,filteredOptions:V,isSelected:S,selectItem:k,clear:c,toggleShowAll:h,isReqProc:s,showAll:y,isEnableShowAll:i,labelKey:n,valueKey:g,allOptions:d}}const ee={en:{apply:"Apply",search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",max:"max",min:"min",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next",selectFieldHelp:"Select a field to start creating a filter."},uk:{apply:"Застосувати",search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",max:"макс",min:"мін",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період",selectFieldHelp:"Оберіть поле, щоб розпочати створення фільтра."}};function te(p){const o=p.split(".")[1],b=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(ee[b||navigator.language]||ee.uk)[o]}function z(){const p=e.getCurrentInstance();if(!p.appContext.config.globalProperties.$i18n)return te;const o=p.appContext.config.globalProperties.$t;return b=>{const t=o(b);return t===b?te(b):t}}const Oe={key:0,class:"w-full"},Ie={class:"flex flex-col items-center justify-center p-5 text-center"},Ue={class:"max-w-sm mx-auto mt-6"},Pe={class:"font-medium text-gray-800 dark:text-neutral-200"},qe={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},We={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},le=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=z(),a=p,l=b,{innerValue:f,filteredOptions:s,isSelected:d,selectItem:g,clear:n,toggleShowAll:y,isReqProc:i,showAll:x,isEnableShowAll:V,labelKey:S,valueKey:k,allOptions:c}=v({...a,modelValue:a.modelValue},l);return e.watch(()=>a.modelValue,h=>{h===void 0&&(f.value=[])}),o({clear:n}),(h,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([h.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([h.layout==="popover"?"flex-1 overflow-y-auto 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(s),m=>(e.openBlock(),e.createBlock(W,{layout:h.layout,count:m.count,label:m[e.unref(S)],color:m.color,type:"checkbox",value:m[e.unref(k)],"is-selected":e.unref(d)(m),onItemClick:_=>e.unref(g)(m)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),h.type==="select"&&e.unref(s).length===0&&!e.unref(i)?(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("div",Ie,[e.createVNode(H),e.createElementVNode("div",Ue,[e.createElementVNode("p",Pe,e.toDisplayString(e.unref(t)("filter.notfound")),1),r[4]||(r[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),h.layout!=="popover"&&h.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:r[0]||(r[0]=(...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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.more"))+" ",1),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:r[1]||(r[1]=(...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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.less"))+" ",1),e.createVNode(Q)])):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",qe,[e.createTextVNode(e.toDisplayString(e.unref(f).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:r[2]||(r[2]=(...m)=>e.unref(n)&&e.unref(n)(...m))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(f).length!==0]])])):e.createCommentVNode("",!0),h.layout==="popover"?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("span",null,e.toDisplayString(e.unref(f).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:r[3]||(r[3]=(...m)=>e.unref(n)&&e.unref(n)(...m))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(f).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ye={},He={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 Qe(p,o){return e.openBlock(),e.createElementBlock("svg",He,[...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 oe=T(Ye,[["render",Qe]]),Ge={},Je={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 Xe(p,o){return e.openBlock(),e.createElementBlock("svg",Je,[...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 G=T(Ge,[["render",Xe]]);class ne{static getWidthClass(o){return typeof o=="number"?`max-w-[${o}px] min-w-[${o}px]`:typeof o=="string"?o.endsWith("%")||o.endsWith("px")?`max-w-[${o}]`:`max-w-${o}`:"w-full"}}const Ze={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},ve=["placeholder"],et=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},type:{},label:{},width:{default:220},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{emit:o}){const b=p,t=e.ref((b.placeholder||b.label||b.title||b.name||"search").toString()),a=o,l=e.ref(b.modelValue?.toString()??"");e.watch(()=>b.modelValue,g=>{g!==l.value&&(l.value=g?.toString()??"")});let f=null;function s(){if(l.value=l.value.trimStart(),l.value.length===0){d();return}f&&clearTimeout(f),f=setTimeout(()=>{a("update:modelValue",l.value),a("change",{name:b.name,value:l.value})},300)}function d(){l.value="",a("update:modelValue",""),a("clear",b.name)}return(g,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",g.layout==="vertical"?"rounded-md":"rounded-sm",g.layout==="vertical"?"[&>input]:rounded-md":"[&>input]:rounded-sm",g.layout==="inline"?e.unref(ne).getWidthClass(g.width):"mb-2"+(g.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Ze,[e.createVNode(oe)]),l.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:d,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(G)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":n[0]||(n[0]=y=>l.value=y),onInput:s,placeholder:t.value,class:e.normalizeClass(["!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500",g.layout==="vertical"?"rounded-md":"rounded-sm"])},null,42,ve),[[e.vModelText,l.value]])],2))}});function re(p={color:"blue"}){return e.computed(()=>{const b=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${p.color}-500 focus:border-transparent
2
- text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return p?.size==="sm"?`${b}h-[32px]`:`${b}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 border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600"}function ae(p){return p==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":p==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const ot={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},nt=["placeholder","disabled"],rt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},at={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},st=["placeholder","disabled"],it=["disabled"],io={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},co={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ct=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=re(),a=tt(),l=z(),f=p,s=e.ref(f.modelValue??f.default??[]),d=b,g=e.computed({get:()=>f.modelValue??s.value,set:i=>{f.modelValue!==void 0?d("update:modelValue",i):s.value=i}});function n(){d("change",{name:f.name,value:g.value||s.value})}function y(){s.value=[],g.value=s.value,d("clear",f.name)}return e.watch(()=>f.modelValue,i=>{i!==void 0&&f.layout!=="popover"?(s.value=i,d("update:modelValue",i)):s.value=[]}),o({clear:y,currentValue:g}),(i,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(i.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[i.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",ot,e.toDisplayString(e.unref(l)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:i.placeholder?.[0]??e.unref(l)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":x[0]||(x[0]=V=>g.value[0]=V),disabled:i.disabled},null,10,nt),[[e.vModelText,g.value[0]]])]),i.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",rt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[i.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",at,e.toDisplayString(e.unref(l)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:i.placeholder?.[1]??e.unref(l)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":x[1]||(x[1]=V=>g.value[1]=V),disabled:i.disabled},null,10,st),[[e.vModelText,g.value[1]]])]),["popover","inline","vertical"].includes(i.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:n,class:e.normalizeClass(e.unref(a)+(i.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(i.layout==="vertical"?"Ok":e.unref(l)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(i.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(g.value[0]||g.value[1]),onClick:y,class:e.normalizeClass(e.unref(a)+" hover:bg-gray-100")},e.toDisplayString(e.unref(l)("filter.clear")),11,it)):e.createCommentVNode("",!0)],2)]),(i.cleanable&&s.value.length,e.createCommentVNode("",!0))],64))}});class R{static format(o){const b=o.getFullYear(),t=(o.getMonth()+1).toString().padStart(2,"0"),a=o.getDate().toString().padStart(2,"0");return`${b}-${t}-${a}`}static getShiftedDay(o,b=0){const t=o?new Date(o):new Date;return t.setDate(t.getDate()+b),this.format(t)}static getLastWeekRange(o,b,t=0){if(o&&b){const g=new Date(o),n=new Date(b);return g.setDate(g.getDate()+t*7),n.setDate(n.getDate()+t*7),[this.format(g),this.format(n)]}const a=new Date,l=a.getDay(),f=l===0?13:l-1+7,s=new Date(a);s.setDate(a.getDate()-f+t*7);const d=new Date(s);return d.setDate(s.getDate()+6),[this.format(s),this.format(d)]}static getMonthRange(o,b,t=0){let a;o?a=new Date(o):a=new Date,a=new Date(a.getFullYear(),a.getMonth()+t,1);const l=a,f=new Date(a.getFullYear(),a.getMonth()+1,0);return[this.format(l),this.format(f)]}static getQuarterRange(o,b,t=0){const a=o||b,l=a?new Date(a):new Date;let f=Math.floor(l.getMonth()/3);f+=t;const s=(f%4+4)%4*3,d=l.getFullYear()+Math.floor(f/4),g=new Date(d,s,1),n=new Date(d,s+3,0);return[this.format(g),this.format(n)]}static getYear(o,b=0){let t;return o&&/^\d{4}$/.test(o)?t=parseInt(o,10):o?t=new Date(o).getFullYear():t=new Date().getFullYear(),String(t+b)}static getYearRange(o,b=0){let t;return o&&/^\d{4}$/.test(o)?t=parseInt(o,10):o?t=new Date(o).getFullYear():t=new Date().getFullYear(),[this.format(new Date(t+b,0,1)),this.format(new Date(t+b+1,0,0))]}static getRangeFromDaysBefore(o){const b=new Date,t=new Date(b.getTime());return t.setDate(b.getDate()-o),[this.format(t),this.format(b)]}}function se(p,o){const{popoverRef:b}=p,t=z(),a=e.ref(""),l=e.ref(p.modelValue??p.default??[]),f=e.ref(0);function s(){const c=R.getRangeFromDaysBefore(f.value);return l.value=[...c],o("change",{name:p.name,value:l.value}),o("update:modelValue",l.value),c}function d(c){a.value=c,b.value?.close();const h=[];switch(a.value){case"today":h.push(R.getShiftedDay()),h.push(R.getShiftedDay());break;case"week":h.push(...R.getLastWeekRange());break;case"month":h.push(...R.getMonthRange());break;case"quarter":h.push(...R.getQuarterRange());break;case"year":h.push(...R.getYearRange());break;case"last_7_days":f.value=7,s();break;case"range":f.value=7,h.push(...s());break}l.value=[...h],o("change",{name:p.name,value:l.value}),o("update:modelValue",l.value)}function g(){const c=[];switch(a.value){case"today":c.push(R.getShiftedDay(l.value[0],1));break;case"week":c.push(...R.getLastWeekRange(l.value[0],l.value[1],1));break;case"month":c.push(...R.getMonthRange(l.value[0],l.value[1],1));break;case"quarter":c.push(...R.getQuarterRange(l.value[0],l.value[1],1));break;case"year":c.push(...R.getYearRange(l.value[0],1));break}l.value=[...c],o("change",{name:p.name,value:l.value}),o("update:modelValue",l.value)}function n(){const c=[];switch(a.value){case"today":c.push(R.getShiftedDay(l.value[0],-1));break;case"week":c.push(...R.getLastWeekRange(l.value[0],l.value[1],-1));break;case"month":c.push(...R.getMonthRange(l.value[0],l.value[1],-1));break;case"quarter":c.push(...R.getQuarterRange(l.value[0],l.value[1],-1));break;case"year":c.push(...R.getYearRange(l.value[0],-1));break}l.value=[...c],o("change",{name:p.name,value:l.value}),o("update:modelValue",l.value)}const y=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function i(c){const[h,r,m]=c.split("-");return`${m}.${r}.${h}`}function x(c,h="long"){const r=new Date(Date.UTC(2e3,c-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:h,timeZone:"UTC"}).format(r)}function V(c){const{value:h}=l;switch(c){case"today":return i(h[0]);case"range":return"Період";case"week":return h[0]&&h[1]?`${i(h[0])} – ${i(h[1])}`:"";case"quarter":if(h[0]){const r=new Date(h[0]),m=r.getFullYear(),_=r.getMonth();return`${Math.floor(_/3)+1} ${t("filter.quarter")} ${m}`}return"";case"month":if(h[0]){const[r,m]=h[0].split("-");return`${x(parseInt(m,10))} ${r}`}return"";case"year":return h[0]||"";case"last_7_days":return"За останні дні";default:return p.label??""}}const S=e.computed(()=>a.value?V(a.value):p.label??"");function k(){a.value="",l.value=[],o("update:modelValue",[]),o("clear",p.name)}return{activeMode:a,innerValue:l,daysBefore:f,onDaysBeforeChange:s,onSelectChange:d,nextClick:g,prevClick:n,ukMonths:y,formatDisplayDate:i,getModeLabel:V,currentLabel:S,clear:k}}const dt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},mt={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},ft=["max","disabled"],ut=["min","disabled"],pt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},yt=["max","disabled"],gt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ht={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},bt=["min","disabled"],kt={class:"flex gap-1 pt-2"},xt=["title","onClick"],mo={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},wt=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=p,a=re(),l=lt(),f=z(),s=b,d=e.ref(null),{activeMode:g,innerValue:n,onSelectChange:y,nextClick:i,prevClick:x,clear:V}=se({...t,popoverRef:d},s);e.watch(()=>t.modelValue,r=>{r!==void 0?(n.value=r,s("update:modelValue",r)):(g.value="",n.value=[])}),e.watch(n,r=>{s("update:modelValue",r),s("change",{name:t.name,value:r})},{deep:!0});const S=["today","week","month","quarter","year"],k={today:{label:"день",title:f("filter.today")},week:{label:"тиж.",title:f("filter.week")},month:{label:"міс.",title:f("filter.month")},quarter:{label:"кв.",title:f("filter.quarter")},year:{label:"рік",title:f("filter.year")}};function c(r){return k[r]?.label??f(`filter.${r}`)}function h(r){return k[r]?.title??f(`filter.${r}`)}return o({clear:V,popoverRef:d}),(r,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[r.layout==="inline"?(e.openBlock(),e.createElementBlock("div",dt,[e.unref(g)!==""&&e.unref(g)==="range"?(e.openBlock(),e.createElementBlock("div",mt,[m[7]||(m[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(n)[1],locale:"uk-UA","onUpdate:modelValue":m[0]||(m[0]=_=>e.unref(n)[0]=_),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:r.disabled},null,8,ft),[[e.vModelText,e.unref(n)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(n)[0],locale:"uk-UA","onUpdate:modelValue":m[1]||(m[1]=_=>e.unref(n)[1]=_),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:r.disabled},null,8,ut),[[e.vModelText,e.unref(n)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(r.layout!=="popover"?"w-[48%]":"")},[r.layout==="popover"?(e.openBlock(),e.createElementBlock("label",pt,e.toDisplayString(e.unref(f)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(n)[1],locale:"uk-UA","onUpdate:modelValue":m[2]||(m[2]=_=>e.unref(n)[0]=_),class:e.normalizeClass(e.unref(a)),disabled:r.disabled},null,10,yt),[[e.vModelText,e.unref(n)[0]]])],2),r.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",gt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.layout!=="popover"?"w-[48%]":"")},[r.layout==="popover"?(e.openBlock(),e.createElementBlock("label",ht,e.toDisplayString(e.unref(f)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(n)[0],locale:"uk-UA","onUpdate:modelValue":m[3]||(m[3]=_=>e.unref(n)[1]=_),class:e.normalizeClass(e.unref(a)),disabled:r.disabled},null,10,bt),[[e.vModelText,e.unref(n)[1]]])],2)],2),e.createElementVNode("div",kt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(S,_=>e.createElementVNode("button",{key:_,class:e.normalizeClass(e.unref(l)+(e.unref(g)===_?" bg-blue-100":"")),title:h(_),onClick:$=>e.unref(y)(_)},e.toDisplayString(c(_)),11,xt)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(l)),onClick:m[4]||(m[4]=(..._)=>e.unref(x)&&e.unref(x)(..._))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(l)),onClick:m[5]||(m[5]=(..._)=>e.unref(i)&&e.unref(i)(..._))},">",2)]),(r.cleanable,e.createCommentVNode("",!0))],64))}});function Vt(p,o){const{api:b,options:t=[],limit:a=20,dataKey:l="data"}=p,f=p.multi;function s(E){return f?Array.isArray(E)?E:E?[E]:[]:Array.isArray(E)?E[0]:E}const d=e.ref(s(p.modelValue)),g=e.ref(""),n=e.ref(!1),y=e.ref(t),i=e.ref("id"),x=e.ref("text"),V=e.ref(!1),S=e.ref(p.layout!=="popover"&&t.length>a),k=e.ref([]),c=e.ref(0);function h(E){const F=E.find(Boolean)??{},j=["id","value","code","key"].find(I=>I in F)??"id",M=["text","label","name","title"].find(I=>I in F)??"text";return{autoValueKey:j,autoLabelKey:M}}if(t.length>0){const E=h(t);i.value=E.autoValueKey,x.value=E.autoLabelKey}const r=e.computed(()=>{if(b)return y.value;const E=y.value;if(p.layout==="popover")return E;if(!g.value)return V.value?E:E.slice(0,a);const F=g.value.toLowerCase();return E.filter(j=>j[x.value].toLowerCase().includes(F))});let m=null;async function _(E){if(b){n.value=!0;try{const F=new URL(b,window.location.origin);F.searchParams.set("json","1"),F.searchParams.set("key",E),F.searchParams.set("limit",a.toString());const j=await fetch(F.toString());if(!j.ok){Z.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),y.value=[];return}const M=await j.json();if(!M[l]){Z.notify({type:"error",title:"Error",message:M}),y.value=[];return}if(y.value=M[l],y.value.length>0){const I=h(y.value);i.value=I.autoValueKey,x.value=I.autoLabelKey}c.value=M.total}catch(F){console.error("Failed to fetch remote options:",F)}finally{n.value=!1}}}e.watch(g,E=>{b&&(m&&clearTimeout(m),m=setTimeout(()=>{_(E)},200))}),e.watch(()=>p.modelValue,E=>{d.value=s(E)},{immediate:!0});function $(E){return f&&Array.isArray(d.value)?d.value.includes(E[i.value]):d.value&&d.value===E[i.value]}function B(E){if(f&&!Array.isArray(d.value)&&(d.value=[]),f&&Array.isArray(d.value)){const F=d.value.includes(E[i.value]);d.value=F?d.value.filter(j=>j!==E[i.value]):[...d.value,E[i.value]],k.value=F?k.value.filter(j=>j!==E[x.value]):[...k.value,E[x.value]]}else d.value=E[i.value],k.value=E[x.value];o("update:modelValue",d.value),o("change",{name:p.name,value:d.value})}function N(){f?(d.value=[],k.value=[]):(d.value=void 0,k.value=[]),o("update:modelValue",d.value),o("clear",p.name)}function A(){m&&clearTimeout(m),g.value="",V.value=!1}function u(){V.value=!V.value}e.onBeforeUnmount(()=>{m&&clearTimeout(m)});const w=e.ref(-1);e.watch(r,()=>{w.value=r.value.length>0?0:-1});function C(E){const F=r.value.length;if(E.key==="ArrowDown")E.preventDefault(),w.value=(w.value+1)%F;else if(E.key==="ArrowUp")E.preventDefault(),w.value=(w.value-1+F)%F;else if(E.key==="Enter"&&(E.preventDefault(),w.value>=0&&w.value<r.value.length)){const j=r.value[w.value];B(j)}}function D(){b&&y.value.length===0&&g.value.length===0&&_(g.value)}return{innerValue:d,searchTerm:g,filteredOptions:r,isSelected:$,selectItem:B,clear:N,resetSearch:A,toggleShowAll:u,isReqProc:n,showAll:V,isEnableShowAll:S,labelKey:x,valueKey:i,allOptions:y,highlightedIndex:w,onKeyDown:C,selectedLabels:k,totalCount:c,loadData:D}}const Ct={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Bt=["placeholder"],Et={key:0,class:"w-full"},Nt={class:"flex flex-col items-center justify-center p-5 text-center"},St={class:"max-w-sm mx-auto mt-6"},_t={class:"font-medium text-gray-800 dark:text-neutral-200"},$t={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Dt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},At=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=z(),a=p,l=b,f=e.ref(null),{innerValue:s,filteredOptions:d,isSelected:g,selectItem:n,clear:y,resetSearch:i,toggleShowAll:x,isReqProc:V,showAll:S,isEnableShowAll:k,searchTerm:c,labelKey:h,valueKey:r,highlightedIndex:m,onKeyDown:_,selectedLabels:$,totalCount:B,loadData:N}=Vt({...a,modelValue:a.modelValue},l);e.onMounted(()=>{i(),a.layout!=="inline"&&(N(),f.value&&a.layout==="popover"&&f.value.focus())}),e.watch(()=>a.modelValue,u=>{u===void 0&&(a.multi?s.value=[]:s.value=void 0)});const A=e.ref([]);return e.watch(m,u=>{u>=0&&A.value[u]&&A.value[u]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(d,()=>{A.value=[]}),o({clear:y,inputTextRef:f,selectedLabels:$,loadData:N}),(u,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([u.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Ct,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w[0]||(w[0]=C=>e.isRef(c)?c.value=C:null),onKeydown:w[1]||(w[1]=(...C)=>e.unref(_)&&e.unref(_)(...C)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",placeholder:e.unref(t)("filter.search"),type:"text",ref_key:"inputTextRef",ref:f},null,40,Bt),[[e.vModelText,e.unref(c)]]),e.createVNode(oe,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(c)!=""?(e.openBlock(),e.createBlock(G,{key:0,onClick:w[2]||(w[2]=C=>c.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass([u.layout==="popover"?"flex-1 overflow-y-auto p-2":"",u.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(C,D)=>(e.openBlock(),e.createBlock(W,{layout:u.layout,count:C.count,label:C[e.unref(h)],color:C.color,type:u.multi?"checkbox":"radio",value:C[e.unref(r)],"is-selected":e.unref(g)(C),highlighted:D===e.unref(m),onItemClick:E=>e.unref(n)(C),ref_for:!0,ref:E=>A.value[D]=E?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),u.type==="select"&&e.unref(d).length===0&&!e.unref(V)?(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("div",Nt,[e.createVNode(H),e.createElementVNode("div",St,[e.createElementVNode("p",_t,e.toDisplayString(e.unref(t)("filter.notfound")),1),w[7]||(w[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),u.layout!=="popover"&&u.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(S)&&e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:w[3]||(w[3]=(...C)=>e.unref(x)&&e.unref(x)(...C)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.more"))+" ",1),e.createVNode(U)])):e.createCommentVNode("",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:w[4]||(w[4]=(...C)=>e.unref(x)&&e.unref(x)(...C)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.less"))+" ",1),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),u.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[u.layout==="inline"?(e.openBlock(),e.createElementBlock("div",$t,[e.createTextVNode(e.toDisplayString(u.multi&&Array.isArray(e.unref(s))?e.unref(s)?.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" / "+e.toDisplayString(e.unref(B))+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[5]||(w[5]=(...C)=>e.unref(y)&&e.unref(y)(...C))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0),u.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Dt,[e.createElementVNode("span",null,e.toDisplayString(u.multi&&Array.isArray(e.unref(s))?e.unref(s)?.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" / "+e.toDisplayString(e.unref(B))+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[6]||(w[6]=(...C)=>e.unref(y)&&e.unref(y)(...C))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ft=["for","onClick"],jt=["id","name","value"],Mt={class:"block"},Rt={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"},Tt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=p,a=b,{innerValue:l,isSelected:f,selectItem:s,clear:d,labelKey:g,valueKey:n,allOptions:y}=t.multi?v({...t,modelValue:t.modelValue??t.default??[]},a):Y({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},a);return o({clear:d}),e.watch(()=>t.modelValue,i=>{i===void 0&&(t.multi?l.value=[]:l.value=void 0)}),(i,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",i.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),V=>(e.openBlock(),e.createElementBlock("label",{key:`item-${V[e.unref(n)]}`,for:`item-${V[e.unref(n)]}`,onClick:e.withModifiers(S=>e.unref(s)(V),["stop","prevent"]),class:e.normalizeClass([e.unref(f)(V)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${V[e.unref(n)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${V[e.unref(n)]}`,value:V[e.unref(n)]},null,8,jt),e.createElementVNode("span",Mt,e.toDisplayString(V[e.unref(g)]),1)],10,Ft))),128))],2),i.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[i.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Rt,[e.createTextVNode(e.toDisplayString(i.multi&&Array.isArray(e.unref(l))?e.unref(l)?.length:e.unref(l)!==void 0&&(e.unref(l)||e.unref(l)===null)?1:0)+" з "+e.toDisplayString(e.unref(y).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[0]||(x[0]=(...V)=>e.unref(d)&&e.unref(d)(...V))}," Очистити ",512),[[e.vShow,e.unref(l)!==""&&e.unref(l)!==void 0||e.unref(l)]])])):e.createCommentVNode("",!0),i.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("span",null,e.toDisplayString(i.multi&&Array.isArray(e.unref(l))?e.unref(l)?.length:e.unref(l)!==void 0&&(e.unref(l)||e.unref(l)===null)?1:0)+" з "+e.toDisplayString(e.unref(y).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[1]||(x[1]=(...V)=>e.unref(d)&&e.unref(d)(...V))}," Очистити ",512),[[e.vShow,e.unref(l)!==void 0&&e.unref(l)!==""||e.unref(l)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),Kt=["disabled","title"],zt={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},Ot={class:"truncate text-ellipsis text-sm"},It={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-sm bg-blue-100 px-2 text-[11px] font-semibold text-blue-600"},Ut={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-sm focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},Pt={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"},J=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(p,{expose:o}){const b=p,t=e.computed(()=>ae(b.mode)),a=e.ref(!1),l=e.ref({top:0,left:0}),f=e.ref(null),s=e.ref(null),d=e.ref(null);function g(){const m=s.value,_=d.value;if(!m||!_)return;const $=m.getBoundingClientRect(),B=_.offsetWidth,N=_.offsetHeight,A=window.innerWidth,u=window.innerHeight,w=8;let C=$.bottom+w,{left:D}=$;const E=Math.max(A-B-10,10);if(D=Math.min(D,E),D=Math.max(D,10),C+N>u-10){const F=$.top-N-w;C=F>=10?F:Math.max(u-N-10,10)}C<10&&(C=10),l.value={top:C,left:D}}function n(){a.value=!a.value,a.value&&e.nextTick(()=>{g(),b.fieldRef?.inputTextRef&&b.fieldRef?.inputTextRef?.focus?.(),b.fieldRef?.loadData&&b.fieldRef?.loadData?.()})}function y(m){!f.value?.contains(m.target)&&!d.value?.contains(m.target)&&!s.value?.contains(m.target)&&(a.value=!1)}function i(m){m.key==="Escape"&&(a.value=!1)}const x=e.ref(!1),V=e.ref("ua"),S=m=>{m.detail.key==="locale"&&(V.value=m.detail.newValue)};e.onMounted(()=>{x.value=!0,V.value=localStorage.locale,window.addEventListener("storage",S),document.addEventListener("click",y,!0),document.addEventListener("keydown",i),window.addEventListener("scroll",g,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",S),document.removeEventListener("click",y,!0),document.removeEventListener("keydown",i),window.removeEventListener("scroll",g,!0)});function k(){a.value=!1}o({close:k});function c(m){return Array.isArray(m)?m.filter(_=>_!=null&&_!=="").length:m&&typeof m=="object"?Object.values(m).filter(_=>_!=null&&_!=="").length:typeof m=="string"?m.trim()===""?0:1:typeof m=="number"?Number.isNaN(m)?0:1:m===null||m!==void 0?1:0}const h=e.computed(()=>{const m=b.fieldRef?.selectedLabels,_=c(m);return _>0?_:c(b.currentValue)}),r=e.computed(()=>{const m=b.fieldRef?.selectedLabels;return!m||["inline"].includes(b.layout||"")?b[V.value]||(b.label??""):Array.isArray(m)?m.length>0?m.join(", "):b.label??"":String(m)});return(m,_)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:n,disabled:m.disabled,ref_key:"triggerRef",ref:s,title:m.label,class:e.normalizeClass([t.value,m.width?e.unref(ne).getWidthClass(m.width):"w-full",m.layout==="inline"&&h.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",zt,[e.createElementVNode("span",Ot,e.toDisplayString(r.value),1),m.layout==="inline"&&h.value>0?(e.openBlock(),e.createElementBlock("span",It,e.toDisplayString(h.value),1)):e.createCommentVNode("",!0)]),e.createVNode(U,{class:"h-4 w-4 text-neutral-500"})],10,Kt),x.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:d,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${l.value.top}px`,left:`${l.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Ut,[e.createElementVNode("div",Pt,[e.renderSlot(m.$slots,"default")])])],4),[[e.vShow,a.value]])])):e.createCommentVNode("",!0)]))}}),qt={},Wt={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(p,o){return e.openBlock(),e.createElementBlock("svg",Wt,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Ht=T(qt,[["render",Yt]]),Qt={},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 Jt(p,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 Xt=T(Qt,[["render",Jt]]),Zt={class:"flex gap-1"},vt={class:"mb-1"},el={class:"mb-1"},tl={class:"inline-flex rounded-sm shrink-0 pl-1"},ll=["title"],ol={class:"inline-flex rounded-sm shrink-0 pl-1"},nl=["title"],rl={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},al=["max","value","disabled"],sl=["min","value","disabled"],fo={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},il=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=z(),a=p,l=b,f=e.ref(null),{activeMode:s,innerValue:d,onSelectChange:g,nextClick:n,prevClick:y,currentLabel:i,clear:x}=se({...a,popoverRef:f},l);e.watch(()=>a.modelValue,k=>{k!==void 0?(d.value=k,l("update:modelValue",k)):(s.value="",d.value=[])}),e.watch(d,k=>{l("update:modelValue",k),l("change",{name:a.name,value:k})},{deep:!0});function V(k){const c=Array.isArray(d.value)?[...d.value]:[];d.value=[k,c[1]||""]}function S(k){const c=Array.isArray(d.value)?[...d.value]:[];d.value=[c[0]||"",k]}return o({clear:x,popoverRef:f}),(k,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Zt,[e.createVNode(J,{ref_key:"popoverRef",ref:f,label:e.unref(i),"current-value":e.unref(d),mode:k.mode,width:typeof k.width=="number"&&e.unref(d).length?k.width-70:k.width,onClear:e.unref(x),layout:k.layout,class:e.normalizeClass(k.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[0]||(c[0]=h=>e.unref(g)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.period"))+" ",1),e.unref(s)==="range"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),c[12]||(c[12]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[1]||(c[1]=h=>e.unref(g)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.today"))+" ",1),e.unref(s)==="today"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[2]||(c[2]=h=>e.unref(g)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.week"))+" ",1),e.unref(s)==="week"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[3]||(c[3]=h=>e.unref(g)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.month"))+" ",1),e.unref(s)==="month"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[4]||(c[4]=h=>e.unref(g)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.quarter"))+" ",1),e.unref(s)==="quarter"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",vt,[e.createElementVNode("button",{type:"button",onClick:c[5]||(c[5]=h=>e.unref(g)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.year"))+" ",1),e.unref(s)==="year"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",el,[e.createElementVNode("button",{type:"button",onClick:c[6]||(c[6]=h=>e.unref(x)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.alltime"))+" ",1),e.unref(d)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(O,{key:0}))])])]),_:1},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(s)!==""&&e.unref(s)!=="range"&&e.unref(s)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",title:e.unref(t)("filter.prev"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:c[7]||(c[7]=(...h)=>e.unref(y)&&e.unref(y)(...h))},[e.createVNode(Ht)],8,ll)]),e.createElementVNode("div",ol,[e.createElementVNode("button",{type:"button",title:e.unref(t)("filter.next"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:c[8]||(c[8]=(...h)=>e.unref(n)&&e.unref(n)(...h))},[e.createVNode(Xt)],8,nl)])],64)):e.createCommentVNode("",!0),e.unref(s)!==""&&e.unref(s)==="range"?(e.openBlock(),e.createElementBlock("div",rl,[e.createElementVNode("input",{type:"date",max:e.unref(d)[1],locale:"uk-UA",value:e.unref(d)[0],onInput:c[9]||(c[9]=h=>V(h.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:k.disabled},null,40,al),e.createElementVNode("input",{type:"date",min:e.unref(d)[0],locale:"uk-UA",value:e.unref(d)[1],onInput:c[10]||(c[10]=h=>S(h.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:k.disabled},null,40,sl)])):e.createCommentVNode("",!0)]),(k.cleanable,e.createCommentVNode("",!0))],64))}}),cl={class:"flex flex-wrap items-center gap-2"},dl=["disabled","onClick"],ml={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},ie={radio:ze,checkbox:le,check:le,text:et,range:ct,date:wt,select:At,tag:Tt,button:e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=p,a=b,{innerValue:l,isSelected:f,selectItem:s,clear:d,labelKey:g,valueKey:n,allOptions:y}=Y({...t,modelValue:t.modelValue??t.default??""},a),i=e.computed(()=>l.value!==void 0&&!(typeof l.value=="string"&&l.value==="")),x=e.computed(()=>i.value?1:0);function V(k){return f(k)?["bg-blue-600 text-white"].filter(c=>typeof c=="string"&&c.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(c=>typeof c=="string"&&c.trim().length>0).join(" ")}function S(k){t.disabled||s(k)}return o({clear:d}),e.watch(()=>t.modelValue,k=>{k===void 0&&(l.value=void 0)}),(k,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",cl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),h=>(e.openBlock(),e.createElementBlock("button",{key:h[e.unref(n)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",V(h)]),disabled:k.disabled,onClick:r=>S(h)},e.toDisplayString(h[e.unref(g)]),11,dl))),128))]),k.cleanable&&k.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("span",null,e.toDisplayString(x.value)+" з "+e.toDisplayString(e.unref(y).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[0]||(c[0]=(...h)=>e.unref(d)&&e.unref(d)(...h))}," Очистити ",512),[[e.vShow,i.value]])])):e.createCommentVNode("",!0)],64))}}),"date:inline":il};function X(p,o){let b;switch(p.toLowerCase()){case"autocomplete":b="select";break;case"check":b="checkbox";break;default:b=p?.toString().toLowerCase()}return b==="date"&&o&&o==="inline"&&(b="date:inline"),{component:ie[b]||ie.text,type:b}}const fl={style:{display:"inline-flex",margin:"0px",width:"100%"}},ul={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},pl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},yl={class:"flex items-center"},gl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},hl={class:"filter-layout__body"},bl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=p,a=b,l=e.ref(),f=e.computed(()=>X(t.type,t.layout)),s=e.computed({get:()=>t.modelValue,set:y=>a("update:modelValue",y)});function d(y){a("clear",y)}function g(y,i){a("change",{name:y,value:i}),t.modelValue!==void 0&&a("update:modelValue",i)}function n(){a("clear",t.name)}return e.watch(()=>t.default,y=>{s.value=y}),e.watch(()=>t.modelValue,y=>{s.value=y}),o({filterRef:l}),(y,i)=>(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",ul,[e.createElementVNode("div",pl,[e.createElementVNode("div",yl,[e.createElementVNode("span",gl,e.toDisplayString(y.label),1)]),typeof s.value=="string"&&s.value.trim()!==""||Array.isArray(s.value)&&s.value.length>0&&s.value.some(x=>x!==void 0)||s.value===null?(e.openBlock(),e.createBlock(ge,{key:0,onClick:n})):e.createCommentVNode("",!0)]),e.createElementVNode("div",hl,[f.value?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value?.component),e.mergeProps({key:0},t,{type:f.value?.type,class:t.itemClass,onChange:i[0]||(i[0]=x=>g(x.name,x.value)),onClear:i[1]||(i[1]=x=>d(x)),ref_key:"filterRef",ref:l}),null,16,["type","class"])):(e.openBlock(),e.createBlock(J,{key:1,"current-value":s.value,label:y.label,mode:y.mode,onClear:n,fieldRef:l.value,width:void 0,disabled:y.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value?.component),e.mergeProps({ref_key:"filterRef",ref:l},t,{type:f.value?.type,class:t.itemClass,onChange:i[2]||(i[2]=x=>g(x.name,x.value)),onClear:i[3]||(i[3]=x=>d(x))}),null,16,["type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),ce=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=p,a=b,l=e.ref(),f=e.computed(()=>X(t.type,t.layout)),s=e.computed({get:()=>t.modelValue,set:n=>a("update:modelValue",n)});function d(n=t.name){a("clear",n)}function g(n,y){a("change",{name:n,value:y}),t.modelValue!==void 0&&a("update:modelValue",y)}return e.watch(()=>t.default,n=>{s.value=n}),e.watch(()=>t.modelValue,n=>{s.value=n}),o({filterRef:l}),(n,y)=>["text","date","button"].includes(n.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value?.component),e.mergeProps({key:0},t,{type:f.value?.type,class:n.itemClass,onChange:y[0]||(y[0]=i=>g(i.name,i.value)),onClear:y[1]||(y[1]=i=>d(i)),disabled:n.disabled,modelValue:s.value,"onUpdate:modelValue":y[2]||(y[2]=i=>s.value=i)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(J,{key:1,"current-value":s.value,label:n.label,mode:n.mode,onClear:d,fieldRef:l.value,width:t.width,disabled:n.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value?.component),e.mergeProps({ref_key:"filterRef",ref:l},t,{modelValue:s.value,"onUpdate:modelValue":y[3]||(y[3]=i=>s.value=i),type:f.value?.type,class:t.itemClass,onChange:y[4]||(y[4]=i=>g(i.name,i.value)),onClear:y[5]||(y[5]=i=>d(i))}),null,16,["modelValue","type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),kl=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=p,a=b,l=e.ref(),f=e.computed(()=>X(t.type,t.layout)),s=e.computed({get:()=>t.modelValue,set:n=>a("update:modelValue",n)});function d(n){a("clear",n)}function g(n,y){a("change",{name:n,value:y}),t.modelValue!==void 0&&a("update:modelValue",y)}return e.watch(()=>t.default,n=>{s.value=n}),e.watch(()=>t.modelValue,n=>{s.value=n}),e.watch(()=>t,n=>{s.value=n}),o({filterRef:l}),(n,y)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value?.component),e.mergeProps(t,{type:f.value?.type,class:t.itemClass,modelValue:s.value,"onUpdate:modelValue":y[0]||(y[0]=i=>s.value=i),onChange:y[1]||(y[1]=i=>g(i.name,i.value)),onClear:y[2]||(y[2]=i=>d(i)),ref_key:"filterRef",ref:l}),null,16,["type","class","modelValue"]))}}),K=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:b}){const t=p,a=b,l=e.ref(),f=e.computed({get:()=>t.modelValue,set:n=>a("update:modelValue",n)});function s(n){a("clear",n)}function d(n,y){a("change",{name:n,value:y}),t.modelValue!==void 0&&a("update:modelValue",y)}e.watch(()=>t.default,n=>{f.value=n}),e.watch(()=>t.modelValue,n=>{f.value=n}),o({filterRef:l});function g(){switch(t.layout){case"inline":return ce;case"vertical":return bl;case"popover":return kl;default:return ce}}return(n,y)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g()),e.mergeProps(t,{onChange:y[0]||(y[0]=i=>d(i.name,i.value)),onClear:y[1]||(y[1]=i=>s(i)),modelValue:f.value,"onUpdate:modelValue":y[2]||(y[2]=i=>f.value=i)}),null,16,["modelValue"]))}});function P(p,o){const{slots:b}=p,t=c=>c?JSON.parse(JSON.stringify(e.toRaw(c))):{},a=e.ref(t(p.value));e.watch(()=>p.value,c=>{a.value=t(c)},{deep:!0,immediate:!0});const l=e.computed(()=>(e.toRaw(b?.default?.())??[]).flatMap(h=>Array.isArray(h.children)?h.children:[h]));function f(c){delete a.value[c],o("clear",{data:e.toRaw(a.value),name:c})}function s(c,h){h===void 0?f(c):a.value={...a.value,[c]:h},o("change",{data:e.toRaw(a.value),name:c,value:h})}const d=e.computed(()=>l.value.map(c=>{const h=c.props?.name;return e.cloneVNode(c,{...c.props,layout:p.view,showClean:!0,modelValue:a.value[h],"onUpdate:modelValue":r=>{s(h,r)},onClear:()=>f(h),class:[p.itemClass,c.props?.class],itemClass:[p.itemClass,c.props?.itemClass].filter(r=>typeof r=="string"&&r.trim().length>0).join(" ")||void 0})})),g=e.computed(()=>new Map(d.value.map(c=>{const h=c.props?.name;return h?[h,c]:null}).filter(c=>c!==null)));function n(c=!1){a.value={},c||o("clearAll",{data:e.toRaw(a.value),name:"ALL"})}const y=e.ref(""),i=e.computed(()=>p.schema?.value?Object.entries(a.value).filter(([c,h])=>p.schema&&!(c in p.schema.value)?!1:Array.isArray(h)?h.some(r=>r!==""&&r!==void 0):h!==""&&h!==void 0).length:0),x=e.ref();e.watch(y,async()=>{await e.nextTick(),x?.value?.filterRef?.inputTextRef&&x.value.filterRef.inputTextRef.focus()});const V=e.computed(()=>p.schema?.value?Object.fromEntries(Object.entries(p.schema?.value).slice(0,p.limit)):{}),S=e.computed(()=>{if(d.value.length===0)return[];let c=0;if(p.schema?.value){const h=Object.entries(p.schema.value).length;p.limit&&h<p.limit?c=p.limit-h:c=0}return d.value.slice(0,c)}),k=e.computed(()=>d.value.length===0?[]:p.view!=="inline"?d.value:d.value.slice(S.value.length));return{activeFilter:a,activeFilterCount:i,onFilterChange:s,clearFilter:f,clearAllFilters:n,limitedSchema:V,filtersSlot:d,limitedFiltersSlot:S,popoverFiltersSlot:k,vnodeMap:g,selectedFilter:y,filterRef:x}}const xl=e.defineComponent({__name:"popover",emits:["open","close"],setup(p,{emit:o}){const b=e.ref(!1),t=e.ref(null),a=e.ref(null),l=e.ref(null),f=e.ref({top:"0px",left:"0px",position:"absolute"}),s=e.ref(!1);function d(){b.value=!b.value}function g(){const V=l.value,S=t.value;if(!V||!S)return;const{left:k,bottom:c}=V.getBoundingClientRect();requestAnimationFrame(()=>{if(!S)return;const{width:h}=S.getBoundingClientRect(),r=S.offsetWidth||h,m=window.innerWidth||document.documentElement.clientWidth,_=m-k;let $=k;r>_&&($=m-r-18),$<18&&($=18);const B=m-r-18;$>B&&($=Math.max(18,B)),f.value={position:"fixed",top:`${c+18}px`,left:`${$}px`},s.value=!0})}const n=e.computed(()=>Object.entries(f.value).map(V=>V.join(":")).join(";"));function y(V){const S=V.target;!l.value?.contains(V.target)&&!t.value?.contains(V.target)&&!S.closest("[data-inside-popover]")&&(b.value=!1)}const i=e.ref(!1);e.onMounted(()=>{i.value=!0}),e.onMounted(()=>{l.value=a.value?.querySelector("[data-popover-trigger]")||null,l.value?.addEventListener("click",d),document.addEventListener("click",y),window.addEventListener("resize",g),window.addEventListener("scroll",g,!0)}),e.onBeforeUnmount(()=>{l.value?.removeEventListener("click",d),document.removeEventListener("click",y),window.removeEventListener("resize",g),window.removeEventListener("scroll",g,!0)});const x=o;return e.watch(b,async V=>{V?(s.value=!1,x("open"),await e.nextTick(),requestAnimationFrame(()=>{g()})):(x("close"),s.value=!1)}),(V,S)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:a},[e.renderSlot(V.$slots,"trigger"),i.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:t,class:"fixed z-[50] w-[calc(100vw-32px)] md:w-[600px] rounded-md border bg-white shadow-md transition-opacity duration-0",style:e.normalizeStyle([n.value,{visibility:s.value?"visible":"hidden",opacity:s.value?1:0}])},[e.renderSlot(V.$slots,"default")],4),[[e.vShow,b.value]])])):e.createCommentVNode("",!0)],512))}}),wl={},Vl={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 Cl(p,o){return e.openBlock(),e.createElementBlock("svg",Vl,[...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 de=T(wl,[["render",Cl]]),Bl={class:"flex items-center gap-2 overflow-hidden"},El={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-500 px-1 text-[11px] font-semibold text-white"},Nl={class:"flex max-h-[400px] md:max-h-[400px]"},Sl={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},_l={class:"p-2 md:p-4 border-b"},$l={class:"text-xs md:text-sm text-gray-600"},Dl={class:"p-1 md:p-2"},Al=["onClick"],Fl={class:"flex items-center gap-1.5 md:gap-2"},jl={class:"text-xs md:text-sm font-medium line-clamp-3"},Ml={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Rl=["onClick"],Ll={class:"flex items-center gap-1.5 md:gap-2"},Tl={class:"text-xs md:text-sm font-medium truncate"},Kl={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},zl={key:0,class:"p-1 md:p-2 border-t"},Ol={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Il={key:0,class:"flex items-center justify-center h-full text-gray-500"},Ul={class:"text-xs md:text-sm"},me=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{expose:o,emit:b}){const t=z(),a=p,l=ae(a.mode),f=e.useSlots(),s=b,d=e.ref({}),g=e.computed(()=>d?.value?a.view!=="inline"?d?.value:Object.fromEntries(Object.entries(d?.value).slice(a.limit)):{}),{activeFilter:n,activeFilterCount:y,onFilterChange:i,clearFilter:x,clearAllFilters:V,popoverFiltersSlot:S,selectedFilter:k,filterRef:c}=P({...a,schema:d,slots:f},s),h=e.computed(()=>a.badgeCount??y.value);function r($){return Array.isArray($)?$.filter(B=>B!=null&&B!=="").length:$&&typeof $=="object"?Object.values($).filter(B=>B!=null&&B!=="").length:$===null||$!==void 0&&$!==""?1:0}function m($){return n.value?r(n.value[$]):0}function _(){if(g.value){const[$]=Object.keys(g.value);k.value=$}else S.value.length>0?k.value=S.value[0].props.name:k.value=""}return e.watch(()=>a.schema,$=>{d.value=$??{}},{deep:!0,immediate:!0}),o({clearFilter:x,clearAllFilters:V}),($,B)=>(e.openBlock(),e.createBlock(xl,{onOpen:_,onClose:B[5]||(B[5]=N=>k.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([$.itemClass,e.unref(l),"flex items-center justify-between gap-2",h.value>0?"border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500":"text-neutral-700 hover:border-neutral-400"]),type:"button"},[e.createElementVNode("span",Bl,[e.createVNode(de,{class:"h-4 w-4"}),B[6]||(B[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),h.value>0?(e.openBlock(),e.createElementBlock("span",El,e.toDisplayString(h.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Nl,[e.createElementVNode("div",Sl,[e.createElementVNode("div",_l,[e.createElementVNode("p",$l,e.toDisplayString(e.unref(t)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",Dl,[$.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([N,A])=>(e.openBlock(),e.createElementBlock("button",{key:N,onClick:()=>{k.value=N},class:e.normalizeClass(["flex w-full items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(k)===N?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Fl,[e.createElementVNode("span",jl,e.toDisplayString(A.label),1)]),m(N)>0?(e.openBlock(),e.createElementBlock("div",Ml,e.toDisplayString(m(N)),1)):e.createCommentVNode("",!0)],10,Al))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S),(N,A)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+A,onClick:u=>k.value=N.props.name,class:e.normalizeClass(["flex items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(k)===N.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Ll,[e.createElementVNode("span",Tl,e.toDisplayString(N.props.label),1)]),m(N.props.name)>0?(e.openBlock(),e.createElementBlock("div",Kl,e.toDisplayString(m(N.props.name)),1)):e.createCommentVNode("",!0)],10,Rl))),128))]),e.unref(y)>0?(e.openBlock(),e.createElementBlock("div",zl,[e.createElementVNode("button",{class:e.normalizeClass([$.itemClass,"w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:B[0]||(B[0]=N=>e.unref(V)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ol,[e.unref(k)===""?(e.openBlock(),e.createElementBlock("div",Il,[e.createElementVNode("p",Ul,e.toDisplayString(e.unref(t)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[g.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(g.value),([N,A])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(k)===N?(e.openBlock(),e.createBlock(K,e.mergeProps({key:N,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:c},{ref_for:!0},A,{class:[$.itemClass,A?.class],"item-class":[$.itemClass,A?.itemClass].filter(Boolean).join(" ")||void 0,onChange:B[1]||(B[1]=u=>e.unref(i)(u.name,u.value)),onClear:B[2]||(B[2]=u=>{e.unref(x)(u),e.unref(i)(u,void 0)}),modelValue:e.unref(n)[N],"onUpdate:modelValue":u=>e.unref(n)[N]=u,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S),(N,A)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+A},[e.unref(k)===N.props.name?(e.openBlock(),e.createBlock(K,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},N.props,{ref_for:!0,ref_key:"filterRef",ref:c,class:[$.itemClass,N.props?.class],"item-class":[$.itemClass,N.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:B[3]||(B[3]=u=>e.unref(i)(u.name,u.value)),onClear:B[4]||(B[4]=u=>{e.unref(x)(u),e.unref(i)(u,void 0)}),modelValue:e.unref(n)[N.props.name],"onUpdate:modelValue":u=>e.unref(n)[N.props.name]=u,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Pl={class:"flex gap-1 items-center flex-wrap"},fe=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{expose:o,emit:b}){const t=z(),a=p,l=b,f=e.useSlots(),s=e.ref({}),d=e.computed(()=>Object.keys(a.schema).length>a.limit),{activeFilter:g,activeFilterCount:n,onFilterChange:y,clearFilter:i,clearAllFilters:x,limitedSchema:V,filtersSlot:S,limitedFiltersSlot:k}=P({...a,schema:s,slots:f},l);function c(B){return Array.isArray(B)?B.some(N=>N!==""&&N!==void 0&&N!==null):B===null?!0:B&&typeof B=="object"?Object.values(B).some(N=>N!==""&&N!==void 0&&N!==null):B!==""&&B!==void 0}const h=e.computed(()=>{const B=Object.keys(V.value??{}),N=k.value.map(A=>A.props?.name).filter(A=>typeof A=="string");return new Set([...B,...N])}),r=e.computed(()=>Object.entries(g.value??{}).filter(([B,N])=>h.value.has(B)&&c(N)).length),m=e.computed(()=>{const B=n.value??0,N=r.value??0;return Math.max(B-N,0)}),_=e.ref();function $(){_.value&&_.value.clearAllFilters(!0),x()}return e.watch(()=>a.schema,B=>{s.value=B},{deep:!0,immediate:!0}),o({clearFilter:i,clearAllFilters:x}),(B,N)=>(e.openBlock(),e.createElementBlock("div",Pl,[B.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(V)),([A,u])=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:A,mode:B.mode,width:B.width?B.width:u?.width},{ref_for:!0},u,{class:[B.itemClass,u?.class],"item-class":[B.itemClass,u?.itemClass].filter(Boolean).join(" ")||void 0,onChange:N[0]||(N[0]=w=>e.unref(y)(w.name,w.value)),onClear:e.unref(i),layout:"inline",cleanable:!0,modelValue:e.unref(g)[A],"onUpdate:modelValue":w=>e.unref(g)[A]=w}),null,16,["mode","width","class","item-class","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(A,u)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+u,layout:"inline"},{ref_for:!0},A.props,{class:[B.itemClass,A.props?.class],"item-class":[B.itemClass,A.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:N[1]||(N[1]=w=>e.unref(y)(w.name,w.value)),onClear:N[2]||(N[2]=w=>{e.unref(i)(w),e.unref(y)(w,void 0)}),cleanable:!0,modelValue:e.unref(g)[A.props.name],"onUpdate:modelValue":w=>e.unref(g)[A.props.name]=w}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128)),d.value?(e.openBlock(),e.createBlock(me,e.mergeProps({key:1},a,{schema:B.schema,limit:B.limit,onChange:N[3]||(N[3]=A=>e.unref(y)(A.name,A.value)),onClearAll:N[4]||(N[4]=A=>e.unref(x)()),onClear:N[5]||(N[5]=A=>e.unref(i)(A.name)),mode:B.mode,ref_key:"popoverRef",ref:_,cleanable:!0,"badge-count":m.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S),(A,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A),e.mergeProps({key:"slot-"+u,layout:"popover"},{ref_for:!0},A.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(n)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:$,class:e.normalizeClass([B.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(t)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),ql={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"},Wl={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Yl=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{expose:o,emit:b}){const t=p,a=b,l=e.useSlots(),{activeFilter:f,activeFilterCount:s,onFilterChange:d,clearFilter:g,clearAllFilters:n,filtersSlot:y}=P({...t,slots:l},a);return o({clearFilter:g,clearAllFilters:n}),(i,x)=>i.view==="vertical"?(e.openBlock(),e.createElementBlock("div",ql,[e.createElementVNode("div",Wl,[e.unref(s)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x[0]||(x[0]=V=>e.unref(n)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([i.itemClass,"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),type:"button"}," Очистити ",2)):e.createCommentVNode("",!0),i.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(i.schema),([V,S])=>(e.openBlock(),e.createBlock(K,e.mergeProps({layout:"vertical"},{ref_for:!0},S,{class:[i.itemClass,S?.class],"item-class":[i.itemClass,S?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[1]||(x[1]=k=>e.unref(d)(k.name,k.value)),onClear:x[2]||(x[2]=k=>{e.unref(g)(k),e.unref(d)(k,void 0)}),modelValue:e.unref(f)[V],"onUpdate:modelValue":k=>e.unref(f)[V]=k,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),(V,S)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+S,layout:"vertical"},{ref_for:!0},V.props,{class:[i.itemClass,V.props?.class],"item-class":[i.itemClass,V.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[3]||(x[3]=k=>e.unref(d)(k.name,k.value)),onClear:x[4]||(x[4]=k=>{e.unref(g)(k),e.unref(d)(k,void 0)}),modelValue:e.unref(f)[V.props.name],"onUpdate:modelValue":k=>e.unref(f)[V.props.name]=k,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),Hl=["onKeydown"],Ql=["disabled"],Gl={key:0,class:"ml-2 inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-full bg-blue-500 px-1.5 text-[11px] font-semibold text-white"},Jl={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Xl={class:"mb-3 flex items-center justify-between"},Zl={class:"text-[15px] font-semibold text-slate-800"},vl={"aria-hidden":"true"},eo={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},to={key:0,class:"mt-3 flex justify-end"},lo=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{emit:o}){const b=z(),t=p,a=o,l=e.ref({}),f=e.useSlots(),{activeFilter:s,activeFilterCount:d,onFilterChange:g,clearFilter:n,clearAllFilters:y,filtersSlot:i}=P({...t,schema:l.value,slots:f},a),x=e.ref(null),V=e.ref(null),S=e.reactive({open:!1,top:0,left:0}),k=e.computed(()=>S.open),c=e.computed(()=>!!t.disabled),h=e.computed(()=>l.value||{}),r=e.computed(()=>t.title??"Фільтр"),m=e.computed(()=>!!f.trigger),_=e.computed(()=>["inline-flex h-9 items-center justify-center gap-2 rounded-lg border border-transparent bg-slate-200/70 px-3 text-sm font-medium text-slate-700 transition-colors hover:bg-blue-100 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-slate-200/70 disabled:hover:text-slate-700",c.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),$=e.computed(()=>S.open?{position:"absolute",top:`${S.top}px`,left:`${S.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function B(){S.open=!1}function N(){if(!x.value)return;const D=x.value.getBoundingClientRect();S.top=D.bottom+window.scrollY+8,S.left=D.left+D.width/2+window.scrollX}function A(){S.open=!S.open,S.open&&e.nextTick(N)}function u(){c.value||A()}function w(){S.open&&N()}function C(){y()}return e.onMounted(()=>{window.addEventListener("resize",w),window.addEventListener("scroll",w,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",w),window.removeEventListener("scroll",w,!0)}),e.watch(()=>t.schema,D=>{if(!D){l.value={};return}if(Array.isArray(D)){const E=D.filter(F=>F&&(F.name||F.id)).map(F=>{const j=F.name||F.id;return[j,{...F,name:j}]});l.value=Object.fromEntries(E);return}l.value=D},{deep:!0,immediate:!0}),e.watch(()=>t.disabled,D=>{D&&B()}),(D,E)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:x},[m.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",c.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(u,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(u,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(u,["prevent","stop"]),["space"])]},[e.renderSlot(D.$slots,"trigger",{toggle:u,open:k.value,disabled:c.value,activeCount:e.unref(d)})],42,Hl)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(_.value),type:"button",disabled:c.value,onClick:e.withModifiers(u,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(de,{class:"h-4 w-4"}),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",Gl,e.toDisplayString(e.unref(d)),1)):e.createCommentVNode("",!0)],10,Ql)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[k.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof D.width=="number"?`min-w-[${D.width+32+(Object.keys(h.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle($.value),ref_key:"panel",ref:V,onClick:E[4]||(E[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Jl,[e.createElementVNode("div",Xl,[e.createElementVNode("h3",Zl,e.toDisplayString(r.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:B},[e.createElementVNode("span",vl,[e.createVNode(G,{class:"h-4 w-4"})]),E[5]||(E[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",eo,[Object.keys(h.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(h.value),([F,j])=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:F},{ref_for:!0},{...j,layout:"inline"},{width:D.width?D.width:j?.width,class:[D.itemClass,j?.class],"item-class":[D.itemClass,j?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(s)[F],"onUpdate:modelValue":M=>e.unref(s)[F]=M,onChange:E[0]||(E[0]=M=>e.unref(g)(M.name,M.value)),onClear:E[1]||(E[1]=M=>{e.unref(n)(M),e.unref(g)(M,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(F,j)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+j,ref_for:!0},{...F.props,layout:"inline"},{class:[D.itemClass,F.props?.class],"item-class":[D.itemClass,F.props?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(s)[F.props.name],"onUpdate:modelValue":M=>e.unref(s)[F.props.name]=M,onChange:E[2]||(E[2]=M=>e.unref(g)(M.name,M.value)),onClear:E[3]||(E[3]=M=>{e.unref(n)(M),e.unref(g)(M,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))]),e.unref(d)>0?(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([D.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:C},e.toDisplayString(e.unref(b)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),oo={class:"mb-6 flex flex-wrap gap-2"},no=["onClick"],ro={class:"mr-2 flex items-center gap-1"},ao={class:"font-semibold"},so={class:"text-xs text-gray-500"},q=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{expose:o,emit:b}){const t=p,a=e.useAttrs(),l=e.computed(()=>({...t,...a})),f=e.ref(n(t.value??{}));e.watch(()=>t.value,async u=>{f.value=n(u??{}),(!u||Object.keys(u).length===0)&&(await e.nextTick(),d.value?.clearAllFilters?.(!0))},{deep:!0,immediate:!0});const s=b,d=e.ref(),g=e.useSlots();function n(u){if(Array.isArray(u))return u.map(w=>n(w));if(u!==null&&typeof u=="object"){const w=e.toRaw(u),C={};for(const D in w)C[D]=n(w[D]);return C}return u}function y(u,w){w!==void 0?f.value={...f.value,[u]:w}:delete f.value[u],s("change",{data:n(f.value),name:u,value:n(w)})}function i(u){delete f.value[u],s("clear",{data:n(f.value),name:u}),s("change",{data:n(f.value),name:u,value:null})}function x(){f.value={},s("clear",{data:n(f.value),name:"ALL"}),s("change",{data:n(f.value),name:"ALL",value:null})}const V=e.ref({}),S=e.computed(()=>t.teleportActive);function k(){switch(t.view){case"inline":return fe;case"vertical":return Yl;case"popover":return me;case"popover-inline":return lo;default:return fe}}e.watch(()=>t.schema,u=>{if(!u){V.value={};return}if(Array.isArray(u)&&!u.length){V.value={};return}Array.isArray(u)?V.value=u.filter(w=>w.type).reduce((w,C)=>(Object.assign(C,{name:C.id||C.name,type:{datepicker:"date"}[C.type.toLowerCase()]||C.type.toLowerCase(),label:C.label||C.ua}),w[C.name]=C,C.data&&!C.api&&!C.options&&Object.assign(C,{api:`/api/suggest/${C.data}`}),w),{}):(Object.entries(u).forEach(([w,C])=>{Object.assign(C,{name:w||C.name||C.id,type:C.type.toLowerCase()})}),V.value={...u})},{immediate:!0,deep:!0});function c(u){d.value.clearFilter(u),i(u)}function h(){d.value.clearAllFilters(),x()}const r=e.computed(()=>Object.entries(f.value).filter(([,u])=>u==null?!1:Array.isArray(u)?u.length>0:typeof u=="string"?u.trim().length>0:!0).map(([u,w])=>{const C=V.value[u],D=C?.label||C?.title||u,E=_(C,w);return{key:u,label:D,value:E}}));function m(u){c(u)}function _(u,w){if(!u||w===void 0||w===null)return"";const C=$(w);if(!C.length)return"";const D=B(u);return C.map(E=>D.get(E)??E).filter(Boolean).join(", ")}function $(u){return Array.isArray(u)?u.map(w=>w?.toString?.()??"").filter(Boolean):typeof u=="string"?u.split(",").map(w=>w.trim()).filter(Boolean):[]}function B(u){const w=new Map,C=u.valueKey||"id",D=u.labelKey||"text";return(u.options??[]).forEach(E=>{const F=N(E,C),j=A(E,D);F&&w.set(F,j||F)}),w}function N(u,w){return u?(u[w]??u.id??u.value??u.key)?.toString?.()??"":""}function A(u,w){return u?(u[w]??u.text??u.label??u.value??u.id)?.toString?.()??"":""}return e.watch(()=>f.value,u=>{if(t.history){const w=new URL(window.location.href),C=new URLSearchParams(window.location.search);Object.keys(u).length>0?C.set("filter",Object.entries(u).filter(([,D])=>D).map(([D,E])=>`${D}=${E}`).join("|")):C.delete("filter"),w.search=decodeURI(C.toString()),window.history.pushState({},"",w)}}),o({clearAllFilters:h,clearFilter:c}),(u,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k()),e.mergeProps(l.value,{schema:V.value,onChange:w[0]||(w[0]=C=>y(C.name,C.value)),onClear:w[1]||(w[1]=C=>i(C.name)),onClearAll:x,ref_key:"filterRef",ref:d}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:2},[e.unref(g).trigger?{name:"trigger",fn:e.withCtx(C=>[e.renderSlot(u.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(C)))]),key:"0"}:void 0]),1040,["schema"])),S.value&&r.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:S.value},[e.createElementVNode("div",oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,C=>(e.openBlock(),e.createElementBlock("button",{key:C.key,type:"button",class:"ga1u8 zw1wr sr4j9 flex items-center zu875 kew0r w9dei w4xo0 kghwt wz1vo focus:outline-hidden gugmw dark:bg-emerald-500 dark:hover:bg-emerald-600 dark:focus:bg-emerald-600 bg-white border border-gray-200 px-3 py-1 rounded-full text-sm text-gray-700",onClick:D=>m(C.key)},[e.createElementVNode("span",ro,[e.createElementVNode("span",ao,e.toDisplayString(C.label),1),e.createElementVNode("span",so,"· "+e.toDisplayString(C.value),1)]),w[2]||(w[2]=e.createElementVNode("span",{class:"g424j flex flex-col jkwm1 items-center b9gop aqyoh ad7q2 kghwt t4363 q7nhl dark:text-emerald-500"},[e.createElementVNode("svg",{class:"e731n u28hb",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})])],-1))],8,no))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});q.install=function(o){o.component("Filter",q),o.component("FilterField",K)},L.Filter=q,L.FilterField=K,L.default=q,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(L,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@opengis/core")):typeof define=="function"&&define.amd?define(["exports","vue","@opengis/core"],e):(L=typeof globalThis<"u"?globalThis:L||self,e(L.FilterLib={},L.Vue,L.OpenGISCore))})(this,(function(L,e,Z){"use strict";const T=(p,o)=>{const g=p.__vccOpts||p;for(const[t,a]of o)g[t]=a;return g},ue={},pe={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 ye(p,o){return e.openBlock(),e.createElementBlock("svg",pe,[...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 ge=T(ue,[["render",ye]]),he={},be={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 ke(p,o){return e.openBlock(),e.createElementBlock("svg",be,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const O=T(he,[["render",ke]]),xe={class:"flex items-center cursor-pointer w-full"},we={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Ve=["value"],Ce={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Be={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Ee={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},W=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(p,{expose:o,emit:g}){const t=p,a=g;function l(){a("itemClick",t.value)}const m=e.ref(null),s=e.computed(()=>t.layout==="inline"&&t.type==="radio"),i=e.computed(()=>t.layout==="vertical"?"text-[13px]":"text-sm");return o({el:m}),(y,n)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:m},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between w-full",i.value])},[e.createElementVNode("div",xe,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(y.layout)?"text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-gray-500 cursor-pointer",{"bg-blue-100":y.highlighted,relative:s.value},i.value]),onClick:e.withModifiers(l,["stop","prevent"])},[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[y.type==="checkbox"?"rounded-[4px]":"rounded-full",y.color?`bg-[${y.color}] border-[#ffffff]`:y.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[y.isSelected?(e.openBlock(),e.createElementBlock("img",we)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:y.value},null,8,Ve),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",s.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Ce,e.toDisplayString(y.label??"Відсутні дані"),1),y.count?(e.openBlock(),e.createElementBlock("div",Be," ("+e.toDisplayString(y.count)+") ",1)):e.createCommentVNode("",!0)],2),s.value&&y.isSelected?(e.openBlock(),e.createElementBlock("span",Ee,[e.createVNode(O)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function Y(p,o){const{options:g=[],limit:t=20}=p;function a(r){return Array.isArray(r)?r[0]:r}const l=e.ref(a(p.modelValue)),m=e.ref(""),s=e.ref(!1),i=e.ref([]),y=e.ref("id"),n=e.ref("text"),u=e.ref(!1),d=e.ref(p.layout!=="popover"&&g.length>t);function w(r){const k=r.find(Boolean)??{},$=["id","value","code","key"].find(x=>x in k)??"id",V=["text","label","name","title"].find(x=>x in k)??"text";return{autoValueKey:$,autoLabelKey:V}}if(g.length>0){const r=w(g);y.value=r.autoValueKey,n.value=r.autoLabelKey}const B=e.computed(()=>{const r=i.value;return p.layout==="popover"||u.value?r:r.slice(0,t)});e.watch(()=>p.modelValue,r=>{l.value=a(r)},{immediate:!0}),i.value=[...g].sort((r,k)=>p.sort==="count"?k.count&&r.count?k.count-r.count:0:p.sort==="name"?String(r[n.value]??"").localeCompare(String(k[n.value]??"")):0);function _(r){return l.value===r[y.value]}function b(r){l.value=r[y.value],o("update:modelValue",l.value),o("change",{name:p.name,value:l.value})}function c(){l.value=void 0,o("update:modelValue",l.value),o("clear",p.name)}function h(){u.value=!u.value}return{innerValue:l,searchTerm:m,filteredOptions:B,isSelected:_,selectItem:b,clear:c,toggleShowAll:h,isReqProc:s,showAll:u,isEnableShowAll:d,labelKey:n,valueKey:y,allOptions:i}}const Ne={},Se={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function _e(p,o){return e.openBlock(),e.createElementBlock("svg",Se,[...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 H=T(Ne,[["render",_e]]),$e={},De={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 Ae(p,o){return e.openBlock(),e.createElementBlock("svg",De,[...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 P=T($e,[["render",Ae]]),Fe={},je={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 Me(p,o){return e.openBlock(),e.createElementBlock("svg",je,[...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 Q=T(Fe,[["render",Me]]),Re={key:0,class:"w-full"},Le={class:"flex flex-col items-center justify-center p-5 text-center"},Te={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},ze={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ke=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=p,a=e.ref(null),l=g,{innerValue:m,filteredOptions:s,isSelected:i,selectItem:y,clear:n,toggleShowAll:u,isReqProc:d,showAll:w,isEnableShowAll:B,labelKey:_,valueKey:b,allOptions:c}=Y({...t,modelValue:t.modelValue??t.default??""},l);return o({clear:n,inputTextRef:a}),e.watch(()=>t.modelValue,h=>{h===void 0&&(m.value=void 0)}),(h,r)=>(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 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(s),k=>(e.openBlock(),e.createBlock(W,{layout:h.layout,key:k[e.unref(b)],count:k.count,label:k[e.unref(_)],color:k.color,type:"radio",value:k[e.unref(b)],"is-selected":e.unref(i)(k),onItemClick:$=>e.unref(y)(k)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),h.type==="select"&&e.unref(s).length===0&&!e.unref(d)?(e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("div",Le,[e.createVNode(H),r[4]||(r[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(w)&&e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:r[0]||(r[0]=(...k)=>e.unref(u)&&e.unref(u)(...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"},[r[5]||(r[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(P)])):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:r[1]||(r[1]=(...k)=>e.unref(u)&&e.unref(u)(...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"},[r[6]||(r[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Q)])):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",Te,[e.createTextVNode(e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(c).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:r[2]||(r[2]=(...k)=>e.unref(n)&&e.unref(n)(...k))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0),h.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ze,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m)||e.unref(m)===null?1:0)+" з "+e.toDisplayString(e.unref(c).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:r[3]||(r[3]=(...k)=>e.unref(n)&&e.unref(n)(...k))}," Очистити ",512),[[e.vShow,e.unref(m)!==""&&e.unref(m)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function v(p,o){const{options:g=[],limit:t=20}=p;function a(r){return Array.isArray(r)?r:r?[r]:[]}const l=e.ref(a(p.modelValue)),m=e.ref(""),s=e.ref(!1),i=e.ref([]),y=e.ref("id"),n=e.ref("text"),u=e.ref(!1),d=e.ref(p.layout!=="popover"&&g.length>t);function w(r){const k=r.find(Boolean)??{},$=["id","value","code","key"].find(x=>x in k)??"id",V=["text","label","name","title"].find(x=>x in k)??"text";return{autoValueKey:$,autoLabelKey:V}}if(g.length>0){const r=w(g);y.value=r.autoValueKey,n.value=r.autoLabelKey}const B=e.computed(()=>{const r=i.value;return p.layout==="popover"||u.value?r:r.slice(0,t)});e.watch(()=>p.modelValue,r=>{l.value=a(r)},{immediate:!0}),i.value=[...g].sort((r,k)=>p.sort==="count"?k.count&&r.count?k.count-r.count:0:p.sort==="name"?String(r[n.value]).localeCompare(String(k[n.value])):0);function _(r){return l.value&&l.value.includes(r[y.value])}function b(r){const k=l.value.includes(r[y.value]);l.value=k?l.value.filter($=>$!==r[y.value]):[...l.value,r[y.value]],o("update:modelValue",l.value),o("change",{name:p.name,value:l.value})}function c(){l.value=[],o("update:modelValue",l.value),o("clear",p.name)}function h(){u.value=!u.value}return{innerValue:l,searchTerm:m,filteredOptions:B,isSelected:_,selectItem:b,clear:c,toggleShowAll:h,isReqProc:s,showAll:u,isEnableShowAll:d,labelKey:n,valueKey:y,allOptions:i}}const ee={en:{apply:"Apply",search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",max:"max",min:"min",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next",selectFieldHelp:"Select a field to start creating a filter."},uk:{apply:"Застосувати",search:"Пошук",more:"Показати більше",less:"Показати меньше",selected:"обрано",clear:"Очистити",notfound:"Нічого не знайдено",period:"Період",today:"Сьогодні",week:"Тиждень",max:"макс",min:"мін",month:"Місяць",quarter:"Квартал",year:"Рік",alltime:"Весь час",prev:"Попередній період",next:"Настпуний період",selectFieldHelp:"Оберіть поле, щоб розпочати створення фільтра."}};function te(p){const o=p.split(".")[1],g=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(ee[g||navigator.language]||ee.uk)[o]}function K(){const p=e.getCurrentInstance();if(!p.appContext.config.globalProperties.$i18n)return te;const o=p.appContext.config.globalProperties.$t;return g=>{const t=o(g);return t===g?te(g):t}}const Oe={key:0,class:"w-full"},Ie={class:"flex flex-col items-center justify-center p-5 text-center"},Pe={class:"max-w-sm mx-auto mt-6"},Ue={class:"font-medium text-gray-800 dark:text-neutral-200"},qe={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},We={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},le=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=K(),a=p,l=g,{innerValue:m,filteredOptions:s,isSelected:i,selectItem:y,clear:n,toggleShowAll:u,isReqProc:d,showAll:w,isEnableShowAll:B,labelKey:_,valueKey:b,allOptions:c}=v({...a,modelValue:a.modelValue},l);return e.watch(()=>a.modelValue,h=>{h===void 0&&(m.value=[])}),o({clear:n}),(h,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([h.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([h.layout==="popover"?"flex-1 overflow-y-auto 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(s),k=>(e.openBlock(),e.createBlock(W,{layout:h.layout,count:k.count,label:k[e.unref(_)],color:k.color,type:"checkbox",value:k[e.unref(b)],"is-selected":e.unref(i)(k),onItemClick:$=>e.unref(y)(k)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),h.type==="select"&&e.unref(s).length===0&&!e.unref(d)?(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("div",Ie,[e.createVNode(H),e.createElementVNode("div",Pe,[e.createElementVNode("p",Ue,e.toDisplayString(e.unref(t)("filter.notfound")),1),r[4]||(r[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),h.layout!=="popover"&&h.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(w)&&e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:r[0]||(r[0]=(...k)=>e.unref(u)&&e.unref(u)(...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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.more"))+" ",1),e.createVNode(P)])):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:r[1]||(r[1]=(...k)=>e.unref(u)&&e.unref(u)(...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"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.less"))+" ",1),e.createVNode(Q)])):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",qe,[e.createTextVNode(e.toDisplayString(e.unref(m).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:r[2]||(r[2]=(...k)=>e.unref(n)&&e.unref(n)(...k))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0),h.layout==="popover"?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("span",null,e.toDisplayString(e.unref(m).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:r[3]||(r[3]=(...k)=>e.unref(n)&&e.unref(n)(...k))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(m).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ye={},He={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 Qe(p,o){return e.openBlock(),e.createElementBlock("svg",He,[...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 oe=T(Ye,[["render",Qe]]),Ge={},Je={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 Xe(p,o){return e.openBlock(),e.createElementBlock("svg",Je,[...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 G=T(Ge,[["render",Xe]]);class ne{static getWidthClass(o){return typeof o=="number"?`max-w-[${o}px] min-w-[${o}px]`:typeof o=="string"?o.endsWith("%")||o.endsWith("px")?`max-w-[${o}]`:`max-w-${o}`:"w-full"}}const Ze={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},ve=["placeholder"],et=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},type:{},label:{},width:{default:220},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{emit:o}){const g=p,t=e.ref((g.placeholder||g.label||g.title||g.name||"search").toString()),a=o,l=e.ref(g.modelValue?.toString()??"");e.watch(()=>g.modelValue,y=>{y!==l.value&&(l.value=y?.toString()??"")});let m=null;function s(){if(l.value=l.value.trimStart(),l.value.length===0){i();return}m&&clearTimeout(m),m=setTimeout(()=>{a("update:modelValue",l.value),a("change",{name:g.name,value:l.value})},300)}function i(){l.value="",a("update:modelValue",""),a("clear",g.name)}return(y,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",y.layout==="vertical"?"rounded-md":"rounded-sm",y.layout==="vertical"?"[&>input]:rounded-md":"[&>input]:rounded-sm",y.layout==="inline"?e.unref(ne).getWidthClass(y.width):"mb-2"+(y.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Ze,[e.createVNode(oe)]),l.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:i,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(G)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":n[0]||(n[0]=u=>l.value=u),onInput:s,placeholder:t.value,class:e.normalizeClass(["!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500",y.layout==="vertical"?"rounded-md":"rounded-sm"])},null,42,ve),[[e.vModelText,l.value]])],2))}});function re(p={color:"blue"}){return e.computed(()=>{const g=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${p.color}-500 focus:border-transparent
2
+ text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return p?.size==="sm"?`${g}h-[32px]`:`${g}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 border-gray-200 border-solid disabled:pointer-events-none disabled:opacity-50 h-7 rounded-md text-xs px-2 py-1 text-gray-800 bg-white hover:bg-gray-100 dark:text-neutral-300 dark:bg-neutral-800 dark:hover:bg-neutral-700 dark:border-neutral-600"}function ae(p){return p==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":p==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const ot={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},nt=["placeholder","disabled"],rt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},at={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},st=["placeholder","disabled"],it=["disabled"],io={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},co={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ct=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=re(),a=tt(),l=K(),m=p,s=e.ref(m.modelValue??m.default??[]),i=g,y=e.computed({get:()=>m.modelValue??s.value,set:d=>{m.modelValue!==void 0?i("update:modelValue",d):s.value=d}});function n(){i("change",{name:m.name,value:y.value||s.value})}function u(){s.value=[],y.value=s.value,i("clear",m.name)}return e.watch(()=>m.modelValue,d=>{d!==void 0&&m.layout!=="popover"?(s.value=d,i("update:modelValue",d)):s.value=[]}),o({clear:u,currentValue:y}),(d,w)=>(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.toDisplayString(e.unref(l)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:d.placeholder?.[0]??e.unref(l)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":w[0]||(w[0]=B=>y.value[0]=B),disabled:d.disabled},null,10,nt),[[e.vModelText,y.value[0]]])]),d.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",rt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[d.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",at,e.toDisplayString(e.unref(l)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:d.placeholder?.[1]??e.unref(l)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":w[1]||(w[1]=B=>y.value[1]=B),disabled:d.disabled},null,10,st),[[e.vModelText,y.value[1]]])]),["popover","inline","vertical"].includes(d.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:n,class:e.normalizeClass(e.unref(a)+(d.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(d.layout==="vertical"?"Ok":e.unref(l)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(d.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(y.value[0]||y.value[1]),onClick:u,class:e.normalizeClass(e.unref(a)+" hover:bg-gray-100")},e.toDisplayString(e.unref(l)("filter.clear")),11,it)):e.createCommentVNode("",!0)],2)]),(d.cleanable&&s.value.length,e.createCommentVNode("",!0))],64))}});class R{static format(o){const g=o.getFullYear(),t=(o.getMonth()+1).toString().padStart(2,"0"),a=o.getDate().toString().padStart(2,"0");return`${g}-${t}-${a}`}static getShiftedDay(o,g=0){const t=o?new Date(o):new Date;return t.setDate(t.getDate()+g),this.format(t)}static getLastWeekRange(o,g,t=0){if(o&&g){const y=new Date(o),n=new Date(g);return y.setDate(y.getDate()+t*7),n.setDate(n.getDate()+t*7),[this.format(y),this.format(n)]}const a=new Date,l=a.getDay(),m=l===0?13:l-1+7,s=new Date(a);s.setDate(a.getDate()-m+t*7);const i=new Date(s);return i.setDate(s.getDate()+6),[this.format(s),this.format(i)]}static getMonthRange(o,g,t=0){let a;o?a=new Date(o):a=new Date,a=new Date(a.getFullYear(),a.getMonth()+t,1);const l=a,m=new Date(a.getFullYear(),a.getMonth()+1,0);return[this.format(l),this.format(m)]}static getQuarterRange(o,g,t=0){const a=o||g,l=a?new Date(a):new Date;let m=Math.floor(l.getMonth()/3);m+=t;const s=(m%4+4)%4*3,i=l.getFullYear()+Math.floor(m/4),y=new Date(i,s,1),n=new Date(i,s+3,0);return[this.format(y),this.format(n)]}static getYear(o,g=0){let t;return o&&/^\d{4}$/.test(o)?t=parseInt(o,10):o?t=new Date(o).getFullYear():t=new Date().getFullYear(),String(t+g)}static getYearRange(o,g=0){let t;return o&&/^\d{4}$/.test(o)?t=parseInt(o,10):o?t=new Date(o).getFullYear():t=new Date().getFullYear(),[this.format(new Date(t+g,0,1)),this.format(new Date(t+g+1,0,0))]}static getRangeFromDaysBefore(o){const g=new Date,t=new Date(g.getTime());return t.setDate(g.getDate()-o),[this.format(t),this.format(g)]}}function se(p,o){const{popoverRef:g}=p,t=K(),a=e.ref(""),l=e.ref(p.modelValue??p.default??[]),m=e.ref(0);function s(){const c=R.getRangeFromDaysBefore(m.value);return l.value=[...c],o("change",{name:p.name,value:l.value}),o("update:modelValue",l.value),c}function i(c){a.value=c,g.value?.close();const h=[];switch(a.value){case"today":h.push(R.getShiftedDay()),h.push(R.getShiftedDay());break;case"week":h.push(...R.getLastWeekRange());break;case"month":h.push(...R.getMonthRange());break;case"quarter":h.push(...R.getQuarterRange());break;case"year":h.push(...R.getYearRange());break;case"last_7_days":m.value=7,s();break;case"range":m.value=7,h.push(...s());break}l.value=[...h],o("change",{name:p.name,value:l.value}),o("update:modelValue",l.value)}function y(){const c=[];switch(a.value){case"today":c.push(R.getShiftedDay(l.value[0],1));break;case"week":c.push(...R.getLastWeekRange(l.value[0],l.value[1],1));break;case"month":c.push(...R.getMonthRange(l.value[0],l.value[1],1));break;case"quarter":c.push(...R.getQuarterRange(l.value[0],l.value[1],1));break;case"year":c.push(...R.getYearRange(l.value[0],1));break}l.value=[...c],o("change",{name:p.name,value:l.value}),o("update:modelValue",l.value)}function n(){const c=[];switch(a.value){case"today":c.push(R.getShiftedDay(l.value[0],-1));break;case"week":c.push(...R.getLastWeekRange(l.value[0],l.value[1],-1));break;case"month":c.push(...R.getMonthRange(l.value[0],l.value[1],-1));break;case"quarter":c.push(...R.getQuarterRange(l.value[0],l.value[1],-1));break;case"year":c.push(...R.getYearRange(l.value[0],-1));break}l.value=[...c],o("change",{name:p.name,value:l.value}),o("update:modelValue",l.value)}const u=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function d(c){const[h,r,k]=c.split("-");return`${k}.${r}.${h}`}function w(c,h="long"){const r=new Date(Date.UTC(2e3,c-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:h,timeZone:"UTC"}).format(r)}function B(c){const{value:h}=l;switch(c){case"today":return d(h[0]);case"range":return"Період";case"week":return h[0]&&h[1]?`${d(h[0])} – ${d(h[1])}`:"";case"quarter":if(h[0]){const r=new Date(h[0]),k=r.getFullYear(),$=r.getMonth();return`${Math.floor($/3)+1} ${t("filter.quarter")} ${k}`}return"";case"month":if(h[0]){const[r,k]=h[0].split("-");return`${w(parseInt(k,10))} ${r}`}return"";case"year":return h[0]||"";case"last_7_days":return"За останні дні";default:return p.label??""}}const _=e.computed(()=>a.value?B(a.value):p.label??"");function b(){a.value="",l.value=[],o("update:modelValue",[]),o("clear",p.name)}return{activeMode:a,innerValue:l,daysBefore:m,onDaysBeforeChange:s,onSelectChange:i,nextClick:y,prevClick:n,ukMonths:u,formatDisplayDate:d,getModeLabel:B,currentLabel:_,clear:b}}const dt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},mt={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},ft=["max","disabled"],ut=["min","disabled"],pt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},yt=["max","disabled"],gt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ht={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},bt=["min","disabled"],kt={class:"flex gap-1 pt-2"},xt=["title","onClick"],mo={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},wt=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=p,a=re(),l=lt(),m=K(),s=g,i=e.ref(null),{activeMode:y,innerValue:n,onSelectChange:u,nextClick:d,prevClick:w,clear:B}=se({...t,popoverRef:i},s);e.watch(()=>t.modelValue,r=>{r!==void 0?(n.value=r,s("update:modelValue",r)):(y.value="",n.value=[])}),e.watch(n,r=>{s("update:modelValue",r),s("change",{name:t.name,value:r})},{deep:!0});const _=["today","week","month","quarter","year"],b={today:{label:"день",title:m("filter.today")},week:{label:"тиж.",title:m("filter.week")},month:{label:"міс.",title:m("filter.month")},quarter:{label:"кв.",title:m("filter.quarter")},year:{label:"рік",title:m("filter.year")}};function c(r){return b[r]?.label??m(`filter.${r}`)}function h(r){return b[r]?.title??m(`filter.${r}`)}return o({clear:B,popoverRef:i}),(r,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[r.layout==="inline"?(e.openBlock(),e.createElementBlock("div",dt,[e.unref(y)!==""&&e.unref(y)==="range"?(e.openBlock(),e.createElementBlock("div",mt,[k[7]||(k[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(n)[1],locale:"uk-UA","onUpdate:modelValue":k[0]||(k[0]=$=>e.unref(n)[0]=$),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:r.disabled},null,8,ft),[[e.vModelText,e.unref(n)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(n)[0],locale:"uk-UA","onUpdate:modelValue":k[1]||(k[1]=$=>e.unref(n)[1]=$),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:r.disabled},null,8,ut),[[e.vModelText,e.unref(n)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(r.layout!=="popover"?"w-[48%]":"")},[r.layout==="popover"?(e.openBlock(),e.createElementBlock("label",pt,e.toDisplayString(e.unref(m)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(n)[1],locale:"uk-UA","onUpdate:modelValue":k[2]||(k[2]=$=>e.unref(n)[0]=$),class:e.normalizeClass(e.unref(a)),disabled:r.disabled},null,10,yt),[[e.vModelText,e.unref(n)[0]]])],2),r.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",gt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.layout!=="popover"?"w-[48%]":"")},[r.layout==="popover"?(e.openBlock(),e.createElementBlock("label",ht,e.toDisplayString(e.unref(m)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(n)[0],locale:"uk-UA","onUpdate:modelValue":k[3]||(k[3]=$=>e.unref(n)[1]=$),class:e.normalizeClass(e.unref(a)),disabled:r.disabled},null,10,bt),[[e.vModelText,e.unref(n)[1]]])],2)],2),e.createElementVNode("div",kt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(_,$=>e.createElementVNode("button",{key:$,class:e.normalizeClass(e.unref(l)+(e.unref(y)===$?" bg-blue-100":"")),title:h($),onClick:V=>e.unref(u)($)},e.toDisplayString(c($)),11,xt)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(l)),onClick:k[4]||(k[4]=(...$)=>e.unref(w)&&e.unref(w)(...$))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(l)),onClick:k[5]||(k[5]=(...$)=>e.unref(d)&&e.unref(d)(...$))},">",2)]),(r.cleanable,e.createCommentVNode("",!0))],64))}});function Vt(p,o){const{api:g,options:t=[],limit:a=20,dataKey:l="data"}=p,m=p.multi;function s(N){return m?Array.isArray(N)?N:N?[N]:[]:Array.isArray(N)?N[0]:N}const i=e.ref(s(p.modelValue)),y=e.ref(""),n=e.ref(!1),u=e.ref(t),d=e.ref("id"),w=e.ref("text"),B=e.ref(!1),_=e.ref(p.layout!=="popover"&&t.length>a),b=e.ref([]),c=e.ref(0);function h(N){const D=N.find(Boolean)??{},j=["id","value","code","key"].find(I=>I in D)??"id",M=["text","label","name","title"].find(I=>I in D)??"text";return{autoValueKey:j,autoLabelKey:M}}if(t.length>0){const N=h(t);d.value=N.autoValueKey,w.value=N.autoLabelKey}const r=e.computed(()=>{if(g)return u.value;const N=u.value;if(p.layout==="popover")return N;if(!y.value)return B.value?N:N.slice(0,a);const D=y.value.toLowerCase();return N.filter(j=>j[w.value].toLowerCase().includes(D))});let k=null;async function $(N){if(g){n.value=!0;try{const D=new URL(g,window.location.origin);D.searchParams.set("json","1"),D.searchParams.set("key",N),D.searchParams.set("limit",a.toString());const j=await fetch(D.toString());if(!j.ok){Z.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),u.value=[];return}const M=await j.json();if(!M[l]){Z.notify({type:"error",title:"Error",message:M}),u.value=[];return}if(u.value=M[l],u.value.length>0){const I=h(u.value);d.value=I.autoValueKey,w.value=I.autoLabelKey}c.value=M.total}catch(D){console.error("Failed to fetch remote options:",D)}finally{n.value=!1}}}e.watch(y,N=>{g&&(k&&clearTimeout(k),k=setTimeout(()=>{$(N)},200))}),e.watch(()=>p.modelValue,N=>{i.value=s(N)},{immediate:!0});function V(N){return m&&Array.isArray(i.value)?i.value.includes(N[d.value]):i.value&&i.value===N[d.value]}function x(N){if(m&&!Array.isArray(i.value)&&(i.value=[]),m&&Array.isArray(i.value)){const D=i.value.includes(N[d.value]);i.value=D?i.value.filter(j=>j!==N[d.value]):[...i.value,N[d.value]],b.value=D?b.value.filter(j=>j!==N[w.value]):[...b.value,N[w.value]]}else i.value=N[d.value],b.value=N[w.value];o("update:modelValue",i.value),o("change",{name:p.name,value:i.value})}function S(){m?(i.value=[],b.value=[]):(i.value=void 0,b.value=[]),o("update:modelValue",i.value),o("clear",p.name)}function A(){k&&clearTimeout(k),y.value="",B.value=!1}function f(){B.value=!B.value}e.onBeforeUnmount(()=>{k&&clearTimeout(k)});const C=e.ref(-1);e.watch(r,()=>{C.value=r.value.length>0?0:-1});function E(N){const D=r.value.length;if(N.key==="ArrowDown")N.preventDefault(),C.value=(C.value+1)%D;else if(N.key==="ArrowUp")N.preventDefault(),C.value=(C.value-1+D)%D;else if(N.key==="Enter"&&(N.preventDefault(),C.value>=0&&C.value<r.value.length)){const j=r.value[C.value];x(j)}}function F(){g&&u.value.length===0&&y.value.length===0&&$(y.value)}return{innerValue:i,searchTerm:y,filteredOptions:r,isSelected:V,selectItem:x,clear:S,resetSearch:A,toggleShowAll:f,isReqProc:n,showAll:B,isEnableShowAll:_,labelKey:w,valueKey:d,allOptions:u,highlightedIndex:C,onKeyDown:E,selectedLabels:b,totalCount:c,loadData:F}}const Ct={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Bt=["placeholder"],Et={key:0,class:"w-full"},Nt={class:"flex flex-col items-center justify-center p-5 text-center"},St={class:"max-w-sm mx-auto mt-6"},_t={class:"font-medium text-gray-800 dark:text-neutral-200"},$t={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Dt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},At=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=K(),a=p,l=g,m=e.ref(null),{innerValue:s,filteredOptions:i,isSelected:y,selectItem:n,clear:u,resetSearch:d,toggleShowAll:w,isReqProc:B,showAll:_,isEnableShowAll:b,searchTerm:c,labelKey:h,valueKey:r,highlightedIndex:k,onKeyDown:$,selectedLabels:V,totalCount:x,loadData:S}=Vt({...a,modelValue:a.modelValue},l);e.onMounted(()=>{d(),a.layout!=="inline"&&(S(),m.value&&a.layout==="popover"&&m.value.focus())}),e.watch(()=>a.modelValue,f=>{f===void 0&&(a.multi?s.value=[]:s.value=void 0)});const A=e.ref([]);return e.watch(k,f=>{f>=0&&A.value[f]&&A.value[f]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(i,()=>{A.value=[]}),o({clear:u,inputTextRef:m,selectedLabels:V,loadData:S}),(f,C)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([f.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Ct,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":C[0]||(C[0]=E=>e.isRef(c)?c.value=E:null),onKeydown:C[1]||(C[1]=(...E)=>e.unref($)&&e.unref($)(...E)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",placeholder:e.unref(t)("filter.search"),type:"text",ref_key:"inputTextRef",ref:m},null,40,Bt),[[e.vModelText,e.unref(c)]]),e.createVNode(oe,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(c)!=""?(e.openBlock(),e.createBlock(G,{key:0,onClick:C[2]||(C[2]=E=>c.value=""),class:"absolute text-gray-400 -translate-y-1/2 cursor-pointer hover:text-red-500 right-4 top-1/2"})):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass([f.layout==="popover"?"flex-1 overflow-y-auto p-2":"",f.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(E,F)=>(e.openBlock(),e.createBlock(W,{layout:f.layout,count:E.count,label:E[e.unref(h)],color:E.color,type:f.multi?"checkbox":"radio",value:E[e.unref(r)],"is-selected":e.unref(y)(E),highlighted:F===e.unref(k),onItemClick:N=>e.unref(n)(E),ref_for:!0,ref:N=>A.value[F]=N?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),f.type==="select"&&e.unref(i).length===0&&!e.unref(B)?(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("div",Nt,[e.createVNode(H),e.createElementVNode("div",St,[e.createElementVNode("p",_t,e.toDisplayString(e.unref(t)("filter.notfound")),1),C[7]||(C[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),f.layout!=="popover"&&f.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(_)&&e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:C[3]||(C[3]=(...E)=>e.unref(w)&&e.unref(w)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.more"))+" ",1),e.createVNode(P)])):e.createCommentVNode("",!0),e.unref(_)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:C[4]||(C[4]=(...E)=>e.unref(w)&&e.unref(w)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.less"))+" ",1),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),f.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[f.layout==="inline"?(e.openBlock(),e.createElementBlock("div",$t,[e.createTextVNode(e.toDisplayString(f.multi&&Array.isArray(e.unref(s))?e.unref(s)?.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" / "+e.toDisplayString(e.unref(x))+" "+e.toDisplayString(e.unref(t)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:C[5]||(C[5]=(...E)=>e.unref(u)&&e.unref(u)(...E))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0),f.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Dt,[e.createElementVNode("span",null,e.toDisplayString(f.multi&&Array.isArray(e.unref(s))?e.unref(s)?.length:e.unref(s)!==void 0&&(e.unref(s)||e.unref(s)===null)?1:0)+" / "+e.toDisplayString(e.unref(x))+" "+e.toDisplayString(e.unref(t)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:C[6]||(C[6]=(...E)=>e.unref(u)&&e.unref(u)(...E))},e.toDisplayString(e.unref(t)("filter.clear")),513),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ft=["for","onClick"],jt=["id","name","value"],Mt={class:"block"},Rt={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"},Tt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=p,a=g,{innerValue:l,isSelected:m,selectItem:s,clear:i,labelKey:y,valueKey:n,allOptions:u}=t.multi?v({...t,modelValue:t.modelValue??t.default??[]},a):Y({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},a);return o({clear:i}),e.watch(()=>t.modelValue,d=>{d===void 0&&(t.multi?l.value=[]:l.value=void 0)}),(d,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",d.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),B=>(e.openBlock(),e.createElementBlock("label",{key:`item-${B[e.unref(n)]}`,for:`item-${B[e.unref(n)]}`,onClick:e.withModifiers(_=>e.unref(s)(B),["stop","prevent"]),class:e.normalizeClass([e.unref(m)(B)?"ring-2 ring-indigo-600":"","p-2.5 group relative flex justify-center items-center gap-x-12 text-center text-xs bg-white text-gray-800 border border-gray-200 cursor-pointer rounded-sm dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200 peer-checked:text-indigo-600 dark:has-checked:text-indigo-500 peer-checked:border-indigo-600 dark:has-checked:border-indigo-500 peer-checked:ring peer-checked:shadow focus:ring dark:has-checked:ring-indigo-500 has-disabled:pointer-events-none has-disabled:text-gray-200 dark:has-disabled:text-neutral-700 has-disabled:after:absolute has-disabled:after:inset-0 has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-gray-200)_calc(50%-1px),var(--color-gray-200)_50%,transparent_50%)] dark:has-disabled:after:bg-[linear-gradient(to_right_bottom,transparent_calc(50%-1px),var(--color-neutral-700)_calc(50%-1px),var(--color-neutral-700)_50%,transparent_50%)]"])},[e.createElementVNode("input",{type:"checkbox",id:`item-${B[e.unref(n)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${B[e.unref(n)]}`,value:B[e.unref(n)]},null,8,jt),e.createElementVNode("span",Mt,e.toDisplayString(B[e.unref(y)]),1)],10,Ft))),128))],2),d.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Rt,[e.createTextVNode(e.toDisplayString(d.multi&&Array.isArray(e.unref(l))?e.unref(l)?.length:e.unref(l)!==void 0&&(e.unref(l)||e.unref(l)===null)?1:0)+" з "+e.toDisplayString(e.unref(u).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[0]||(w[0]=(...B)=>e.unref(i)&&e.unref(i)(...B))}," Очистити ",512),[[e.vShow,e.unref(l)!==""&&e.unref(l)!==void 0||e.unref(l)]])])):e.createCommentVNode("",!0),d.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("span",null,e.toDisplayString(d.multi&&Array.isArray(e.unref(l))?e.unref(l)?.length:e.unref(l)!==void 0&&(e.unref(l)||e.unref(l)===null)?1:0)+" з "+e.toDisplayString(e.unref(u).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[1]||(w[1]=(...B)=>e.unref(i)&&e.unref(i)(...B))}," Очистити ",512),[[e.vShow,e.unref(l)!==void 0&&e.unref(l)!==""||e.unref(l)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),zt=["disabled","title"],Kt={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},Ot={class:"truncate text-ellipsis text-sm"},It={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-sm bg-blue-100 px-2 text-[11px] font-semibold text-blue-600"},Pt={class:"w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-sm focus:outline-none focus:bg-stone-100 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},Ut={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"},J=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(p,{expose:o}){const g=p,t=e.computed(()=>ae(g.mode)),a=e.ref(!1),l=e.ref({top:0,left:0}),m=e.ref(null),s=e.ref(null),i=e.ref(null);let y=null;function n(){const V=s.value,x=i.value;if(!V||!x)return;const S=V.getBoundingClientRect(),A=x.offsetWidth,f=x.offsetHeight,C=window.innerWidth,E=window.innerHeight,F=8;let N=S.bottom+F,{left:D}=S;const j=Math.max(C-A-10,10);if(D=Math.min(D,j),D=Math.max(D,10),N+f>E-10){const M=S.top-f-F;N=M>=10?M:Math.max(E-f-10,10)}N<10&&(N=10),l.value={top:N,left:D}}function u(){e.nextTick(()=>{n(),typeof window<"u"&&typeof window.requestAnimationFrame=="function"&&window.requestAnimationFrame(()=>n())})}function d(){a.value=!a.value,a.value&&(u(),e.nextTick(()=>{g.fieldRef?.inputTextRef&&g.fieldRef?.inputTextRef?.focus?.(),g.fieldRef?.loadData&&Promise.resolve(g.fieldRef?.loadData?.()).finally(()=>{a.value&&u()})}))}function w(V){!m.value?.contains(V.target)&&!i.value?.contains(V.target)&&!s.value?.contains(V.target)&&(a.value=!1)}function B(V){V.key==="Escape"&&(a.value=!1)}const _=e.ref(!1),b=e.ref("ua"),c=V=>{V.detail.key==="locale"&&(b.value=V.detail.newValue)};e.onMounted(()=>{_.value=!0,b.value=localStorage.locale,window.addEventListener("storage",c),document.addEventListener("click",w,!0),document.addEventListener("keydown",B),window.addEventListener("scroll",n,!0),window.addEventListener("resize",n,!0),typeof ResizeObserver<"u"&&(y=new ResizeObserver(()=>{a.value&&u()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",c),document.removeEventListener("click",w,!0),document.removeEventListener("keydown",B),window.removeEventListener("scroll",n,!0),window.removeEventListener("resize",n,!0),y?.disconnect(),y=null});function h(){a.value=!1}o({close:h}),e.watch([_,a,i],([V,x,S])=>{V&&x&&S&&(u(),y?.observe(S))});function r(V){return Array.isArray(V)?V.filter(x=>x!=null&&x!=="").length:V&&typeof V=="object"?Object.values(V).filter(x=>x!=null&&x!=="").length:typeof V=="string"?V.trim()===""?0:1:typeof V=="number"?Number.isNaN(V)?0:1:V===null||V!==void 0?1:0}const k=e.computed(()=>{const V=g.fieldRef?.selectedLabels,x=r(V);return x>0?x:r(g.currentValue)}),$=e.computed(()=>{const V=g.fieldRef?.selectedLabels;return!V||["inline"].includes(g.layout||"")?g[b.value]||(g.label??""):Array.isArray(V)?V.length>0?V.join(", "):g.label??"":String(V)});return(V,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:m},[e.createElementVNode("button",{onClick:d,disabled:V.disabled,ref_key:"triggerRef",ref:s,title:V.label,class:e.normalizeClass([t.value,V.width?e.unref(ne).getWidthClass(V.width):"w-full",V.layout==="inline"&&k.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Kt,[e.createElementVNode("span",Ot,e.toDisplayString($.value),1),V.layout==="inline"&&k.value>0?(e.openBlock(),e.createElementBlock("span",It,e.toDisplayString(k.value),1)):e.createCommentVNode("",!0)]),e.createVNode(P,{class:"h-4 w-4 text-neutral-500"})],10,zt),_.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:i,class:"vsTailwind vs-popover__content w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${l.value.top}px`,left:`${l.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Pt,[e.createElementVNode("div",Ut,[e.renderSlot(V.$slots,"default")])])],4),[[e.vShow,a.value]])])):e.createCommentVNode("",!0)],512))}}),qt={},Wt={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(p,o){return e.openBlock(),e.createElementBlock("svg",Wt,[...o[0]||(o[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Ht=T(qt,[["render",Yt]]),Qt={},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 Jt(p,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 Xt=T(Qt,[["render",Jt]]),Zt={class:"flex gap-1"},vt={class:"mb-1"},el={class:"mb-1"},tl={class:"inline-flex rounded-sm shrink-0 pl-1"},ll=["title"],ol={class:"inline-flex rounded-sm shrink-0 pl-1"},nl=["title"],rl={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},al=["max","value","disabled"],sl=["min","value","disabled"],fo={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},il=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=K(),a=p,l=g,m=e.ref(null),{activeMode:s,innerValue:i,onSelectChange:y,nextClick:n,prevClick:u,currentLabel:d,clear:w}=se({...a,popoverRef:m},l);e.watch(()=>a.modelValue,b=>{b!==void 0?(i.value=b,l("update:modelValue",b)):(s.value="",i.value=[])}),e.watch(i,b=>{l("update:modelValue",b),l("change",{name:a.name,value:b})},{deep:!0});function B(b){const c=Array.isArray(i.value)?[...i.value]:[];i.value=[b,c[1]||""]}function _(b){const c=Array.isArray(i.value)?[...i.value]:[];i.value=[c[0]||"",b]}return o({clear:w,popoverRef:m}),(b,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Zt,[e.createVNode(J,{ref_key:"popoverRef",ref:m,label:e.unref(d),"current-value":e.unref(i),mode:b.mode,width:typeof b.width=="number"&&e.unref(i).length?b.width-70:b.width,onClear:e.unref(w),layout:b.layout,class:e.normalizeClass(b.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[0]||(c[0]=h=>e.unref(y)("range")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.period"))+" ",1),e.unref(s)==="range"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),c[12]||(c[12]=e.createElementVNode("div",null,[e.createElementVNode("div",{class:"pt-1 mt-1 border-t"})],-1)),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[1]||(c[1]=h=>e.unref(y)("today")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.today"))+" ",1),e.unref(s)==="today"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[2]||(c[2]=h=>e.unref(y)("week")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.week"))+" ",1),e.unref(s)==="week"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[3]||(c[3]=h=>e.unref(y)("month")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.month"))+" ",1),e.unref(s)==="month"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[4]||(c[4]=h=>e.unref(y)("quarter")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.quarter"))+" ",1),e.unref(s)==="quarter"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",vt,[e.createElementVNode("button",{type:"button",onClick:c[5]||(c[5]=h=>e.unref(y)("year")),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.year"))+" ",1),e.unref(s)==="year"?(e.openBlock(),e.createBlock(O,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",el,[e.createElementVNode("button",{type:"button",onClick:c[6]||(c[6]=h=>e.unref(w)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(t)("filter.alltime"))+" ",1),e.unref(i)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(O,{key:0}))])])]),_:1},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(s)!==""&&e.unref(s)!=="range"&&e.unref(s)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",title:e.unref(t)("filter.prev"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 bg-gray-100 gap-x-2 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:c[7]||(c[7]=(...h)=>e.unref(u)&&e.unref(u)(...h))},[e.createVNode(Ht)],8,ll)]),e.createElementVNode("div",ol,[e.createElementVNode("button",{type:"button",title:e.unref(t)("filter.next"),class:"inline-flex h-[38px] items-center px-2 text-sm text-gray-800 gap-x-2 bg-gray-100 -ms-px first:rounded-s-lg first:ms-0 last:rounded-e-lg focus:z-10 hover:bg-gray-200 focus:bg-gray-200 duration-300",onClick:c[8]||(c[8]=(...h)=>e.unref(n)&&e.unref(n)(...h))},[e.createVNode(Xt)],8,nl)])],64)):e.createCommentVNode("",!0),e.unref(s)!==""&&e.unref(s)==="range"?(e.openBlock(),e.createElementBlock("div",rl,[e.createElementVNode("input",{type:"date",max:e.unref(i)[1],locale:"uk-UA",value:e.unref(i)[0],onInput:c[9]||(c[9]=h=>B(h.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:b.disabled},null,40,al),e.createElementVNode("input",{type:"date",min:e.unref(i)[0],locale:"uk-UA",value:e.unref(i)[1],onInput:c[10]||(c[10]=h=>_(h.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:b.disabled},null,40,sl)])):e.createCommentVNode("",!0)]),(b.cleanable,e.createCommentVNode("",!0))],64))}}),cl={class:"flex flex-wrap items-center gap-2"},dl=["disabled","onClick"],ml={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},ie={radio:Ke,checkbox:le,check:le,text:et,range:ct,date:wt,select:At,tag:Tt,button:e.defineComponent({__name:"button-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=p,a=g,{innerValue:l,isSelected:m,selectItem:s,clear:i,labelKey:y,valueKey:n,allOptions:u}=Y({...t,modelValue:t.modelValue??t.default??""},a),d=e.computed(()=>l.value!==void 0&&!(typeof l.value=="string"&&l.value==="")),w=e.computed(()=>d.value?1:0);function B(b){return m(b)?["bg-blue-600 text-white"].filter(c=>typeof c=="string"&&c.trim().length>0).join(" "):["text-gray-700 hover:bg-gray-200 bg-gray-50 "].filter(c=>typeof c=="string"&&c.trim().length>0).join(" ")}function _(b){t.disabled||s(b)}return o({clear:i}),e.watch(()=>t.modelValue,b=>{b===void 0&&(l.value=void 0)}),(b,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",cl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),h=>(e.openBlock(),e.createElementBlock("button",{key:h[e.unref(n)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",B(h)]),disabled:b.disabled,onClick:r=>_(h)},e.toDisplayString(h[e.unref(y)]),11,dl))),128))]),b.cleanable&&b.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("span",null,e.toDisplayString(w.value)+" з "+e.toDisplayString(e.unref(u).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[0]||(c[0]=(...h)=>e.unref(i)&&e.unref(i)(...h))}," Очистити ",512),[[e.vShow,d.value]])])):e.createCommentVNode("",!0)],64))}}),"date:inline":il};function X(p,o){let g;switch(p.toLowerCase()){case"autocomplete":g="select";break;case"check":g="checkbox";break;default:g=p?.toString().toLowerCase()}return g==="date"&&o&&o==="inline"&&(g="date:inline"),{component:ie[g]||ie.text,type:g}}const fl={style:{display:"inline-flex",margin:"0px",width:"100%"}},ul={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},pl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},yl={class:"flex items-center"},gl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},hl={class:"filter-layout__body"},bl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=p,a=g,l=e.ref(),m=e.computed(()=>X(t.type,t.layout)),s=e.computed({get:()=>t.modelValue,set:u=>a("update:modelValue",u)});function i(u){a("clear",u)}function y(u,d){a("change",{name:u,value:d}),t.modelValue!==void 0&&a("update:modelValue",d)}function n(){a("clear",t.name)}return e.watch(()=>t.default,u=>{s.value=u}),e.watch(()=>t.modelValue,u=>{s.value=u}),o({filterRef:l}),(u,d)=>(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",ul,[e.createElementVNode("div",pl,[e.createElementVNode("div",yl,[e.createElementVNode("span",gl,e.toDisplayString(u.label),1)]),typeof s.value=="string"&&s.value.trim()!==""||Array.isArray(s.value)&&s.value.length>0&&s.value.some(w=>w!==void 0)||s.value===null?(e.openBlock(),e.createBlock(ge,{key:0,onClick:n})):e.createCommentVNode("",!0)]),e.createElementVNode("div",hl,[m.value?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value?.component),e.mergeProps({key:0},t,{type:m.value?.type,class:t.itemClass,onChange:d[0]||(d[0]=w=>y(w.name,w.value)),onClear:d[1]||(d[1]=w=>i(w)),ref_key:"filterRef",ref:l}),null,16,["type","class"])):(e.openBlock(),e.createBlock(J,{key:1,"current-value":s.value,label:u.label,mode:u.mode,onClear:n,fieldRef:l.value,width:void 0,disabled:u.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value?.component),e.mergeProps({ref_key:"filterRef",ref:l},t,{type:m.value?.type,class:t.itemClass,onChange:d[2]||(d[2]=w=>y(w.name,w.value)),onClear:d[3]||(d[3]=w=>i(w))}),null,16,["type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),ce=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=p,a=g,l=e.ref(),m=e.computed(()=>X(t.type,t.layout)),s=e.computed({get:()=>t.modelValue,set:n=>a("update:modelValue",n)});function i(n=t.name){a("clear",n)}function y(n,u){a("change",{name:n,value:u}),t.modelValue!==void 0&&a("update:modelValue",u)}return e.watch(()=>t.default,n=>{s.value=n}),e.watch(()=>t.modelValue,n=>{s.value=n}),o({filterRef:l}),(n,u)=>["text","date","button"].includes(n.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value?.component),e.mergeProps({key:0},t,{type:m.value?.type,class:n.itemClass,onChange:u[0]||(u[0]=d=>y(d.name,d.value)),onClear:u[1]||(u[1]=d=>i(d)),disabled:n.disabled,modelValue:s.value,"onUpdate:modelValue":u[2]||(u[2]=d=>s.value=d)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(J,{key:1,"current-value":s.value,label:n.label,mode:n.mode,onClear:i,fieldRef:l.value,width:t.width,disabled:n.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value?.component),e.mergeProps({ref_key:"filterRef",ref:l},t,{modelValue:s.value,"onUpdate:modelValue":u[3]||(u[3]=d=>s.value=d),type:m.value?.type,class:t.itemClass,onChange:u[4]||(u[4]=d=>y(d.name,d.value)),onClear:u[5]||(u[5]=d=>i(d))}),null,16,["modelValue","type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),kl=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=p,a=g,l=e.ref(),m=e.computed(()=>X(t.type,t.layout)),s=e.computed({get:()=>t.modelValue,set:n=>a("update:modelValue",n)});function i(n){a("clear",n)}function y(n,u){a("change",{name:n,value:u}),t.modelValue!==void 0&&a("update:modelValue",u)}return e.watch(()=>t.default,n=>{s.value=n}),e.watch(()=>t.modelValue,n=>{s.value=n}),e.watch(()=>t,n=>{s.value=n}),o({filterRef:l}),(n,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value?.component),e.mergeProps(t,{type:m.value?.type,class:t.itemClass,modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=d=>s.value=d),onChange:u[1]||(u[1]=d=>y(d.name,d.value)),onClear:u[2]||(u[2]=d=>i(d)),ref_key:"filterRef",ref:l}),null,16,["type","class","modelValue"]))}}),z=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(p,{expose:o,emit:g}){const t=p,a=g,l=e.ref(),m=e.computed({get:()=>t.modelValue,set:n=>a("update:modelValue",n)});function s(n){a("clear",n)}function i(n,u){a("change",{name:n,value:u}),t.modelValue!==void 0&&a("update:modelValue",u)}e.watch(()=>t.default,n=>{m.value=n}),e.watch(()=>t.modelValue,n=>{m.value=n}),o({filterRef:l});function y(){switch(t.layout){case"inline":return ce;case"vertical":return bl;case"popover":return kl;default:return ce}}return(n,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y()),e.mergeProps(t,{onChange:u[0]||(u[0]=d=>i(d.name,d.value)),onClear:u[1]||(u[1]=d=>s(d)),modelValue:m.value,"onUpdate:modelValue":u[2]||(u[2]=d=>m.value=d)}),null,16,["modelValue"]))}});function U(p,o){const{slots:g}=p,t=c=>c?JSON.parse(JSON.stringify(e.toRaw(c))):{},a=e.ref(t(p.value));e.watch(()=>p.value,c=>{a.value=t(c)},{deep:!0,immediate:!0});const l=e.computed(()=>(e.toRaw(g?.default?.())??[]).flatMap(h=>Array.isArray(h.children)?h.children:[h]));function m(c){delete a.value[c],o("clear",{data:e.toRaw(a.value),name:c})}function s(c,h){h===void 0?m(c):a.value={...a.value,[c]:h},o("change",{data:e.toRaw(a.value),name:c,value:h})}const i=e.computed(()=>l.value.map(c=>{const h=c.props?.name;return e.cloneVNode(c,{...c.props,layout:p.view,showClean:!0,modelValue:a.value[h],"onUpdate:modelValue":r=>{s(h,r)},onClear:()=>m(h),class:[p.itemClass,c.props?.class],itemClass:[p.itemClass,c.props?.itemClass].filter(r=>typeof r=="string"&&r.trim().length>0).join(" ")||void 0})})),y=e.computed(()=>new Map(i.value.map(c=>{const h=c.props?.name;return h?[h,c]:null}).filter(c=>c!==null)));function n(c=!1){a.value={},c||o("clearAll",{data:e.toRaw(a.value),name:"ALL"})}const u=e.ref(""),d=e.computed(()=>p.schema?.value?Object.entries(a.value).filter(([c,h])=>p.schema&&!(c in p.schema.value)?!1:Array.isArray(h)?h.some(r=>r!==""&&r!==void 0):h!==""&&h!==void 0).length:0),w=e.ref();e.watch(u,async()=>{await e.nextTick(),w?.value?.filterRef?.inputTextRef&&w.value.filterRef.inputTextRef.focus()});const B=e.computed(()=>p.schema?.value?Object.fromEntries(Object.entries(p.schema?.value).slice(0,p.limit)):{}),_=e.computed(()=>{if(i.value.length===0)return[];let c=0;if(p.schema?.value){const h=Object.entries(p.schema.value).length;p.limit&&h<p.limit?c=p.limit-h:c=0}return i.value.slice(0,c)}),b=e.computed(()=>i.value.length===0?[]:p.view!=="inline"?i.value:i.value.slice(_.value.length));return{activeFilter:a,activeFilterCount:d,onFilterChange:s,clearFilter:m,clearAllFilters:n,limitedSchema:B,filtersSlot:i,limitedFiltersSlot:_,popoverFiltersSlot:b,vnodeMap:y,selectedFilter:u,filterRef:w}}const xl=e.defineComponent({__name:"popover",emits:["open","close"],setup(p,{emit:o}){const g=e.ref(!1),t=e.ref(null),a=e.ref(null),l=e.ref(null),m=e.ref({top:"0px",left:"0px",position:"absolute"}),s=e.ref(!1);function i(){g.value=!g.value}function y(){const B=l.value,_=t.value;if(!B||!_)return;const{left:b,bottom:c}=B.getBoundingClientRect();requestAnimationFrame(()=>{if(!_)return;const{width:h}=_.getBoundingClientRect(),r=_.offsetWidth||h,k=window.innerWidth||document.documentElement.clientWidth,$=k-b;let V=b;r>$&&(V=k-r-18),V<18&&(V=18);const x=k-r-18;V>x&&(V=Math.max(18,x)),m.value={position:"fixed",top:`${c+18}px`,left:`${V}px`},s.value=!0})}const n=e.computed(()=>Object.entries(m.value).map(B=>B.join(":")).join(";"));function u(B){const _=B.target;!l.value?.contains(B.target)&&!t.value?.contains(B.target)&&!_.closest("[data-inside-popover]")&&(g.value=!1)}const d=e.ref(!1);e.onMounted(()=>{d.value=!0}),e.onMounted(()=>{l.value=a.value?.querySelector("[data-popover-trigger]")||null,l.value?.addEventListener("click",i),document.addEventListener("click",u),window.addEventListener("resize",y),window.addEventListener("scroll",y,!0)}),e.onBeforeUnmount(()=>{l.value?.removeEventListener("click",i),document.removeEventListener("click",u),window.removeEventListener("resize",y),window.removeEventListener("scroll",y,!0)});const w=o;return e.watch(g,async B=>{B?(s.value=!1,w("open"),await e.nextTick(),requestAnimationFrame(()=>{y()})):(w("close"),s.value=!1)}),(B,_)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:a},[e.renderSlot(B.$slots,"trigger"),d.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:t,class:"fixed z-[50] w-[calc(100vw-32px)] md:w-[600px] rounded-md border bg-white shadow-md transition-opacity duration-0",style:e.normalizeStyle([n.value,{visibility:s.value?"visible":"hidden",opacity:s.value?1:0}])},[e.renderSlot(B.$slots,"default")],4),[[e.vShow,g.value]])])):e.createCommentVNode("",!0)],512))}}),wl={},Vl={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 Cl(p,o){return e.openBlock(),e.createElementBlock("svg",Vl,[...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 de=T(wl,[["render",Cl]]),Bl={class:"flex items-center gap-2 overflow-hidden"},El={key:0,class:"inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-[4px] bg-blue-500 px-1 text-[11px] font-semibold text-white"},Nl={class:"flex max-h-[400px] md:max-h-[400px]"},Sl={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},_l={class:"p-2 md:p-4 border-b"},$l={class:"text-xs md:text-sm text-gray-600"},Dl={class:"p-1 md:p-2"},Al=["onClick"],Fl={class:"flex items-center gap-1.5 md:gap-2"},jl={class:"text-xs md:text-sm font-medium line-clamp-3"},Ml={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Rl=["onClick"],Ll={class:"flex items-center gap-1.5 md:gap-2"},Tl={class:"text-xs md:text-sm font-medium truncate"},zl={key:0,class:"inline-flex min-h-[16px] md:min-h-[18px] min-w-[16px] md:min-w-[18px] items-center justify-center rounded-[4px] bg-blue-100 px-0.5 md:px-1 text-[10px] md:text-[11px] font-semibold text-blue-600 flex-shrink-0"},Kl={key:0,class:"p-1 md:p-2 border-t"},Ol={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Il={key:0,class:"flex items-center justify-center h-full text-gray-500"},Pl={class:"text-xs md:text-sm"},me=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{expose:o,emit:g}){const t=K(),a=p,l=ae(a.mode),m=e.useSlots(),s=g,i=e.ref({}),y=e.computed(()=>i?.value?a.view!=="inline"?i?.value:Object.fromEntries(Object.entries(i?.value).slice(a.limit)):{}),{activeFilter:n,activeFilterCount:u,onFilterChange:d,clearFilter:w,clearAllFilters:B,popoverFiltersSlot:_,selectedFilter:b,filterRef:c}=U({...a,schema:i,slots:m},s),h=e.computed(()=>a.badgeCount??u.value);function r(V){return Array.isArray(V)?V.filter(x=>x!=null&&x!=="").length:V&&typeof V=="object"?Object.values(V).filter(x=>x!=null&&x!=="").length:V===null||V!==void 0&&V!==""?1:0}function k(V){return n.value?r(n.value[V]):0}function $(){if(y.value){const[V]=Object.keys(y.value);b.value=V}else _.value.length>0?b.value=_.value[0].props.name:b.value=""}return e.watch(()=>a.schema,V=>{i.value=V??{}},{deep:!0,immediate:!0}),o({clearFilter:w,clearAllFilters:B}),(V,x)=>(e.openBlock(),e.createBlock(xl,{onOpen:$,onClose:x[5]||(x[5]=S=>b.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([V.itemClass,e.unref(l),"flex items-center justify-between gap-2",h.value>0?"border border-blue-400 bg-blue-50 text-blue-600 hover:border-blue-500":"text-neutral-700 hover:border-neutral-400"]),type:"button"},[e.createElementVNode("span",Bl,[e.createVNode(de,{class:"h-4 w-4"}),x[6]||(x[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),h.value>0?(e.openBlock(),e.createElementBlock("span",El,e.toDisplayString(h.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Nl,[e.createElementVNode("div",Sl,[e.createElementVNode("div",_l,[e.createElementVNode("p",$l,e.toDisplayString(e.unref(t)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",Dl,[V.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(y.value),([S,A])=>(e.openBlock(),e.createElementBlock("button",{key:S,onClick:()=>{b.value=S},class:e.normalizeClass(["flex w-full items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(b)===S?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Fl,[e.createElementVNode("span",jl,e.toDisplayString(A.label),1)]),k(S)>0?(e.openBlock(),e.createElementBlock("div",Ml,e.toDisplayString(k(S)),1)):e.createCommentVNode("",!0)],10,Al))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(S,A)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+A,onClick:f=>b.value=S.props.name,class:e.normalizeClass(["flex items-center justify-between px-2 md:px-3 py-1.5 md:py-2 text-left transition-colors hover:bg-gray-50",e.unref(b)===S.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Ll,[e.createElementVNode("span",Tl,e.toDisplayString(S.props.label),1)]),k(S.props.name)>0?(e.openBlock(),e.createElementBlock("div",zl,e.toDisplayString(k(S.props.name)),1)):e.createCommentVNode("",!0)],10,Rl))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",Kl,[e.createElementVNode("button",{class:e.normalizeClass([V.itemClass,"w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:x[0]||(x[0]=S=>e.unref(B)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ol,[e.unref(b)===""?(e.openBlock(),e.createElementBlock("div",Il,[e.createElementVNode("p",Pl,e.toDisplayString(e.unref(t)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[y.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(y.value),([S,A])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(b)===S?(e.openBlock(),e.createBlock(z,e.mergeProps({key:S,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:c},{ref_for:!0},A,{class:[V.itemClass,A?.class],"item-class":[V.itemClass,A?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[1]||(x[1]=f=>e.unref(d)(f.name,f.value)),onClear:x[2]||(x[2]=f=>{e.unref(w)(f),e.unref(d)(f,void 0)}),modelValue:e.unref(n)[S],"onUpdate:modelValue":f=>e.unref(n)[S]=f,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(S,A)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+A},[e.unref(b)===S.props.name?(e.openBlock(),e.createBlock(z,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},S.props,{ref_for:!0,ref_key:"filterRef",ref:c,class:[V.itemClass,S.props?.class],"item-class":[V.itemClass,S.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[3]||(x[3]=f=>e.unref(d)(f.name,f.value)),onClear:x[4]||(x[4]=f=>{e.unref(w)(f),e.unref(d)(f,void 0)}),modelValue:e.unref(n)[S.props.name],"onUpdate:modelValue":f=>e.unref(n)[S.props.name]=f,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Ul={class:"flex gap-1 items-center flex-wrap"},fe=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{expose:o,emit:g}){const t=K(),a=p,l=g,m=e.useSlots(),s=e.ref({}),i=e.computed(()=>Object.keys(a.schema).length>a.limit),{activeFilter:y,activeFilterCount:n,onFilterChange:u,clearFilter:d,clearAllFilters:w,limitedSchema:B,filtersSlot:_,limitedFiltersSlot:b}=U({...a,schema:s,slots:m},l);function c(x){return Array.isArray(x)?x.some(S=>S!==""&&S!==void 0&&S!==null):x===null?!0:x&&typeof x=="object"?Object.values(x).some(S=>S!==""&&S!==void 0&&S!==null):x!==""&&x!==void 0}const h=e.computed(()=>{const x=Object.keys(B.value??{}),S=b.value.map(A=>A.props?.name).filter(A=>typeof A=="string");return new Set([...x,...S])}),r=e.computed(()=>Object.entries(y.value??{}).filter(([x,S])=>h.value.has(x)&&c(S)).length),k=e.computed(()=>{const x=n.value??0,S=r.value??0;return Math.max(x-S,0)}),$=e.ref();function V(){$.value&&$.value.clearAllFilters(!0),w()}return e.watch(()=>a.schema,x=>{s.value=x},{deep:!0,immediate:!0}),o({clearFilter:d,clearAllFilters:w}),(x,S)=>(e.openBlock(),e.createElementBlock("div",Ul,[x.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(B)),([A,f])=>(e.openBlock(),e.createBlock(z,e.mergeProps({key:A,mode:x.mode,width:x.width?x.width:f?.width},{ref_for:!0},f,{class:[x.itemClass,f?.class],"item-class":[x.itemClass,f?.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[0]||(S[0]=C=>e.unref(u)(C.name,C.value)),onClear:e.unref(d),layout:"inline",cleanable:!0,modelValue:e.unref(y)[A],"onUpdate:modelValue":C=>e.unref(y)[A]=C}),null,16,["mode","width","class","item-class","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),(A,f)=>(e.openBlock(),e.createBlock(z,e.mergeProps({key:"slot-"+f,layout:"inline"},{ref_for:!0},A.props,{class:[x.itemClass,A.props?.class],"item-class":[x.itemClass,A.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[1]||(S[1]=C=>e.unref(u)(C.name,C.value)),onClear:S[2]||(S[2]=C=>{e.unref(d)(C),e.unref(u)(C,void 0)}),cleanable:!0,modelValue:e.unref(y)[A.props.name],"onUpdate:modelValue":C=>e.unref(y)[A.props.name]=C}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128)),i.value?(e.openBlock(),e.createBlock(me,e.mergeProps({key:1},a,{schema:x.schema,limit:x.limit,onChange:S[3]||(S[3]=A=>e.unref(u)(A.name,A.value)),onClearAll:S[4]||(S[4]=A=>e.unref(w)()),onClear:S[5]||(S[5]=A=>e.unref(d)(A.name)),mode:x.mode,ref_key:"popoverRef",ref:$,cleanable:!0,"badge-count":k.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(A,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A),e.mergeProps({key:"slot-"+f,layout:"popover"},{ref_for:!0},A.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(n)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:V,class:e.normalizeClass([x.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(t)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),ql={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"},Wl={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Yl=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{expose:o,emit:g}){const t=p,a=g,l=e.useSlots(),{activeFilter:m,activeFilterCount:s,onFilterChange:i,clearFilter:y,clearAllFilters:n,filtersSlot:u}=U({...t,slots:l},a);return o({clearFilter:y,clearAllFilters:n}),(d,w)=>d.view==="vertical"?(e.openBlock(),e.createElementBlock("div",ql,[e.createElementVNode("div",Wl,[e.unref(s)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:w[0]||(w[0]=B=>e.unref(n)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([d.itemClass,"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),type:"button"}," Очистити ",2)):e.createCommentVNode("",!0),d.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(d.schema),([B,_])=>(e.openBlock(),e.createBlock(z,e.mergeProps({layout:"vertical"},{ref_for:!0},_,{class:[d.itemClass,_?.class],"item-class":[d.itemClass,_?.itemClass].filter(Boolean).join(" ")||void 0,onChange:w[1]||(w[1]=b=>e.unref(i)(b.name,b.value)),onClear:w[2]||(w[2]=b=>{e.unref(y)(b),e.unref(i)(b,void 0)}),modelValue:e.unref(m)[B],"onUpdate:modelValue":b=>e.unref(m)[B]=b,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(B,_)=>(e.openBlock(),e.createBlock(z,e.mergeProps({key:"slot-"+_,layout:"vertical"},{ref_for:!0},B.props,{class:[d.itemClass,B.props?.class],"item-class":[d.itemClass,B.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:w[3]||(w[3]=b=>e.unref(i)(b.name,b.value)),onClear:w[4]||(w[4]=b=>{e.unref(y)(b),e.unref(i)(b,void 0)}),modelValue:e.unref(m)[B.props.name],"onUpdate:modelValue":b=>e.unref(m)[B.props.name]=b,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),Hl=["onKeydown"],Ql=["disabled"],Gl={key:0,class:"ml-2 inline-flex min-h-[18px] min-w-[18px] items-center justify-center rounded-full bg-blue-500 px-1.5 text-[11px] font-semibold text-white"},Jl={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},Xl={class:"mb-3 flex items-center justify-between"},Zl={class:"text-[15px] font-semibold text-slate-800"},vl={"aria-hidden":"true"},eo={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},to={key:0,class:"mt-3 flex justify-end"},lo=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{emit:o}){const g=K(),t=p,a=o,l=e.ref({}),m=e.useSlots(),{activeFilter:s,activeFilterCount:i,onFilterChange:y,clearFilter:n,clearAllFilters:u,filtersSlot:d}=U({...t,schema:l.value,slots:m},a),w=e.ref(null),B=e.ref(null),_=e.reactive({open:!1,top:0,left:0}),b=e.computed(()=>_.open),c=e.computed(()=>!!t.disabled),h=e.computed(()=>l.value||{}),r=e.computed(()=>t.title??"Фільтр"),k=e.computed(()=>!!m.trigger),$=e.computed(()=>["inline-flex h-9 items-center justify-center gap-2 rounded-lg border border-transparent bg-slate-200/70 px-3 text-sm font-medium text-slate-700 transition-colors hover:bg-blue-100 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-slate-200/70 disabled:hover:text-slate-700",c.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),V=e.computed(()=>_.open?{position:"absolute",top:`${_.top}px`,left:`${_.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function x(){_.open=!1}function S(){if(!w.value)return;const F=w.value.getBoundingClientRect();_.top=F.bottom+window.scrollY+8,_.left=F.left+F.width/2+window.scrollX}function A(){_.open=!_.open,_.open&&e.nextTick(S)}function f(){c.value||A()}function C(){_.open&&S()}function E(){u()}return e.onMounted(()=>{window.addEventListener("resize",C),window.addEventListener("scroll",C,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,!0)}),e.watch(()=>t.schema,F=>{if(!F){l.value={};return}if(Array.isArray(F)){const N=F.filter(D=>D&&(D.name||D.id)).map(D=>{const j=D.name||D.id;return[j,{...D,name:j}]});l.value=Object.fromEntries(N);return}l.value=F},{deep:!0,immediate:!0}),e.watch(()=>t.disabled,F=>{F&&x()}),(F,N)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:w},[k.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["inline-flex",c.value?"cursor-not-allowed opacity-60 pointer-events-none":"cursor-pointer"]),role:"button",tabindex:"0","data-popover-trigger":"",onClick:e.withModifiers(f,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(f,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(f,["prevent","stop"]),["space"])]},[e.renderSlot(F.$slots,"trigger",{toggle:f,open:b.value,disabled:c.value,activeCount:e.unref(i)})],42,Hl)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass($.value),type:"button",disabled:c.value,onClick:e.withModifiers(f,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(de,{class:"h-4 w-4"}),e.unref(i)>0?(e.openBlock(),e.createElementBlock("div",Gl,e.toDisplayString(e.unref(i)),1)):e.createCommentVNode("",!0)],10,Ql)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof F.width=="number"?`min-w-[${F.width+32+(Object.keys(h.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(V.value),ref_key:"panel",ref:B,onClick:N[4]||(N[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Jl,[e.createElementVNode("div",Xl,[e.createElementVNode("h3",Zl,e.toDisplayString(r.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:x},[e.createElementVNode("span",vl,[e.createVNode(G,{class:"h-4 w-4"})]),N[5]||(N[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",eo,[Object.keys(h.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(h.value),([D,j])=>(e.openBlock(),e.createBlock(z,e.mergeProps({key:D},{ref_for:!0},{...j,layout:"inline"},{width:F.width?F.width:j?.width,class:[F.itemClass,j?.class],"item-class":[F.itemClass,j?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(s)[D],"onUpdate:modelValue":M=>e.unref(s)[D]=M,onChange:N[0]||(N[0]=M=>e.unref(y)(M.name,M.value)),onClear:N[1]||(N[1]=M=>{e.unref(n)(M),e.unref(y)(M,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(D,j)=>(e.openBlock(),e.createBlock(z,e.mergeProps({key:"slot-"+j,ref_for:!0},{...D.props,layout:"inline"},{class:[F.itemClass,D.props?.class],"item-class":[F.itemClass,D.props?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(s)[D.props.name],"onUpdate:modelValue":M=>e.unref(s)[D.props.name]=M,onChange:N[2]||(N[2]=M=>e.unref(y)(M.name,M.value)),onClear:N[3]||(N[3]=M=>{e.unref(n)(M),e.unref(y)(M,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))]),e.unref(i)>0?(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([F.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:E},e.toDisplayString(e.unref(g)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),oo={class:"mb-6 flex flex-wrap gap-2"},no=["onClick"],ro={class:"mr-2 flex items-center gap-1"},ao={class:"font-semibold"},so={class:"text-xs text-gray-500"},q=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(p,{expose:o,emit:g}){const t=p,a=e.useAttrs(),l=e.computed(()=>({...t,...a})),m=e.ref(n(t.value??{}));e.watch(()=>t.value,async f=>{m.value=n(f??{}),(!f||Object.keys(f).length===0)&&(await e.nextTick(),i.value?.clearAllFilters?.(!0))},{deep:!0,immediate:!0});const s=g,i=e.ref(),y=e.useSlots();function n(f){if(Array.isArray(f))return f.map(C=>n(C));if(f!==null&&typeof f=="object"){const C=e.toRaw(f),E={};for(const F in C)E[F]=n(C[F]);return E}return f}function u(f,C){C!==void 0?m.value={...m.value,[f]:C}:delete m.value[f],s("change",{data:n(m.value),name:f,value:n(C)})}function d(f){delete m.value[f],s("clear",{data:n(m.value),name:f}),s("change",{data:n(m.value),name:f,value:null})}function w(){m.value={},s("clear",{data:n(m.value),name:"ALL"}),s("change",{data:n(m.value),name:"ALL",value:null})}const B=e.ref({}),_=e.computed(()=>t.teleportActive);function b(){switch(t.view){case"inline":return fe;case"vertical":return Yl;case"popover":return me;case"popover-inline":return lo;default:return fe}}e.watch(()=>t.schema,f=>{if(!f){B.value={};return}if(Array.isArray(f)&&!f.length){B.value={};return}Array.isArray(f)?B.value=f.filter(C=>C.type).reduce((C,E)=>(Object.assign(E,{name:E.id||E.name,type:{datepicker:"date"}[E.type.toLowerCase()]||E.type.toLowerCase(),label:E.label||E.ua}),C[E.name]=E,E.data&&!E.api&&!E.options&&Object.assign(E,{api:`/api/suggest/${E.data}`}),C),{}):(Object.entries(f).forEach(([C,E])=>{Object.assign(E,{name:C||E.name||E.id,type:E.type.toLowerCase()})}),B.value={...f})},{immediate:!0,deep:!0});function c(f){i.value.clearFilter(f),d(f)}function h(){i.value.clearAllFilters(),w()}const r=e.computed(()=>Object.entries(m.value).filter(([,f])=>f==null?!1:Array.isArray(f)?f.length>0:typeof f=="string"?f.trim().length>0:!0).map(([f,C])=>{const E=B.value[f],F=E?.label||E?.title||f,N=$(E,C);return{key:f,label:F,value:N}}));function k(f){c(f)}function $(f,C){if(!f||C===void 0||C===null)return"";const E=V(C);if(!E.length)return"";const F=x(f);return E.map(N=>F.get(N)??N).filter(Boolean).join(", ")}function V(f){return Array.isArray(f)?f.map(C=>C?.toString?.()??"").filter(Boolean):typeof f=="string"?f.split(",").map(C=>C.trim()).filter(Boolean):[]}function x(f){const C=new Map,E=f.valueKey||"id",F=f.labelKey||"text";return(f.options??[]).forEach(N=>{const D=S(N,E),j=A(N,F);D&&C.set(D,j||D)}),C}function S(f,C){return f?(f[C]??f.id??f.value??f.key)?.toString?.()??"":""}function A(f,C){return f?(f[C]??f.text??f.label??f.value??f.id)?.toString?.()??"":""}return e.watch(()=>m.value,f=>{if(t.history){const C=new URL(window.location.href),E=new URLSearchParams(window.location.search);Object.keys(f).length>0?E.set("filter",Object.entries(f).filter(([,F])=>F).map(([F,N])=>`${F}=${N}`).join("|")):E.delete("filter"),C.search=decodeURI(E.toString()),window.history.pushState({},"",C)}}),o({clearAllFilters:h,clearFilter:c}),(f,C)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(l.value,{schema:B.value,onChange:C[0]||(C[0]=E=>u(E.name,E.value)),onClear:C[1]||(C[1]=E=>d(E.name)),onClearAll:w,ref_key:"filterRef",ref:i}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:2},[e.unref(y).trigger?{name:"trigger",fn:e.withCtx(E=>[e.renderSlot(f.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(E)))]),key:"0"}:void 0]),1040,["schema"])),_.value&&r.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:_.value},[e.createElementVNode("div",oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,E=>(e.openBlock(),e.createElementBlock("button",{key:E.key,type:"button",class:"ga1u8 zw1wr sr4j9 flex items-center zu875 kew0r w9dei w4xo0 kghwt wz1vo focus:outline-hidden gugmw dark:bg-emerald-500 dark:hover:bg-emerald-600 dark:focus:bg-emerald-600 bg-white border border-gray-200 px-3 py-1 rounded-full text-sm text-gray-700",onClick:F=>k(E.key)},[e.createElementVNode("span",ro,[e.createElementVNode("span",ao,e.toDisplayString(E.label),1),e.createElementVNode("span",so,"· "+e.toDisplayString(E.value),1)]),C[2]||(C[2]=e.createElementVNode("span",{class:"g424j flex flex-col jkwm1 items-center b9gop aqyoh ad7q2 kghwt t4363 q7nhl dark:text-emerald-500"},[e.createElementVNode("svg",{class:"e731n u28hb",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})])],-1))],8,no))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});q.install=function(o){o.component("Filter",q),o.component("FilterField",z)},L.Filter=q,L.FilterField=z,L.default=q,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengis/filter",
3
- "version": "0.1.30",
3
+ "version": "0.1.31",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",