@opengis/filter 0.1.32 → 0.1.33

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(T,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):(T=typeof globalThis<"u"?globalThis:T||self,e(T.FilterLib={},T.Vue,T.OpenGISCore))})(this,(function(T,e,Z){"use strict";const z=(t,o)=>{const u=t.__vccOpts||t;for(const[l,a]of o)u[l]=a;return u},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(t,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=z(ue,[["render",ye]]),he={},xe={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 be(t,o){return e.openBlock(),e.createElementBlock("svg",xe,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const _=z(he,[["render",be]]),ke={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(t,{expose:o,emit:u}){const l=t,a=u;function n(){a("itemClick",l.value)}const d=e.ref(null),i=e.computed(()=>l.layout==="inline"&&l.type==="radio"),s=e.computed(()=>l.layout==="vertical"?"text-[13px]":"text-sm");return o({el:d}),(y,r)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:d},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between w-full",s.value])},[e.createElementVNode("div",ke,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(t.layout)?"text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-gray-500 cursor-pointer",{"bg-blue-100":t.highlighted,relative:i.value},s.value]),onClick:e.withModifiers(n,["stop","prevent"])},[i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[t.type==="checkbox"?"rounded-[4px]":"rounded-full",t.color?`bg-[${t.color}] border-[#ffffff]`:t.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[t.isSelected?(e.openBlock(),e.createElementBlock("img",we)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:t.value},null,8,Ve),e.createElementVNode("div",{class:e.normalizeClass(["flex flex-1 flex-row items-center justify-between",i.value?"pl-1 pr-6":"w-[calc(100%-18px)] pl-[10px]"])},[e.createElementVNode("span",Ce,e.toDisplayString(t.label??"Відсутні дані"),1),t.count?(e.openBlock(),e.createElementBlock("div",Be," ("+e.toDisplayString(t.count)+") ",1)):e.createCommentVNode("",!0)],2),i.value&&t.isSelected?(e.openBlock(),e.createElementBlock("span",Ee,[e.createVNode(_)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function Y(t,o){const{options:u=[],limit:l=20}=t;function a(m){return Array.isArray(m)?m[0]:m}const n=e.ref(a(t.modelValue)),d=e.ref(""),i=e.ref(!1),s=e.ref([]),y=e.ref("id"),r=e.ref("text"),f=e.ref(!1),g=e.ref(t.layout!=="popover"&&u.length>l);function b(m){const x=m.find(Boolean)??{},D=["id","value","code","key"].find(B=>B in x)??"id",E=["text","label","name","title"].find(B=>B in x)??"text";return{autoValueKey:D,autoLabelKey:E}}if(u.length>0){const m=b(u);y.value=m.autoValueKey,r.value=m.autoLabelKey}const V=e.computed(()=>{const m=s.value;return t.layout==="popover"||f.value?m:m.slice(0,l)});e.watch(()=>t.modelValue,m=>{n.value=a(m)},{immediate:!0}),s.value=[...u].sort((m,x)=>t.sort==="count"?x.count&&m.count?x.count-m.count:0:t.sort==="name"?String(m[r.value]??"").localeCompare(String(x[r.value]??"")):0);function $(m){return n.value===m[y.value]}function k(m){n.value=m[y.value],o("update:modelValue",n.value),o("change",{name:t.name,value:n.value})}function c(){n.value=void 0,o("update:modelValue",n.value),o("clear",t.name)}function h(){f.value=!f.value}return{innerValue:n,searchTerm:d,filteredOptions:V,isSelected:$,selectItem:k,clear:c,toggleShowAll:h,isReqProc:i,showAll:f,isEnableShowAll:g,labelKey:r,valueKey:y,allOptions:s}}const Ne={},Se={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function $e(t,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=z(Ne,[["render",$e]]),De={},Ae={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function Fe(t,o){return e.openBlock(),e.createElementBlock("svg",Ae,[...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=z(De,[["render",Fe]]),je={},Me={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 Re(t,o){return e.openBlock(),e.createElementBlock("svg",Me,[...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=z(je,[["render",Re]]),Le={key:0,class:"w-full"},Te={class:"flex flex-col items-center justify-center p-5 text-center"},ze={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"},Oe=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=e.ref(null),n=u,{innerValue:d,filteredOptions:i,isSelected:s,selectItem:y,clear:r,toggleShowAll:f,isReqProc:g,showAll:b,isEnableShowAll:V,labelKey:$,valueKey:k,allOptions:c}=Y({...l,modelValue:l.modelValue??l.default??""},n);return o({clear:r,inputTextRef:a}),e.watch(()=>l.modelValue,h=>{h===void 0&&(d.value=void 0)}),(h,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),x=>(e.openBlock(),e.createBlock(W,{layout:t.layout,key:x[e.unref(k)],count:x.count,label:x[e.unref($)],color:x.color,type:"radio",value:x[e.unref(k)],"is-selected":e.unref(s)(x),onItemClick:D=>e.unref(y)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(i).length===0&&!e.unref(g)?(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",Te,[e.createVNode(H),m[4]||(m[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(b)&&e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m[0]||(m[0]=(...x)=>e.unref(f)&&e.unref(f)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[m[5]||(m[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(P)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:m[1]||(m[1]=(...x)=>e.unref(f)&&e.unref(f)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[m[6]||(m[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",ze,[e.createTextVNode(e.toDisplayString(e.unref(d)||e.unref(d)===null?1:0)+" з "+e.toDisplayString(e.unref(c).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[2]||(m[2]=(...x)=>e.unref(r)&&e.unref(r)(...x))}," Очистити ",512),[[e.vShow,e.unref(d)!==""&&e.unref(d)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("span",null,e.toDisplayString(e.unref(d)||e.unref(d)===null?1:0)+" з "+e.toDisplayString(e.unref(c).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[3]||(m[3]=(...x)=>e.unref(r)&&e.unref(r)(...x))}," Очистити ",512),[[e.vShow,e.unref(d)!==""&&e.unref(d)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function v(t,o){const{options:u=[],limit:l=20}=t;function a(m){return Array.isArray(m)?m:m?[m]:[]}const n=e.ref(a(t.modelValue)),d=e.ref(""),i=e.ref(!1),s=e.ref([]),y=e.ref("id"),r=e.ref("text"),f=e.ref(!1),g=e.ref(t.layout!=="popover"&&u.length>l);function b(m){const x=m.find(Boolean)??{},D=["id","value","code","key"].find(B=>B in x)??"id",E=["text","label","name","title"].find(B=>B in x)??"text";return{autoValueKey:D,autoLabelKey:E}}if(u.length>0){const m=b(u);y.value=m.autoValueKey,r.value=m.autoLabelKey}const V=e.computed(()=>{const m=s.value;return t.layout==="popover"||f.value?m:m.slice(0,l)});e.watch(()=>t.modelValue,m=>{n.value=a(m)},{immediate:!0}),s.value=[...u].sort((m,x)=>t.sort==="count"?x.count&&m.count?x.count-m.count:0:t.sort==="name"?String(m[r.value]).localeCompare(String(x[r.value])):0);function $(m){return n.value&&n.value.includes(m[y.value])}function k(m){const x=n.value.includes(m[y.value]);n.value=x?n.value.filter(D=>D!==m[y.value]):[...n.value,m[y.value]],o("update:modelValue",n.value),o("change",{name:t.name,value:n.value})}function c(){n.value=[],o("update:modelValue",n.value),o("clear",t.name)}function h(){f.value=!f.value}return{innerValue:n,searchTerm:d,filteredOptions:V,isSelected:$,selectItem:k,clear:c,toggleShowAll:h,isReqProc:i,showAll:f,isEnableShowAll:g,labelKey:r,valueKey:y,allOptions:s}}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(t){const o=t.split(".")[1],u=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(ee[u||navigator.language]||ee.uk)[o]}function O(){const t=e.getCurrentInstance();if(!t.appContext.config.globalProperties.$i18n)return te;const o=t.appContext.config.globalProperties.$t;return u=>{const l=o(u);return l===u?te(u):l}}const _e={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(t,{expose:o,emit:u}){const l=O(),a=t,n=u,{innerValue:d,filteredOptions:i,isSelected:s,selectItem:y,clear:r,toggleShowAll:f,isReqProc:g,showAll:b,isEnableShowAll:V,labelKey:$,valueKey:k,allOptions:c}=v({...a,modelValue:a.modelValue},n);return e.watch(()=>a.modelValue,h=>{h===void 0&&(d.value=[])}),o({clear:r}),(h,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),x=>(e.openBlock(),e.createBlock(W,{layout:t.layout,count:x.count,label:x[e.unref($)],color:x.color,type:"checkbox",value:x[e.unref(k)],"is-selected":e.unref(s)(x),onItemClick:D=>e.unref(y)(x)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(i).length===0&&!e.unref(g)?(e.openBlock(),e.createElementBlock("div",_e,[e.createElementVNode("div",Ie,[e.createVNode(H),e.createElementVNode("div",Pe,[e.createElementVNode("p",Ue,e.toDisplayString(e.unref(l)("filter.notfound")),1),m[4]||(m[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(b)&&e.unref(V)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m[0]||(m[0]=(...x)=>e.unref(f)&&e.unref(f)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.more"))+" ",1),e.createVNode(P)])):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:m[1]||(m[1]=(...x)=>e.unref(f)&&e.unref(f)(...x)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.less"))+" ",1),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",qe,[e.createTextVNode(e.toDisplayString(e.unref(d).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[2]||(m[2]=(...x)=>e.unref(r)&&e.unref(r)(...x))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(d).length!==0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("span",null,e.toDisplayString(e.unref(d).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(l)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:m[3]||(m[3]=(...x)=>e.unref(r)&&e.unref(r)(...x))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(d).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(t,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 ne=z(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(t,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=z(Ge,[["render",Xe]]);class oe{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(t,{emit:o}){const u=t,l=e.ref((u.placeholder||u.label||u.title||u.name||"search").toString()),a=o,n=e.ref(u.modelValue?.toString()??"");e.watch(()=>u.modelValue,y=>{y!==n.value&&(n.value=y?.toString()??"")});let d=null;function i(){if(n.value=n.value.trimStart(),n.value.length===0){s();return}d&&clearTimeout(d),d=setTimeout(()=>{a("update:modelValue",n.value),a("change",{name:u.name,value:n.value})},300)}function s(){n.value="",a("update:modelValue",""),a("clear",u.name)}return(y,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",t.layout==="vertical"?"rounded-md":"rounded-sm",t.layout==="vertical"?"[&>input]:rounded-md":"[&>input]:rounded-sm",t.layout==="inline"?e.unref(oe).getWidthClass(t.width):"mb-2"+(t.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",Ze,[e.createVNode(ne)]),n.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:s,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":r[0]||(r[0]=f=>n.value=f),onInput:i,placeholder:l.value,class:e.normalizeClass(["!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500",t.layout==="vertical"?"rounded-md":"rounded-sm"])},null,42,ve),[[e.vModelText,n.value]])],2))}});function re(t={color:"blue"}){return e.computed(()=>{const u=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${t.color}-500 focus:border-transparent
2
- text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return t?.size==="sm"?`${u}h-[32px]`:`${u}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(t){return t==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":t==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const nt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ot=["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"},it=["placeholder","disabled"],st=["disabled"],cn={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},dn={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(t,{expose:o,emit:u}){const l=re(),a=tt(),n=O(),d=t,i=e.ref(d.modelValue??d.default??[]),s=u,y=e.computed({get:()=>d.modelValue??i.value,set:g=>{d.modelValue!==void 0?s("update:modelValue",g):i.value=g}});function r(){s("change",{name:d.name,value:y.value||i.value})}function f(){i.value=[],y.value=i.value,s("clear",d.name)}return e.watch(()=>d.modelValue,g=>{g!==void 0&&d.layout!=="popover"?(i.value=g,s("update:modelValue",g)):i.value=[]}),o({clear:f,currentValue:y}),(g,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(t.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",nt,e.toDisplayString(e.unref(n)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[0]??e.unref(n)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":b[0]||(b[0]=V=>y.value[0]=V),disabled:t.disabled},null,10,ot),[[e.vModelText,y.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",rt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",at,e.toDisplayString(e.unref(n)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[1]??e.unref(n)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":b[1]||(b[1]=V=>y.value[1]=V),disabled:t.disabled},null,10,it),[[e.vModelText,y.value[1]]])]),["popover","inline","vertical"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:r,class:e.normalizeClass(e.unref(a)+(t.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(t.layout==="vertical"?"Ok":e.unref(n)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(y.value[0]||y.value[1]),onClick:f,class:e.normalizeClass(e.unref(a)+" hover:bg-gray-100")},e.toDisplayString(e.unref(n)("filter.clear")),11,st)):e.createCommentVNode("",!0)],2)]),(t.cleanable&&i.value.length,e.createCommentVNode("",!0))],64))}});class L{static format(o){const u=o.getFullYear(),l=(o.getMonth()+1).toString().padStart(2,"0"),a=o.getDate().toString().padStart(2,"0");return`${u}-${l}-${a}`}static getShiftedDay(o,u=0){const l=o?new Date(o):new Date;return l.setDate(l.getDate()+u),this.format(l)}static getLastWeekRange(o,u,l=0){if(o&&u){const y=new Date(o),r=new Date(u);return y.setDate(y.getDate()+l*7),r.setDate(r.getDate()+l*7),[this.format(y),this.format(r)]}const a=new Date,n=a.getDay(),d=n===0?13:n-1+7,i=new Date(a);i.setDate(a.getDate()-d+l*7);const s=new Date(i);return s.setDate(i.getDate()+6),[this.format(i),this.format(s)]}static getMonthRange(o,u,l=0){let a;o?a=new Date(o):a=new Date,a=new Date(a.getFullYear(),a.getMonth()+l,1);const n=a,d=new Date(a.getFullYear(),a.getMonth()+1,0);return[this.format(n),this.format(d)]}static getQuarterRange(o,u,l=0){const a=o||u,n=a?new Date(a):new Date;let d=Math.floor(n.getMonth()/3);d+=l;const i=(d%4+4)%4*3,s=n.getFullYear()+Math.floor(d/4),y=new Date(s,i,1),r=new Date(s,i+3,0);return[this.format(y),this.format(r)]}static getYear(o,u=0){let l;return o&&/^\d{4}$/.test(o)?l=parseInt(o,10):o?l=new Date(o).getFullYear():l=new Date().getFullYear(),String(l+u)}static getYearRange(o,u=0){let l;return o&&/^\d{4}$/.test(o)?l=parseInt(o,10):o?l=new Date(o).getFullYear():l=new Date().getFullYear(),[this.format(new Date(l+u,0,1)),this.format(new Date(l+u+1,0,0))]}static getRangeFromDaysBefore(o){const u=new Date,l=new Date(u.getTime());return l.setDate(u.getDate()-o),[this.format(l),this.format(u)]}}function ie(t,o){const{popoverRef:u}=t,l=O(),a=e.ref(""),n=e.ref(t.modelValue??t.default??[]),d=e.ref(0);function i(){const c=L.getRangeFromDaysBefore(d.value);return n.value=[...c],o("change",{name:t.name,value:n.value}),o("update:modelValue",n.value),c}function s(c){a.value=c,u.value?.close();const h=[];switch(a.value){case"today":h.push(L.getShiftedDay()),h.push(L.getShiftedDay());break;case"week":h.push(...L.getLastWeekRange());break;case"month":h.push(...L.getMonthRange());break;case"quarter":h.push(...L.getQuarterRange());break;case"year":h.push(...L.getYearRange());break;case"last_7_days":d.value=7,i();break;case"range":d.value=7,h.push(...i());break}n.value=[...h],o("change",{name:t.name,value:n.value}),o("update:modelValue",n.value)}function y(){const c=[];switch(a.value){case"today":c.push(L.getShiftedDay(n.value[0],1));break;case"week":c.push(...L.getLastWeekRange(n.value[0],n.value[1],1));break;case"month":c.push(...L.getMonthRange(n.value[0],n.value[1],1));break;case"quarter":c.push(...L.getQuarterRange(n.value[0],n.value[1],1));break;case"year":c.push(...L.getYearRange(n.value[0],1));break}n.value=[...c],o("change",{name:t.name,value:n.value}),o("update:modelValue",n.value)}function r(){const c=[];switch(a.value){case"today":c.push(L.getShiftedDay(n.value[0],-1));break;case"week":c.push(...L.getLastWeekRange(n.value[0],n.value[1],-1));break;case"month":c.push(...L.getMonthRange(n.value[0],n.value[1],-1));break;case"quarter":c.push(...L.getQuarterRange(n.value[0],n.value[1],-1));break;case"year":c.push(...L.getYearRange(n.value[0],-1));break}n.value=[...c],o("change",{name:t.name,value:n.value}),o("update:modelValue",n.value)}const f=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function g(c){const[h,m,x]=c.split("-");return`${x}.${m}.${h}`}function b(c,h="long"){const m=new Date(Date.UTC(2e3,c-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:h,timeZone:"UTC"}).format(m)}function V(c){const{value:h}=n;switch(c){case"today":return g(h[0]);case"range":return"Період";case"week":return h[0]&&h[1]?`${g(h[0])} – ${g(h[1])}`:"";case"quarter":if(h[0]){const m=new Date(h[0]),x=m.getFullYear(),D=m.getMonth();return`${Math.floor(D/3)+1} ${l("filter.quarter")} ${x}`}return"";case"month":if(h[0]){const[m,x]=h[0].split("-");return`${b(parseInt(x,10))} ${m}`}return"";case"year":return h[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const $=e.computed(()=>a.value?V(a.value):t.label??"");function k(){a.value="",n.value=[],o("update:modelValue",[]),o("clear",t.name)}return{activeMode:a,innerValue:n,daysBefore:d,onDaysBeforeChange:i,onSelectChange:s,nextClick:y,prevClick:r,ukMonths:f,formatDisplayDate:g,getModeLabel:V,currentLabel:$,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"},xt=["min","disabled"],bt={class:"flex gap-1 pt-2"},kt=["title","onClick"],mn={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(t,{expose:o,emit:u}){const l=t,a=re(),n=lt(),d=O(),i=u,s=e.ref(null),{activeMode:y,innerValue:r,onSelectChange:f,nextClick:g,prevClick:b,clear:V}=ie({...l,popoverRef:s},i);e.watch(()=>l.modelValue,m=>{m!==void 0?(r.value=m,i("update:modelValue",m)):(y.value="",r.value=[])}),e.watch(r,m=>{i("update:modelValue",m),i("change",{name:l.name,value:m})},{deep:!0});const $=["today","week","month","quarter","year"],k={today:{label:"день",title:d("filter.today")},week:{label:"тиж.",title:d("filter.week")},month:{label:"міс.",title:d("filter.month")},quarter:{label:"кв.",title:d("filter.quarter")},year:{label:"рік",title:d("filter.year")}};function c(m){return k[m]?.label??d(`filter.${m}`)}function h(m){return k[m]?.title??d(`filter.${m}`)}return o({clear:V,popoverRef:s}),(m,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",dt,[e.unref(y)!==""&&e.unref(y)==="range"?(e.openBlock(),e.createElementBlock("div",mt,[x[7]||(x[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(r)[1],locale:"uk-UA","onUpdate:modelValue":x[0]||(x[0]=D=>e.unref(r)[0]=D),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,8,ft),[[e.vModelText,e.unref(r)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(r)[0],locale:"uk-UA","onUpdate:modelValue":x[1]||(x[1]=D=>e.unref(r)[1]=D),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,8,ut),[[e.vModelText,e.unref(r)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",pt,e.toDisplayString(e.unref(d)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(r)[1],locale:"uk-UA","onUpdate:modelValue":x[2]||(x[2]=D=>e.unref(r)[0]=D),class:e.normalizeClass(e.unref(a)),disabled:t.disabled},null,10,yt),[[e.vModelText,e.unref(r)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",gt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",ht,e.toDisplayString(e.unref(d)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(r)[0],locale:"uk-UA","onUpdate:modelValue":x[3]||(x[3]=D=>e.unref(r)[1]=D),class:e.normalizeClass(e.unref(a)),disabled:t.disabled},null,10,xt),[[e.vModelText,e.unref(r)[1]]])],2)],2),e.createElementVNode("div",bt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList($,D=>e.createElementVNode("button",{key:D,class:e.normalizeClass(e.unref(n)+(e.unref(y)===D?" bg-blue-100":"")),title:h(D),onClick:E=>e.unref(f)(D)},e.toDisplayString(c(D)),11,kt)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n)),onClick:x[4]||(x[4]=(...D)=>e.unref(b)&&e.unref(b)(...D))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(n)),onClick:x[5]||(x[5]=(...D)=>e.unref(g)&&e.unref(g)(...D))},">",2)]),(t.cleanable,e.createCommentVNode("",!0))],64))}});function Vt(t,o){const{api:u,options:l=[],limit:a=20,dataKey:n="data"}=t,d=t.multi;function i(C){return d?Array.isArray(C)?C:C?[C]:[]:Array.isArray(C)?C[0]:C}const s=e.ref(i(t.modelValue)),y=e.ref(""),r=e.ref(!1),f=e.ref(l),g=e.ref("id"),b=e.ref("text"),V=e.ref(!1),$=e.ref(t.layout!=="popover"&&l.length>a),k=e.ref([]),c=e.ref(0);function h(C){const A=C.find(Boolean)??{},M=["id","value","code","key"].find(I=>I in A)??"id",R=["text","label","name","title"].find(I=>I in A)??"text";return{autoValueKey:M,autoLabelKey:R}}if(l.length>0){const C=h(l);g.value=C.autoValueKey,b.value=C.autoLabelKey}const m=e.computed(()=>{if(u)return f.value;const C=f.value;if(t.layout==="popover")return C;if(!y.value)return V.value?C:C.slice(0,a);const A=y.value.toLowerCase();return C.filter(M=>M[b.value].toLowerCase().includes(A))});let x=null;async function D(C){if(u){r.value=!0;try{const A=new URL(u,window.location.origin);A.searchParams.set("json","1"),A.searchParams.set("key",C),A.searchParams.set("limit",a.toString());const M=await fetch(A.toString());if(!M.ok){Z.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),f.value=[];return}const R=await M.json();if(!R[n]){Z.notify({type:"error",title:"Error",message:R}),f.value=[];return}if(f.value=R[n],f.value.length>0){const I=h(f.value);g.value=I.autoValueKey,b.value=I.autoLabelKey}c.value=R.total}catch(A){console.error("Failed to fetch remote options:",A)}finally{r.value=!1}}}e.watch(y,C=>{u&&(x&&clearTimeout(x),x=setTimeout(()=>{D(C)},200))}),e.watch(()=>t.modelValue,C=>{s.value=i(C)},{immediate:!0}),e.watch(s,C=>{d?(!Array.isArray(C)||C.length===0)&&(k.value=[]):(C==null||typeof C=="string"&&C==="")&&(k.value=[])});function E(C){return d&&Array.isArray(s.value)?s.value.includes(C[g.value]):s.value&&s.value===C[g.value]}function B(C){if(d&&!Array.isArray(s.value)&&(s.value=[]),d&&Array.isArray(s.value)){const A=s.value.includes(C[g.value]);s.value=A?s.value.filter(M=>M!==C[g.value]):[...s.value,C[g.value]],k.value=A?k.value.filter(M=>M!==C[b.value]):[...k.value,C[b.value]]}else s.value=C[g.value],k.value=C[b.value];o("update:modelValue",s.value),o("change",{name:t.name,value:s.value})}function S(){d?(s.value=[],k.value=[]):(s.value=void 0,k.value=[]),o("update:modelValue",s.value),o("clear",t.name)}function F(){x&&clearTimeout(x),y.value="",V.value=!1}function p(){V.value=!V.value}e.onBeforeUnmount(()=>{x&&clearTimeout(x)});const w=e.ref(-1);e.watch(m,()=>{w.value=m.value.length>0?0:-1});function N(C){const A=m.value.length;if(C.key==="ArrowDown")C.preventDefault(),w.value=(w.value+1)%A;else if(C.key==="ArrowUp")C.preventDefault(),w.value=(w.value-1+A)%A;else if(C.key==="Enter"&&(C.preventDefault(),w.value>=0&&w.value<m.value.length)){const M=m.value[w.value];B(M)}}function j(){u&&f.value.length===0&&y.value.length===0&&D(y.value)}return{innerValue:s,searchTerm:y,filteredOptions:m,isSelected:E,selectItem:B,clear:S,resetSearch:F,toggleShowAll:p,isReqProc:r,showAll:V,isEnableShowAll:$,labelKey:b,valueKey:g,allOptions:f,highlightedIndex:w,onKeyDown:N,selectedLabels:k,totalCount:c,loadData:j}}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"},Dt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},At={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ft=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=O(),a=t,n=u,d=e.ref(null),{innerValue:i,filteredOptions:s,isSelected:y,selectItem:r,clear:f,resetSearch:g,toggleShowAll:b,isReqProc:V,showAll:$,isEnableShowAll:k,searchTerm:c,labelKey:h,valueKey:m,highlightedIndex:x,onKeyDown:D,selectedLabels:E,totalCount:B,loadData:S}=Vt({...a,modelValue:a.modelValue},n);e.onMounted(()=>{g(),a.layout!=="inline"&&(S(),d.value&&a.layout==="popover"&&d.value.focus())}),e.watch(()=>a.modelValue,p=>{p===void 0&&(a.multi?i.value=[]:i.value=void 0)});const F=e.ref([]);return e.watch(x,p=>{p>=0&&F.value[p]&&F.value[p]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(s,()=>{F.value=[]}),o({clear:f,inputTextRef:d,selectedLabels:E,loadData:S}),(p,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Ct,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w[0]||(w[0]=N=>e.isRef(c)?c.value=N:null),onKeydown:w[1]||(w[1]=(...N)=>e.unref(D)&&e.unref(D)(...N)),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(l)("filter.search"),type:"text",ref_key:"inputTextRef",ref:d},null,40,Bt),[[e.vModelText,e.unref(c)]]),e.createVNode(ne,{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]=N=>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([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(N,j)=>(e.openBlock(),e.createBlock(W,{layout:t.layout,count:N.count,label:N[e.unref(h)],color:N.color,type:t.multi?"checkbox":"radio",value:N[e.unref(m)],"is-selected":e.unref(y)(N),highlighted:j===e.unref(x),onItemClick:C=>e.unref(r)(N),ref_for:!0,ref:C=>F.value[j]=C?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),t.type==="select"&&e.unref(s).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(l)("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),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref($)&&e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:w[3]||(w[3]=(...N)=>e.unref(b)&&e.unref(b)(...N)),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(l)("filter.more"))+" ",1),e.createVNode(P)])):e.createCommentVNode("",!0),e.unref($)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:w[4]||(w[4]=(...N)=>e.unref(b)&&e.unref(b)(...N)),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(l)("filter.less"))+" ",1),e.createVNode(Q)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Dt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(i))?e.unref(i)?.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" / "+e.toDisplayString(e.unref(B))+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[5]||(w[5]=(...N)=>e.unref(f)&&e.unref(f)(...N))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",At,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(i))?e.unref(i)?.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" / "+e.toDisplayString(e.unref(B))+" "+e.toDisplayString(e.unref(l)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:w[6]||(w[6]=(...N)=>e.unref(f)&&e.unref(f)(...N))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),jt=["for","onClick"],Mt=["id","name","value"],Rt={class:"block"},Lt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Tt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},zt=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=u,{innerValue:n,isSelected:d,selectItem:i,clear:s,labelKey:y,valueKey:r,allOptions:f}=l.multi?v({...l,modelValue:l.modelValue??l.default??[]},a):Y({...l,modelValue:l.modelValue!==void 0?l.modelValue:l.default??""},a);return o({clear:s}),e.watch(()=>l.modelValue,g=>{g===void 0&&(l.multi?n.value=[]:n.value=void 0)}),(g,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",t.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),V=>(e.openBlock(),e.createElementBlock("label",{key:`item-${V[e.unref(r)]}`,for:`item-${V[e.unref(r)]}`,onClick:e.withModifiers($=>e.unref(i)(V),["stop","prevent"]),class:e.normalizeClass([e.unref(d)(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(r)]}`,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(r)]}`,value:V[e.unref(r)]},null,8,Mt),e.createElementVNode("span",Rt,e.toDisplayString(V[e.unref(y)]),1)],10,jt))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Lt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(n))?e.unref(n)?.length:e.unref(n)!==void 0&&(e.unref(n)||e.unref(n)===null)?1:0)+" з "+e.toDisplayString(e.unref(f).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[0]||(b[0]=(...V)=>e.unref(s)&&e.unref(s)(...V))}," Очистити ",512),[[e.vShow,e.unref(n)!==""&&e.unref(n)!==void 0||e.unref(n)]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Tt,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(n))?e.unref(n)?.length:e.unref(n)!==void 0&&(e.unref(n)||e.unref(n)===null)?1:0)+" з "+e.toDisplayString(e.unref(f).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[1]||(b[1]=(...V)=>e.unref(s)&&e.unref(s)(...V))}," Очистити ",512),[[e.vShow,e.unref(n)!==void 0&&e.unref(n)!==""||e.unref(n)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),Kt=["disabled","title"],Ot={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},_t={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(t,{expose:o}){const u=t,l=e.computed(()=>ae(u.mode)),a=e.ref(!1),n=e.ref({top:0,left:0}),d=e.ref(null),i=e.ref(null),s=e.ref(null);let y=null;function r(){const E=i.value,B=s.value;if(!E||!B)return;const S=E.getBoundingClientRect(),F=B.offsetWidth,p=B.offsetHeight,w=window.innerWidth,N=window.innerHeight,j=8;let C=S.bottom+j,{left:A}=S;const M=Math.max(w-F-10,10);if(A=Math.min(A,M),A=Math.max(A,10),C+p>N-10){const R=S.top-p-j;C=R>=10?R:Math.max(N-p-10,10)}C<10&&(C=10),n.value={top:C,left:A}}function f(){e.nextTick(()=>{r(),typeof window<"u"&&typeof window.requestAnimationFrame=="function"&&window.requestAnimationFrame(()=>r())})}function g(){a.value=!a.value,a.value&&(f(),e.nextTick(()=>{u.fieldRef?.inputTextRef&&u.fieldRef?.inputTextRef?.focus?.(),u.fieldRef?.loadData&&Promise.resolve(u.fieldRef?.loadData?.()).finally(()=>{a.value&&f()})}))}function b(E){!d.value?.contains(E.target)&&!s.value?.contains(E.target)&&!i.value?.contains(E.target)&&(a.value=!1)}function V(E){E.key==="Escape"&&(a.value=!1)}const $=e.ref(!1),k=e.ref("ua"),c=E=>{E.detail.key==="locale"&&(k.value=E.detail.newValue)};e.onMounted(()=>{$.value=!0,k.value=localStorage.locale,window.addEventListener("storage",c),document.addEventListener("click",b,!0),document.addEventListener("keydown",V),window.addEventListener("scroll",r,!0),window.addEventListener("resize",r,!0),typeof ResizeObserver<"u"&&(y=new ResizeObserver(()=>{a.value&&f()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",c),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",V),window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r,!0),y?.disconnect(),y=null});function h(){a.value=!1}o({close:h}),e.watch([$,a,s],([E,B,S])=>{E&&B&&S&&(f(),y?.observe(S))});function m(E){return Array.isArray(E)?E.filter(B=>B!=null&&B!=="").length:E&&typeof E=="object"?Object.values(E).filter(B=>B!=null&&B!=="").length:typeof E=="string"?E.trim()===""?0:1:typeof E=="number"?Number.isNaN(E)?0:1:E===null||E!==void 0?1:0}const x=e.computed(()=>{const E=u.fieldRef?.selectedLabels,B=m(E);return B>0?B:m(u.currentValue)}),D=e.computed(()=>{const E=u.fieldRef?.selectedLabels;return!E||["inline"].includes(u.layout||"")?u[k.value]||(u.label??""):Array.isArray(E)?E.length>0?E.join(", "):u.label??"":String(E)});return(E,B)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:d},[e.createElementVNode("button",{onClick:g,disabled:t.disabled,ref_key:"triggerRef",ref:i,title:t.label,class:e.normalizeClass([l.value,t.width?e.unref(oe).getWidthClass(t.width):"w-full",t.layout==="inline"&&x.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",Ot,[e.createElementVNode("span",_t,e.toDisplayString(D.value),1),t.layout==="inline"&&x.value>0?(e.openBlock(),e.createElementBlock("span",It,e.toDisplayString(x.value),1)):e.createCommentVNode("",!0)]),e.createVNode(P,{class:"h-4 w-4 text-neutral-500"})],10,Kt),$.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:s,class:"vsTailwind vs-popover__content w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${n.value.top}px`,left:`${n.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",Pt,[e.createElementVNode("div",Ut,[e.renderSlot(E.$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(t,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=z(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(t,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=z(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"],nl={class:"inline-flex rounded-sm shrink-0 pl-1"},ol=["title"],rl={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},al=["max","value","disabled"],il=["min","value","disabled"],fn={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},sl=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=O(),a=t,n=u,d=e.ref(null),{activeMode:i,innerValue:s,onSelectChange:y,nextClick:r,prevClick:f,currentLabel:g,clear:b}=ie({...a,popoverRef:d},n);e.watch(()=>a.modelValue,k=>{k!==void 0?(s.value=k,n("update:modelValue",k)):(i.value="",s.value=[])}),e.watch(s,k=>{n("update:modelValue",k),n("change",{name:a.name,value:k})},{deep:!0});function V(k){const c=Array.isArray(s.value)?[...s.value]:[];s.value=[k,c[1]||""]}function $(k){const c=Array.isArray(s.value)?[...s.value]:[];s.value=[c[0]||"",k]}return o({clear:b,popoverRef:d}),(k,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Zt,[e.createVNode(J,{ref_key:"popoverRef",ref:d,label:e.unref(g),"current-value":e.unref(s),mode:t.mode,width:typeof t.width=="number"&&e.unref(s).length?t.width-70:t.width,onClear:e.unref(b),layout:t.layout,class:e.normalizeClass(t.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick: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(l)("filter.period"))+" ",1),e.unref(i)==="range"?(e.openBlock(),e.createBlock(_,{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(l)("filter.today"))+" ",1),e.unref(i)==="today"?(e.openBlock(),e.createBlock(_,{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(l)("filter.week"))+" ",1),e.unref(i)==="week"?(e.openBlock(),e.createBlock(_,{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(l)("filter.month"))+" ",1),e.unref(i)==="month"?(e.openBlock(),e.createBlock(_,{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(l)("filter.quarter"))+" ",1),e.unref(i)==="quarter"?(e.openBlock(),e.createBlock(_,{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(l)("filter.year"))+" ",1),e.unref(i)==="year"?(e.openBlock(),e.createBlock(_,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",el,[e.createElementVNode("button",{type:"button",onClick:c[6]||(c[6]=h=>e.unref(b)()),class:"flex items-center justify-between w-full px-4 py-2 text-sm text-left rounded-sm cursor-pointer filter-date__item hs-selected:bg-stone-100 text-stone-800 hover:bg-stone-100 focus:outline-none focus:bg-stone-100"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.alltime"))+" ",1),e.unref(s)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(_,{key:0}))])])]),_:1},8,["label","current-value","mode","width","onClear","layout","class"]),e.unref(i)!==""&&e.unref(i)!=="range"&&e.unref(i)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",title:e.unref(l)("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(f)&&e.unref(f)(...h))},[e.createVNode(Ht)],8,ll)]),e.createElementVNode("div",nl,[e.createElementVNode("button",{type:"button",title:e.unref(l)("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(r)&&e.unref(r)(...h))},[e.createVNode(Xt)],8,ol)])],64)):e.createCommentVNode("",!0),e.unref(i)!==""&&e.unref(i)==="range"?(e.openBlock(),e.createElementBlock("div",rl,[e.createElementVNode("input",{type:"date",max:e.unref(s)[1],locale:"uk-UA",value:e.unref(s)[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:t.disabled},null,40,al),e.createElementVNode("input",{type:"date",min:e.unref(s)[0],locale:"uk-UA",value:e.unref(s)[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:t.disabled},null,40,il)])):e.createCommentVNode("",!0)]),(t.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"},se={radio:Oe,checkbox:le,check:le,text:et,range:ct,date:wt,select:Ft,tag:zt,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(t,{expose:o,emit:u}){const l=t,a=u,{innerValue:n,isSelected:d,selectItem:i,clear:s,labelKey:y,valueKey:r,allOptions:f}=Y({...l,modelValue:l.modelValue??l.default??""},a),g=e.computed(()=>n.value!==void 0&&!(typeof n.value=="string"&&n.value==="")),b=e.computed(()=>g.value?1:0);function V(k){return d(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 $(k){l.disabled||i(k)}return o({clear:s}),e.watch(()=>l.modelValue,k=>{k===void 0&&(n.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(f),h=>(e.openBlock(),e.createElementBlock("button",{key:h[e.unref(r)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",V(h)]),disabled:t.disabled,onClick:m=>$(h)},e.toDisplayString(h[e.unref(y)]),11,dl))),128))]),t.cleanable&&t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("span",null,e.toDisplayString(b.value)+" з "+e.toDisplayString(e.unref(f).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[0]||(c[0]=(...h)=>e.unref(s)&&e.unref(s)(...h))}," Очистити ",512),[[e.vShow,g.value]])])):e.createCommentVNode("",!0)],64))}}),"date:inline":sl};function X(t,o){let u;switch(t.toLowerCase()){case"autocomplete":u="select";break;case"check":u="checkbox";break;default:u=t?.toString().toLowerCase()}return u==="date"&&o&&o==="inline"&&(u="date:inline"),{component:se[u]||se.text,type:u}}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"},xl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=u,n=e.ref(),d=e.computed(()=>X(l.type,l.layout)),i=e.computed({get:()=>l.modelValue,set:f=>a("update:modelValue",f)});function s(f){a("clear",f)}function y(f,g){a("change",{name:f,value:g}),l.modelValue!==void 0&&a("update:modelValue",g)}function r(){n.value?.clear?.(),a("clear",l.name)}return e.watch(()=>l.default,f=>{i.value=f}),e.watch(()=>l.modelValue,f=>{i.value=f}),o({filterRef:n}),(f,g)=>(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",ul,[e.createElementVNode("div",pl,[e.createElementVNode("div",yl,[e.createElementVNode("span",gl,e.toDisplayString(t.label),1)]),typeof i.value=="string"&&i.value.trim()!==""||Array.isArray(i.value)&&i.value.length>0&&i.value.some(b=>b!==void 0)||i.value===null?(e.openBlock(),e.createBlock(ge,{key:0,onClick:r})):e.createCommentVNode("",!0)]),e.createElementVNode("div",hl,[d.value?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps({key:0},l,{type:d.value?.type,class:l.itemClass,onChange:g[0]||(g[0]=b=>y(b.name,b.value)),onClear:g[1]||(g[1]=b=>s(b)),ref_key:"filterRef",ref:n}),null,16,["type","class"])):(e.openBlock(),e.createBlock(J,{key:1,"current-value":i.value,label:t.label,mode:t.mode,onClear:r,fieldRef:n.value,width:void 0,disabled:t.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps({ref_key:"filterRef",ref:n},l,{type:d.value?.type,class:l.itemClass,onChange:g[2]||(g[2]=b=>y(b.name,b.value)),onClear:g[3]||(g[3]=b=>s(b))}),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(t,{expose:o,emit:u}){const l=t,a=u,n=e.ref(),d=e.computed(()=>X(l.type,l.layout)),i=e.computed({get:()=>l.modelValue,set:r=>a("update:modelValue",r)});function s(r=l.name){a("clear",r)}function y(r,f){a("change",{name:r,value:f}),l.modelValue!==void 0&&a("update:modelValue",f)}return e.watch(()=>l.default,r=>{i.value=r}),e.watch(()=>l.modelValue,r=>{i.value=r}),o({filterRef:n}),(r,f)=>["text","date","button"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps({key:0},l,{type:d.value?.type,class:t.itemClass,onChange:f[0]||(f[0]=g=>y(g.name,g.value)),onClear:f[1]||(f[1]=g=>s(g)),disabled:t.disabled,modelValue:i.value,"onUpdate:modelValue":f[2]||(f[2]=g=>i.value=g)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(J,{key:1,"current-value":i.value,label:t.label,mode:t.mode,onClear:s,fieldRef:n.value,width:l.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps({ref_key:"filterRef",ref:n},l,{modelValue:i.value,"onUpdate:modelValue":f[3]||(f[3]=g=>i.value=g),type:d.value?.type,class:l.itemClass,onChange:f[4]||(f[4]=g=>y(g.name,g.value)),onClear:f[5]||(f[5]=g=>s(g))}),null,16,["modelValue","type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),bl=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:o,emit:u}){const l=t,a=u,n=e.ref(),d=e.computed(()=>X(l.type,l.layout)),i=e.computed({get:()=>l.modelValue,set:r=>a("update:modelValue",r)});function s(r){a("clear",r)}function y(r,f){a("change",{name:r,value:f}),l.modelValue!==void 0&&a("update:modelValue",f)}return e.watch(()=>l.default,r=>{i.value=r}),e.watch(()=>l.modelValue,r=>{i.value=r}),e.watch(()=>l,r=>{i.value=r}),o({filterRef:n}),(r,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps(l,{type:d.value?.type,class:l.itemClass,modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=g=>i.value=g),onChange:f[1]||(f[1]=g=>y(g.name,g.value)),onClear:f[2]||(f[2]=g=>s(g)),ref_key:"filterRef",ref:n}),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(t,{expose:o,emit:u}){const l=t,a=u,n=e.ref(),d=e.computed({get:()=>l.modelValue,set:r=>a("update:modelValue",r)});function i(r){a("clear",r)}function s(r,f){a("change",{name:r,value:f}),l.modelValue!==void 0&&a("update:modelValue",f)}e.watch(()=>l.default,r=>{d.value=r}),e.watch(()=>l.modelValue,r=>{d.value=r}),o({filterRef:n});function y(){switch(l.layout){case"inline":return ce;case"vertical":return xl;case"popover":return bl;default:return ce}}return(r,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y()),e.mergeProps(l,{onChange:f[0]||(f[0]=g=>s(g.name,g.value)),onClear:f[1]||(f[1]=g=>i(g)),modelValue:d.value,"onUpdate:modelValue":f[2]||(f[2]=g=>d.value=g)}),null,16,["modelValue"]))}});function U(t,o){const{slots:u}=t,l=c=>c?JSON.parse(JSON.stringify(e.toRaw(c))):{},a=e.ref(l(t.value));e.watch(()=>t.value,c=>{a.value=l(c)},{deep:!0,immediate:!0});const n=e.computed(()=>(e.toRaw(u?.default?.())??[]).flatMap(h=>Array.isArray(h.children)?h.children:[h]));function d(c){delete a.value[c],o("clear",{data:e.toRaw(a.value),name:c})}function i(c,h){h===void 0?d(c):a.value={...a.value,[c]:h},o("change",{data:e.toRaw(a.value),name:c,value:h})}const s=e.computed(()=>n.value.map(c=>{const h=c.props?.name;return e.cloneVNode(c,{...c.props,layout:t.view,showClean:!0,modelValue:a.value[h],"onUpdate:modelValue":m=>{i(h,m)},onClear:()=>d(h),class:[t.itemClass,c.props?.class],itemClass:[t.itemClass,c.props?.itemClass].filter(m=>typeof m=="string"&&m.trim().length>0).join(" ")||void 0})})),y=e.computed(()=>new Map(s.value.map(c=>{const h=c.props?.name;return h?[h,c]:null}).filter(c=>c!==null)));function r(c=!1){a.value={},c||o("clearAll",{data:e.toRaw(a.value),name:"ALL"})}const f=e.ref(""),g=e.computed(()=>t.schema?.value?Object.entries(a.value).filter(([c,h])=>t.schema&&!(c in t.schema.value)?!1:Array.isArray(h)?h.some(m=>m!==""&&m!==void 0):h!==""&&h!==void 0).length:0),b=e.ref();e.watch(f,async()=>{await e.nextTick(),b?.value?.filterRef?.inputTextRef&&b.value.filterRef.inputTextRef.focus()});const V=e.computed(()=>t.schema?.value?Object.fromEntries(Object.entries(t.schema?.value).slice(0,t.limit)):{}),$=e.computed(()=>{if(s.value.length===0)return[];let c=0;if(t.schema?.value){const h=Object.entries(t.schema.value).length;t.limit&&h<t.limit?c=t.limit-h:c=0}return s.value.slice(0,c)}),k=e.computed(()=>s.value.length===0?[]:t.view!=="inline"?s.value:s.value.slice($.value.length));return{activeFilter:a,activeFilterCount:g,onFilterChange:i,clearFilter:d,clearAllFilters:r,limitedSchema:V,filtersSlot:s,limitedFiltersSlot:$,popoverFiltersSlot:k,vnodeMap:y,selectedFilter:f,filterRef:b}}const kl=e.defineComponent({__name:"popover",emits:["open","close"],setup(t,{emit:o}){const u=e.ref(!1),l=e.ref(null),a=e.ref(null),n=e.ref(null),d=e.ref({top:"0px",left:"0px",position:"absolute"}),i=e.ref(!1);function s(){u.value=!u.value}function y(){const V=n.value,$=l.value;if(!V||!$)return;const{left:k,bottom:c}=V.getBoundingClientRect();requestAnimationFrame(()=>{if(!$)return;const{width:h}=$.getBoundingClientRect(),m=$.offsetWidth||h,x=window.innerWidth||document.documentElement.clientWidth,D=x-k;let E=k;m>D&&(E=x-m-18),E<18&&(E=18);const B=x-m-18;E>B&&(E=Math.max(18,B)),d.value={position:"fixed",top:`${c+18}px`,left:`${E}px`},i.value=!0})}const r=e.computed(()=>Object.entries(d.value).map(V=>V.join(":")).join(";"));function f(V){const $=V.target;!n.value?.contains(V.target)&&!l.value?.contains(V.target)&&!$.closest("[data-inside-popover]")&&(u.value=!1)}const g=e.ref(!1);e.onMounted(()=>{g.value=!0}),e.onMounted(()=>{n.value=a.value?.querySelector("[data-popover-trigger]")||null,n.value?.addEventListener("click",s),document.addEventListener("click",f),window.addEventListener("resize",y),window.addEventListener("scroll",y,!0)}),e.onBeforeUnmount(()=>{n.value?.removeEventListener("click",s),document.removeEventListener("click",f),window.removeEventListener("resize",y),window.removeEventListener("scroll",y,!0)});const b=o;return e.watch(u,async V=>{V?(i.value=!1,b("open"),await e.nextTick(),requestAnimationFrame(()=>{y()})):(b("close"),i.value=!1)}),(V,$)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:a},[e.renderSlot(V.$slots,"trigger"),g.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:l,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([r.value,{visibility:i.value?"visible":"hidden",opacity:i.value?1:0}])},[e.renderSlot(V.$slots,"default")],4),[[e.vShow,u.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(t,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=z(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"},Dl={class:"text-xs md:text-sm text-gray-600"},Al={class:"p-1 md:p-2"},Fl=["onClick"],jl={class:"flex items-center gap-1.5 md:gap-2"},Ml={class:"text-xs md:text-sm font-medium line-clamp-3"},Rl={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"},Ll=["onClick"],Tl={class:"flex items-center gap-1.5 md:gap-2"},zl={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"},Ol={key:0,class:"p-1 md:p-2 border-t"},_l={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(t,{expose:o,emit:u}){const l=O(),a=t,n=ae(a.mode),d=e.useSlots(),i=u,s=e.ref({}),y=e.computed(()=>s?.value?a.view!=="inline"?s?.value:Object.fromEntries(Object.entries(s?.value).slice(a.limit)):{}),{activeFilter:r,activeFilterCount:f,onFilterChange:g,clearFilter:b,clearAllFilters:V,popoverFiltersSlot:$,selectedFilter:k,filterRef:c}=U({...a,schema:s,slots:d},i),h=e.computed(()=>a.badgeCount??f.value);function m(E){return Array.isArray(E)?E.filter(B=>B!=null&&B!=="").length:E&&typeof E=="object"?Object.values(E).filter(B=>B!=null&&B!=="").length:E===null||E!==void 0&&E!==""?1:0}function x(E){return r.value?m(r.value[E]):0}function D(){if(y.value){const[E]=Object.keys(y.value);k.value=E}else $.value.length>0?k.value=$.value[0].props.name:k.value=""}return e.watch(()=>a.schema,E=>{s.value=E??{}},{deep:!0,immediate:!0}),o({clearFilter:b,clearAllFilters:V}),(E,B)=>(e.openBlock(),e.createBlock(kl,{onOpen:D,onClose:B[5]||(B[5]=S=>k.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,e.unref(n),"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",Dl,e.toDisplayString(e.unref(l)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",Al,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(y.value),([S,F])=>(e.openBlock(),e.createElementBlock("button",{key:S,onClick:()=>{k.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(k)===S?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",jl,[e.createElementVNode("span",Ml,e.toDisplayString(F.label),1)]),x(S)>0?(e.openBlock(),e.createElementBlock("div",Rl,e.toDisplayString(x(S)),1)):e.createCommentVNode("",!0)],10,Fl))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref($),(S,F)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+F,onClick:p=>k.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(k)===S.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Tl,[e.createElementVNode("span",zl,e.toDisplayString(S.props.label),1)]),x(S.props.name)>0?(e.openBlock(),e.createElementBlock("div",Kl,e.toDisplayString(x(S.props.name)),1)):e.createCommentVNode("",!0)],10,Ll))),128))]),e.unref(f)>0?(e.openBlock(),e.createElementBlock("div",Ol,[e.createElementVNode("button",{class:e.normalizeClass([t.itemClass,"w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:B[0]||(B[0]=S=>e.unref(V)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",_l,[e.unref(k)===""?(e.openBlock(),e.createElementBlock("div",Il,[e.createElementVNode("p",Pl,e.toDisplayString(e.unref(l)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(k)?(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,F])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(k)===S?(e.openBlock(),e.createBlock(K,e.mergeProps({key:S,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:c},{ref_for:!0},F,{class:[t.itemClass,F?.class],"item-class":[t.itemClass,F?.itemClass].filter(Boolean).join(" ")||void 0,onChange:B[1]||(B[1]=p=>e.unref(g)(p.name,p.value)),onClear:B[2]||(B[2]=p=>{e.unref(b)(p),e.unref(g)(p,void 0)}),modelValue:e.unref(r)[S],"onUpdate:modelValue":p=>e.unref(r)[S]=p,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,F)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+F},[e.unref(k)===S.props.name?(e.openBlock(),e.createBlock(K,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},S.props,{ref_for:!0,ref_key:"filterRef",ref:c,class:[t.itemClass,S.props?.class],"item-class":[t.itemClass,S.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:B[3]||(B[3]=p=>e.unref(g)(p.name,p.value)),onClear:B[4]||(B[4]=p=>{e.unref(b)(p),e.unref(g)(p,void 0)}),modelValue:e.unref(r)[S.props.name],"onUpdate:modelValue":p=>e.unref(r)[S.props.name]=p,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(t,{expose:o,emit:u}){const l=O(),a=t,n=u,d=e.useSlots(),i=e.ref({}),s=e.computed(()=>Object.keys(a.schema).length>a.limit),{activeFilter:y,activeFilterCount:r,onFilterChange:f,clearFilter:g,clearAllFilters:b,limitedSchema:V,filtersSlot:$,limitedFiltersSlot:k}=U({...a,schema:i,slots:d},n);function c(B){return Array.isArray(B)?B.some(S=>S!==""&&S!==void 0&&S!==null):B===null?!0:B&&typeof B=="object"?Object.values(B).some(S=>S!==""&&S!==void 0&&S!==null):B!==""&&B!==void 0}const h=e.computed(()=>{const B=Object.keys(V.value??{}),S=k.value.map(F=>F.props?.name).filter(F=>typeof F=="string");return new Set([...B,...S])}),m=e.computed(()=>Object.entries(y.value??{}).filter(([B,S])=>h.value.has(B)&&c(S)).length),x=e.computed(()=>{const B=r.value??0,S=m.value??0;return Math.max(B-S,0)}),D=e.ref();function E(){D.value&&D.value.clearAllFilters(!0),b()}return e.watch(()=>a.schema,B=>{i.value=B},{deep:!0,immediate:!0}),o({clearFilter:g,clearAllFilters:b}),(B,S)=>(e.openBlock(),e.createElementBlock("div",Ul,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(V)),([F,p])=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:F,mode:t.mode,width:t.width?t.width:p?.width},{ref_for:!0},p,{class:[t.itemClass,p?.class],"item-class":[t.itemClass,p?.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[0]||(S[0]=w=>e.unref(f)(w.name,w.value)),onClear:e.unref(g),layout:"inline",cleanable:!0,modelValue:e.unref(y)[F],"onUpdate:modelValue":w=>e.unref(y)[F]=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),(F,p)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+p,layout:"inline"},{ref_for:!0},F.props,{class:[t.itemClass,F.props?.class],"item-class":[t.itemClass,F.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[1]||(S[1]=w=>e.unref(f)(w.name,w.value)),onClear:S[2]||(S[2]=w=>{e.unref(g)(w),e.unref(f)(w,void 0)}),cleanable:!0,modelValue:e.unref(y)[F.props.name],"onUpdate:modelValue":w=>e.unref(y)[F.props.name]=w}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128)),s.value?(e.openBlock(),e.createBlock(me,e.mergeProps({key:1},a,{schema:t.schema,limit:t.limit,onChange:S[3]||(S[3]=F=>e.unref(f)(F.name,F.value)),onClearAll:S[4]||(S[4]=F=>e.unref(b)()),onClear:S[5]||(S[5]=F=>e.unref(g)(F.name)),mode:t.mode,ref_key:"popoverRef",ref:D,cleanable:!0,"badge-count":x.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref($),(F,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F),e.mergeProps({key:"slot-"+p,layout:"popover"},{ref_for:!0},F.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(r)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:E,class:e.normalizeClass([t.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(l)("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(t,{expose:o,emit:u}){const l=t,a=u,n=e.useSlots(),{activeFilter:d,activeFilterCount:i,onFilterChange:s,clearFilter:y,clearAllFilters:r,filtersSlot:f}=U({...l,slots:n},a);return o({clearFilter:y,clearAllFilters:r}),(g,b)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",ql,[e.createElementVNode("div",Wl,[e.unref(i)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:b[0]||(b[0]=V=>e.unref(r)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),type:"button"}," Очистити ",2)):e.createCommentVNode("",!0),t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(t.schema),([V,$])=>(e.openBlock(),e.createBlock(K,e.mergeProps({layout:"vertical"},{ref_for:!0},$,{class:[t.itemClass,$?.class],"item-class":[t.itemClass,$?.itemClass].filter(Boolean).join(" ")||void 0,onChange:b[1]||(b[1]=k=>e.unref(s)(k.name,k.value)),onClear:b[2]||(b[2]=k=>{e.unref(y)(k),e.unref(s)(k,void 0)}),modelValue:e.unref(d)[V],"onUpdate:modelValue":k=>e.unref(d)[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(f),(V,$)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+$,layout:"vertical"},{ref_for:!0},V.props,{class:[t.itemClass,V.props?.class],"item-class":[t.itemClass,V.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:b[3]||(b[3]=k=>e.unref(s)(k.name,k.value)),onClear:b[4]||(b[4]=k=>{e.unref(y)(k),e.unref(s)(k,void 0)}),modelValue:e.unref(d)[V.props.name],"onUpdate:modelValue":k=>e.unref(d)[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"},en={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},tn={key:0,class:"mt-3 flex justify-end"},ln=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{emit:o}){const u=O(),l=t,a=o,n=e.ref({}),d=e.useSlots(),{activeFilter:i,activeFilterCount:s,onFilterChange:y,clearFilter:r,clearAllFilters:f,filtersSlot:g}=U({...l,schema:n.value,slots:d},a),b=e.ref(null),V=e.ref(null),$=e.reactive({open:!1,top:0,left:0}),k=e.computed(()=>$.open),c=e.computed(()=>!!l.disabled),h=e.computed(()=>n.value||{}),m=e.computed(()=>l.title??"Фільтр"),x=e.computed(()=>!!d.trigger),D=e.computed(()=>["inline-flex h-9 items-center justify-center gap-2 rounded-lg border border-transparent bg-slate-200/70 px-3 text-sm font-medium text-slate-700 transition-colors hover:bg-blue-100 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-slate-200/70 disabled:hover:text-slate-700",c.value?"cursor-not-allowed opacity-60":"cursor-pointer"]),E=e.computed(()=>$.open?{position:"absolute",top:`${$.top}px`,left:`${$.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function B(){$.open=!1}function S(){if(!b.value)return;const j=b.value.getBoundingClientRect();$.top=j.bottom+window.scrollY+8,$.left=j.left+j.width/2+window.scrollX}function F(){$.open=!$.open,$.open&&e.nextTick(S)}function p(){c.value||F()}function w(){$.open&&S()}function N(){f()}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(()=>l.schema,j=>{if(!j){n.value={};return}if(Array.isArray(j)){const C=j.filter(A=>A&&(A.name||A.id)).map(A=>{const M=A.name||A.id;return[M,{...A,name:M}]});n.value=Object.fromEntries(C);return}n.value=j},{deep:!0,immediate:!0}),e.watch(()=>l.disabled,j=>{j&&B()}),(j,C)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:b},[x.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(p,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(p,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(p,["prevent","stop"]),["space"])]},[e.renderSlot(j.$slots,"trigger",{toggle:p,open:k.value,disabled:c.value,activeCount:e.unref(s)})],42,Hl)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(D.value),type:"button",disabled:c.value,onClick:e.withModifiers(p,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(de,{class:"h-4 w-4"}),e.unref(s)>0?(e.openBlock(),e.createElementBlock("div",Gl,e.toDisplayString(e.unref(s)),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 t.width=="number"?`min-w-[${t.width+32+(Object.keys(h.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(E.value),ref_key:"panel",ref:V,onClick:C[4]||(C[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Jl,[e.createElementVNode("div",Xl,[e.createElementVNode("h3",Zl,e.toDisplayString(m.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"})]),C[5]||(C[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",en,[Object.keys(h.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(h.value),([A,M])=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:A},{ref_for:!0},{...M,layout:"inline"},{width:t.width?t.width:M?.width,class:[t.itemClass,M?.class],"item-class":[t.itemClass,M?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(i)[A],"onUpdate:modelValue":R=>e.unref(i)[A]=R,onChange:C[0]||(C[0]=R=>e.unref(y)(R.name,R.value)),onClear:C[1]||(C[1]=R=>{e.unref(r)(R),e.unref(y)(R,void 0)})}),null,16,["width","class","item-class","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(A,M)=>(e.openBlock(),e.createBlock(K,e.mergeProps({key:"slot-"+M,ref_for:!0},{...A.props,layout:"inline"},{class:[t.itemClass,A.props?.class],"item-class":[t.itemClass,A.props?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(i)[A.props.name],"onUpdate:modelValue":R=>e.unref(i)[A.props.name]=R,onChange:C[2]||(C[2]=R=>e.unref(y)(R.name,R.value)),onClear:C[3]||(C[3]=R=>{e.unref(r)(R),e.unref(y)(R,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))]),e.unref(s)>0?(e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([t.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:N},e.toDisplayString(e.unref(u)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),nn={class:"mb-6 flex flex-wrap gap-2"},on=["onClick"],rn={class:"mr-2 flex items-center gap-1"},an={class:"font-semibold"},sn={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(t,{expose:o,emit:u}){const l=t,a=e.useAttrs(),n=e.computed(()=>({...l,...a})),d=e.ref(r(l.value??{}));e.watch(()=>l.value,async p=>{d.value=r(p??{}),(!p||Object.keys(p).length===0)&&(await e.nextTick(),s.value?.clearAllFilters?.(!0))},{deep:!0,immediate:!0});const i=u,s=e.ref(),y=e.useSlots();function r(p){if(Array.isArray(p))return p.map(w=>r(w));if(p!==null&&typeof p=="object"){const w=e.toRaw(p),N={};for(const j in w)N[j]=r(w[j]);return N}return p}function f(p,w){w!==void 0?d.value={...d.value,[p]:w}:delete d.value[p],i("change",{data:r(d.value),name:p,value:r(w)})}function g(p){delete d.value[p],i("clear",{data:r(d.value),name:p}),i("change",{data:r(d.value),name:p,value:null})}function b(){d.value={},i("clear",{data:r(d.value),name:"ALL"}),i("change",{data:r(d.value),name:"ALL",value:null})}const V=e.ref({}),$=e.computed(()=>l.teleportActive);function k(){switch(l.view){case"inline":return fe;case"vertical":return Yl;case"popover":return me;case"popover-inline":return ln;default:return fe}}e.watch(()=>l.schema,p=>{if(!p){V.value={};return}if(Array.isArray(p)&&!p.length){V.value={};return}Array.isArray(p)?V.value=p.filter(w=>w.type).reduce((w,N)=>(Object.assign(N,{name:N.id||N.name,type:{datepicker:"date"}[N.type.toLowerCase()]||N.type.toLowerCase(),label:N.label||N.ua}),w[N.name]=N,N.data&&!N.api&&!N.options&&Object.assign(N,{api:`/api/suggest/${N.data}`}),w),{}):(Object.entries(p).forEach(([w,N])=>{Object.assign(N,{name:w||N.name||N.id,type:N.type.toLowerCase()})}),V.value={...p})},{immediate:!0,deep:!0});function c(p){s.value.clearFilter(p),g(p)}function h(){s.value.clearAllFilters(),b()}const m=e.computed(()=>Object.entries(d.value).filter(([,p])=>p==null?!1:Array.isArray(p)?p.length>0:typeof p=="string"?p.trim().length>0:!0).map(([p,w])=>{const N=V.value[p],j=N?.label||N?.title||p,C=D(N,w);return{key:p,label:j,value:C}}));function x(p){c(p)}function D(p,w){if(!p||w===void 0||w===null)return"";const N=E(w);if(!N.length)return"";const j=B(p);return N.map(C=>j.get(C)??C).filter(Boolean).join(", ")}function E(p){return Array.isArray(p)?p.map(w=>w?.toString?.()??"").filter(Boolean):typeof p=="string"?p.split(",").map(w=>w.trim()).filter(Boolean):[]}function B(p){const w=new Map,N=p.valueKey||"id",j=p.labelKey||"text";return(p.options??[]).forEach(C=>{const A=S(C,N),M=F(C,j);A&&w.set(A,M||A)}),w}function S(p,w){return p?(p[w]??p.id??p.value??p.key)?.toString?.()??"":""}function F(p,w){return p?(p[w]??p.text??p.label??p.value??p.id)?.toString?.()??"":""}return e.watch(()=>d.value,p=>{if(l.history){const w=new URL(window.location.href),N=new URLSearchParams(window.location.search);Object.keys(p).length>0?N.set("filter",Object.entries(p).filter(([,j])=>j).map(([j,C])=>`${j}=${C}`).join("|")):N.delete("filter"),w.search=decodeURI(N.toString()),window.history.pushState({},"",w)}}),o({clearAllFilters:h,clearFilter:c}),(p,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k()),e.mergeProps(n.value,{schema:V.value,onChange:w[0]||(w[0]=N=>f(N.name,N.value)),onClear:w[1]||(w[1]=N=>g(N.name)),onClearAll:b,ref_key:"filterRef",ref:s}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:2},[e.unref(y).trigger?{name:"trigger",fn:e.withCtx(N=>[e.renderSlot(p.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(N)))]),key:"0"}:void 0]),1040,["schema"])),$.value&&m.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:$.value},[e.createElementVNode("div",nn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,N=>(e.openBlock(),e.createElementBlock("button",{key:N.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:j=>x(N.key)},[e.createElementVNode("span",rn,[e.createElementVNode("span",an,e.toDisplayString(N.label),1),e.createElementVNode("span",sn,"· "+e.toDisplayString(N.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,on))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});q.install=function(o){o.component("Filter",q),o.component("FilterField",K)},T.Filter=q,T.FilterField=K,T.default=q,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(T,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):(T=typeof globalThis<"u"?globalThis:T||self,e(T.FilterLib={},T.Vue,T.OpenGISCore))})(this,(function(T,e,I){"use strict";const z=(t,r)=>{const f=t.__vccOpts||t;for(const[l,i]of r)f[l]=i;return f},ye={},ge={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 he(t,r){return e.openBlock(),e.createElementBlock("svg",ge,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"},null,-1),e.createElementVNode("path",{d:"M20 4v5h-5"},null,-1)])])}const xe=z(ye,[["render",he]]),be={},ke={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 we(t,r){return e.openBlock(),e.createElementBlock("svg",ke,[...r[0]||(r[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])}const _=z(be,[["render",we]]),Ve={class:"flex items-center cursor-pointer w-full"},Ce={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Be=["value"],Ee={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},Ne={key:0,class:"text-xs text-gray-500 dark:text-neutral-500 pr-1"},Se={key:1,class:"absolute right-2 flex size-3.5 items-center justify-center"},Q=e.defineComponent({__name:"list-item",props:{layout:{},count:{},type:{},label:{},value:{},isSelected:{type:Boolean},color:{},highlighted:{type:Boolean}},emits:["itemClick"],setup(t,{expose:r,emit:f}){const l=t,i=f;function a(){i("itemClick",l.value)}const d=e.ref(null),s=e.computed(()=>l.layout==="inline"&&l.type==="radio"),u=e.computed(()=>l.layout==="vertical"?"text-[13px]":"text-sm");return r({el:d}),(p,o)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-sm group hover:bg-gray-100",ref_key:"el",ref:d},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between w-full",u.value])},[e.createElementVNode("div",Ve,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(t.layout)?"text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center":"flex flex-row items-center w-full px-2 py-2 text-gray-500 cursor-pointer",{"bg-blue-100":t.highlighted,relative:s.value},u.value]),onClick:e.withModifiers(a,["stop","prevent"])},[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[t.type==="checkbox"?"rounded-[4px]":"rounded-full",t.color?`bg-[${t.color}] border-[#ffffff]`:t.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[t.isSelected?(e.openBlock(),e.createElementBlock("img",Ce)):e.createCommentVNode("",!0)],2)),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:t.value},null,8,Be),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",Ee,e.toDisplayString(t.label??"Відсутні дані"),1),t.count?(e.openBlock(),e.createElementBlock("div",Ne," ("+e.toDisplayString(t.count)+") ",1)):e.createCommentVNode("",!0)],2),s.value&&t.isSelected?(e.openBlock(),e.createElementBlock("span",Se,[e.createVNode(_)])):e.createCommentVNode("",!0)],2)])],2)],512))}});function G(t,r){const{api:f,options:l=[],limit:i=20,dataKey:a="data",data:d}=t,s=a??d??"data";function u(n){return Array.isArray(n)?n[0]:n}const p=e.ref(u(t.modelValue)),o=e.ref(""),m=e.ref(!1),g=e.ref([]),x=e.ref("id"),k=e.ref("text"),B=e.ref(!1),w=e.ref(t.layout!=="popover"&&l.length>i);function c(n){const b=n.find(Boolean)??{},h=["id","value","code","key"].find(j=>j in b)??"id",A=["text","label","name","title"].find(j=>j in b)??"text";return{autoValueKey:h,autoLabelKey:A}}function y(n){if(n.length>0){const h=c(n);x.value=h.autoValueKey,k.value=h.autoLabelKey}const b=[...n].sort((h,A)=>t.sort==="count"?A.count&&h.count?A.count-h.count:0:t.sort==="name"?String(h[k.value]??"").localeCompare(String(A[k.value]??"")):0);g.value=b}l.length>0&&y(l);const D=e.computed(()=>{const n=g.value;return t.layout==="popover"||B.value?n:n.slice(0,i)});async function N(){if(f){m.value=!0;try{const n=new URL(f,window.location.origin);n.searchParams.set("json","1"),n.searchParams.set("limit",i.toString());const b=await fetch(n.toString());if(!b.ok){I.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),g.value=[];return}const h=await b.json();if(!h[s]){I.notify({type:"error",title:"Error",message:h}),g.value=[];return}y(h[s])}catch(n){console.error("Failed to fetch remote options:",n)}finally{m.value=!1}}}function C(){f&&g.value.length===0&&N()}e.watch(()=>t.modelValue,n=>{p.value=u(n)},{immediate:!0}),f||y(l);function V(n){return p.value===n[x.value]}function E(n){p.value=n[x.value],r("update:modelValue",p.value),r("change",{name:t.name,value:p.value})}function S(){p.value=void 0,r("update:modelValue",p.value),r("clear",t.name)}function F(){B.value=!B.value}return{innerValue:p,searchTerm:o,filteredOptions:D,isSelected:V,selectItem:E,clear:S,toggleShowAll:F,isReqProc:m,showAll:B,isEnableShowAll:w,labelKey:k,valueKey:x,allOptions:g,loadData:C}}const De={},$e={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ae(t,r){return e.openBlock(),e.createElementBlock("svg",$e,[...r[0]||(r[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)])])}const J=z(De,[["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"};function Me(t,r){return e.openBlock(),e.createElementBlock("svg",je,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const W=z(Fe,[["render",Me]]),Re={},Ke={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 Le(t,r){return e.openBlock(),e.createElementBlock("svg",Ke,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const X=z(Re,[["render",Le]]),Te={key:0,class:"w-full"},ze={class:"flex flex-col items-center justify-center p-5 text-center"},Oe={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Pe={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_e=e.defineComponent({__name:"radio",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=t,i=e.ref(null),a=f,{innerValue:d,filteredOptions:s,isSelected:u,selectItem:p,clear:o,toggleShowAll:m,isReqProc:g,showAll:x,isEnableShowAll:k,labelKey:B,valueKey:w,allOptions:c,loadData:y}=G({...l,modelValue:l.modelValue??l.default??""},a);return e.onMounted(()=>{l.api&&y()}),r({clear:o,inputTextRef:i}),e.watch(()=>l.modelValue,D=>{D===void 0&&(d.value=void 0)}),(D,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),C=>(e.openBlock(),e.createBlock(Q,{layout:t.layout,key:C[e.unref(w)],count:C.count,label:C[e.unref(B)],color:C.color,type:"radio",value:C[e.unref(w)],"is-selected":e.unref(u)(C),onItemClick:V=>e.unref(p)(C)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),t.type==="select"&&e.unref(s).length===0&&!e.unref(g)?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",ze,[e.createVNode(J),N[4]||(N[4]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"За вашим запитом нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:N[0]||(N[0]=(...C)=>e.unref(m)&&e.unref(m)(...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"},[N[5]||(N[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(W)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:N[1]||(N[1]=(...C)=>e.unref(m)&&e.unref(m)(...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"},[N[6]||(N[6]=e.createTextVNode(" Показати менше ",-1)),e.createVNode(X)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Oe,[e.createTextVNode(e.toDisplayString(e.unref(d)||e.unref(d)===null?1:0)+" з "+e.toDisplayString(e.unref(c).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:N[2]||(N[2]=(...C)=>e.unref(o)&&e.unref(o)(...C))}," Очистити ",512),[[e.vShow,e.unref(d)!==""&&e.unref(d)!==void 0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(d)||e.unref(d)===null?1:0)+" з "+e.toDisplayString(e.unref(c).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:N[3]||(N[3]=(...C)=>e.unref(o)&&e.unref(o)(...C))}," Очистити ",512),[[e.vShow,e.unref(d)!==""&&e.unref(d)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function te(t,r){const{api:f,options:l=[],limit:i=20,dataKey:a="data",data:d}=t,s=a??d??"data";function u(n){return Array.isArray(n)?n:n?[n]:[]}const p=e.ref(u(t.modelValue)),o=e.ref(""),m=e.ref(!1),g=e.ref([]),x=e.ref("id"),k=e.ref("text"),B=e.ref(!1),w=e.ref(t.layout!=="popover"&&l.length>i);function c(n){const b=n.find(Boolean)??{},h=["id","value","code","key"].find(j=>j in b)??"id",A=["text","label","name","title"].find(j=>j in b)??"text";return{autoValueKey:h,autoLabelKey:A}}function y(n){if(n.length>0){const h=c(n);x.value=h.autoValueKey,k.value=h.autoLabelKey}const b=[...n].sort((h,A)=>t.sort==="count"?A.count&&h.count?A.count-h.count:0:t.sort==="name"?String(h[k.value]).localeCompare(String(A[k.value])):0);g.value=b}l.length>0&&y(l);const D=e.computed(()=>{const n=g.value;return t.layout==="popover"||B.value?n:n.slice(0,i)});async function N(){if(f){m.value=!0;try{const n=new URL(f,window.location.origin);n.searchParams.set("json","1"),n.searchParams.set("limit",i.toString());const b=await fetch(n.toString());if(!b.ok){I.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),g.value=[];return}const h=await b.json();if(!h[s]){I.notify({type:"error",title:"Error",message:h}),g.value=[];return}y(h[s])}catch(n){console.error("Failed to fetch remote options:",n)}finally{m.value=!1}}}function C(){f&&g.value.length===0&&N()}e.watch(()=>t.modelValue,n=>{p.value=u(n)},{immediate:!0}),f||y(l);function V(n){return p.value&&p.value.includes(n[x.value])}function E(n){const b=p.value.includes(n[x.value]);p.value=b?p.value.filter(h=>h!==n[x.value]):[...p.value,n[x.value]],r("update:modelValue",p.value),r("change",{name:t.name,value:p.value})}function S(){p.value=[],r("update:modelValue",p.value),r("clear",t.name)}function F(){B.value=!B.value}return{innerValue:p,searchTerm:o,filteredOptions:D,isSelected:V,selectItem:E,clear:S,toggleShowAll:F,isReqProc:m,showAll:B,isEnableShowAll:w,labelKey:k,valueKey:x,allOptions:g,loadData:C}}const le={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 ne(t){const r=t.split(".")[1],f=typeof window<"u"&&window.localStorage?localStorage.locale:null;return(le[f||navigator.language]||le.uk)[r]}function P(){const t=e.getCurrentInstance();if(!t.appContext.config.globalProperties.$i18n)return ne;const r=t.appContext.config.globalProperties.$t;return f=>{const l=r(f);return l===f?ne(f):l}}const Ie={key:0,class:"w-full"},Ue={class:"flex flex-col items-center justify-center p-5 text-center"},qe={class:"max-w-sm mx-auto mt-6"},We={class:"font-medium text-gray-800 dark:text-neutral-200"},Ye={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},He={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},oe=e.defineComponent({__name:"checkbox",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=P(),i=t,a=f,{innerValue:d,filteredOptions:s,isSelected:u,selectItem:p,clear:o,toggleShowAll:m,isReqProc:g,showAll:x,isEnableShowAll:k,labelKey:B,valueKey:w,allOptions:c,loadData:y}=te({...i,modelValue:i.modelValue},a);return e.onMounted(()=>{i.api&&y()}),e.watch(()=>i.modelValue,D=>{D===void 0&&(d.value=[])}),r({clear:o}),(D,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",{class:e.normalizeClass([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),C=>(e.openBlock(),e.createBlock(Q,{layout:t.layout,count:C.count,label:C[e.unref(B)],color:C.color,type:"checkbox",value:C[e.unref(w)],"is-selected":e.unref(u)(C),onItemClick:V=>e.unref(p)(C)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),t.type==="select"&&e.unref(s).length===0&&!e.unref(g)?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("div",Ue,[e.createVNode(J),e.createElementVNode("div",qe,[e.createElementVNode("p",We,e.toDisplayString(e.unref(l)("filter.notfound")),1),N[4]||(N[4]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(x)&&e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:N[0]||(N[0]=(...C)=>e.unref(m)&&e.unref(m)(...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(l)("filter.more"))+" ",1),e.createVNode(W)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:N[1]||(N[1]=(...C)=>e.unref(m)&&e.unref(m)(...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(l)("filter.less"))+" ",1),e.createVNode(X)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ye,[e.createTextVNode(e.toDisplayString(e.unref(d).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:N[2]||(N[2]=(...C)=>e.unref(o)&&e.unref(o)(...C))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(d).length!==0]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("span",null,e.toDisplayString(e.unref(d).length)+" / "+e.toDisplayString(e.unref(c).length)+" "+e.toDisplayString(e.unref(l)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:N[3]||(N[3]=(...C)=>e.unref(o)&&e.unref(o)(...C))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(d).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Qe={},Ge={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 Je(t,r){return e.openBlock(),e.createElementBlock("svg",Ge,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)])])}const re=z(Qe,[["render",Je]]),Xe={},Ze={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x stroke-gray-500 hover:stroke-red-500 transition-all",width:"15px",height:"15px"};function ve(t,r){return e.openBlock(),e.createElementBlock("svg",Ze,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)])])}const Z=z(Xe,[["render",ve]]);class ae{static getWidthClass(r){return typeof r=="number"?`max-w-[${r}px] min-w-[${r}px]`:typeof r=="string"?r.endsWith("%")||r.endsWith("px")?`max-w-[${r}]`:`max-w-${r}`:"w-full"}}const et={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},tt=["placeholder"],lt=e.defineComponent({__name:"text-input",props:{id:{},name:{},title:{},type:{},label:{},width:{default:220},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{emit:r}){const f=t,l=e.ref((f.placeholder||f.label||f.title||f.name||"search").toString()),i=r,a=e.ref(f.modelValue?.toString()??"");e.watch(()=>f.modelValue,p=>{p!==a.value&&(a.value=p?.toString()??"")});let d=null;function s(){if(a.value=a.value.trimStart(),a.value.length===0){u();return}d&&clearTimeout(d),d=setTimeout(()=>{i("update:modelValue",a.value),i("change",{name:f.name,value:a.value})},300)}function u(){a.value="",i("update:modelValue",""),i("clear",f.name)}return(p,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vs-form-text relative bg-white [&>input]:py-[7px] [&>input]:max-h-[38px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",t.layout==="vertical"?"rounded-md":"rounded-sm",t.layout==="vertical"?"[&>input]:rounded-md":"[&>input]:rounded-sm",t.layout==="inline"?e.unref(ae).getWidthClass(t.width):"mb-2"+(t.layout==="popover"?" m-2":"")])},[e.createElementVNode("div",et,[e.createVNode(re)]),a.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:u,class:"absolute bottom-2/4 translate-y-2/4 right-3 cursor-pointer"},[e.createVNode(Z)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":o[0]||(o[0]=m=>a.value=m),onInput:s,placeholder:l.value,class:e.normalizeClass(["!pr-7 !pl-8 bg-white h-[38px] min-w-[100px] text-sm py-2 px-3 block w-full border border-solid placeholder:text-nowrap border-stone-200 text-sm text-stone-800 placeholder:text-stone-400 focus:border-2 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500",t.layout==="vertical"?"rounded-md":"rounded-sm"])},null,42,tt),[[e.vModelText,a.value]])],2))}});function ie(t={color:"blue"}){return e.computed(()=>{const f=`w-full px-3 py-2 border-solid border text-black border-gray-300 text-sm rounded focus:outline-none focus:ring-2 focus:ring-${t.color}-500 focus:border-transparent
2
+ text-gray-800 bg-white dark:text-neutral-300 dark:bg-neutral-800 dark:border-neutral-600`;return t?.size==="sm"?`${f}h-[32px]`:`${f}h-[38px]`})}function nt(){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 ot(){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 se(t){return t==="ghost"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border text-gray-600 hover:bg-blue-100 hover:text-gray-800 focus:outline-hidden focus:bg-gray-100 focus:text-gray-800 disabled:opacity-50 disabled:pointer-events-none dark:text-gray-500 dark:hover:bg-blue-800/30 dark:hover:text-blue-400 dark:focus:bg-blue-800/30 dark:focus:text-blue-400":t==="soft"?"inline-flex relative py-2 px-4 items-center gap-x-2 text-sm font-medium rounded-sm border bg-white-100 text-gray-800 hover:bg-gray-200 hover:bg-gray-200 focus:outline-hidden focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:text-blue-400 dark:hover:bg-blue-900 dark:focus:bg-blue-900":"relative border-solid border-gray-200 focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border-input hover:bg-gray-100 border px-4 py-2 gap-1 bg-transparent h-[38px]"}const rt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},at=["placeholder","disabled"],it={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},st={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ct=["placeholder","disabled"],dt=["disabled"],fn={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},mn={key:1,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ft=e.defineComponent({__name:"range-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=ie(),i=nt(),a=P(),d=t,s=e.ref(d.modelValue??d.default??[]),u=f,p=e.computed({get:()=>d.modelValue??s.value,set:g=>{d.modelValue!==void 0?u("update:modelValue",g):s.value=g}});function o(){u("change",{name:d.name,value:p.value||s.value})}function m(){s.value=[],p.value=s.value,u("clear",d.name)}return e.watch(()=>d.modelValue,g=>{g!==void 0&&d.layout!=="popover"?(s.value=g,u("update:modelValue",g)):s.value=[]}),r({clear:m,currentValue:p}),(g,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(t.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",rt,e.toDisplayString(e.unref(a)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[0]??e.unref(a)("filter.min"),step:"1",style:{outline:"none"},"onUpdate:modelValue":x[0]||(x[0]=k=>p.value[0]=k),disabled:t.disabled},null,10,at),[[e.vModelText,p.value[0]]])]),t.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",it," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[t.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",st,e.toDisplayString(e.unref(a)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(l)),placeholder:t.placeholder?.[1]??e.unref(a)("filter.max"),min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":x[1]||(x[1]=k=>p.value[1]=k),disabled:t.disabled},null,10,ct),[[e.vModelText,p.value[1]]])]),["popover","inline","vertical"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:o,class:e.normalizeClass(e.unref(i)+(t.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(t.layout==="vertical"?"Ok":e.unref(a)("filter.apply")),3)):e.createCommentVNode("",!0),["popover","inline"].includes(t.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(p.value[0]||p.value[1]),onClick:m,class:e.normalizeClass(e.unref(i)+" hover:bg-gray-100")},e.toDisplayString(e.unref(a)("filter.clear")),11,dt)):e.createCommentVNode("",!0)],2)]),(t.cleanable&&s.value.length,e.createCommentVNode("",!0))],64))}});class K{static format(r){const f=r.getFullYear(),l=(r.getMonth()+1).toString().padStart(2,"0"),i=r.getDate().toString().padStart(2,"0");return`${f}-${l}-${i}`}static getShiftedDay(r,f=0){const l=r?new Date(r):new Date;return l.setDate(l.getDate()+f),this.format(l)}static getLastWeekRange(r,f,l=0){if(r&&f){const p=new Date(r),o=new Date(f);return p.setDate(p.getDate()+l*7),o.setDate(o.getDate()+l*7),[this.format(p),this.format(o)]}const i=new Date,a=i.getDay(),d=a===0?13:a-1+7,s=new Date(i);s.setDate(i.getDate()-d+l*7);const u=new Date(s);return u.setDate(s.getDate()+6),[this.format(s),this.format(u)]}static getMonthRange(r,f,l=0){let i;r?i=new Date(r):i=new Date,i=new Date(i.getFullYear(),i.getMonth()+l,1);const a=i,d=new Date(i.getFullYear(),i.getMonth()+1,0);return[this.format(a),this.format(d)]}static getQuarterRange(r,f,l=0){const i=r||f,a=i?new Date(i):new Date;let d=Math.floor(a.getMonth()/3);d+=l;const s=(d%4+4)%4*3,u=a.getFullYear()+Math.floor(d/4),p=new Date(u,s,1),o=new Date(u,s+3,0);return[this.format(p),this.format(o)]}static getYear(r,f=0){let l;return r&&/^\d{4}$/.test(r)?l=parseInt(r,10):r?l=new Date(r).getFullYear():l=new Date().getFullYear(),String(l+f)}static getYearRange(r,f=0){let l;return r&&/^\d{4}$/.test(r)?l=parseInt(r,10):r?l=new Date(r).getFullYear():l=new Date().getFullYear(),[this.format(new Date(l+f,0,1)),this.format(new Date(l+f+1,0,0))]}static getRangeFromDaysBefore(r){const f=new Date,l=new Date(f.getTime());return l.setDate(f.getDate()-r),[this.format(l),this.format(f)]}}function ce(t,r){const{popoverRef:f}=t,l=P(),i=e.ref(""),a=e.ref(t.modelValue??t.default??[]),d=e.ref(0);function s(){const c=K.getRangeFromDaysBefore(d.value);return a.value=[...c],r("change",{name:t.name,value:a.value}),r("update:modelValue",a.value),c}function u(c){i.value=c,f.value?.close();const y=[];switch(i.value){case"today":y.push(K.getShiftedDay()),y.push(K.getShiftedDay());break;case"week":y.push(...K.getLastWeekRange());break;case"month":y.push(...K.getMonthRange());break;case"quarter":y.push(...K.getQuarterRange());break;case"year":y.push(...K.getYearRange());break;case"last_7_days":d.value=7,s();break;case"range":d.value=7,y.push(...s());break}a.value=[...y],r("change",{name:t.name,value:a.value}),r("update:modelValue",a.value)}function p(){const c=[];switch(i.value){case"today":c.push(K.getShiftedDay(a.value[0],1));break;case"week":c.push(...K.getLastWeekRange(a.value[0],a.value[1],1));break;case"month":c.push(...K.getMonthRange(a.value[0],a.value[1],1));break;case"quarter":c.push(...K.getQuarterRange(a.value[0],a.value[1],1));break;case"year":c.push(...K.getYearRange(a.value[0],1));break}a.value=[...c],r("change",{name:t.name,value:a.value}),r("update:modelValue",a.value)}function o(){const c=[];switch(i.value){case"today":c.push(K.getShiftedDay(a.value[0],-1));break;case"week":c.push(...K.getLastWeekRange(a.value[0],a.value[1],-1));break;case"month":c.push(...K.getMonthRange(a.value[0],a.value[1],-1));break;case"quarter":c.push(...K.getQuarterRange(a.value[0],a.value[1],-1));break;case"year":c.push(...K.getYearRange(a.value[0],-1));break}a.value=[...c],r("change",{name:t.name,value:a.value}),r("update:modelValue",a.value)}const m=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function g(c){const[y,D,N]=c.split("-");return`${N}.${D}.${y}`}function x(c,y="long"){const D=new Date(Date.UTC(2e3,c-1,1));return new Intl.DateTimeFormat(localStorage.locale,{month:y,timeZone:"UTC"}).format(D)}function k(c){const{value:y}=a;switch(c){case"today":return g(y[0]);case"range":return"Період";case"week":return y[0]&&y[1]?`${g(y[0])} – ${g(y[1])}`:"";case"quarter":if(y[0]){const D=new Date(y[0]),N=D.getFullYear(),C=D.getMonth();return`${Math.floor(C/3)+1} ${l("filter.quarter")} ${N}`}return"";case"month":if(y[0]){const[D,N]=y[0].split("-");return`${x(parseInt(N,10))} ${D}`}return"";case"year":return y[0]||"";case"last_7_days":return"За останні дні";default:return t.label??""}}const B=e.computed(()=>i.value?k(i.value):t.label??"");function w(){i.value="",a.value=[],r("update:modelValue",[]),r("clear",t.name)}return{activeMode:i,innerValue:a,daysBefore:d,onDaysBeforeChange:s,onSelectChange:u,nextClick:p,prevClick:o,ukMonths:m,formatDisplayDate:g,getModeLabel:k,currentLabel:B,clear:w}}const mt={key:0,class:"relative flex w-full h-auto gap-2 filter-date m-2 flex-wrap"},ut={key:0,class:"flex gap-1 !w-[75%] rounded-sm"},pt=["max","disabled"],yt=["min","disabled"],gt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},ht=["max","disabled"],xt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},bt={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},kt=["min","disabled"],wt={class:"flex gap-1 pt-2"},Vt=["title","onClick"],un={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},Ct=e.defineComponent({__name:"date-input",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=t,i=ie(),a=ot(),d=P(),s=f,u=e.ref(null),{activeMode:p,innerValue:o,onSelectChange:m,nextClick:g,prevClick:x,clear:k}=ce({...l,popoverRef:u},s);e.watch(()=>l.modelValue,D=>{D!==void 0?(o.value=D,s("update:modelValue",D)):(p.value="",o.value=[])}),e.watch(o,D=>{s("update:modelValue",D),s("change",{name:l.name,value:D})},{deep:!0});const B=["today","week","month","quarter","year"],w={today:{label:"день",title:d("filter.today")},week:{label:"тиж.",title:d("filter.week")},month:{label:"міс.",title:d("filter.month")},quarter:{label:"кв.",title:d("filter.quarter")},year:{label:"рік",title:d("filter.year")}};function c(D){return w[D]?.label??d(`filter.${D}`)}function y(D){return w[D]?.title??d(`filter.${D}`)}return r({clear:k,popoverRef:u}),(D,N)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",mt,[e.unref(p)!==""&&e.unref(p)==="range"?(e.openBlock(),e.createElementBlock("div",ut,[N[7]||(N[7]=e.createTextVNode(" 1111 ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(o)[1],locale:"uk-UA","onUpdate:modelValue":N[0]||(N[0]=C=>e.unref(o)[0]=C),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,8,pt),[[e.vModelText,e.unref(o)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(o)[0],locale:"uk-UA","onUpdate:modelValue":N[1]||(N[1]=C=>e.unref(o)[1]=C),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,8,yt),[[e.vModelText,e.unref(o)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",gt,e.toDisplayString(e.unref(d)("filter.from")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(o)[1],locale:"uk-UA","onUpdate:modelValue":N[2]||(N[2]=C=>e.unref(o)[0]=C),class:e.normalizeClass(e.unref(i)),disabled:t.disabled},null,10,ht),[[e.vModelText,e.unref(o)[0]]])],2),t.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",xt," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.layout!=="popover"?"w-[48%]":"")},[t.layout==="popover"?(e.openBlock(),e.createElementBlock("label",bt,e.toDisplayString(e.unref(d)("filter.to")),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(o)[0],locale:"uk-UA","onUpdate:modelValue":N[3]||(N[3]=C=>e.unref(o)[1]=C),class:e.normalizeClass(e.unref(i)),disabled:t.disabled},null,10,kt),[[e.vModelText,e.unref(o)[1]]])],2)],2),e.createElementVNode("div",wt,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(B,C=>e.createElementVNode("button",{key:C,class:e.normalizeClass(e.unref(a)+(e.unref(p)===C?" bg-blue-100":"")),title:y(C),onClick:V=>e.unref(m)(C)},e.toDisplayString(c(C)),11,Vt)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:N[4]||(N[4]=(...C)=>e.unref(x)&&e.unref(x)(...C))},"<",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:N[5]||(N[5]=(...C)=>e.unref(g)&&e.unref(g)(...C))},">",2)]),(t.cleanable,e.createCommentVNode("",!0))],64))}});function Bt(t,r){const{api:f,options:l=[],limit:i=20,dataKey:a="data",data:d}=t,s=a??d??"data",u=t.multi;function p($){return u?Array.isArray($)?$:$?[$]:[]:Array.isArray($)?$[0]:$}const o=e.ref(p(t.modelValue)),m=e.ref(""),g=e.ref(!1),x=e.ref(l),k=e.ref("id"),B=e.ref("text"),w=e.ref(!1),c=e.ref(t.layout!=="popover"&&l.length>i),y=e.ref([]),D=e.ref(0);function N($){const M=$.find(Boolean)??{},L=["id","value","code","key"].find(q=>q in M)??"id",U=["text","label","name","title"].find(q=>q in M)??"text";return{autoValueKey:L,autoLabelKey:U}}if(l.length>0){const $=N(l);k.value=$.autoValueKey,B.value=$.autoLabelKey}const C=e.computed(()=>{if(f)return x.value;const $=x.value;if(t.layout==="popover")return $;if(!m.value)return w.value?$:$.slice(0,i);const M=m.value.toLowerCase();return $.filter(L=>L[B.value].toLowerCase().includes(M))});let V=null;async function E($){if(f){g.value=!0;try{const M=new URL(f,window.location.origin);M.searchParams.set("json","1"),M.searchParams.set("key",$),M.searchParams.set("limit",i.toString());const L=await fetch(M.toString());if(!L.ok){I.notify({type:"error",title:"Error",message:"Failed to fetch remote options"}),x.value=[];return}const U=await L.json();if(!U[s]){I.notify({type:"error",title:"Error",message:U}),x.value=[];return}if(x.value=U[s],x.value.length>0){const q=N(x.value);k.value=q.autoValueKey,B.value=q.autoLabelKey}D.value=U.total}catch(M){console.error("Failed to fetch remote options:",M)}finally{g.value=!1}}}e.watch(m,$=>{f&&(V&&clearTimeout(V),V=setTimeout(()=>{E($)},200))}),e.watch(()=>t.modelValue,$=>{o.value=p($)},{immediate:!0}),e.watch(o,$=>{u?(!Array.isArray($)||$.length===0)&&(y.value=[]):($==null||typeof $=="string"&&$==="")&&(y.value=[])});function S($){return u&&Array.isArray(o.value)?o.value.includes($[k.value]):o.value&&o.value===$[k.value]}function F($){if(u&&!Array.isArray(o.value)&&(o.value=[]),u&&Array.isArray(o.value)){const M=o.value.includes($[k.value]);o.value=M?o.value.filter(L=>L!==$[k.value]):[...o.value,$[k.value]],y.value=M?y.value.filter(L=>L!==$[B.value]):[...y.value,$[B.value]]}else o.value=$[k.value],y.value=$[B.value];r("update:modelValue",o.value),r("change",{name:t.name,value:o.value})}function n(){u?(o.value=[],y.value=[]):(o.value=void 0,y.value=[]),r("update:modelValue",o.value),r("clear",t.name)}function b(){V&&clearTimeout(V),m.value="",w.value=!1}function h(){w.value=!w.value}e.onBeforeUnmount(()=>{V&&clearTimeout(V)});const A=e.ref(-1);e.watch(C,()=>{A.value=C.value.length>0?0:-1});function j($){const M=C.value.length;if($.key==="ArrowDown")$.preventDefault(),A.value=(A.value+1)%M;else if($.key==="ArrowUp")$.preventDefault(),A.value=(A.value-1+M)%M;else if($.key==="Enter"&&($.preventDefault(),A.value>=0&&A.value<C.value.length)){const L=C.value[A.value];F(L)}}function R(){f&&x.value.length===0&&m.value.length===0&&E(m.value)}return{innerValue:o,searchTerm:m,filteredOptions:C,isSelected:S,selectItem:F,clear:n,resetSearch:b,toggleShowAll:h,isReqProc:g,showAll:w,isEnableShowAll:c,labelKey:B,valueKey:k,allOptions:x,highlightedIndex:A,onKeyDown:j,selectedLabels:y,totalCount:D,loadData:R}}const Et={class:"h-[45px] shrink-0 px-[6px] py-[4px] flex items-center relative justify-center"},Nt=["placeholder"],St={key:0,class:"w-full"},Dt={class:"flex flex-col items-center justify-center p-5 text-center"},$t={class:"max-w-sm mx-auto mt-6"},At={class:"font-medium text-gray-800 dark:text-neutral-200"},Ft={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},jt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Mt=e.defineComponent({__name:"select",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=P(),i=t,a=f,d=e.ref(null),{innerValue:s,filteredOptions:u,isSelected:p,selectItem:o,clear:m,resetSearch:g,toggleShowAll:x,isReqProc:k,showAll:B,isEnableShowAll:w,searchTerm:c,labelKey:y,valueKey:D,highlightedIndex:N,onKeyDown:C,selectedLabels:V,totalCount:E,loadData:S}=Bt({...i,modelValue:i.modelValue},a);e.onMounted(()=>{g(),i.layout!=="inline"&&(S(),d.value&&i.layout==="popover"&&d.value.focus())}),e.watch(()=>i.modelValue,n=>{n===void 0&&(i.multi?s.value=[]:s.value=void 0)});const F=e.ref([]);return e.watch(N,n=>{n>=0&&F.value[n]&&F.value[n]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(u,()=>{F.value=[]}),r({clear:m,inputTextRef:d,selectedLabels:V,loadData:S}),(n,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([t.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[e.createElementVNode("div",Et,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[0]||(b[0]=h=>e.isRef(c)?c.value=h:null),onKeydown:b[1]||(b[1]=(...h)=>e.unref(C)&&e.unref(C)(...h)),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(l)("filter.search"),type:"text",ref_key:"inputTextRef",ref:d},null,40,Nt),[[e.vModelText,e.unref(c)]]),e.createVNode(re,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(c)!=""?(e.openBlock(),e.createBlock(Z,{key:0,onClick:b[2]||(b[2]=h=>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([t.layout==="popover"?"flex-1 overflow-y-auto p-2":"",t.layout==="inline"?"flex-1 overflow-y-auto max-h-80":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(h,A)=>(e.openBlock(),e.createBlock(Q,{layout:t.layout,count:h.count,label:h[e.unref(y)],color:h.color,type:t.multi?"checkbox":"radio",value:h[e.unref(D)],"is-selected":e.unref(p)(h),highlighted:A===e.unref(N),onItemClick:j=>e.unref(o)(h),ref_for:!0,ref:j=>F.value[A]=j?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),t.type==="select"&&e.unref(u).length===0&&!e.unref(k)?(e.openBlock(),e.createElementBlock("div",St,[e.createElementVNode("div",Dt,[e.createVNode(J),e.createElementVNode("div",$t,[e.createElementVNode("p",At,e.toDisplayString(e.unref(l)("filter.notfound")),1),b[7]||(b[7]=e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"},null,-1))])])])):e.createCommentVNode("",!0),t.layout!=="popover"&&t.type!=="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[!e.unref(B)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:b[3]||(b[3]=(...h)=>e.unref(x)&&e.unref(x)(...h)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.more"))+" ",1),e.createVNode(W)])):e.createCommentVNode("",!0),e.unref(B)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:b[4]||(b[4]=(...h)=>e.unref(x)&&e.unref(x)(...h)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[e.createTextVNode(e.toDisplayString(e.unref(l)("filter.less"))+" ",1),e.createVNode(X)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ft,[e.createTextVNode(e.toDisplayString(t.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(E))+" "+e.toDisplayString(e.unref(l)("filter.selected"))+" ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[5]||(b[5]=(...h)=>e.unref(m)&&e.unref(m)(...h))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("span",null,e.toDisplayString(t.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(E))+" "+e.toDisplayString(e.unref(l)("filter.selected")),1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:b[6]||(b[6]=(...h)=>e.unref(m)&&e.unref(m)(...h))},e.toDisplayString(e.unref(l)("filter.clear")),513),[[e.vShow,e.unref(s)!==""&&e.unref(s)!==void 0||e.unref(s)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Rt=["for","onClick"],Kt=["id","name","value"],Lt={class:"block"},Tt={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},zt={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},Ot=e.defineComponent({__name:"tag-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=t,i=f,{innerValue:a,isSelected:d,selectItem:s,clear:u,labelKey:p,valueKey:o,allOptions:m}=l.multi?te({...l,modelValue:l.modelValue??l.default??[]},i):G({...l,modelValue:l.modelValue!==void 0?l.modelValue:l.default??""},i);return r({clear:u}),e.watch(()=>l.modelValue,g=>{g===void 0&&(l.multi?a.value=[]:a.value=void 0)}),(g,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",t.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),k=>(e.openBlock(),e.createElementBlock("label",{key:`item-${k[e.unref(o)]}`,for:`item-${k[e.unref(o)]}`,onClick:e.withModifiers(B=>e.unref(s)(k),["stop","prevent"]),class:e.normalizeClass([e.unref(d)(k)?"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-${k[e.unref(o)]}`,class:"hidden w4poy border-gray-200 g41z1 g22e3 axcnw dark:text-indigo-500 dark:border-neutral-700 dark:focus:ring-neutral-900",name:`item-${k[e.unref(o)]}`,value:k[e.unref(o)]},null,8,Kt),e.createElementVNode("span",Lt,e.toDisplayString(k[e.unref(p)]),1)],10,Rt))),128))],2),t.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Tt,[e.createTextVNode(e.toDisplayString(t.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(m).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[0]||(x[0]=(...k)=>e.unref(u)&&e.unref(u)(...k))}," Очистити ",512),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("span",null,e.toDisplayString(t.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(m).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[1]||(x[1]=(...k)=>e.unref(u)&&e.unref(u)(...k))}," Очистити ",512),[[e.vShow,e.unref(a)!==void 0&&e.unref(a)!==""||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),Pt=["disabled","title"],_t={class:"flex w-full items-center justify-between gap-1 overflow-hidden text-left"},It={class:"truncate text-ellipsis text-sm"},Ut={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"},qt={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"},Wt={class:"w-[360px] max-h-[500px] overflow-auto [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 before:w-full p-2"},v=e.defineComponent({__name:"popover-field",props:{disabled:{type:Boolean,default:!1},label:{},en:{},ua:{},uk:{},fr:{},de:{},es:{},currentValue:{},fieldRef:{},width:{},mode:{},layout:{}},setup(t,{expose:r}){const f=t,l=e.computed(()=>se(f.mode)),i=e.ref(!1),a=e.ref({top:0,left:0}),d=e.ref(null),s=e.ref(null),u=e.ref(null);let p=null;function o(){const V=s.value,E=u.value;if(!V||!E)return;const S=V.getBoundingClientRect(),F=E.offsetWidth,n=E.offsetHeight,b=window.innerWidth,h=window.innerHeight,A=8;let j=S.bottom+A,{left:R}=S;const $=Math.max(b-F-10,10);if(R=Math.min(R,$),R=Math.max(R,10),j+n>h-10){const M=S.top-n-A;j=M>=10?M:Math.max(h-n-10,10)}j<10&&(j=10),a.value={top:j,left:R}}function m(){e.nextTick(()=>{o(),typeof window<"u"&&typeof window.requestAnimationFrame=="function"&&window.requestAnimationFrame(()=>o())})}function g(){i.value=!i.value,i.value&&(m(),e.nextTick(()=>{f.fieldRef?.inputTextRef&&f.fieldRef?.inputTextRef?.focus?.(),f.fieldRef?.loadData&&Promise.resolve(f.fieldRef?.loadData?.()).finally(()=>{i.value&&m()})}))}function x(V){!d.value?.contains(V.target)&&!u.value?.contains(V.target)&&!s.value?.contains(V.target)&&(i.value=!1)}function k(V){V.key==="Escape"&&(i.value=!1)}const B=e.ref(!1),w=e.ref("ua"),c=V=>{V.detail.key==="locale"&&(w.value=V.detail.newValue)};e.onMounted(()=>{B.value=!0,w.value=localStorage.locale,window.addEventListener("storage",c),document.addEventListener("click",x,!0),document.addEventListener("keydown",k),window.addEventListener("scroll",o,!0),window.addEventListener("resize",o,!0),typeof ResizeObserver<"u"&&(p=new ResizeObserver(()=>{i.value&&m()}))}),e.onBeforeUnmount(()=>{window.removeEventListener("storage",c),document.removeEventListener("click",x,!0),document.removeEventListener("keydown",k),window.removeEventListener("scroll",o,!0),window.removeEventListener("resize",o,!0),p?.disconnect(),p=null});function y(){i.value=!1}r({close:y}),e.watch([B,i,u],([V,E,S])=>{V&&E&&S&&(m(),p?.observe(S))});function D(V){return Array.isArray(V)?V.filter(E=>E!=null&&E!=="").length:V&&typeof V=="object"?Object.values(V).filter(E=>E!=null&&E!=="").length:typeof V=="string"?V.trim()===""?0:1:typeof V=="number"?Number.isNaN(V)?0:1:V===null||V!==void 0?1:0}const N=e.computed(()=>{const V=f.fieldRef?.selectedLabels,E=D(V);return E>0?E:D(f.currentValue)}),C=e.computed(()=>{const V=f.fieldRef?.selectedLabels;return!V||["inline"].includes(f.layout||"")?f[w.value]||(f.label??""):Array.isArray(V)?V.length>0?V.join(", "):f.label??"":String(V)});return(V,E)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:d},[e.createElementVNode("button",{onClick:g,disabled:t.disabled,ref_key:"triggerRef",ref:s,title:t.label,class:e.normalizeClass([l.value,t.width?e.unref(ae).getWidthClass(t.width):"w-full",t.layout==="inline"&&N.value>0?"border border-blue-400 bg-blue-50 text-blue-600":""]),type:"button"},[e.createElementVNode("span",_t,[e.createElementVNode("span",It,e.toDisplayString(C.value),1),t.layout==="inline"&&N.value>0?(e.openBlock(),e.createElementBlock("span",Ut,e.toDisplayString(N.value),1)):e.createCommentVNode("",!0)]),e.createVNode(W,{class:"h-4 w-4 text-neutral-500"})],10,Pt),B.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:u,class:"vsTailwind vs-popover__content w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${a.value.top}px`,left:`${a.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",qt,[e.createElementVNode("div",Wt,[e.renderSlot(V.$slots,"default")])])],4),[[e.vShow,i.value]])])):e.createCommentVNode("",!0)],512))}}),Yt={},Ht={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[90deg]"};function Qt(t,r){return e.openBlock(),e.createElementBlock("svg",Ht,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const Gt=z(Yt,[["render",Qt]]),Jt={},Xt={xmlns:"http://www.w3.org/2000/svg",width:"15px",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down text-gray-800 rotate-[270deg]"};function Zt(t,r){return e.openBlock(),e.createElementBlock("svg",Xt,[...r[0]||(r[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)])])}const vt=z(Jt,[["render",Zt]]),el={class:"flex gap-1"},tl={class:"mb-1"},ll={class:"mb-1"},nl={class:"inline-flex rounded-sm shrink-0 pl-1"},ol=["title"],rl={class:"inline-flex rounded-sm shrink-0 pl-1"},al=["title"],il={key:1,class:"flex gap-1 !w-[75%] rounded-sm"},sl=["max","value","disabled"],cl=["min","value","disabled"],pn={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},dl=e.defineComponent({__name:"date-input-inline",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{default:"inline"},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=P(),i=t,a=f,d=e.ref(null),{activeMode:s,innerValue:u,onSelectChange:p,nextClick:o,prevClick:m,currentLabel:g,clear:x}=ce({...i,popoverRef:d},a);e.watch(()=>i.modelValue,w=>{w!==void 0?(u.value=w,a("update:modelValue",w)):(s.value="",u.value=[])}),e.watch(u,w=>{a("update:modelValue",w),a("change",{name:i.name,value:w})},{deep:!0});function k(w){const c=Array.isArray(u.value)?[...u.value]:[];u.value=[w,c[1]||""]}function B(w){const c=Array.isArray(u.value)?[...u.value]:[];u.value=[c[0]||"",w]}return r({clear:x,popoverRef:d}),(w,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",el,[e.createVNode(v,{ref_key:"popoverRef",ref:d,label:e.unref(g),"current-value":e.unref(u),mode:t.mode,width:typeof t.width=="number"&&e.unref(u).length?t.width-70:t.width,onClear:e.unref(x),layout:t.layout,class:e.normalizeClass(t.itemClass)},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[0]||(c[0]=y=>e.unref(p)("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(l)("filter.period"))+" ",1),e.unref(s)==="range"?(e.openBlock(),e.createBlock(_,{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]=y=>e.unref(p)("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(l)("filter.today"))+" ",1),e.unref(s)==="today"?(e.openBlock(),e.createBlock(_,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[2]||(c[2]=y=>e.unref(p)("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(l)("filter.week"))+" ",1),e.unref(s)==="week"?(e.openBlock(),e.createBlock(_,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[3]||(c[3]=y=>e.unref(p)("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(l)("filter.month"))+" ",1),e.unref(s)==="month"?(e.openBlock(),e.createBlock(_,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:c[4]||(c[4]=y=>e.unref(p)("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(l)("filter.quarter"))+" ",1),e.unref(s)==="quarter"?(e.openBlock(),e.createBlock(_,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",tl,[e.createElementVNode("button",{type:"button",onClick:c[5]||(c[5]=y=>e.unref(p)("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(l)("filter.year"))+" ",1),e.unref(s)==="year"?(e.openBlock(),e.createBlock(_,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ll,[e.createElementVNode("button",{type:"button",onClick:c[6]||(c[6]=y=>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(l)("filter.alltime"))+" ",1),e.unref(u)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(_,{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",nl,[e.createElementVNode("button",{type:"button",title:e.unref(l)("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]=(...y)=>e.unref(m)&&e.unref(m)(...y))},[e.createVNode(Gt)],8,ol)]),e.createElementVNode("div",rl,[e.createElementVNode("button",{type:"button",title:e.unref(l)("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]=(...y)=>e.unref(o)&&e.unref(o)(...y))},[e.createVNode(vt)],8,al)])],64)):e.createCommentVNode("",!0),e.unref(s)!==""&&e.unref(s)==="range"?(e.openBlock(),e.createElementBlock("div",il,[e.createElementVNode("input",{type:"date",max:e.unref(u)[1],locale:"uk-UA",value:e.unref(u)[0],onInput:c[9]||(c[9]=y=>k(y.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600",disabled:t.disabled},null,40,sl),e.createElementVNode("input",{type:"date",min:e.unref(u)[0],locale:"uk-UA",value:e.unref(u)[1],onInput:c[10]||(c[10]=y=>B(y.target.value)),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-sm focus:outline-blue-600 appearance-auto",disabled:t.disabled},null,40,cl)])):e.createCommentVNode("",!0)]),(t.cleanable,e.createCommentVNode("",!0))],64))}}),fl={class:"flex flex-wrap items-center gap-2"},ml=["disabled","onClick"],ul={key:0,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},de={radio:_e,checkbox:oe,check:oe,text:lt,range:ft,date:Ct,select:Mt,tag:Ot,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(t,{expose:r,emit:f}){const l=t,i=f,{innerValue:a,isSelected:d,selectItem:s,clear:u,labelKey:p,valueKey:o,allOptions:m}=G({...l,modelValue:l.modelValue??l.default??""},i),g=e.computed(()=>a.value!==void 0&&!(typeof a.value=="string"&&a.value==="")),x=e.computed(()=>g.value?1:0);function k(w){return d(w)?["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(w){l.disabled||s(w)}return r({clear:u}),e.watch(()=>l.modelValue,w=>{w===void 0&&(a.value=void 0)}),(w,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",fl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),y=>(e.openBlock(),e.createElementBlock("button",{key:y[e.unref(o)],type:"button",class:e.normalizeClass(["px-3 py-2 text-sm font-medium rounded-md transition-colors",k(y)]),disabled:t.disabled,onClick:D=>B(y)},e.toDisplayString(y[e.unref(p)]),11,ml))),128))]),t.cleanable&&t.layout==="popover"?(e.openBlock(),e.createElementBlock("div",ul,[e.createElementVNode("span",null,e.toDisplayString(x.value)+" з "+e.toDisplayString(e.unref(m).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:c[0]||(c[0]=(...y)=>e.unref(u)&&e.unref(u)(...y))}," Очистити ",512),[[e.vShow,g.value]])])):e.createCommentVNode("",!0)],64))}}),"date:inline":dl};function ee(t,r){let f;switch(t.toLowerCase()){case"autocomplete":f="select";break;case"check":f="checkbox";break;default:f=t?.toString().toLowerCase()}return f==="date"&&r&&r==="inline"&&(f="date:inline"),{component:de[f]||de.text,type:f}}const pl={style:{display:"inline-flex",margin:"0px",width:"100%"}},yl={class:"relative w-full mb-2 p-4 bg-white rounded-md shadow-sm"},gl={class:"block mb-3 text-sm font-medium text-gray-800 dark:text-neutral-200"},hl={class:"flex items-center"},xl={class:"text-sm font-medium max-w-[80%] text-gray-800 flex items-center gap-x-1"},bl={class:"filter-layout__body"},kl=e.defineComponent({__name:"vertical-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=t,i=f,a=e.ref(),d=e.computed(()=>ee(l.type,l.layout)),s=e.computed({get:()=>l.modelValue,set:m=>i("update:modelValue",m)});function u(m){i("clear",m)}function p(m,g){i("change",{name:m,value:g}),l.modelValue!==void 0&&i("update:modelValue",g)}function o(){a.value?.clear?.(),i("clear",l.name)}return e.watch(()=>l.default,m=>{s.value=m}),e.watch(()=>l.modelValue,m=>{s.value=m}),r({filterRef:a}),(m,g)=>(e.openBlock(),e.createElementBlock("div",pl,[e.createElementVNode("div",yl,[e.createElementVNode("div",gl,[e.createElementVNode("div",hl,[e.createElementVNode("span",xl,e.toDisplayString(t.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(xe,{key:0,onClick:o})):e.createCommentVNode("",!0)]),e.createElementVNode("div",bl,[d.value?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps({key:0},l,{type:d.value?.type,class:l.itemClass,onChange:g[0]||(g[0]=x=>p(x.name,x.value)),onClear:g[1]||(g[1]=x=>u(x)),ref_key:"filterRef",ref:a}),null,16,["type","class"])):(e.openBlock(),e.createBlock(v,{key:1,"current-value":s.value,label:t.label,mode:t.mode,onClear:o,fieldRef:a.value,width:void 0,disabled:t.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps({ref_key:"filterRef",ref:a},l,{type:d.value?.type,class:l.itemClass,onChange:g[2]||(g[2]=x=>p(x.name,x.value)),onClear:g[3]||(g[3]=x=>u(x))}),null,16,["type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","disabled"]))])])]))}}),fe=e.defineComponent({__name:"inline-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=t,i=f,a=e.ref(),d=e.computed(()=>ee(l.type,l.layout)),s=e.computed({get:()=>l.modelValue,set:o=>i("update:modelValue",o)});function u(o=l.name){i("clear",o)}function p(o,m){i("change",{name:o,value:m}),l.modelValue!==void 0&&i("update:modelValue",m)}return e.watch(()=>l.default,o=>{s.value=o}),e.watch(()=>l.modelValue,o=>{s.value=o}),r({filterRef:a}),(o,m)=>["text","date","button"].includes(t.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps({key:0},l,{type:d.value?.type,class:t.itemClass,onChange:m[0]||(m[0]=g=>p(g.name,g.value)),onClear:m[1]||(m[1]=g=>u(g)),disabled:t.disabled,modelValue:s.value,"onUpdate:modelValue":m[2]||(m[2]=g=>s.value=g)}),null,16,["type","class","disabled","modelValue"])):(e.openBlock(),e.createBlock(v,{key:1,"current-value":s.value,label:t.label,mode:t.mode,onClear:u,fieldRef:a.value,width:l.width,disabled:t.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps({ref_key:"filterRef",ref:a},l,{modelValue:s.value,"onUpdate:modelValue":m[3]||(m[3]=g=>s.value=g),type:d.value?.type,class:l.itemClass,onChange:m[4]||(m[4]=g=>p(g.name,g.value)),onClear:m[5]||(m[5]=g=>u(g))}),null,16,["modelValue","type","class"]))]),_:1},8,["current-value","label","mode","fieldRef","width","disabled"]))}}),wl=e.defineComponent({__name:"popover-layout",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean},layout:{},cleanable:{type:Boolean},limit:{},multi:{type:Boolean},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=t,i=f,a=e.ref(),d=e.computed(()=>ee(l.type,l.layout)),s=e.computed({get:()=>l.modelValue,set:o=>i("update:modelValue",o)});function u(o){i("clear",o)}function p(o,m){i("change",{name:o,value:m}),l.modelValue!==void 0&&i("update:modelValue",m)}return e.watch(()=>l.default,o=>{s.value=o}),e.watch(()=>l.modelValue,o=>{s.value=o}),e.watch(()=>l,o=>{s.value=o}),r({filterRef:a}),(o,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value?.component),e.mergeProps(l,{type:d.value?.type,class:l.itemClass,modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=g=>s.value=g),onChange:m[1]||(m[1]=g=>p(g.name,g.value)),onClear:m[2]||(m[2]=g=>u(g)),ref_key:"filterRef",ref:a}),null,16,["type","class","modelValue"]))}}),O=e.defineComponent({__name:"filter-field",props:{id:{},name:{},title:{},type:{},label:{},width:{},options:{default:()=>[]},placeholder:{},api:{},data:{},default:{},modelValue:{},disabled:{type:Boolean,default:!1},layout:{default:"inline"},cleanable:{type:Boolean},limit:{default:10},multi:{type:Boolean,default:!0},dataKey:{},valueKey:{},mode:{},labelKey:{},sort:{default:"name"},ua:{},itemClass:{}},emits:["update:modelValue","change","clear"],setup(t,{expose:r,emit:f}){const l=t,i=f,a=e.ref(),d=e.computed({get:()=>l.modelValue,set:o=>i("update:modelValue",o)});function s(o){i("clear",o)}function u(o,m){i("change",{name:o,value:m}),l.modelValue!==void 0&&i("update:modelValue",m)}e.watch(()=>l.default,o=>{d.value=o}),e.watch(()=>l.modelValue,o=>{d.value=o}),r({filterRef:a});function p(){switch(l.layout){case"inline":return fe;case"vertical":return kl;case"popover":return wl;default:return fe}}return(o,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p()),e.mergeProps(l,{onChange:m[0]||(m[0]=g=>u(g.name,g.value)),onClear:m[1]||(m[1]=g=>s(g)),modelValue:d.value,"onUpdate:modelValue":m[2]||(m[2]=g=>d.value=g)}),null,16,["modelValue"]))}});function Y(t,r){const{slots:f}=t,l=c=>c?JSON.parse(JSON.stringify(e.toRaw(c))):{},i=e.ref(l(t.value));e.watch(()=>t.value,c=>{i.value=l(c)},{deep:!0,immediate:!0});const a=e.computed(()=>(e.toRaw(f?.default?.())??[]).flatMap(y=>Array.isArray(y.children)?y.children:[y]));function d(c){delete i.value[c],r("clear",{data:e.toRaw(i.value),name:c})}function s(c,y){y===void 0?d(c):i.value={...i.value,[c]:y},r("change",{data:e.toRaw(i.value),name:c,value:y})}const u=e.computed(()=>a.value.map(c=>{const y=c.props?.name;return e.cloneVNode(c,{...c.props,layout:t.view,showClean:!0,modelValue:i.value[y],"onUpdate:modelValue":D=>{s(y,D)},onClear:()=>d(y),class:[t.itemClass,c.props?.class],itemClass:[t.itemClass,c.props?.itemClass].filter(D=>typeof D=="string"&&D.trim().length>0).join(" ")||void 0})})),p=e.computed(()=>new Map(u.value.map(c=>{const y=c.props?.name;return y?[y,c]:null}).filter(c=>c!==null)));function o(c=!1){i.value={},c||r("clearAll",{data:e.toRaw(i.value),name:"ALL"})}const m=e.ref(""),g=e.computed(()=>t.schema?.value?Object.entries(i.value).filter(([c,y])=>t.schema&&!(c in t.schema.value)?!1:Array.isArray(y)?y.some(D=>D!==""&&D!==void 0):y!==""&&y!==void 0).length:0),x=e.ref();e.watch(m,async()=>{await e.nextTick(),x?.value?.filterRef?.inputTextRef&&x.value.filterRef.inputTextRef.focus()});const k=e.computed(()=>t.schema?.value?Object.fromEntries(Object.entries(t.schema?.value).slice(0,t.limit)):{}),B=e.computed(()=>{if(u.value.length===0)return[];let c=0;if(t.schema?.value){const y=Object.entries(t.schema.value).length;t.limit&&y<t.limit?c=t.limit-y:c=0}return u.value.slice(0,c)}),w=e.computed(()=>u.value.length===0?[]:t.view!=="inline"?u.value:u.value.slice(B.value.length));return{activeFilter:i,activeFilterCount:g,onFilterChange:s,clearFilter:d,clearAllFilters:o,limitedSchema:k,filtersSlot:u,limitedFiltersSlot:B,popoverFiltersSlot:w,vnodeMap:p,selectedFilter:m,filterRef:x}}const Vl=e.defineComponent({__name:"popover",emits:["open","close"],setup(t,{emit:r}){const f=e.ref(!1),l=e.ref(null),i=e.ref(null),a=e.ref(null),d=e.ref({top:"0px",left:"0px",position:"absolute"}),s=e.ref(!1);function u(){f.value=!f.value}function p(){const k=a.value,B=l.value;if(!k||!B)return;const{left:w,bottom:c}=k.getBoundingClientRect();requestAnimationFrame(()=>{if(!B)return;const{width:y}=B.getBoundingClientRect(),D=B.offsetWidth||y,N=window.innerWidth||document.documentElement.clientWidth,C=N-w;let V=w;D>C&&(V=N-D-18),V<18&&(V=18);const E=N-D-18;V>E&&(V=Math.max(18,E)),d.value={position:"fixed",top:`${c+18}px`,left:`${V}px`},s.value=!0})}const o=e.computed(()=>Object.entries(d.value).map(k=>k.join(":")).join(";"));function m(k){const B=k.target;!a.value?.contains(k.target)&&!l.value?.contains(k.target)&&!B.closest("[data-inside-popover]")&&(f.value=!1)}const g=e.ref(!1);e.onMounted(()=>{g.value=!0}),e.onMounted(()=>{a.value=i.value?.querySelector("[data-popover-trigger]")||null,a.value?.addEventListener("click",u),document.addEventListener("click",m),window.addEventListener("resize",p),window.addEventListener("scroll",p,!0)}),e.onBeforeUnmount(()=>{a.value?.removeEventListener("click",u),document.removeEventListener("click",m),window.removeEventListener("resize",p),window.removeEventListener("scroll",p,!0)});const x=r;return e.watch(f,async k=>{k?(s.value=!1,x("open"),await e.nextTick(),requestAnimationFrame(()=>{p()})):(x("close"),s.value=!1)}),(k,B)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:i},[e.renderSlot(k.$slots,"trigger"),g.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popoverRef",ref:l,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([o.value,{visibility:s.value?"visible":"hidden",opacity:s.value?1:0}])},[e.renderSlot(k.$slots,"default")],4),[[e.vShow,f.value]])])):e.createCommentVNode("",!0)],512))}}),Cl={},Bl={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 El(t,r){return e.openBlock(),e.createElementBlock("svg",Bl,[...r[0]||(r[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)])])}const me=z(Cl,[["render",El]]),Nl={class:"flex items-center gap-2 overflow-hidden"},Sl={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"},Dl={class:"flex max-h-[400px] md:max-h-[400px]"},$l={class:"w-[150px] sm:w-[180px] md:w-64 border-r border-gray-200 overflow-y-auto"},Al={class:"p-2 md:p-4 border-b"},Fl={class:"text-xs md:text-sm text-gray-600"},jl={class:"p-1 md:p-2"},Ml=["onClick"],Rl={class:"flex items-center gap-1.5 md:gap-2"},Kl={class:"text-xs md:text-sm font-medium line-clamp-3"},Ll={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"},Tl=["onClick"],zl={class:"flex items-center gap-1.5 md:gap-2"},Ol={class:"text-xs md:text-sm font-medium truncate"},Pl={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"},_l={key:0,class:"p-1 md:p-2 border-t"},Il={class:"flex-1 min-h-[250px] md:min-h-[300px] overflow-y-auto"},Ul={key:0,class:"flex items-center justify-center h-full text-gray-500"},ql={class:"text-xs md:text-sm"},ue=e.defineComponent({__name:"popover-filter-layout",props:{badgeCount:{},schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:r,emit:f}){const l=P(),i=t,a=se(i.mode),d=e.useSlots(),s=f,u=e.ref({}),p=e.computed(()=>u?.value?i.view!=="inline"?u?.value:Object.fromEntries(Object.entries(u?.value).slice(i.limit)):{}),{activeFilter:o,activeFilterCount:m,onFilterChange:g,clearFilter:x,clearAllFilters:k,popoverFiltersSlot:B,selectedFilter:w,filterRef:c}=Y({...i,schema:u,slots:d},s),y=e.computed(()=>i.badgeCount??m.value);function D(V){return Array.isArray(V)?V.filter(E=>E!=null&&E!=="").length:V&&typeof V=="object"?Object.values(V).filter(E=>E!=null&&E!=="").length:V===null||V!==void 0&&V!==""?1:0}function N(V){return o.value?D(o.value[V]):0}function C(){if(p.value){const[V]=Object.keys(p.value);w.value=V}else B.value.length>0?w.value=B.value[0].props.name:w.value=""}return e.watch(()=>i.schema,V=>{u.value=V??{}},{deep:!0,immediate:!0}),r({clearFilter:x,clearAllFilters:k}),(V,E)=>(e.openBlock(),e.createBlock(Vl,{onOpen:C,onClose:E[5]||(E[5]=S=>w.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,e.unref(a),"flex items-center justify-between gap-2",y.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",Nl,[e.createVNode(me,{class:"h-4 w-4"}),E[6]||(E[6]=e.createElementVNode("span",{class:"text-sm font-medium"},"Фільтр",-1))]),y.value>0?(e.openBlock(),e.createElementBlock("span",Sl,e.toDisplayString(y.value),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",Dl,[e.createElementVNode("div",$l,[e.createElementVNode("div",Al,[e.createElementVNode("p",Fl,e.toDisplayString(e.unref(l)("filter.selectFieldHelp")),1)]),e.createElementVNode("div",jl,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(p.value),([S,F])=>(e.openBlock(),e.createElementBlock("button",{key:S,onClick:()=>{w.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(w)===S?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",Rl,[e.createElementVNode("span",Kl,e.toDisplayString(F.label),1)]),N(S)>0?(e.openBlock(),e.createElementBlock("div",Ll,e.toDisplayString(N(S)),1)):e.createCommentVNode("",!0)],10,Ml))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(S,F)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+F,onClick:n=>w.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(w)===S.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":"text-neutral-700"])},[e.createElementVNode("div",zl,[e.createElementVNode("span",Ol,e.toDisplayString(S.props.label),1)]),N(S.props.name)>0?(e.openBlock(),e.createElementBlock("div",Pl,e.toDisplayString(N(S.props.name)),1)):e.createCommentVNode("",!0)],10,Tl))),128))]),e.unref(m)>0?(e.openBlock(),e.createElementBlock("div",_l,[e.createElementVNode("button",{class:e.normalizeClass([t.itemClass,"w-full px-2 md:px-3 py-1.5 md:py-2 text-left text-xs md:text-sm text-gray-600 hover:bg-gray-50 transition-colors"]),onClick:E[0]||(E[0]=S=>e.unref(k)()),"data-inside-popover":""}," Очистити всі ",2)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Il,[e.unref(w)===""?(e.openBlock(),e.createElementBlock("div",Ul,[e.createElementVNode("p",ql,e.toDisplayString(e.unref(l)("filter.selectFieldHelp")),1)])):e.createCommentVNode("",!0),e.unref(w)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[p.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(p.value),([S,F])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(w)===S?(e.openBlock(),e.createBlock(O,e.mergeProps({key:S,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:c},{ref_for:!0},F,{class:[t.itemClass,F?.class],"item-class":[t.itemClass,F?.itemClass].filter(Boolean).join(" ")||void 0,onChange:E[1]||(E[1]=n=>e.unref(g)(n.name,n.value)),onClear:E[2]||(E[2]=n=>{e.unref(x)(n),e.unref(g)(n,void 0)}),modelValue:e.unref(o)[S],"onUpdate:modelValue":n=>e.unref(o)[S]=n,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(S,F)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+F},[e.unref(w)===S.props.name?(e.openBlock(),e.createBlock(O,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},S.props,{ref_for:!0,ref_key:"filterRef",ref:c,class:[t.itemClass,S.props?.class],"item-class":[t.itemClass,S.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:E[3]||(E[3]=n=>e.unref(g)(n.name,n.value)),onClear:E[4]||(E[4]=n=>{e.unref(x)(n),e.unref(g)(n,void 0)}),modelValue:e.unref(o)[S.props.name],"onUpdate:modelValue":n=>e.unref(o)[S.props.name]=n,cleanable:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1}))}}),Wl={class:"flex gap-1 items-center flex-wrap"},pe=e.defineComponent({__name:"inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:r,emit:f}){const l=P(),i=t,a=f,d=e.useSlots(),s=e.ref({}),u=e.computed(()=>Object.keys(i.schema).length>i.limit),{activeFilter:p,activeFilterCount:o,onFilterChange:m,clearFilter:g,clearAllFilters:x,limitedSchema:k,filtersSlot:B,limitedFiltersSlot:w}=Y({...i,schema:s,slots:d},a);function c(E){return Array.isArray(E)?E.some(S=>S!==""&&S!==void 0&&S!==null):E===null?!0:E&&typeof E=="object"?Object.values(E).some(S=>S!==""&&S!==void 0&&S!==null):E!==""&&E!==void 0}const y=e.computed(()=>{const E=Object.keys(k.value??{}),S=w.value.map(F=>F.props?.name).filter(F=>typeof F=="string");return new Set([...E,...S])}),D=e.computed(()=>Object.entries(p.value??{}).filter(([E,S])=>y.value.has(E)&&c(S)).length),N=e.computed(()=>{const E=o.value??0,S=D.value??0;return Math.max(E-S,0)}),C=e.ref();function V(){C.value&&C.value.clearAllFilters(!0),x()}return e.watch(()=>i.schema,E=>{s.value=E},{deep:!0,immediate:!0}),r({clearFilter:g,clearAllFilters:x}),(E,S)=>(e.openBlock(),e.createElementBlock("div",Wl,[t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(k)),([F,n])=>(e.openBlock(),e.createBlock(O,e.mergeProps({key:F,mode:t.mode,width:t.width?t.width:n?.width},{ref_for:!0},n,{class:[t.itemClass,n?.class],"item-class":[t.itemClass,n?.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[0]||(S[0]=b=>e.unref(m)(b.name,b.value)),onClear:e.unref(g),layout:"inline",cleanable:!0,modelValue:e.unref(p)[F],"onUpdate:modelValue":b=>e.unref(p)[F]=b}),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(w),(F,n)=>(e.openBlock(),e.createBlock(O,e.mergeProps({key:"slot-"+n,layout:"inline"},{ref_for:!0},F.props,{class:[t.itemClass,F.props?.class],"item-class":[t.itemClass,F.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:S[1]||(S[1]=b=>e.unref(m)(b.name,b.value)),onClear:S[2]||(S[2]=b=>{e.unref(g)(b),e.unref(m)(b,void 0)}),cleanable:!0,modelValue:e.unref(p)[F.props.name],"onUpdate:modelValue":b=>e.unref(p)[F.props.name]=b}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128)),u.value?(e.openBlock(),e.createBlock(ue,e.mergeProps({key:1},i,{schema:t.schema,limit:t.limit,onChange:S[3]||(S[3]=F=>e.unref(m)(F.name,F.value)),onClearAll:S[4]||(S[4]=F=>e.unref(x)()),onClear:S[5]||(S[5]=F=>e.unref(g)(F.name)),mode:t.mode,ref_key:"popoverRef",ref:C,cleanable:!0,"badge-count":N.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),(F,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F),e.mergeProps({key:"slot-"+n,layout:"popover"},{ref_for:!0},F.props,{cleanable:!0}),null,16))),128))]),_:1},16,["schema","limit","mode","badge-count"])):e.createCommentVNode("",!0),e.unref(o)>0?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:V,class:e.normalizeClass([t.itemClass,"relative py-2 px-3 inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-md bg-gray-50 border text-gray-800 hover:bg-gray-200 focus:bg-gray-200"])},e.toDisplayString(e.unref(l)("filter.clear")),3)):e.createCommentVNode("",!0)]))}}),Yl={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"},Hl={class:"flex items-center vst-filters vsTailwind flex-col w-full"},Ql=e.defineComponent({__name:"vertical-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:r,emit:f}){const l=t,i=f,a=e.useSlots(),{activeFilter:d,activeFilterCount:s,onFilterChange:u,clearFilter:p,clearAllFilters:o,filtersSlot:m}=Y({...l,slots:a},i);return r({clearFilter:p,clearAllFilters:o}),(g,x)=>t.view==="vertical"?(e.openBlock(),e.createElementBlock("div",Yl,[e.createElementVNode("div",Hl,[e.unref(s)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x[0]||(x[0]=k=>e.unref(o)()),"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass([t.itemClass,"w-full ring-offset-background focus-visible:outline-hidden focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:text-accent-foreground border h-10 px-4 py-2 gap-2 m-2 bg-white text-gray-800 hover:bg-gray-200 focus:bg-gray-200"]),type:"button"}," Очистити ",2)):e.createCommentVNode("",!0),t.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(t.schema),([k,B])=>(e.openBlock(),e.createBlock(O,e.mergeProps({layout:"vertical"},{ref_for:!0},B,{class:[t.itemClass,B?.class],"item-class":[t.itemClass,B?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[1]||(x[1]=w=>e.unref(u)(w.name,w.value)),onClear:x[2]||(x[2]=w=>{e.unref(p)(w),e.unref(u)(w,void 0)}),modelValue:e.unref(d)[k],"onUpdate:modelValue":w=>e.unref(d)[k]=w,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(m),(k,B)=>(e.openBlock(),e.createBlock(O,e.mergeProps({key:"slot-"+B,layout:"vertical"},{ref_for:!0},k.props,{class:[t.itemClass,k.props?.class],"item-class":[t.itemClass,k.props?.itemClass].filter(Boolean).join(" ")||void 0,onChange:x[3]||(x[3]=w=>e.unref(u)(w.name,w.value)),onClear:x[4]||(x[4]=w=>{e.unref(p)(w),e.unref(u)(w,void 0)}),modelValue:e.unref(d)[k.props.name],"onUpdate:modelValue":w=>e.unref(d)[k.props.name]=w,showClean:!0}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))])])):e.createCommentVNode("",!0)}}),Gl=["onKeydown"],Jl=["disabled"],Xl={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"},Zl={class:"rounded-2xl border border-slate-300/35 bg-white/95 p-4 shadow-2xl backdrop-blur-sm"},vl={class:"mb-3 flex items-center justify-between"},en={class:"text-[15px] font-semibold text-slate-800"},tn={"aria-hidden":"true"},ln={class:"flex max-h-80 flex-col gap-1 overflow-y-auto"},nn={key:0,class:"mt-3 flex justify-end"},on=e.defineComponent({__name:"popover-inline-filter-layout",props:{schema:{},view:{},value:{},history:{type:Boolean},mode:{},limit:{default:10},width:{default:220},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{emit:r}){const f=P(),l=t,i=r,a=e.ref({}),d=e.useSlots(),{activeFilter:s,activeFilterCount:u,onFilterChange:p,clearFilter:o,clearAllFilters:m,filtersSlot:g}=Y({...l,schema:a.value,slots:d},i),x=e.ref(null),k=e.ref(null),B=e.reactive({open:!1,top:0,left:0}),w=e.computed(()=>B.open),c=e.computed(()=>!!l.disabled),y=e.computed(()=>a.value||{}),D=e.computed(()=>l.title??"Фільтр"),N=e.computed(()=>!!d.trigger),C=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(()=>B.open?{position:"absolute",top:`${B.top}px`,left:`${B.left}px`,transform:"translateX(-50%)",zIndex:1e3}:{display:"none"});function E(){B.open=!1}function S(){if(!x.value)return;const A=x.value.getBoundingClientRect();B.top=A.bottom+window.scrollY+8,B.left=A.left+A.width/2+window.scrollX}function F(){B.open=!B.open,B.open&&e.nextTick(S)}function n(){c.value||F()}function b(){B.open&&S()}function h(){m()}return e.onMounted(()=>{window.addEventListener("resize",b),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0)}),e.watch(()=>l.schema,A=>{if(!A){a.value={};return}if(Array.isArray(A)){const j=A.filter(R=>R&&(R.name||R.id)).map(R=>{const $=R.name||R.id;return[$,{...R,name:$}]});a.value=Object.fromEntries(j);return}a.value=A},{deep:!0,immediate:!0}),e.watch(()=>l.disabled,A=>{A&&E()}),(A,j)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-flex",ref_key:"anchor",ref:x},[N.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(n,["prevent","stop"]),onKeydown:[e.withKeys(e.withModifiers(n,["prevent","stop"]),["enter"]),e.withKeys(e.withModifiers(n,["prevent","stop"]),["space"])]},[e.renderSlot(A.$slots,"trigger",{toggle:n,open:w.value,disabled:c.value,activeCount:e.unref(u)})],42,Gl)):(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(C.value),type:"button",disabled:c.value,onClick:e.withModifiers(n,["prevent","stop"]),"data-popover-trigger":""},[e.createVNode(me,{class:"h-4 w-4"}),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",Xl,e.toDisplayString(e.unref(u)),1)):e.createCommentVNode("",!0)],10,Jl)),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[w.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute",typeof t.width=="number"?`min-w-[${t.width+32+(Object.keys(y.value).length>7?20:0)}px]`:"min-w-[268px] "]),style:e.normalizeStyle(V.value),ref_key:"panel",ref:k,onClick:j[4]||(j[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Zl,[e.createElementVNode("div",vl,[e.createElementVNode("h3",en,e.toDisplayString(D.value),1),e.createElementVNode("button",{type:"button",class:"inline-flex h-6 w-6 items-center justify-center rounded-full border-0 bg-slate-300/40 text-slate-600 transition-colors hover:bg-blue-200/60 hover:text-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-200",onClick:E},[e.createElementVNode("span",tn,[e.createVNode(Z,{class:"h-4 w-4"})]),j[5]||(j[5]=e.createElementVNode("span",{class:"sr-only"},"Закрити",-1))])]),e.createElementVNode("div",ln,[Object.keys(y.value).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(y.value),([R,$])=>(e.openBlock(),e.createBlock(O,e.mergeProps({key:R},{ref_for:!0},{...$,layout:"inline"},{width:t.width?t.width:$?.width,class:[t.itemClass,$?.class],"item-class":[t.itemClass,$?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(s)[R],"onUpdate:modelValue":M=>e.unref(s)[R]=M,onChange:j[0]||(j[0]=M=>e.unref(p)(M.name,M.value)),onClear:j[1]||(j[1]=M=>{e.unref(o)(M),e.unref(p)(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(g),(R,$)=>(e.openBlock(),e.createBlock(O,e.mergeProps({key:"slot-"+$,ref_for:!0},{...R.props,layout:"inline"},{class:[t.itemClass,R.props?.class],"item-class":[t.itemClass,R.props?.itemClass].filter(Boolean).join(" ")||void 0,cleanable:!0,modelValue:e.unref(s)[R.props.name],"onUpdate:modelValue":M=>e.unref(s)[R.props.name]=M,onChange:j[2]||(j[2]=M=>e.unref(p)(M.name,M.value)),onClear:j[3]||(j[3]=M=>{e.unref(o)(M),e.unref(p)(M,void 0)})}),null,16,["class","item-class","modelValue","onUpdate:modelValue"]))),128))]),e.unref(u)>0?(e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("button",{type:"button",class:e.normalizeClass([t.itemClass,"text-sm font-semibold text-blue-600 transition-colors hover:text-blue-700 focus:outline-none"]),onClick:h},e.toDisplayString(e.unref(f)("filter.clear")),3)])):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)]))],512))}}),rn={class:"mb-6 flex flex-wrap gap-2"},an=["onClick"],sn={class:"mr-2 flex items-center gap-1"},cn={class:"font-semibold"},dn={class:"text-xs text-gray-500"},H=e.defineComponent({__name:"filter",props:{schema:{},view:{default:"inline"},value:{},history:{type:Boolean},mode:{},limit:{default:3},width:{},title:{},disabled:{type:Boolean},defaultPanelWidth:{},itemClass:{},teleportActive:{}},emits:["change","clear","clearAll"],setup(t,{expose:r,emit:f}){const l=t,i=e.useAttrs(),a=e.computed(()=>({...l,...i})),d=e.ref(o(l.value??{}));e.watch(()=>l.value,async n=>{d.value=o(n??{}),(!n||Object.keys(n).length===0)&&(await e.nextTick(),u.value?.clearAllFilters?.(!0))},{deep:!0,immediate:!0});const s=f,u=e.ref(),p=e.useSlots();function o(n){if(Array.isArray(n))return n.map(b=>o(b));if(n!==null&&typeof n=="object"){const b=e.toRaw(n),h={};for(const A in b)h[A]=o(b[A]);return h}return n}function m(n,b){b!==void 0?d.value={...d.value,[n]:b}:delete d.value[n],s("change",{data:o(d.value),name:n,value:o(b)})}function g(n){delete d.value[n],s("clear",{data:o(d.value),name:n}),s("change",{data:o(d.value),name:n,value:null})}function x(){d.value={},s("clear",{data:o(d.value),name:"ALL"}),s("change",{data:o(d.value),name:"ALL",value:null})}const k=e.ref({}),B=e.computed(()=>l.teleportActive);function w(){switch(l.view){case"inline":return pe;case"vertical":return Ql;case"popover":return ue;case"popover-inline":return on;default:return pe}}e.watch(()=>l.schema,n=>{if(!n){k.value={};return}if(Array.isArray(n)&&!n.length){k.value={};return}Array.isArray(n)?k.value=n.filter(b=>b.type).reduce((b,h)=>(Object.assign(h,{name:h.id||h.name,type:{datepicker:"date"}[h.type.toLowerCase()]||h.type.toLowerCase(),label:h.label||h.ua}),b[h.name]=h,h.data&&!h.api&&!h.options&&Object.assign(h,{api:`/api/suggest/${h.data}`}),b),{}):(Object.entries(n).forEach(([b,h])=>{Object.assign(h,{name:b||h.name||h.id,type:h.type.toLowerCase()})}),k.value={...n})},{immediate:!0,deep:!0});function c(n){u.value.clearFilter(n),g(n)}function y(){u.value.clearAllFilters(),x()}const D=e.computed(()=>Object.entries(d.value).filter(([,n])=>n==null?!1:Array.isArray(n)?n.length>0:typeof n=="string"?n.trim().length>0:!0).map(([n,b])=>{const h=k.value[n],A=h?.label||h?.title||n,j=C(h,b);return{key:n,label:A,value:j}}));function N(n){c(n)}function C(n,b){if(!n||b===void 0||b===null)return"";const h=V(b);if(!h.length)return"";const A=E(n);return h.map(j=>A.get(j)??j).filter(Boolean).join(", ")}function V(n){return Array.isArray(n)?n.map(b=>b?.toString?.()??"").filter(Boolean):typeof n=="string"?n.split(",").map(b=>b.trim()).filter(Boolean):[]}function E(n){const b=new Map,h=n.valueKey||"id",A=n.labelKey||"text";return(n.options??[]).forEach(j=>{const R=S(j,h),$=F(j,A);R&&b.set(R,$||R)}),b}function S(n,b){return n?(n[b]??n.id??n.value??n.key)?.toString?.()??"":""}function F(n,b){return n?(n[b]??n.text??n.label??n.value??n.id)?.toString?.()??"":""}return e.watch(()=>d.value,n=>{if(l.history){const b=new URL(window.location.href),h=new URLSearchParams(window.location.search);Object.keys(n).length>0?h.set("filter",Object.entries(n).filter(([,A])=>A).map(([A,j])=>`${A}=${j}`).join("|")):h.delete("filter"),b.search=decodeURI(h.toString()),window.history.pushState({},"",b)}}),r({clearAllFilters:y,clearFilter:c}),(n,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w()),e.mergeProps(a.value,{schema:k.value,onChange:b[0]||(b[0]=h=>m(h.name,h.value)),onClear:b[1]||(b[1]=h=>g(h.name)),onClearAll:x,ref_key:"filterRef",ref:u}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:2},[e.unref(p).trigger?{name:"trigger",fn:e.withCtx(h=>[e.renderSlot(n.$slots,"trigger",e.normalizeProps(e.guardReactiveProps(h)))]),key:"0"}:void 0]),1040,["schema"])),B.value&&D.value.length?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:B.value},[e.createElementVNode("div",rn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,h=>(e.openBlock(),e.createElementBlock("button",{key:h.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:A=>N(h.key)},[e.createElementVNode("span",sn,[e.createElementVNode("span",cn,e.toDisplayString(h.label),1),e.createElementVNode("span",dn,"· "+e.toDisplayString(h.value),1)]),b[2]||(b[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,an))),128))])],8,["to"])):e.createCommentVNode("",!0)],64))}});H.install=function(r){r.component("Filter",H),r.component("FilterField",O)},T.Filter=H,T.FilterField=O,T.default=H,Object.defineProperties(T,{__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.32",
3
+ "version": "0.1.33",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",