@opengis/filter 0.1.6 → 0.1.7
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/filter.vue.d.ts +50 -0
- package/dist/components/filter/filter.vue.d.ts.map +1 -0
- package/dist/components/filter/layouts/inline-filter-layout.vue.d.ts +37 -0
- package/dist/components/filter/layouts/inline-filter-layout.vue.d.ts.map +1 -0
- package/dist/components/filter/layouts/popover-filter-layout.vue.d.ts +37 -0
- package/dist/components/filter/layouts/popover-filter-layout.vue.d.ts.map +1 -0
- package/dist/components/filter/layouts/vertical-filter-layout.vue.d.ts +37 -0
- package/dist/components/filter/layouts/vertical-filter-layout.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/date-input-inline.vue.d.ts +23 -0
- package/dist/components/filter-field/fields/date-input-inline.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/date-input.vue.d.ts +23 -0
- package/dist/components/filter-field/fields/date-input.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/list/checkbox.vue.d.ts +25 -0
- package/dist/components/filter-field/fields/list/checkbox.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/list/list-item.vue.d.ts +19 -0
- package/dist/components/filter-field/fields/list/list-item.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/list/radio.vue.d.ts +26 -0
- package/dist/components/filter-field/fields/list/radio.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/list/select.vue.d.ts +28 -0
- package/dist/components/filter-field/fields/list/select.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/popover-field.vue.d.ts +27 -0
- package/dist/components/filter-field/fields/popover-field.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/range-input.vue.d.ts +25 -0
- package/dist/components/filter-field/fields/range-input.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/tag-field.vue.d.ts +24 -0
- package/dist/components/filter-field/fields/tag-field.vue.d.ts.map +1 -0
- package/dist/components/filter-field/fields/text-input.vue.d.ts +21 -0
- package/dist/components/filter-field/fields/text-input.vue.d.ts.map +1 -0
- package/dist/components/filter-field/filter-field.vue.d.ts +27 -0
- package/dist/components/filter-field/filter-field.vue.d.ts.map +1 -0
- package/dist/components/filter-field/layouts/inline-layout.vue.d.ts +20 -0
- package/dist/components/filter-field/layouts/inline-layout.vue.d.ts.map +1 -0
- package/dist/components/filter-field/layouts/popover-layout.vue.d.ts +20 -0
- package/dist/components/filter-field/layouts/popover-layout.vue.d.ts.map +1 -0
- package/dist/components/filter-field/layouts/vertical-layout.vue.d.ts +20 -0
- package/dist/components/filter-field/layouts/vertical-layout.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-arrow-down.vue.d.ts +3 -0
- package/dist/components/icons/icon-arrow-down.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-arrow-next.vue.d.ts +3 -0
- package/dist/components/icons/icon-arrow-next.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-arrow-prev.vue.d.ts +3 -0
- package/dist/components/icons/icon-arrow-prev.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-arrow-up.vue.d.ts +3 -0
- package/dist/components/icons/icon-arrow-up.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-check.vue.d.ts +3 -0
- package/dist/components/icons/icon-check.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-filter.vue.d.ts +3 -0
- package/dist/components/icons/icon-filter.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-magnifying-glass.vue.d.ts +3 -0
- package/dist/components/icons/icon-magnifying-glass.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-not-found.vue.d.ts +3 -0
- package/dist/components/icons/icon-not-found.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-reload.vue.d.ts +3 -0
- package/dist/components/icons/icon-reload.vue.d.ts.map +1 -0
- package/dist/components/icons/icon-x.vue.d.ts +3 -0
- package/dist/components/icons/icon-x.vue.d.ts.map +1 -0
- package/dist/components/ui/popover.vue.d.ts +21 -0
- package/dist/components/ui/popover.vue.d.ts.map +1 -0
- package/dist/composable/useFilter.d.ts +20 -0
- package/dist/composable/useFilter.d.ts.map +1 -0
- package/dist/composable/useFilterCheckbox.d.ts +36 -0
- package/dist/composable/useFilterCheckbox.d.ts.map +1 -0
- package/dist/composable/useFilterDate.d.ts +21 -0
- package/dist/composable/useFilterDate.d.ts.map +1 -0
- package/dist/composable/useFilterRadio.d.ts +36 -0
- package/dist/composable/useFilterRadio.d.ts.map +1 -0
- package/dist/composable/useFilterSelect.d.ts +42 -0
- package/dist/composable/useFilterSelect.d.ts.map +1 -0
- package/dist/composable/useStyle.d.ts +12 -0
- package/dist/composable/useStyle.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2797 -0
- package/dist/index.umd.cjs +1 -0
- package/dist/types/filter.d.ts +79 -0
- package/dist/types/filter.d.ts.map +1 -0
- package/dist/utils/date-util.d.ts +11 -0
- package/dist/utils/date-util.d.ts.map +1 -0
- package/dist/utils/field-util.d.ts +4 -0
- package/dist/utils/field-util.d.ts.map +1 -0
- package/dist/utils/string.d.ts +4 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/package.json +6 -5
- package/dist/filter.js +0 -2807
- package/dist/filter.umd.cjs +0 -1
package/dist/filter.umd.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
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 ie={class:"flex items-center justify-between w-full text-sm"},ce={class:"flex items-center cursor-pointer w-full"},de={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},fe=["value"],ue={class:"w-[calc(100%-18px)] flex flex-row items-center justify-between pl-[10px]"},me={class:"flex flex-row items-center font-normal text-gray-800 gap-x-1"},pe={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(d,{expose:n,emit:y}){const t=d,r=y;function a(){r("itemClick",t.value)}const i=e.ref(null);return n({el:i}),(f,m)=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center w-full rounded-lg group hover:bg-gray-100",ref_key:"el",ref:i},[e.createElementVNode("div",ie,[e.createElementVNode("div",ce,[e.createElementVNode("label",{for:"radio-9740",class:e.normalizeClass([["inline","popover"].includes(f.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":f.highlighted}]),onClick:e.withModifiers(a,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["w-[18px] h-[18px] border flex items-center justify-center",[f.type=="checkbox"?"rounded-[4px]":"rounded-full",f.color?`bg-[${f.color}] border-[#ffffff]`:f.isSelected?"bg-[#2563eb] border-[#ffffff]":"bg-[#ffffff] border-[#d9d9d9]"]])},[f.isSelected?(e.openBlock(),e.createElementBlock("img",de)):e.createCommentVNode("",!0)],2),e.createElementVNode("input",{type:"checkbox",class:"hidden",id:"radio-9740",value:f.value},null,8,fe),e.createElementVNode("div",ue,[e.createElementVNode("span",me,e.toDisplayString(f.label??"Відсутні данні"),1),f.count?(e.openBlock(),e.createElementBlock("div",pe," ("+e.toDisplayString(f.count)+") ",1)):e.createCommentVNode("",!0)])],2)])])],512))}});function X(d,n){const{options:y=[],limit:t=20}=d;function r(o){return Array.isArray(o)?o[0]:o}const a=e.ref(r(d.modelValue)),i=e.ref(""),f=e.ref(!1),m=e.ref([]),b=e.ref("id"),c=e.ref("text"),s=e.ref(!1),u=e.ref(d.layout!=="popover"&&y.length>t);function x(o){const h=o.find(Boolean)??{},B=["id","value","code","key"].find(N=>N in h)??"id",C=["text","label","name","title"].find(N=>N in h)??"text";return{autoValueKey:B,autoLabelKey:C}}if(y.length>0){const o=x(y);b.value=o.autoValueKey,c.value=o.autoLabelKey}const p=e.computed(()=>{const o=m.value;return d.layout==="popover"||s.value?o:o.slice(0,t)});e.watch(()=>d.modelValue,o=>{a.value=r(o)},{immediate:!0}),m.value=[...y].sort((o,h)=>d.sort==="count"?h.count&&o.count?h.count-o.count:0:d.sort==="name"?String(o[c.value]??"").localeCompare(String(h[c.value]??"")):0);function g(o){return a.value===o[b.value]}function l(o){a.value=o[b.value],n("update:modelValue",a.value),n("change",{name:d.name,value:a.value})}function w(){a.value=void 0,n("update:modelValue",a.value),n("clear",d.name)}function k(){s.value=!s.value}return{innerValue:a,searchTerm:i,filteredOptions:p,isSelected:g,selectItem:l,clear:w,toggleShowAll:k,isReqProc:f,showAll:s,isEnableShowAll:u,labelKey:c,valueKey:b,allOptions:m}}const F=(d,n)=>{const y=d.__vccOpts||d;for(const[t,r]of n)y[t]=r;return y},ge={},ye={class:"w-48 mx-auto",viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function be(d,n){return e.openBlock(),e.createElementBlock("svg",ye,n[0]||(n[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)]))}const H=F(ge,[["render",be]]),he={},ke={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down w-[14px] rotate"};function xe(d,n){return e.openBlock(),e.createElementBlock("svg",ke,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const L=F(he,[["render",xe]]),we={},Ve={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 Be(d,n){return e.openBlock(),e.createElementBlock("svg",Ve,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Y=F(we,[["render",Be]]),Ce={key:0,class:"w-full"},Ee={class:"flex flex-col items-center justify-center p-5 text-center"},Ne={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},$e={key:1,class:"flex justify-between items-center text-xs text-gray-500 p-1 border-t"},_e=e.defineComponent({__name:"radio",props:{id:{},name:{},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(d,{expose:n,emit:y}){const t=d,r=e.ref(null),a=y,{innerValue:i,filteredOptions:f,isSelected:m,selectItem:b,clear:c,toggleShowAll:s,isReqProc:u,showAll:x,isEnableShowAll:p,labelKey:g,valueKey:l,allOptions:w}=X({...t,modelValue:t.modelValue??t.default??""},a);return n({clear:c,inputTextRef:r}),e.watch(()=>t.modelValue,k=>{k===void 0&&(i.value=void 0)}),(k,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([k.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox"])},[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(f),h=>(e.openBlock(),e.createBlock(P,{layout:k.layout,key:h[e.unref(l)],count:h.count,label:h[e.unref(g)],color:h.color,type:"radio",value:h[e.unref(l)],"is-selected":e.unref(m)(h),onItemClick:B=>e.unref(b)(h)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),128))],2),k.type==="select"&&e.unref(f).length===0&&!e.unref(u)?(e.openBlock(),e.createElementBlock("div",Ce,[e.createElementVNode("div",Ee,[e.createVNode(H),o[4]||(o[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(x)&&e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:o[0]||(o[0]=(...h)=>e.unref(s)&&e.unref(s)(...h)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[o[5]||(o[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:o[1]||(o[1]=(...h)=>e.unref(s)&&e.unref(s)(...h)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[o[6]||(o[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",Ne,[e.createTextVNode(e.toDisplayString(e.unref(i)||e.unref(i)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:o[2]||(o[2]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0]])])):e.createCommentVNode("",!0),k.layout==="popover"?(e.openBlock(),e.createElementBlock("div",$e,[e.createElementVNode("span",null,e.toDisplayString(e.unref(i)||e.unref(i)===null?1:0)+" з "+e.toDisplayString(e.unref(w).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:o[3]||(o[3]=(...h)=>e.unref(c)&&e.unref(c)(...h))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}});function J(d,n){const{options:y=[],limit:t=20}=d;function r(o){return Array.isArray(o)?o:o?[o]:[]}const a=e.ref(r(d.modelValue)),i=e.ref(""),f=e.ref(!1),m=e.ref([]),b=e.ref("id"),c=e.ref("text"),s=e.ref(!1),u=e.ref(d.layout!=="popover"&&y.length>t);function x(o){const h=o.find(Boolean)??{},B=["id","value","code","key"].find(N=>N in h)??"id",C=["text","label","name","title"].find(N=>N in h)??"text";return{autoValueKey:B,autoLabelKey:C}}if(y.length>0){const o=x(y);b.value=o.autoValueKey,c.value=o.autoLabelKey}const p=e.computed(()=>{const o=m.value;return d.layout==="popover"||s.value?o:o.slice(0,t)});e.watch(()=>d.modelValue,o=>{a.value=r(o)},{immediate:!0}),m.value=[...y].sort((o,h)=>d.sort==="count"?h.count&&o.count?h.count-o.count:0:d.sort==="name"?String(o[c.value]).localeCompare(String(h[c.value])):0);function g(o){return a.value&&a.value.includes(o[b.value])}function l(o){const h=a.value.includes(o[b.value]);a.value=h?a.value.filter(B=>B!==o[b.value]):[...a.value,o[b.value]],n("update:modelValue",a.value),n("change",{name:d.name,value:a.value})}function w(){a.value=[],n("update:modelValue",a.value),n("clear",d.name)}function k(){s.value=!s.value}return{innerValue:a,searchTerm:i,filteredOptions:p,isSelected:g,selectItem:l,clear:w,toggleShowAll:k,isReqProc:f,showAll:s,isEnableShowAll:u,labelKey:c,valueKey:b,allOptions:m}}const De={key:0,class:"w-full"},Se={class:"flex flex-col items-center justify-center p-5 text-center"},Ae={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},Fe={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(d,{expose:n,emit:y}){const t=d,r=y,{innerValue:a,filteredOptions:i,isSelected:f,selectItem:m,clear:b,toggleShowAll:c,isReqProc:s,showAll:u,isEnableShowAll:x,labelKey:p,valueKey:g,allOptions:l}=J({...t,modelValue:t.modelValue},r);return e.watch(()=>t.modelValue,w=>{w===void 0&&(a.value=[])}),n({clear:b}),(w,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([w.layout==="popover"?"flex flex-col h-full":"flex flex-col vs-filter-checkbox space-y-0.5"])},[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(i),o=>(e.openBlock(),e.createBlock(P,{layout:w.layout,count:o.count,label:o[e.unref(p)],color:o.color,type:"checkbox",value:o[e.unref(g)],"is-selected":e.unref(f)(o),onItemClick:h=>e.unref(m)(o)},null,8,["layout","count","label","color","value","is-selected","onItemClick"]))),256))],2),w.type==="select"&&e.unref(i).length===0&&!e.unref(s)?(e.openBlock(),e.createElementBlock("div",De,[e.createElementVNode("div",Se,[e.createVNode(H),k[4]||(k[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(u)&&e.unref(x)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:k[0]||(k[0]=(...o)=>e.unref(c)&&e.unref(c)(...o)),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"},[k[5]||(k[5]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(u)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:k[1]||(k[1]=(...o)=>e.unref(c)&&e.unref(c)(...o)),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"},[k[6]||(k[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",Ae,[e.createTextVNode(e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[2]||(k[2]=(...o)=>e.unref(b)&&e.unref(b)(...o))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0),w.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).length)+" з "+e.toDisplayString(e.unref(l).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:k[3]||(k[3]=(...o)=>e.unref(b)&&e.unref(b)(...o))}," Очистити ",512),[[e.vShow,e.unref(a).length!==0]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Re={},Me={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 Te(d,n){return e.openBlock(),e.createElementBlock("svg",Me,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)]))}const v=F(Re,[["render",Te]]),je={},Ke={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 Le(d,n){return e.openBlock(),e.createElementBlock("svg",Ke,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))}const ee=F(je,[["render",Le]]);class W{static getWidthClass(n){return typeof n=="number"?`max-w-[${n}px]`:typeof n=="string"?n.endsWith("%")||n.endsWith("px")?`max-w-[${n}]`:`max-w-${n}`:"w-full"}}const ze={class:"absolute bottom-2/4 translate-y-2/4 cursor-pointer left-3"},Oe=["placeholder"],Ie=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(d,{emit:n}){const y=d,t=e.ref((y.placeHolder||y.label||y.name||"search").toString()),r=n,a=e.ref(y.modelValue?.toString()??"");e.watch(()=>y.modelValue,b=>{b!==a.value&&(a.value=b?.toString()??"")});let i=null;function f(){if(a.value=a.value.trimStart(),a.value.length===0){m();return}i&&clearTimeout(i),i=setTimeout(()=>{r("update:modelValue",a.value),r("change",{name:y.name,value:a.value})},300)}function m(){a.value="",r("update:modelValue",""),r("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",ze,[e.createVNode(v)]),a.value!==""?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:m,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]=s=>a.value=s),onInput:f,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,Oe),[[e.vModelText,a.value]])],2))}});function te(d={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-${d.color}-500 focus:border-transparent`;return d?.size==="sm"?`${y}h-[32px]`:`${y}h-[38px]`})}function Ue(){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 Pe(){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(d){return d==="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":d==="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 He={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Ye=["placeholder","disabled"],We={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},qe={key:0,class:"block text-xs font-medium text-gray-600 mb-1"},Qe=["placeholder","disabled"],Ge=["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"},Xe=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(d,{expose:n,emit:y}){const t=te(),r=Ue(),a=d,i=e.ref(a.modelValue??a.default??[]),f=y,m=e.computed({get:()=>a.modelValue??i.value,set:s=>{a.modelValue!==void 0?f("update:modelValue",s):i.value=s}});function b(){f("change",{name:a.name,value:m.value||i.value})}function c(){i.value=[],m.value=i.value,f("clear",a.name)}return e.watch(()=>a.modelValue,s=>{s!==void 0&&a.layout!=="popover"?(i.value=s,f("update:modelValue",s)):i.value=[]}),n({clear:c,currentValue:m}),(s,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(s.layout==="vertical"?"inline-flex items-center gap-2":"space-y-3 p-2")},[e.createElementVNode("div",null,[s.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",He,"Від")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:s.placeHolder?.[0]??"min",step:"1",style:{outline:"none"},"onUpdate:modelValue":u[0]||(u[0]=x=>m.value[0]=x),disabled:s.disabled},null,10,Ye),[[e.vModelText,m.value[0]]])]),s.layout==="vertical"?(e.openBlock(),e.createElementBlock("label",We," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",null,[s.layout!=="vertical"?(e.openBlock(),e.createElementBlock("label",qe,"До")):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"number",class:e.normalizeClass(e.unref(t)),placeholder:s.placeHolder?.[1]??"max",min:"0",max:"1000000000000000",step:"1",style:{outline:"none"},"onUpdate:modelValue":u[1]||(u[1]=x=>m.value[1]=x),disabled:s.disabled},null,10,Qe),[[e.vModelText,m.value[1]]])]),["popover","inline","vertical"].includes(s.layout)?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:b,class:e.normalizeClass(e.unref(r)+(s.layout==="vertical"?" w-[50px]":" bg-blue-100 hover:bg-blue-200"))},e.toDisplayString(s.layout==="vertical"?"Ok":"Застосувати"),3)):e.createCommentVNode("",!0),["popover","inline"].includes(s.layout)?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:!(m.value[0]||m.value[1]),onClick:c,class:e.normalizeClass(e.unref(r)+" hover:bg-gray-100")},"Очистити",10,Ge)):e.createCommentVNode("",!0)],2)]),(s.cleanable&&i.value.length,e.createCommentVNode("",!0))],64))}}),Je=["disabled","title"],Ze={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"},ve={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"},et={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(d,{expose:n}){const y=d,t=e.computed(()=>le(y.mode)),r=e.ref(!1),a=e.ref({top:0,left:0}),i=e.ref(null),f=e.ref(null),m=e.ref(null);function b(){const l=f.value,w=m.value;if(!l||!w)return;const k=l.getBoundingClientRect(),o=w.offsetWidth,h=window.innerWidth,B=k.bottom+8;let{left:C}=k;C+o>h&&(C=Math.max(h-o-10,10)),a.value={top:B,left:C}}function c(){console.log("~~~~~~~~~~"),console.log(r.value),r.value=!r.value,console.log(r.value),r.value&&e.nextTick(()=>{b(),y.fieldRef?.inputTextRef&&y.fieldRef?.inputTextRef?.focus?.(),y.fieldRef?.loadData&&y.fieldRef?.loadData?.()})}function s(l){!i.value?.contains(l.target)&&!m.value?.contains(l.target)&&!f.value?.contains(l.target)&&(r.value=!1)}function u(l){l.key==="Escape"&&(r.value=!1)}const x=e.ref(!1);e.onMounted(()=>{x.value=!0}),e.onMounted(()=>{document.addEventListener("click",s,!0),document.addEventListener("keydown",u),window.addEventListener("scroll",b,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",s,!0),document.removeEventListener("keydown",u),window.removeEventListener("scroll",b,!0)});function p(){r.value=!1}n({close:p});const g=e.computed(()=>{const l=y.fieldRef?.selectedLabels;return!l||["inline"].includes(y.layout)?y.label??"":Array.isArray(l)?l.length>0?l.join(", "):y.label??"":String(l)});return(l,w)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:c,disabled:l.disabled,ref_key:"triggerRef",ref:f,title:l.label,class:e.normalizeClass(t.value+" "+(l.width?e.unref(W).getWidthClass(l.width):"w-full"))},[e.createElementVNode("span",{class:e.normalizeClass(["truncate text-ellipsis block",l.width?e.unref(W).getWidthClass(l.width-50):"w-full"])},e.toDisplayString(g.value),3),e.createVNode(L,{class:"h-4 w-4"}),(Array.isArray(l.currentValue)?l.currentValue===null||l.currentValue.length>0:l.currentValue===null||l.currentValue)&&l.layout==="inline"?(e.openBlock(),e.createElementBlock("span",Ze)):e.createCommentVNode("",!0)],10,Je),x.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"popperRef",ref:m,class:"vsTailwind vs-popover__content bottom-right w-fit fixed z-[1000]",style:e.normalizeStyle({top:`${a.value.top}px`,left:`${a.value.left}px`}),"data-inside-popover":""},[e.createElementVNode("div",ve,[e.createElementVNode("div",et,[e.renderSlot(l.$slots,"default")])])],4),[[e.vShow,r.value]])])):e.createCommentVNode("",!0)]))}});function tt(d){return String(d).charAt(0).toUpperCase()+String(d).slice(1)}class S{static format(n){const y=n.getFullYear(),t=(n.getMonth()+1).toString().padStart(2,"0"),r=n.getDate().toString().padStart(2,"0");return`${y}-${t}-${r}`}static getShiftedDay(n,y=0){const t=n?new Date(n):new Date;return t.setDate(t.getDate()+y),this.format(t)}static getLastWeekRange(n,y,t=0){if(n&&y){const b=new Date(n),c=new Date(y);return b.setDate(b.getDate()+t*7),c.setDate(c.getDate()+t*7),[this.format(b),this.format(c)]}const r=new Date,a=r.getDay(),i=a===0?13:a-1+7,f=new Date(r);f.setDate(r.getDate()-i+t*7);const m=new Date(f);return m.setDate(f.getDate()+6),[this.format(f),this.format(m)]}static getMonthRange(n,y,t=0){let r;n?r=new Date(n):r=new Date,r=new Date(r.getFullYear(),r.getMonth()+t,1);const a=r,i=new Date(r.getFullYear(),r.getMonth()+1,0);return[this.format(a),this.format(i)]}static getQuarterRange(n,y,t=0){const r=n||y,a=r?new Date(r):new Date;let i=Math.floor(a.getMonth()/3);i+=t;const f=(i%4+4)%4*3,m=a.getFullYear()+Math.floor(i/4),b=new Date(m,f,1),c=new Date(m,f+3,0);return[this.format(b),this.format(c)]}static getYear(n,y=0){let t;return n&&/^\d{4}$/.test(n)?t=parseInt(n,10):n?t=new Date(n).getFullYear():t=new Date().getFullYear(),String(t+y)}static getYearRange(n,y=0){let t;return n&&/^\d{4}$/.test(n)?t=parseInt(n,10):n?t=new Date(n).getFullYear():t=new Date().getFullYear(),[this.format(new Date(t+y,0,1)),this.format(new Date(t+y+1,0,0))]}static getRangeFromDaysBefore(n){const y=new Date,t=new Date(y.getTime());return t.setDate(y.getDate()-n),[this.format(t),this.format(y)]}}function oe(d,n){const{popoverRef:y}=d,t=e.ref(""),r=e.ref(d.modelValue??d.default??[]),a=e.ref(0);function i(){const g=S.getRangeFromDaysBefore(a.value);return r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value),g}function f(g){t.value=g,y.value?.close();const l=[];switch(t.value){case"today":l.push(S.getShiftedDay()),l.push(S.getShiftedDay());break;case"week":l.push(...S.getLastWeekRange());break;case"month":l.push(...S.getMonthRange());break;case"quarter":l.push(...S.getQuarterRange());break;case"year":l.push(...S.getYearRange());break;case"last_7_days":a.value=7,i();break;case"range":a.value=7,l.push(...i());break}r.value=[...l],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}function m(){const g=[];switch(t.value){case"today":g.push(S.getShiftedDay(r.value[0],1));break;case"week":g.push(...S.getLastWeekRange(r.value[0],r.value[1],1));break;case"month":g.push(...S.getMonthRange(r.value[0],r.value[1],1));break;case"quarter":g.push(...S.getQuarterRange(r.value[0],r.value[1],1));break;case"year":g.push(...S.getYearRange(r.value[0],1));break}r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}function b(){const g=[];switch(t.value){case"today":g.push(S.getShiftedDay(r.value[0],-1));break;case"week":g.push(...S.getLastWeekRange(r.value[0],r.value[1],-1));break;case"month":g.push(...S.getMonthRange(r.value[0],r.value[1],-1));break;case"quarter":g.push(...S.getQuarterRange(r.value[0],r.value[1],-1));break;case"year":g.push(...S.getYearRange(r.value[0],-1));break}r.value=[...g],n("change",{name:d.name,value:r.value}),n("update:modelValue",r.value)}const c=["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"];function s(g){const[l,w,k]=g.split("-");return`${k}.${w}.${l}`}function u(g){const{value:l}=r;switch(g){case"today":return s(l[0]);case"range":return"Період";case"week":return l[0]&&l[1]?`${s(l[0])} – ${s(l[1])}`:"";case"quarter":if(l[0]){const w=new Date(l[0]),k=w.getFullYear(),o=w.getMonth();return`${Math.floor(o/3)+1} квартал ${k}`}return"";case"month":if(l[0]){const[w,k]=l[0].split("-");return`${c[parseInt(k,10)-1]} ${w}`}return"";case"year":return l[0]||"";case"last_7_days":return"За останні дні";default:return d.label??""}}const x=e.computed(()=>t.value?u(t.value):d.label??"");function p(){t.value="",r.value=[],n("update:modelValue",[]),n("clear",d.name)}return{activeMode:t,innerValue:r,daysBefore:a,onDaysBeforeChange:i,onSelectChange:f,nextClick:m,prevClick:b,ukMonths:c,formatDisplayDate:s,getModeLabel:u,currentLabel:x,clear:p}}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(d,{expose:n,emit:y}){const t=d,r=te(),a=Pe(),i=y,f=e.ref(null),{activeMode:m,innerValue:b,onSelectChange:c,nextClick:s,prevClick:u,clear:x}=oe({...t,popoverRef:f},i);return e.watch(()=>t.modelValue,p=>{p!==void 0?(b.value=p,i("update:modelValue",p)):(m.value="",b.value=[])}),n({clear:x,popoverRef:f}),(p,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[p.layout==="inline"?(e.openBlock(),e.createElementBlock("div",lt,[e.unref(m)!==""&&e.unref(m)==="range"?(e.openBlock(),e.createElementBlock("div",ot,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(b)[1],locale:"uk-UA","onUpdate:modelValue":g[0]||(g[0]=l=>e.unref(b)[0]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600",disabled:p.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":g[1]||(g[1]=l=>e.unref(b)[1]=l),class:"px-2 p-0 border text-[12px] max-w-[calc(50%-5px)] h-[38px] rounded-lg focus:outline-blue-600 appearance-auto",disabled:p.disabled},null,8,rt),[[e.vModelText,e.unref(b)[1]]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(p.layout==="popover"?"space-y-3 p-2":"flex items-center gap-2")},[e.createElementVNode("div",{class:e.normalizeClass(p.layout!=="popover"?"w-[48%]":"")},[p.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":g[2]||(g[2]=l=>e.unref(b)[0]=l),class:e.normalizeClass(e.unref(r)),disabled:p.disabled},null,10,st),[[e.vModelText,e.unref(b)[0]]])],2),p.layout!=="popover"?(e.openBlock(),e.createElementBlock("label",it," - ")):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(p.layout!=="popover"?"w-[48%]":"")},[p.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":g[3]||(g[3]=l=>e.unref(b)[1]=l),class:e.normalizeClass(e.unref(r)),disabled:p.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"],l=>e.createElementVNode("button",{key:l,class:e.normalizeClass(e.unref(a)+(e.unref(m)===l?" bg-blue-100":"")),onClick:w=>e.unref(c)(l)},e.toDisplayString(e.unref(tt)(l)),11,ut)),64)),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:g[4]||(g[4]=(...l)=>e.unref(u)&&e.unref(u)(...l))}," <",2),e.createElementVNode("button",{class:e.normalizeClass(e.unref(a)),onClick:g[5]||(g[5]=(...l)=>e.unref(s)&&e.unref(s)(...l))}," >",2)]),(p.cleanable,e.createCommentVNode("",!0))],64))}});function pt(d,n){const{api:y,options:t=[],limit:r=20,dataKey:a="data"}=d,i=d.multi;function f(V){return i?Array.isArray(V)?V:V?[V]:[]:Array.isArray(V)?V[0]:V}const m=e.ref(f(d.modelValue)),b=e.ref(""),c=e.ref(!1),s=e.ref(t),u=e.ref("id"),x=e.ref("text"),p=e.ref(!1),g=e.ref(d.layout!=="popover"&&t.length>r),l=e.ref([]),w=e.ref(0);function k(V){const D=V.find(Boolean)??{},A=["id","value","code","key"].find(K=>K in D)??"id",U=["text","label","name","title"].find(K=>K in D)??"text";return{autoValueKey:A,autoLabelKey:U}}if(t.length>0){const V=k(t);u.value=V.autoValueKey,x.value=V.autoLabelKey}const o=e.computed(()=>{if(y)return s.value;const V=s.value;if(d.layout==="popover")return V;if(!b.value)return p.value?V:V.slice(0,r);const D=b.value.toLowerCase();return V.filter(A=>A[x.value].toLowerCase().includes(D))});let h=null;async function B(V){if(y){c.value=!0;try{const D=new URL(y,window.location.origin);D.searchParams.set("json","1"),D.searchParams.set("key",V),D.searchParams.set("limit",r.toString());const A=await fetch(D.toString());if(!A.ok)throw new Error(`HTTP error! status: ${A.status}`);const U=await A.json();if(s.value=U[a],s.value.length>0){const K=k(s.value);u.value=K.autoValueKey,x.value=K.autoLabelKey}w.value=U.total}catch(D){console.error("Failed to fetch remote options:",D)}finally{c.value=!1}}}e.watch(b,V=>{y&&(h&&clearTimeout(h),h=setTimeout(()=>{B(V)},200))}),e.watch(()=>d.modelValue,V=>{m.value=f(V)},{immediate:!0});function C(V){return i&&Array.isArray(m.value)?m.value.includes(V[u.value]):m.value&&m.value===V[u.value]}function N(V){if(i&&!Array.isArray(m.value)&&(m.value=[]),i&&Array.isArray(m.value)){const D=m.value.includes(V[u.value]);m.value=D?m.value.filter(A=>A!==V[u.value]):[...m.value,V[u.value]],l.value=D?l.value.filter(A=>A!==V[x.value]):[...l.value,V[x.value]]}else m.value=V[u.value],l.value=V[x.value];n("update:modelValue",m.value),n("change",{name:d.name,value:m.value})}function j(){i?(m.value=[],l.value=[]):(m.value=void 0,l.value=[]),n("update:modelValue",m.value),n("clear",d.name)}function _(){h&&clearTimeout(h),b.value="",p.value=!1}function $(){p.value=!p.value}e.onBeforeUnmount(()=>{h&&clearTimeout(h)});const E=e.ref(-1);e.watch(o,()=>{E.value=o.value.length>0?0:-1});function O(V){const D=o.value.length;if(V.key==="ArrowDown")V.preventDefault(),E.value=(E.value+1)%D;else if(V.key==="ArrowUp")V.preventDefault(),E.value=(E.value-1+D)%D;else if(V.key==="Enter"&&(V.preventDefault(),E.value>=0&&E.value<o.value.length)){const A=o.value[E.value];N(A)}}function I(){y&&s.value.length===0&&b.value.length===0&&B(b.value)}return{innerValue:m,searchTerm:b,filteredOptions:o,isSelected:C,selectItem:N,clear:j,resetSearch:_,toggleShowAll:$,isReqProc:c,showAll:p,isEnableShowAll:g,labelKey:x,valueKey:u,allOptions:s,highlightedIndex:E,onKeyDown:O,selectedLabels:l,totalCount:w,loadData:I}}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"},ht={key:0,class:"flex justify-between p-2 border-t bg-gray-50 text-xs text-gray-500"},kt={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(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(null),{innerValue:i,filteredOptions:f,isSelected:m,selectItem:b,clear:c,resetSearch:s,toggleShowAll:u,isReqProc:x,showAll:p,isEnableShowAll:g,searchTerm:l,labelKey:w,valueKey:k,highlightedIndex:o,onKeyDown:h,selectedLabels:B,totalCount:C,loadData:N}=pt({...t,modelValue:t.modelValue},r);e.onMounted(()=>{s(),t.layout!=="inline"&&(N(),a.value&&t.layout==="popover"&&a.value.focus())}),e.watch(()=>t.modelValue,_=>{_===void 0&&(t.multi?i.value=[]:i.value=void 0)});const j=e.ref([]);return e.watch(o,_=>{_>=0&&j.value[_]&&j.value[_]?.scrollIntoView({block:"nearest",behavior:"smooth"})}),e.watch(f,()=>{j.value=[]}),n({clear:c,inputTextRef:a,selectedLabels:B,loadData: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":$[0]||($[0]=E=>e.isRef(l)?l.value=E:null),onKeydown:$[1]||($[1]=(...E)=>e.unref(h)&&e.unref(h)(...E)),class:"w-full h-full text-[13px] px-4 border rounded-sm pl-9 focus:outline-none focus:ring-ring focus:ring-1 focus:ring-blue-500 text-gray-700",placeholder:"Пошук",type:"text",ref_key:"inputTextRef",ref:a},null,544),[[e.vModelText,e.unref(l)]]),e.createVNode(v,{class:"absolute text-gray-400 -translate-y-1/2 left-4 top-1/2"}),e.unref(l)!=""?(e.openBlock(),e.createBlock(ee,{key:0,onClick:$[2]||($[2]=E=>l.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(f),(E,O)=>(e.openBlock(),e.createBlock(P,{layout:_.layout,count:E.count,label:E[e.unref(w)],color:E.color,type:_.multi?"checkbox":"radio",value:E[e.unref(k)],"is-selected":e.unref(m)(E),highlighted:O===e.unref(o),onItemClick:I=>e.unref(b)(E),ref_for:!0,ref:I=>j.value[O]=I?.el},null,8,["layout","count","label","color","type","value","is-selected","highlighted","onItemClick"]))),256))],2),_.type==="select"&&e.unref(f).length===0&&!e.unref(x)?(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",bt,[e.createVNode(H),$[7]||($[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(p)&&e.unref(g)?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:$[3]||($[3]=(...E)=>e.unref(u)&&e.unref(u)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[$[8]||($[8]=e.createTextVNode(" Показати більше ",-1)),e.createVNode(L)])):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:$[4]||($[4]=(...E)=>e.unref(u)&&e.unref(u)(...E)),class:"inline-flex cursor-pointer items-center gap-x-1.5 text-[13px] text-gray-800 underline underline-offset-4 hover:text-blue-600 focus:outline-none focus:text-blue-600 mt-1 px-2"},[$[9]||($[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",ht,[e.createTextVNode(e.toDisplayString(_.multi&&Array.isArray(e.unref(i))?e.unref(i)?.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(C))+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:$[5]||($[5]=(...E)=>e.unref(c)&&e.unref(c)(...E))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):e.createCommentVNode("",!0),_.layout==="popover"?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("span",null,e.toDisplayString(_.multi&&Array.isArray(e.unref(i))?e.unref(i)?.length:e.unref(i)!==void 0&&(e.unref(i)||e.unref(i)===null)?1:0)+" з "+e.toDisplayString(e.unref(C))+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:$[6]||($[6]=(...E)=>e.unref(c)&&e.unref(c)(...E))}," Очистити ",512),[[e.vShow,e.unref(i)!==""&&e.unref(i)!==void 0||e.unref(i)]])])):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(d,{expose:n,emit:y}){const t=d,r=y,{innerValue:a,isSelected:i,selectItem:f,clear:m,labelKey:b,valueKey:c,allOptions:s}=t.multi?J({...t,modelValue:t.modelValue??t.default??[]},r):X({...t,modelValue:t.modelValue!==void 0?t.modelValue:t.default??""},r);return n({clear:m}),e.watch(()=>t.modelValue,u=>{u===void 0&&(t.multi?a.value=[]:a.value=void 0)}),(u,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["grid grid-cols-3 gap-2 mx-[1px]",u.layout==="popover"?"m-1":"mb-1"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),p=>(e.openBlock(),e.createElementBlock("label",{key:`item-${p[e.unref(c)]}`,for:`item-${p[e.unref(c)]}`,onClick:e.withModifiers(g=>e.unref(f)(p),["stop","prevent"]),class:e.normalizeClass([e.unref(i)(p)?"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-${p[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-${p[e.unref(c)]}`,value:p[e.unref(c)]},null,8,Vt),e.createElementVNode("span",Bt,e.toDisplayString(p[e.unref(b)]),1)],10,wt))),128))],2),u.cleanable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[u.layout==="inline"?(e.openBlock(),e.createElementBlock("div",Ct,[e.createTextVNode(e.toDisplayString(u.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано ",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[0]||(x[0]=(...p)=>e.unref(m)&&e.unref(m)(...p))}," Очистити ",512),[[e.vShow,e.unref(a)!==""&&e.unref(a)!==void 0||e.unref(a)]])])):e.createCommentVNode("",!0),u.layout==="popover"?(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("span",null,e.toDisplayString(u.multi&&Array.isArray(e.unref(a))?e.unref(a)?.length:e.unref(a)!==void 0&&(e.unref(a)||e.unref(a)===null)?1:0)+" з "+e.toDisplayString(e.unref(s).length)+" обрано",1),e.withDirectives(e.createElementVNode("button",{class:"text-gray-600 hover:text-gray-800",onClick:x[1]||(x[1]=(...p)=>e.unref(m)&&e.unref(m)(...p))}," Очистити ",512),[[e.vShow,e.unref(a)!==void 0&&e.unref(a)!==""||e.unref(a)]])])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))}}),$t={},_t={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 Dt(d,n){return e.openBlock(),e.createElementBlock("svg",_t,n[0]||(n[0]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)]))}const T=F($t,[["render",Dt]]),St={},At={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 Ft(d,n){return e.openBlock(),e.createElementBlock("svg",At,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Rt=F(St,[["render",Ft]]),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-[270deg]"};function jt(d,n){return e.openBlock(),e.createElementBlock("svg",Tt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Kt=F(Mt,[["render",jt]]),Lt={class:"flex"},zt={class:"mb-1"},Ot={class:"mb-1"},It={class:"inline-flex rounded-lg shrink-0 pl-1"},Ut={class:"inline-flex rounded-lg shrink-0 pl-1"},Pt={key:1,class:"flex gap-1 !w-[75%] rounded-lg"},Ht=["max","disabled"],Yt=["min","disabled"],Al={key:0,class:"flex justify-end items-center text-xs text-gray-500 p-1 border-t"},ne={radio:_e,checkbox:Z,check:Z,text:Ie,range:Xe,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(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(null),{activeMode:i,innerValue:f,onSelectChange:m,nextClick:b,prevClick:c,currentLabel:s,clear:u}=oe({...t,popoverRef:a},r);return e.watch(()=>t.modelValue,x=>{x!==void 0?(f.value=x,r("update:modelValue",x)):(i.value="",f.value=[])}),n({clear:u,popoverRef:a}),(x,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Lt,[e.createVNode(q,{ref_key:"popoverRef",ref:a,label:e.unref(s),"current-value":e.unref(f),mode:x.mode,onClear:e.unref(u),layout:x.layout},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[0]||(p[0]=g=>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"},[p[12]||(p[12]=e.createTextVNode(" Період ",-1)),e.unref(i)==="range"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),p[19]||(p[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:p[1]||(p[1]=g=>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"},[p[13]||(p[13]=e.createTextVNode(" Сьогодні ",-1)),e.unref(i)==="today"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[2]||(p[2]=g=>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"},[p[14]||(p[14]=e.createTextVNode(" Тиждень ",-1)),e.unref(i)==="week"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[3]||(p[3]=g=>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"},[p[15]||(p[15]=e.createTextVNode(" Місяць ",-1)),e.unref(i)==="month"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[e.createElementVNode("button",{type:"button",onClick:p[4]||(p[4]=g=>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"},[p[16]||(p[16]=e.createTextVNode(" Квартал ",-1)),e.unref(i)==="quarter"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",zt,[e.createElementVNode("button",{type:"button",onClick:p[5]||(p[5]=g=>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"},[p[17]||(p[17]=e.createTextVNode(" Рік ",-1)),e.unref(i)==="year"?(e.openBlock(),e.createBlock(T,{key:0})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ot,[e.createElementVNode("button",{type:"button",onClick:p[6]||(p[6]=g=>e.unref(u)()),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"},[p[18]||(p[18]=e.createTextVNode(" Весь час ",-1)),e.unref(f)[0]?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T,{key:0}))])])]),_:1,__:[19]},8,["label","current-value","mode","onClear","layout"]),e.unref(i)!==""&&e.unref(i)!=="range"&&e.unref(i)!=="last_7_days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",It,[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:p[7]||(p[7]=(...g)=>e.unref(c)&&e.unref(c)(...g))},[e.createVNode(Rt)])]),e.createElementVNode("div",Ut,[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:p[8]||(p[8]=(...g)=>e.unref(b)&&e.unref(b)(...g))},[e.createVNode(Kt)])])],64)):e.createCommentVNode("",!0),e.unref(i)!==""&&e.unref(i)==="range"?(e.openBlock(),e.createElementBlock("div",Pt,[e.withDirectives(e.createElementVNode("input",{type:"date",max:e.unref(f)[1],locale:"uk-UA","onUpdate:modelValue":p[9]||(p[9]=g=>e.unref(f)[0]=g),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,Ht),[[e.vModelText,e.unref(f)[0]]]),e.withDirectives(e.createElementVNode("input",{type:"date",min:e.unref(f)[0],locale:"uk-UA","onUpdate:modelValue":p[10]||(p[10]=g=>e.unref(f)[1]=g),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,Yt),[[e.vModelText,e.unref(f)[1]]])])):e.createCommentVNode("",!0)]),(x.cleanable,e.createCommentVNode("",!0))],64))}})};function Q(d,n){let y;switch(d.toLowerCase()){case"autocomplete":y="select";break;case"check":y="checkbox";break;default:y=d?.toString().toLowerCase()}return y==="date"&&n&&n==="inline"&&(y="date:inline"),{component:ne[y]||ne.text,type:y}}const 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-reload absolute inline mr-1 text-gray-800 transition-all cursor-pointer active:rotate-90 right-1 top-1 hover:text-blue-500"};function Qt(d,n){return e.openBlock(),e.createElementBlock("svg",qt,n[0]||(n[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"},null,-1),e.createElementVNode("path",{d:"M20 4v5h-5"},null,-1)]))}const Gt=F(Wt,[["render",Qt]]),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(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=Q(t.type,t.layout),f=e.computed({get:()=>t.modelValue,set:s=>r("update:modelValue",s)});function m(s){r("clear",s)}function b(s,u){r("change",{name:s,value:u}),t.modelValue!==void 0&&r("update:modelValue",u)}function c(){a.value&&a.value.clear(),r("clear",t.name)}return e.watch(()=>t.default,s=>{f.value=s}),e.watch(()=>t.modelValue,s=>{f.value=s}),n({filterRef:a}),(s,u)=>(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("div",Jt,[e.createElementVNode("div",Zt,[e.createElementVNode("div",vt,[e.createElementVNode("span",el,e.toDisplayString(s.label),1)]),typeof f.value=="string"&&f.value.trim()!==""||Array.isArray(f.value)&&f.value.length>0&&f.value.some(x=>x!==void 0)||f.value===null?(e.openBlock(),e.createBlock(Gt,{key:0,onClick:c})):e.createCommentVNode("",!0)]),e.createElementVNode("div",tl,[e.unref(i)?.type!=="select"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({key:0},t,{type:e.unref(i)?.type,onChange:u[0]||(u[0]=x=>b(x.name,x.value)),onClear:u[1]||(u[1]=x=>m(x)),ref_key:"filterRef",ref:a}),null,16,["type"])):(e.openBlock(),e.createBlock(q,{key:1,"current-value":f.value,label:s.label,mode:s.mode,onClear:c,fieldRef:a.value,width:void 0,disabled:s.disabled,layout:"vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{type:e.unref(i)?.type,onChange:u[2]||(u[2]=x=>b(x.name,x.value)),onClear:u[3]||(u[3]=x=>m(x))}),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(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=Q(t.type,t.layout),f=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function m(c=t.name){r("clear",c)}function b(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}return e.watch(()=>t.default,c=>{f.value=c}),e.watch(()=>t.modelValue,c=>{f.value=c}),n({filterRef:a}),(c,s)=>["text","date"].includes(c.type.toLocaleLowerCase())?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({key:0},t,{type:e.unref(i)?.type,onChange:s[0]||(s[0]=u=>b(u.name,u.value)),onClear:s[1]||(s[1]=u=>m(u)),disabled:c.disabled,modelValue:f.value,"onUpdate:modelValue":s[2]||(s[2]=u=>f.value=u)}),null,16,["type","disabled","modelValue"])):(e.openBlock(),e.createBlock(q,{key:1,"current-value":f.value,label:c.label,mode:c.mode,onClear:m,fieldRef:a.value,width:t.width,disabled:c.disabled,layout:"inline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)?.component),e.mergeProps({ref_key:"filterRef",ref:a},t,{modelValue:f.value,"onUpdate:modelValue":s[3]||(s[3]=u=>f.value=u),type:e.unref(i)?.type,onChange:s[4]||(s[4]=u=>b(u.name,u.value)),onClear:s[5]||(s[5]=u=>m(u))}),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(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=e.ref(Q(t.type,t.layout)),f=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function m(c){r("clear",c)}function b(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}return e.watch(()=>t.default,c=>{f.value=c}),e.watch(()=>t.modelValue,c=>{f.value=c}),e.watch(()=>t,c=>{f.value=c}),n({filterRef:a}),(c,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value?.component),e.mergeProps(t,{type:i.value?.type,modelValue:f.value,"onUpdate:modelValue":s[0]||(s[0]=u=>f.value=u),onChange:s[1]||(s[1]=u=>b(u.name,u.value)),onClear:s[2]||(s[2]=u=>m(u)),ref_key:"filterRef",ref:a}),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(d,{expose:n,emit:y}){const t=d,r=y,a=e.ref(),i=e.computed({get:()=>t.modelValue,set:c=>r("update:modelValue",c)});function f(c){r("clear",c)}function m(c,s){r("change",{name:c,value:s}),t.modelValue!==void 0&&r("update:modelValue",s)}e.watch(()=>t.default,c=>{i.value=c}),e.watch(()=>t.modelValue,c=>{i.value=c}),n({filterRef:a});function b(){switch(t.layout){case"inline":return re;case"vertical":return ll;case"popover":return ol;default:return re}}return(c,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b()),e.mergeProps(t,{onChange:s[0]||(s[0]=u=>m(u.name,u.value)),onClear:s[1]||(s[1]=u=>f(u)),modelValue:i.value,"onUpdate:modelValue":s[2]||(s[2]=u=>i.value=u)}),null,16,["modelValue"]))}});function G(d,n){const{slots:y}=d,t=e.ref(d.value??{}),r=e.computed(()=>(e.toRaw(y?.default?.())??[]).flatMap(o=>Array.isArray(o.children)?o.children:[o]));function a(k){delete t.value[k],n("clear",{data:e.toRaw(t.value),name:k})}function i(k,o){o===void 0?a(k):t.value={...t.value,[k]:o},n("change",{data:e.toRaw(t.value),name:k,value:o})}const f=e.computed(()=>r.value.map(k=>{const o=k.props?.name;return e.cloneVNode(k,{...k.props,layout:d.view,showClean:!0,modelValue:t[o],"onUpdate:modelValue":h=>{i(o,h)},onClear:()=>a(o)})})),m=e.computed(()=>new Map(f.value.map(k=>{const o=k.props?.name;return o?[o,k]:null}).filter(k=>k!==null)));function b(k=!1){t.value={},k||n("clearAll",{data:e.toRaw(t.value),name:"ALL"})}const c=e.ref(""),s=e.computed(()=>d.schema?.value?Object.entries(t.value).filter(([k,o])=>d.schema&&!(k in d.schema.value)?!1:Array.isArray(o)?o.some(h=>h!==""&&h!==void 0):o!==""&&o!==void 0).length:0),u=e.ref();e.watch(c,async()=>{await e.nextTick(),u?.value?.filterRef?.inputTextRef&&u.value.filterRef.inputTextRef.focus()});const x=e.computed(()=>d.schema?.value?Object.fromEntries(Object.entries(d.schema?.value).slice(0,d.limit)):{}),p=e.computed(()=>d.schema?.value?d.view!=="inline"?d.schema?.value:Object.fromEntries(Object.entries(d.schema?.value).slice(d.limit)):{}),g=e.computed(()=>{if(f.value.length===0)return[];let k=0;if(d.schema?.value){const o=Object.entries(d.schema.value).length;d.limit&&o<d.limit?k=d.limit-o:k=0}return f.value.slice(0,k)}),l=e.computed(()=>f.value.length===0?[]:d.view!=="inline"?f.value:f.value.slice(g.value.length));function w(){if(p.value){const[k]=Object.keys(p.value);c.value=k}else l.value.length>0?c.value=l.value[0].props.name:c.value=""}return{activeFilter:t,activeFilterCount:s,onFilterChange:i,clearFilter:a,clearAllFilters:b,limitedSchema:x,popoverSchema:p,filtersSlot:f,limitedFiltersSlot:g,popoverFiltersSlot:l,vnodeMap:m,onPopoverOpen:w,selectedFilter:c,filterRef:u}}const nl=e.defineComponent({__name:"popover",emits:["open","close"],setup(d,{emit:n}){const y=e.ref(!1),t=e.ref(null),r=e.ref(null),a=e.ref(null),i=e.ref({top:"0px",left:"0px",position:"absolute"});function f(){y.value=!y.value}function m(){const u=a.value,x=t.value;if(!u||!x)return;const p=u.getBoundingClientRect(),g=x.offsetWidth,l=window.innerWidth-p.left;let w=p.left+window.scrollX;g>l&&(w=window.innerWidth-g-8,w<8&&(w=8)),i.value={position:"absolute",top:`${p.bottom+window.scrollY+8}px`,left:`${w}px`}}function b(u){const x=u.target;!a.value?.contains(u.target)&&!t.value?.contains(u.target)&&!x.closest("[data-inside-popover]")&&(y.value=!1)}const c=e.ref(!1);e.onMounted(()=>{c.value=!0}),e.onMounted(()=>{a.value=r.value?.querySelector("[data-popover-trigger]")||null,a.value?.addEventListener("click",f),document.addEventListener("click",b),window.addEventListener("resize",m),window.addEventListener("scroll",m,!0)}),e.onBeforeUnmount(()=>{a.value?.removeEventListener("click",f),document.removeEventListener("click",b),window.removeEventListener("resize",m),window.removeEventListener("scroll",m,!0)});const s=n;return e.watch(y,async u=>{u?(s("open"),await e.nextTick(),m()):s("close")}),(u,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"wrapperRef",ref:r},[e.renderSlot(u.$slots,"trigger"),c.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(i.value)},[e.renderSlot(u.$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(d,n){return e.openBlock(),e.createElementBlock("svg",al,n[0]||(n[0]=[e.createElementVNode("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"},null,-1)]))}const 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"],hl={class:"flex items-center gap-2"},kl={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(d,{expose:n,emit:y}){const t=d,r=le(t.mode),a=e.useSlots(),i=y,f=e.ref({}),{activeFilter:m,activeFilterCount:b,onFilterChange:c,clearFilter:s,clearAllFilters:u,popoverSchema:x,popoverFiltersSlot:p,onPopoverOpen:g,selectedFilter:l,filterRef:w}=G({...t,schema:f,slots:a},i);return e.watch(()=>t.schema,k=>{f.value=k},{deep:!0,immediate:!0}),n({clearFilter:s,clearAllFilters:u}),(k,o)=>(e.openBlock(),e.createBlock(nl,{onOpen:e.unref(g),onClose:o[5]||(o[5]=h=>l.value="")},{trigger:e.withCtx(()=>[e.createElementVNode("button",{"data-popover-trigger":"","aria-haspopup":"dialog","aria-expanded":"false",class:e.normalizeClass(e.unref(r)+(e.unref(b)>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),o[6]||(o[6]=e.createTextVNode(" Фільтр ",-1)),e.unref(b)>0?(e.openBlock(),e.createElementBlock("div",cl,e.toDisplayString(e.unref(b)),1)):e.createCommentVNode("",!0)],2)]),default:e.withCtx(()=>[e.createElementVNode("div",dl,[e.createElementVNode("div",fl,[o[7]||(o[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,[k.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(x)),([h,B])=>(e.openBlock(),e.createElementBlock("button",{key:h,onClick:()=>{l.value=h},class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===h?"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(B.label),1)]),(Array.isArray(e.unref(m)[h])?e.unref(m)[h]?.length>0:e.unref(m)[h]||e.unref(m)[h]===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(p),(h,B)=>(e.openBlock(),e.createElementBlock("button",{key:"slot-"+B,onClick:C=>l.value=h.props.name,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-2 text-left hover:bg-gray-50 transition-colors",e.unref(l)===h.props.name?"bg-blue-50 text-blue-700 border-l-2 border-blue-500":""])},[e.createElementVNode("div",hl,[e.createElementVNode("span",kl,e.toDisplayString(h.props.label),1)]),e.unref(m)[h.props.name]?.length>0?(e.openBlock(),e.createElementBlock("div",xl)):e.createCommentVNode("",!0)],10,bl))),128))]),e.unref(b)>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:o[0]||(o[0]=h=>e.unref(u)()),"data-inside-popover":""}," Очистити всі ")])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Vl,[e.unref(l)===""?(e.openBlock(),e.createElementBlock("div",Bl,o[8]||(o[8]=[e.createElementVNode("p",{class:"text-sm"},"Select a field to start creating a filter.",-1)]))):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(x)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(x)),([h,B])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)===h?(e.openBlock(),e.createBlock(M,e.mergeProps({name:h,key:h,layout:"popover",ref_for:!0,ref_key:"filterRef",ref:w},{ref_for:!0},B,{onChange:o[1]||(o[1]=C=>e.unref(c)(C.name,C.value)),onClear:o[2]||(o[2]=C=>{e.unref(s)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(m)[h],"onUpdate:modelValue":C=>e.unref(m)[h]=C,cleanable:!0}),null,16,["name","modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(h,B)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:"slot-"+B},[e.unref(l)===h.props.name?(e.openBlock(),e.createBlock(M,e.mergeProps({key:0,layout:"popover"},{ref_for:!0},h.props,{ref_for:!0,ref_key:"filterRef",ref:w,onChange:o[3]||(o[3]=C=>e.unref(c)(C.name,C.value)),onClear:o[4]||(o[4]=C=>{e.unref(s)(C),e.unref(c)(C,void 0)}),modelValue:e.unref(m)[h.props.name],"onUpdate:modelValue":C=>e.unref(m)[h.props.name]=C,cleanable:!0}),null,16,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0)])])]),_:1},8,["onOpen"]))}}),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(d,{expose:n,emit:y}){const t=d,r=y,a=e.useSlots(),i=e.ref({}),{activeFilter:f,activeFilterCount:m,onFilterChange:b,clearFilter:c,clearAllFilters:s,limitedSchema:u,popoverSchema:x,filtersSlot:p,limitedFiltersSlot:g,popoverFiltersSlot:l}=G({...t,schema:i,slots:a},r),w=e.ref();function k(){w.value&&w.value.clearAllFilters(!0),s()}return e.watch(()=>t.schema,o=>{i.value=o},{deep:!0,immediate:!0}),n({clearFilter:c,clearAllFilters:s}),(o,h)=>(e.openBlock(),e.createElementBlock("div",Cl,[o.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Object.entries(e.unref(u)),([B,C])=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:B,name:B,mode:o.mode},{ref_for:!0},C,{onChange:h[0]||(h[0]=N=>e.unref(b)(N.name,N.value)),onClear:e.unref(c),layout:"inline",cleanable:!0,modelValue:e.unref(f)[B],"onUpdate:modelValue":N=>e.unref(f)[B]=N}),null,16,["name","mode","onClear","modelValue","onUpdate:modelValue"]))),128)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(B,C)=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:"slot-"+C,layout:"inline"},{ref_for:!0},B.props,{onChange:h[1]||(h[1]=N=>e.unref(b)(N.name,N.value)),onClear:h[2]||(h[2]=N=>{e.unref(c)(N),e.unref(b)(N,void 0)}),cleanable:!0,modelValue:e.unref(f)[B.props.name],"onUpdate:modelValue":N=>e.unref(f)[B.props.name]=N}),null,16,["modelValue","onUpdate:modelValue"]))),128)),Object.entries(e.unref(x)).length>0||e.unref(l).length>0?(e.openBlock(),e.createBlock(ae,e.mergeProps({key:1},t,{schema:e.unref(x),limit:0,onChange:h[3]||(h[3]=B=>e.unref(b)(B.name,B.value)),onClearAll:h[4]||(h[4]=B=>e.unref(s)()),onClear:h[5]||(h[5]=B=>e.unref(c)(B.name)),mode:o.mode,ref_key:"popoverRef",ref:w,cleanable:!0}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),(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","mode"])):e.createCommentVNode("",!0),e.unref(m)>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(d,{expose:n,emit:y}){const t=d,r=y,a=e.useSlots(),{activeFilter:i,activeFilterCount:f,onFilterChange:m,clearFilter:b,clearAllFilters:c,filtersSlot:s}=G({...t,slots:a},r);return n({clearFilter:b,clearAllFilters:c}),(u,x)=>u.view==="vertical"?(e.openBlock(),e.createElementBlock("div",El,[e.createElementVNode("div",Nl,[e.unref(f)>0?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x[0]||(x[0]=p=>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),u.schema?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(Object.entries(u.schema),([p,g])=>(e.openBlock(),e.createBlock(M,e.mergeProps({name:p,layout:"vertical"},{ref_for:!0},g,{onChange:x[1]||(x[1]=l=>e.unref(m)(l.name,l.value)),onClear:x[2]||(x[2]=l=>{e.unref(b)(l),e.unref(m)(l,void 0)}),modelValue:e.unref(i)[p],"onUpdate:modelValue":l=>e.unref(i)[p]=l,showClean:!0}),null,16,["name","modelValue","onUpdate:modelValue"]))),256)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(p,g)=>(e.openBlock(),e.createBlock(M,e.mergeProps({key:"slot-"+g,layout:"vertical"},{ref_for:!0},p.props,{onChange:x[3]||(x[3]=l=>e.unref(m)(l.name,l.value)),onClear:x[4]||(x[4]=l=>{e.unref(b)(l),e.unref(m)(l,void 0)}),modelValue:e.unref(i)[p.props.name],"onUpdate:modelValue":l=>e.unref(i)[p.props.name]=l,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(d,{expose:n,emit:y}){const t=d,r=e.ref(t.value??{}),a=y,i=e.ref();function f(g){if(Array.isArray(g))return g.map(l=>f(l));if(g!==null&&typeof g=="object"){const l=e.toRaw(g),w={};for(const k in l)w[k]=f(l[k]);return w}return g}function m(g,l){l!==void 0?r.value={...r.value,[g]:l}:delete r.value[g],a("change",{data:f(r.value),name:g,value:f(l)})}function b(g){delete r.value[g],a("clear",{data:f(r.value),name:g}),a("change",{data:f(r.value),name:g,value:null})}function c(){r.value={},a("clear",{data:f(r.value),name:"ALL"}),a("change",{data:f(r.value),name:"ALL",value:null})}const s=e.ref({});function u(){switch(t.view){case"inline":return se;case"vertical":return $l;case"popover":return ae;default:return se}}e.watch(()=>t.schema,g=>{if(!g){s.value={};return}if(Array.isArray(g)&&!g.length){s.value={};return}Array.isArray(g)?s.value=g.filter(l=>l.type).reduce((l,w)=>(Object.assign(w,{name:w.id||w.name,type:{datepicker:"date"}[w.type.toLowerCase()]||w.type.toLowerCase(),label:w.label||w.ua}),l[w.name]=w,w.data&&!w.api&&!w.options&&Object.assign(w,{api:`/api/suggest/${w.data}`}),l),{}):(Object.entries(g).forEach(([l,w])=>{Object.assign(w,{name:l||w.name||w.id,type:w.type.toLowerCase()})}),s.value={...g})},{immediate:!0,deep:!0});function x(g){i.value.clearFilter(g),b(g)}function p(){i.value.clearAllFilters(),c()}return e.watch(()=>r.value,g=>{if(t.history){const l=new URL(window.location.href),w=new URLSearchParams(window.location.search);Object.keys(g).length>0?w.set("filter",Object.entries(g).filter(([,k])=>k).map(([k,o])=>`${k}=${o}`).join("|")):w.delete("filter"),l.search=decodeURI(w.toString()),window.history.pushState({},"",l)}}),n({clearAllFilters:p,clearFilter:x}),(g,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u()),e.mergeProps(t,{schema:s.value,onChange:l[0]||(l[0]=w=>m(w.name,w.value)),onClear:l[1]||(l[1]=w=>b(w.name)),onClearAll:c,ref_key:"filterRef",ref:i}),{default:e.withCtx(()=>[e.renderSlot(g.$slots,"default")]),_:3},16,["schema"]))}});z.install=function(n){n.component("Filter",z),n.component("FilterField",M)},R.Filter=z,R.FilterField=M,R.default=z,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|