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