voiptime-components 0.0.10 → 0.0.11
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/index.cjs.js +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +492 -0
- package/dist/index.es.js +1740 -37
- package/package.json +4 -2
- package/dist/index.umd.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),A=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},we={},ye={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Be(t,o){return e.openBlock(),e.createElementBlock("svg",ye,o[0]||(o[0]=[e.createElementVNode("path",{d:"M14 8L10 12L6 8",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const xe=A(we,[["render",Be]]),Se={},Ee={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ve(t,o){return e.openBlock(),e.createElementBlock("svg",Ee,o[0]||(o[0]=[e.createElementVNode("path",{d:"M6 12L10 8L14 12",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const Me=A(Se,[["render",Ve]]),$e={},Le={width:"14",height:"15",viewBox:"0 0 14 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ne(t,o){return e.openBlock(),e.createElementBlock("svg",Le,o[0]||(o[0]=[e.createElementVNode("path",{d:"M11.8789 4.90517L11.2561 4.20124C10.4045 3.33504 9.28504 2.7626 8.06789 2.5709C6.85074 2.3792 5.60245 2.57874 4.5127 3.13917C3.42296 3.69961 2.55134 4.59032 2.03031 5.67593C1.50928 6.76155 1.36732 7.98272 1.626 9.15387C1.88469 10.325 2.52987 11.3821 3.46351 12.1645C4.39716 12.9469 5.56821 13.4119 6.79871 13.4887C8.02921 13.5655 9.25189 13.25 10.2809 12.5901C11.31 11.9302 12.0891 10.962 12.5 9.83266",stroke:"currentColor","stroke-width":"1.5","stroke-miterlimit":"10","stroke-linecap":"round"},null,-1),e.createElementVNode("path",{d:"M8.5157 6.5C8.07025 6.5 7.84716 5.96143 8.16215 5.64645L10.3086 3.5L12.455 1.35355C12.77 1.03857 13.3086 1.26165 13.3086 1.70711V6C13.3086 6.27614 13.0847 6.5 12.8086 6.5L8.5157 6.5Z",fill:"currentColor"},null,-1)]))}const ze=A($e,[["render",Ne]]),Ie={},Re={width:"21",height:"20",viewBox:"0 0 21 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Te(t,o){return e.openBlock(),e.createElementBlock("svg",Re,o[0]||(o[0]=[e.createElementVNode("path",{d:"M8.60352 6L12.6035 10L8.60352 14",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const De=A(Ie,[["render",Te]]),We={},Pe={width:"21",height:"20",viewBox:"0 0 21 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function He(t,o){return e.openBlock(),e.createElementBlock("svg",Pe,o[0]||(o[0]=[e.createElementVNode("path",{d:"M12.3984 14L8.39844 10L12.3984 6",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const Ae=A(We,[["render",He]]),Oe={},je={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Fe(t,o){return e.openBlock(),e.createElementBlock("svg",je,o[0]||(o[0]=[e.createElementVNode("path",{d:"M12.5 1.66406L11.1783 2.94156C10.6233 3.47906 10.345 3.7474 10 3.7474C9.655 3.7474 9.37667 3.47906 8.82167 2.94156L7.5 1.66406M14.5833 5.83073C15.7533 5.83073 16.3392 5.83073 16.7592 6.11156C16.9412 6.23319 17.0975 6.3895 17.2192 6.57156C17.5 6.99156 17.5 7.5774 17.5 8.7474V15.4141C17.5 16.5841 17.5 17.1699 17.2192 17.5899C17.0975 17.772 16.9412 17.9283 16.7592 18.0499C16.3392 18.3307 15.7533 18.3307 14.5833 18.3307C13.4133 18.3307 12.8275 18.3307 12.4075 18.0499C12.2254 17.9283 12.0691 17.772 11.9475 17.5899C11.6667 17.1699 11.6667 16.5841 11.6667 15.4141V8.7474C11.6667 7.5774 11.6667 6.99156 11.9475 6.57156C12.0691 6.3895 12.2254 6.23319 12.4075 6.11156C12.8275 5.83073 13.4133 5.83073 14.5833 5.83073ZM5.41667 5.83073C6.58667 5.83073 7.1725 5.83073 7.5925 6.11156C7.77456 6.23319 7.93087 6.3895 8.0525 6.57156C8.33333 6.99156 8.33333 7.5774 8.33333 8.7474V15.4141C8.33333 16.5841 8.33333 17.1699 8.0525 17.5899C7.93087 17.772 7.77456 17.9283 7.5925 18.0499C7.1725 18.3307 6.58667 18.3307 5.41667 18.3307C4.24667 18.3307 3.66083 18.3307 3.24083 18.0499C3.05877 17.9283 2.90246 17.772 2.78083 17.5899C2.5 17.1699 2.5 16.5841 2.5 15.4141V8.7474C2.5 7.5774 2.5 6.99156 2.78083 6.57156C2.90246 6.3895 3.05877 6.23319 3.24083 6.11156C3.66083 5.83073 4.24667 5.83073 5.41667 5.83073Z",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const Ze=A(Oe,[["render",Fe]]),Ue={},qe={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Xe(t,o){return e.openBlock(),e.createElementBlock("svg",qe,o[0]||(o[0]=[e.createElementVNode("path",{d:"M8 3V5.2225M8 5.2225V10.7775M8 5.2225L9.875 4.25M8 5.2225L6.125 4.25M8 10.7775V13M8 10.7775L6.125 11.75M8 10.7775L9.875 11.75M13 8H10.7775M10.7775 8H5.2225M10.7775 8L11.75 9.875M10.7775 8L11.75 6.125M5.2225 8H3M5.2225 8L4.25 6.125M5.2225 8L4.25 9.875",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),e.createElementVNode("path",{d:"M12 14.7143L13.1151 15.6701C13.3268 15.8515 13.646 15.8247 13.8246 15.6105L16 13",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"},null,-1)]))}const Ge=A(Ue,[["render",Xe]]),Ke={},Ye={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Je(t,o){return e.openBlock(),e.createElementBlock("svg",Ye,o[0]||(o[0]=[e.createElementVNode("path",{d:"M8 3V5.2225M8 5.2225V10.7775M8 5.2225L9.875 4.25M8 5.2225L6.125 4.25M8 10.7775V13M8 10.7775L6.125 11.75M8 10.7775L9.875 11.75M13 8H10.7775M10.7775 8H5.2225M10.7775 8L11.75 9.875M10.7775 8L11.75 6.125M5.2225 8H3M5.2225 8L4.25 6.125M5.2225 8L4.25 9.875",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),e.createElementVNode("path",{d:"M13 16L14.5 14.5M16 13L14.5 14.5M14.5 14.5L13 13M14.5 14.5L16 16",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"},null,-1)]))}const Qe=A(Ke,[["render",Je]]),et={},tt={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ot(t,o){return e.openBlock(),e.createElementBlock("svg",tt,o[0]||(o[0]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M6.99479 8.75521C6.55276 8.75521 6.12884 8.57961 5.81628 8.26705C5.50372 7.95449 5.32812 7.53057 5.32812 7.08854C5.32812 6.64651 5.50372 6.22259 5.81628 5.91003C6.12884 5.59747 6.55276 5.42187 6.99479 5.42188C7.43682 5.42187 7.86074 5.59747 8.1733 5.91003C8.48586 6.22259 8.66146 6.64651 8.66146 7.08854C8.66146 7.53057 8.48586 7.95449 8.1733 8.26705C7.86074 8.57961 7.43682 8.75521 6.99479 8.75521ZM6.99479 14.5885C6.55276 14.5885 6.12884 14.4129 5.81628 14.1004C5.50372 13.7878 5.32812 13.3639 5.32812 12.9219C5.32812 12.4798 5.50372 12.0559 5.81628 11.7434C6.12884 11.4308 6.55276 11.2552 6.99479 11.2552C7.43682 11.2552 7.86074 11.4308 8.1733 11.7434C8.48586 12.0559 8.66146 12.4798 8.66146 12.9219C8.66146 13.3639 8.48586 13.7878 8.1733 14.1004C7.86074 14.4129 7.43682 14.5885 6.99479 14.5885Z",fill:"currentColor"},null,-1),e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.9948 8.75521C12.5528 8.75521 12.1288 8.57961 11.8163 8.26705C11.5037 7.95449 11.3281 7.53057 11.3281 7.08854C11.3281 6.64651 11.5037 6.22259 11.8163 5.91003C12.1288 5.59747 12.5528 5.42187 12.9948 5.42188C13.4368 5.42187 13.8607 5.59747 14.1733 5.91003C14.4859 6.22259 14.6615 6.64651 14.6615 7.08854C14.6615 7.53057 14.4859 7.95449 14.1733 8.26705C13.8607 8.57961 13.4368 8.75521 12.9948 8.75521ZM12.9948 14.5885C12.5528 14.5885 12.1288 14.4129 11.8163 14.1004C11.5037 13.7878 11.3281 13.3639 11.3281 12.9219C11.3281 12.4798 11.5037 12.0559 11.8163 11.7434C12.1288 11.4308 12.5528 11.2552 12.9948 11.2552C13.4368 11.2552 13.8607 11.4308 14.1733 11.7434C14.4859 12.0559 14.6615 12.4798 14.6615 12.9219C14.6615 13.3639 14.4859 13.7878 14.1733 14.1004C13.8607 14.4129 13.4368 14.5885 12.9948 14.5885Z",fill:"currentColor"},null,-1)]))}const nt=A(et,[["render",ot]]),lt={},st={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function at(t,o){return e.openBlock(),e.createElementBlock("svg",st,o[0]||(o[0]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.1667 5.83333C9.72464 5.83333 9.30072 5.65774 8.98816 5.34518C8.67559 5.03262 8.5 4.60869 8.5 4.16667C8.5 3.72464 8.67559 3.30072 8.98816 2.98816C9.30072 2.67559 9.72464 2.5 10.1667 2.5C10.6087 2.5 11.0326 2.67559 11.3452 2.98816C11.6577 3.30072 11.8333 3.72464 11.8333 4.16667C11.8333 4.60869 11.6577 5.03262 11.3452 5.34518C11.0326 5.65774 10.6087 5.83333 10.1667 5.83333ZM10.1667 11.6667C9.72464 11.6667 9.30072 11.4911 8.98816 11.1785C8.67559 10.8659 8.5 10.442 8.5 10C8.5 9.55797 8.67559 9.13405 8.98816 8.82149C9.30072 8.50893 9.72464 8.33333 10.1667 8.33333C10.6087 8.33333 11.0326 8.50893 11.3452 8.82149C11.6577 9.13405 11.8333 9.55797 11.8333 10C11.8333 10.442 11.6577 10.8659 11.3452 11.1785C11.0326 11.4911 10.6087 11.6667 10.1667 11.6667ZM10.1667 17.5C9.72464 17.5 9.30072 17.3244 8.98816 17.0118C8.67559 16.6993 8.5 16.2754 8.5 15.8333C8.5 15.3913 8.67559 14.9674 8.98816 14.6548C9.30072 14.3423 9.72464 14.1667 10.1667 14.1667C10.6087 14.1667 11.0326 14.3423 11.3452 14.6548C11.6577 14.9674 11.8333 15.3913 11.8333 15.8333C11.8333 16.2754 11.6577 16.6993 11.3452 17.0118C11.0326 17.3244 10.6087 17.5 10.1667 17.5Z",fill:"currentColor"},null,-1)]))}const rt=A(lt,[["render",at]]),it={},ct={width:"21",height:"20",viewBox:"0 0 21 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function dt(t,o){return e.openBlock(),e.createElementBlock("svg",ct,o[0]||(o[0]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M6.33333 9.83333C6.33333 10.2754 6.15774 10.6993 5.84518 11.0118C5.53262 11.3244 5.10869 11.5 4.66667 11.5C4.22464 11.5 3.80072 11.3244 3.48816 11.0118C3.17559 10.6993 3 10.2754 3 9.83333C3 9.39131 3.17559 8.96738 3.48816 8.65482C3.80072 8.34226 4.22464 8.16667 4.66667 8.16667C5.10869 8.16667 5.53262 8.34226 5.84518 8.65482C6.15774 8.96738 6.33333 9.39131 6.33333 9.83333ZM12.1667 9.83333C12.1667 10.2754 11.9911 10.6993 11.6785 11.0118C11.3659 11.3244 10.942 11.5 10.5 11.5C10.058 11.5 9.63405 11.3244 9.32149 11.0118C9.00893 10.6993 8.83333 10.2754 8.83333 9.83333C8.83333 9.39131 9.00893 8.96738 9.32149 8.65482C9.63405 8.34226 10.058 8.16667 10.5 8.16667C10.942 8.16667 11.3659 8.34226 11.6785 8.65482C11.9911 8.96738 12.1667 9.39131 12.1667 9.83333ZM18 9.83333C18 10.2754 17.8244 10.6993 17.5118 11.0118C17.1993 11.3244 16.7754 11.5 16.3333 11.5C15.8913 11.5 15.4674 11.3244 15.1548 11.0118C14.8423 10.6993 14.6667 10.2754 14.6667 9.83333C14.6667 9.39131 14.8423 8.96738 15.1548 8.65482C15.4674 8.34226 15.8913 8.16667 16.3333 8.16667C16.7754 8.16667 17.1993 8.34226 17.5118 8.65482C17.8244 8.96738 18 9.39131 18 9.83333Z",fill:"currentColor"},null,-1)]))}const ut=A(it,[["render",dt]]),mt={},pt={width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ht(t,o){return e.openBlock(),e.createElementBlock("svg",pt,o[0]||(o[0]=[e.createElementVNode("path",{d:"M6 14L10 10M10 10L14 6M10 10L6 6M10 10L14 14",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const ft=A(mt,[["render",ht]]),vt={arrowDown:xe,arrowTop:Me,arrowRight:De,arrowLeft:Ae,arrowReload:ze,columnInsert:Ze,freeze:Ge,unfreeze:Qe,columnsMove:nt,listBullet:rt,listBulletHorizontal:ut,close:ft},H=e.defineComponent({__name:"VIcon",props:{name:{}},setup(t){const o=t,n=e.computed(()=>vt[o.name]);return(l,a)=>n.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{key:0})):e.createCommentVNode("",!0)}}),gt={},_t={class:"vt-loader"};function Ct(t,o){return e.openBlock(),e.createElementBlock("span",_t)}const Q=A(gt,[["render",Ct]]),kt=["disabled","type","data-placement"],bt={key:2,class:"vt-button__content"},X=e.defineComponent({__name:"VButton",props:{type:{default:"default"},shape:{},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},icon:{},tooltip:{type:Boolean,default:!1},tooltipPlacement:{default:"top"},htmlType:{default:"button"}},emits:["click"],setup(t,{emit:o}){const n=t,l=o,a=e.useSlots(),s=e.computed(()=>!!(n.icon&&n.shape)),r=e.computed(()=>a.default?.()?.[0]?.children?.toString()??""),i=e.computed(()=>["vt-button",`vt-button--${n.type}`,{[`vt-button--${n.shape}`]:n.shape,"vt-button--icon-only":s.value,"vt-button--disabled":n.disabled||n.loading,"vt-button--loading":n.loading}]),c=e.computed(()=>s.value&&n.tooltip?r.value:null),u=d=>{!n.disabled&&!n.loading&&l("click",d)};return(d,B)=>{const y=e.resolveDirective("tooltip");return e.withDirectives((e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(i.value),disabled:n.disabled||n.loading,type:n.htmlType,"data-placement":n.tooltipPlacement,onClick:u},[n.loading?(e.openBlock(),e.createBlock(Q,{key:0,class:"vt-button__icon"})):n.icon?(e.openBlock(),e.createBlock(H,{key:1,name:n.icon,class:"vt-button__icon"},null,8,["name"])):e.createCommentVNode("",!0),s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",bt,[e.renderSlot(d.$slots,"default")]))],10,kt)),[[y,c.value]])}}}),wt={key:0,class:"vt-modal__header"},yt={key:0,class:"vt-modal__title"},Bt={class:"vt-modal__content"},ee=e.defineComponent({__name:"VModal",props:{modelValue:{type:Boolean},title:{},size:{default:"medium"},showCloseButton:{type:Boolean,default:!0},closeOnBackdropClick:{type:Boolean,default:!0},zIndex:{default:1e3}},emits:["update:modelValue","close"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>["vt-modal__container",`vt-modal__container--${n.size}`]),s=e.computed(()=>({zIndex:n.zIndex})),r=()=>{l("update:modelValue",!1),l("close")},i=()=>{n.closeOnBackdropClick&&r()};return(c,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[c.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:"vt-modal__backdrop",style:e.normalizeStyle(s.value),onClick:i},[e.createElementVNode("div",{class:e.normalizeClass(a.value),onClick:u[0]||(u[0]=e.withModifiers(()=>{},["stop"]))},[c.title||c.showCloseButton?(e.openBlock(),e.createElementBlock("div",wt,[c.title?(e.openBlock(),e.createElementBlock("h2",yt,e.toDisplayString(c.title),1)):e.createCommentVNode("",!0),c.showCloseButton?(e.openBlock(),e.createBlock(H,{key:1,name:"close",class:"vt-modal__close",onClick:r})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Bt,[e.renderSlot(c.$slots,"default")])],2)],4)):e.createCommentVNode("",!0)]))}}),xt={class:"vt-pagination"},St={class:"vt-pagination__info"},Et={class:"vt-pagination__rows-per-page"},Vt=["value"],Mt={class:"vt-pagination__navigation"},$t=["disabled"],Lt=["onClick"],Nt=["disabled"],ie=e.defineComponent({__name:"VPagination",props:{totalItems:{},pageSize:{default:10},currentPage:{default:1},pageSizeOptions:{default:()=>[5,10,20,50]},maxVisiblePages:{default:6}},emits:["update:currentPage","update:pageSize","pageChange","reloadData"],setup(t,{emit:o}){const n=t,l=o,a=e.computed({get:()=>n.currentPage,set:x=>l("update:currentPage",x)}),s=e.computed({get:()=>n.pageSize,set:x=>l("update:pageSize",x)}),r=e.computed(()=>Math.ceil(n.totalItems/s.value)),i=e.computed(()=>n.totalItems===0?0:(a.value-1)*s.value+1),c=e.computed(()=>Math.min(a.value*s.value,n.totalItems)),u=e.computed(()=>a.value<=1),d=e.computed(()=>a.value>=r.value),B=e.computed(()=>{const x=[],L=r.value,w=a.value,D=n.maxVisiblePages;if(L<=D)for(let h=1;h<=L;h++)x.push(h);else{x.push(1);const h=Math.max(2,w-Math.floor(D/2)),M=Math.min(L-1,w+Math.floor(D/2));h>2&&x.push("...");for(let N=h;N<=M;N++)x.push(N);M<L-1&&x.push("..."),L>1&&x.push(L)}return x}),y=()=>{l("pageChange",{page:a.value,pageSize:s.value})},z=x=>{typeof x=="number"&&x!==a.value&&(a.value=x,y())},T=()=>{u.value||(a.value--,y())},O=()=>{d.value||(a.value++,y())},j=()=>{a.value=1,y()},P=()=>{l("reloadData",a.value)};return e.watch(()=>n.totalItems,()=>{a.value>r.value&&r.value>0&&(a.value=r.value,y())}),(x,L)=>(e.openBlock(),e.createElementBlock("div",xt,[e.createElementVNode("div",St,[e.createElementVNode("div",Et,[L[1]||(L[1]=e.createElementVNode("label",{for:"rowsSelect",class:"vt-pagination__label"},"Рядків на сторінку:",-1)),e.withDirectives(e.createElementVNode("select",{id:"rowsSelect","onUpdate:modelValue":L[0]||(L[0]=w=>s.value=w),onChange:j,class:"vt-pagination__select"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.pageSizeOptions,w=>(e.openBlock(),e.createElementBlock("option",{key:w,value:w},e.toDisplayString(w),9,Vt))),128))],544),[[e.vModelSelect,s.value]])]),e.createElementVNode("span",null,e.toDisplayString(i.value)+" - "+e.toDisplayString(c.value)+" з "+e.toDisplayString(x.totalItems),1)]),e.createElementVNode("div",Mt,[e.createElementVNode("button",{onClick:T,disabled:u.value,class:e.normalizeClass({"vt-pagination__nav-button":!0,"has-items":!u.value})},[e.createVNode(H,{name:"arrowLeft"})],10,$t),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,w=>(e.openBlock(),e.createElementBlock("button",{key:w,onClick:D=>z(w),class:e.normalizeClass(["vt-pagination__nav-button",{"vt-pagination__nav-button--active":w===a.value}])},e.toDisplayString(w),11,Lt))),128)),e.createElementVNode("button",{onClick:O,disabled:d.value,class:e.normalizeClass({"vt-pagination__nav-button":!0,"has-items":!d.value})},[e.createVNode(H,{name:"arrowRight"})],10,Nt)]),e.createElementVNode("div",null,[e.createVNode(X,{icon:"arrowReload",shape:"circle",tooltip:"",tooltipPlacement:"left",onClick:P},{default:e.withCtx(()=>L[2]||(L[2]=[e.createTextVNode("Оновити дані ",-1)])),_:1,__:[2]})])]))}}),zt=["for"],It=["id","name","value","checked","disabled","required",".indeterminate"],q=e.defineComponent({__name:"VCheckbox",props:{modelValue:{type:Boolean,default:void 0},checked:{type:Boolean,default:!1},label:{},disabled:{type:Boolean,default:!1},id:{},name:{},value:{},indeterminate:{type:Boolean,default:!1},size:{default:"medium"},variant:{default:"primary"},required:{type:Boolean,default:!1},isDouble:{type:Boolean,default:!1}},emits:["update:modelValue","change","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=()=>`vt-checkbox-${Math.random().toString(36).substr(2,9)}`,s=e.computed(()=>n.id||a()),r=e.computed(()=>n.modelValue??n.checked),i=d=>{if(n.disabled)return;const y=d.target.checked;l("update:modelValue",y),l("change",y,d)},c=d=>{l("focus",d)},u=d=>{l("blur",d)};return(d,B)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["vt-checkbox",`vt-checkbox--${d.size}`,`vt-checkbox--${d.variant}`,{"vt-checkbox--disabled":d.disabled,"vt-checkbox--double":d.isDouble}]),for:s.value},[e.createElementVNode("input",{id:s.value,name:d.name,value:d.value,checked:r.value,disabled:d.disabled,required:d.required,".indeterminate":d.indeterminate,type:"checkbox",class:"vt-checkbox__input",onChange:i,onFocus:c,onBlur:u},null,40,It),e.createElementVNode("div",{class:e.normalizeClass(["vt-checkbox__box",{"vt-checkbox__box--checked":r.value&&!d.indeterminate&&!d.isDouble,"vt-checkbox__box--indeterminate":d.indeterminate,"vt-checkbox__box--double":d.isDouble&&r.value,"vt-checkbox__box--disabled":d.disabled}])},[!d.indeterminate&&!d.isDouble?(e.openBlock(),e.createElementBlock("svg",{key:0,class:e.normalizeClass(["vt-checkbox__checkmark",{"vt-checkbox__checkmark--checked":r.value}]),width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg"},B[0]||(B[0]=[e.createElementVNode("path",{d:"M1 5L3.58264 7.58264C3.80112 7.80112 4.16348 7.77113 4.34306 7.51971L9 1",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},null,-1)]),2)):e.createCommentVNode("",!0),d.isDouble&&r.value?(e.openBlock(),e.createElementBlock("svg",{key:1,class:e.normalizeClass(["vt-checkbox__checkmark",{"vt-checkbox__checkmark--checked":r.value}]),width:"13",height:"6",viewBox:"0 0 13 6",fill:"none",xmlns:"http://www.w3.org/2000/svg"},B[1]||(B[1]=[e.createElementVNode("path",{d:"M6 3L8.25 5L12 1",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),e.createElementVNode("path",{d:"M1 3L3.25 5L7 1",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]),2)):e.createCommentVNode("",!0),d.indeterminate?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["vt-checkbox__indeterminate-mark",{"vt-checkbox__indeterminate-mark--visible":d.indeterminate}])},null,2)):e.createCommentVNode("",!0)],2),d.label||d.$slots.label||d.$slots.default?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["vt-checkbox__label",{"vt-checkbox__label--disabled":d.disabled}])},[e.renderSlot(d.$slots,"label",{},()=>[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(d.label),1)])])],2)):e.createCommentVNode("",!0)],10,zt))}});function Rt(t){const o=e.computed(()=>[...t].sort((a,s)=>a.pinnedLeft&&!s.pinnedLeft?-1:!a.pinnedLeft&&s.pinnedLeft||a.pinnedRight&&!s.pinnedRight?1:!a.pinnedRight&&s.pinnedRight?-1:0)),n=()=>{const a=o.value.length,s=o.value.filter(d=>d.width||d.minWidth),r=s.reduce((d,B)=>d+(B.width||B.minWidth||0),0),i=a-s.length;if(i===0)return 150;const u=Math.max(800-r,i*80);return Math.max(Math.floor(u/i),120)};return{sortedColumns:o,getDefaultColumnWidth:n,getStickyOffset:(a,s,r=!1)=>{const i=o.value;let c=0;if(a==="left"){r&&(c+=50);for(let u=0;u<s;u++){const d=i[u];d.pinnedLeft&&(c+=d.width||d.minWidth||n())}}else for(let u=i.length-1;u>s;u--){const d=i[u];d.pinnedRight&&(c+=d.width||d.minWidth||n())}return c}}}function Tt(t){const o=()=>{const s={};return t.maxHeight&&(s.maxHeight=`${t.maxHeight}px`),s},n=(s,r,i,c)=>{const u={};if(s.width)u.width=`${s.width}px`,u.minWidth=`${s.width}px`,u.maxWidth=`${s.width}px`;else if(s.minWidth)u.minWidth=`${s.minWidth}px`,u.width=`${s.minWidth}px`,u.maxWidth="none";else{const d=c();u.width=`${d}px`,u.minWidth="80px",u.maxWidth="none"}return s.pinnedLeft?(u.position="sticky",u.left=`${i("left",r,t.selectable)}px`,u.zIndex="10"):s.pinnedRight&&(u.position="sticky",u.right=`${i("right",r,!1)}px`,u.zIndex="10"),u};return{getTableWrapperStyle:o,getColumnStyle:n,getHeaderStyle:(s,r,i,c)=>{const u=n(s,r,i,c);return t.maxHeight&&(u.position="sticky",u.top="0",s.pinnedLeft||s.pinnedRight?u.zIndex="12":u.zIndex="11"),u},getFooterStyle:(s,r,i,c)=>{const u=n(s,r,i,c);return t.maxHeight&&(u.position="sticky",u.bottom="0",s.pinnedLeft||s.pinnedRight?u.zIndex="12":u.zIndex="11"),u}}}function Dt(){const t=e.ref({resizingCol:null,startX:0,startWidth:0}),o=`url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><path d='M5 13L2 10L5 7' stroke='%23828282' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M15 7L18 10L15 13' stroke='%23828282' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M10 3L10 17' stroke='%23828282' stroke-width='3' stroke-linecap='round'/></svg>") 10 10, col-resize`;return{onMouseDown:(l,a,s,r)=>{l.preventDefault(),l.stopPropagation(),t.value.resizingCol=a,t.value.startX=l.clientX,t.value.startWidth=a.width||a.minWidth||s(a.prop);const i=u=>{const{resizingCol:d,startX:B,startWidth:y}=t.value;if(!d)return;document.querySelectorAll(`[data-resizer="${d.prop}"]`).forEach(P=>{P.classList.add("vt-table__resizer--active")});const z=u.clientX-B,T=d.minWidth||50,O=d.maxWidth||1e3,j=Math.max(Math.min(y+z,O),T);d.width=j},c=()=>{const{resizingCol:u}=t.value;document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",c),document.body.style.cursor="",document.body.style.userSelect="",document.body.classList.remove("vt-table-resizing"),u&&(document.querySelectorAll(`[data-resizer="${u.prop}"]`).forEach(d=>{d.classList.remove("vt-table__resizer--active")}),r&&u.width&&(console.log("📏 Викликаємо callback з новою шириною:",u.width),r(u.width))),t.value.resizingCol=null};document.addEventListener("mousemove",i),document.addEventListener("mouseup",c),document.body.style.cursor=o,document.body.style.userSelect="none",document.body.classList.add("vt-table-resizing")},resizeState:t}}function Wt(t,o,n,l){const a=t.selectionKey||"id",s=e.ref([]),r=e.ref(null),i=e.ref(!1);t.defaultSelection?.length&&(s.value=[...t.defaultSelection]);const c=k=>k[a],u=k=>i.value?!0:s.value.some($=>c($)===c(k)),d=e.computed(()=>o.value.filter(k=>u(k)).length),B=e.computed(()=>o.value.length>0&&d.value===o.value.length),y=e.computed(()=>{if(i.value)return!1;const k=d.value;return k>0&&k<o.value.length}),z=e.computed(()=>i.value?!0:B.value&&!y.value),T=e.computed(()=>i.value),O=(k,$)=>{const V=c(k),I=s.value.some(m=>c(m)===c(k)),W=$!==void 0?$:!I;if(i.value&&!W){i.value=!1,l?.value&&(s.value=l.value.filter(m=>c(m)!==V)),N(k,!1);return}i.value&&W||(W&&!I?s.value.push(k):!W&&I&&(s.value=s.value.filter(m=>c(m)!==V)),t.selectOnClickRow&&$===void 0&&D(W?k:null),N(k,W))},j=()=>{switch(P()){case"none":case"partial":x();break;case"allVisible":L();break;case"absoluteAll":w();break}},P=()=>i.value?"absoluteAll":B.value?"allVisible":d.value>0?"partial":"none",x=()=>{const k=[],$=new Set(s.value.map(V=>c(V)));s.value.forEach(V=>{k.push(V)}),o.value.forEach(V=>{$.has(c(V))||k.push(V)}),s.value=k,i.value=!1,N()},L=()=>{i.value=!0,l?.value?s.value=[...l.value]:s.value=[...o.value],N(void 0,void 0,!0)},w=()=>{s.value=[],i.value=!1,r.value=null,N()},D=k=>{const $=r.value;r.value=k,n("current-change",{currentRow:r.value,oldCurrentRow:$})},h=()=>[...s.value],M=k=>{s.value=[...k],i.value=!1,N()},N=(k,$,V=!1)=>{const I={selection:[...s.value],row:k,selected:$,isAllSelected:V||i.value};n("selection-change",I)};return e.watch(()=>t.defaultSelection,k=>{k?.length&&(s.value=[...k])}),{selectedRows:s,currentRow:r,isRowSelected:u,isAllSelected:z,isIndeterminate:y,isDoubleCheck:T,isFullSelection:i,toggleRowSelection:O,toggleAllSelection:j,clearSelection:w,setCurrentRow:D,getSelectionRows:h,setSelectionRows:M,selectAbsolutelyAll:L}}const Pt=(t,o,n="asc")=>{if(t==null&&o==null)return 0;if(t==null)return n==="asc"?1:-1;if(o==null)return n==="asc"?-1:1;if(t===o)return 0;let l=0;const a=Number(t),s=Number(o);return!isNaN(a)&&!isNaN(s)?l=a-s:te(t)&&te(o)?l=new Date(t).getTime()-new Date(o).getTime():typeof t=="boolean"&&typeof o=="boolean"?l=t===o?0:t?-1:1:l=String(t).localeCompare(String(o),void 0,{numeric:!0,sensitivity:"base"}),n==="desc"?-l:l},te=t=>t instanceof Date?!isNaN(t.getTime()):typeof t=="string"&&/\d{4}-\d{2}-\d{2}|\//.test(t)?!isNaN(new Date(t).getTime()):!1,Ht=(t,o,n)=>{t.sortable&&n({prop:t.prop,direction:o})},oe=(t,o)=>{const n=o?.prop===t.prop,l=o?.direction;return{asc:["vt-th__sort-icon",n&&l==="asc"&&"vt-th__sortable-active"].filter(Boolean).join(" "),desc:["vt-th__sort-icon",n&&l==="desc"&&"vt-th__sortable-active"].filter(Boolean).join(" ")}},At=(t,o,n)=>{if(!o)return[...t];const l=n.find(s=>s.prop===o.prop);if(!l?.sortable)return[...t];const a=l.sortMethod||Pt;return[...t].sort((s,r)=>{const i=s[l.prop],c=r[l.prop];return a(i,c,o.direction)})};class Ot{modalStack=[];baseZIndex=1e3;open(o={}){const n=`modal-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,l=document.createElement("div");l.setAttribute("data-vt-modal",n),document.body.appendChild(l);const a=e.ref(!0),s=this.baseZIndex+this.modalStack.length*10,r=e.createApp({setup(){const c=()=>{a.value=!1,setTimeout(()=>{U.closeById(n)},100)};return()=>e.h(ee,{modelValue:a.value,"onUpdate:modelValue":c,title:o.title,size:o.size||"medium",showCloseButton:o.showCloseButton!==!1,closeOnBackdropClick:o.closeOnBackdropClick!==!1,onClose:c,zIndex:s},{default:()=>o.component?e.h(o.component,o.props||{}):o.content?e.h("div",{innerHTML:o.content}):null})}});r.mount(l);const i={id:n,app:r,container:l,isOpen:a};return this.modalStack.push(i),n}close(){if(this.modalStack.length>0){const o=this.modalStack[this.modalStack.length-1];this.closeById(o.id)}}closeById(o){const n=this.modalStack.findIndex(l=>l.id===o);if(n!==-1){const l=this.modalStack[n];this.cleanupModal(l),this.modalStack.splice(n,1),this.recalculateZIndices()}}closeAll(){for(;this.modalStack.length>0;){const o=this.modalStack.pop();o&&this.cleanupModal(o)}}getOpenModalsCount(){return this.modalStack.length}cleanupModal(o){o.app&&o.app.unmount(),o.container&&o.container.parentNode&&document.body.removeChild(o.container)}recalculateZIndices(){}}const U=new Ot,ce={install(t){t.config.globalProperties.$modal=U,t.config.globalProperties.$modalStack={closeAll:()=>U.closeAll(),getCount:()=>U.getOpenModalsCount(),closeById:o=>U.closeById(o)}}},jt={class:"vt-columns-selector-body"},Ft={class:"vt-columns-selector"},Zt={class:"vt-columns-selector__panel"},Ut=["draggable","onDragstart","onDragover","onDrop"],qt={key:0,class:"vt-columns-selector__panel-item-pinned"},Xt={class:"vt-columns-selector__available"},Gt=["onClick"],Kt={key:0,class:"vt-columns-selector__group-columns"},Yt={key:0,class:"vt-columns-selector__pinned-note"},Jt={class:"vt-modal__content-button"},Qt=e.defineComponent({__name:"VTableColumnSelector",props:{columns:{},columnsSelector:{default:()=>[]}},emits:["update-columns"],setup(t,{emit:o}){const n=t,l=o,a=e.ref([]),s=e.ref(new Set),r=e.ref(-1),i=e.ref(-1),c=e.ref("before"),u=e.computed(()=>{const m={};return n.columnsSelector.forEach(v=>{if(v.name==="removed")return;const g=v.columns.map(S=>S.prop),C=a.value.filter(S=>g.includes(S.prop));C.length===0?m[v.name]={checked:!1,indeterminate:!1}:C.length===v.columns.length?m[v.name]={checked:!0,indeterminate:!1}:m[v.name]={checked:!1,indeterminate:!0}}),m}),d=e.computed(()=>n.columnsSelector.filter(m=>m.name!=="removed")),B=m=>m.pinnedLeft||m.pinnedRight,y=m=>!B(m),z=()=>{const m=a.value;let v=-1;for(let C=0;C<m.length;C++)m[C].pinnedLeft&&(v=C);let g=m.length;for(let C=0;C<m.length;C++)if(m[C].pinnedRight){g=C;break}return{minIndex:v+1,maxIndex:g-1}},T=m=>{const v=z();return!(m<v.minIndex||m>v.maxIndex+1)},O=(m,v)=>{const g=a.value[v];if(!y(g)){m.preventDefault();return}r.value=v,m.dataTransfer&&(m.dataTransfer.effectAllowed="move",m.dataTransfer.setData("text/plain",g.prop)),document.body.style.cursor="grabbing"},j=(m,v)=>{if(r.value===-1)return;m.preventDefault();const g=m.currentTarget.getBoundingClientRect(),C=m.clientY,S=g.top+g.height/2;let R=v,Z="before";C<S?(R=v,Z="before"):(R=v+1,Z="after"),r.value<R&&R--,T(R)?(i.value=v,c.value=Z,m.dataTransfer.dropEffect="move"):(i.value=-1,m.dataTransfer.dropEffect="none")},P=()=>{setTimeout(()=>{r.value===-1&&(i.value=-1)},50)},x=(m,v)=>{if(m.preventDefault(),r.value===-1||i.value===-1){w();return}const g=m.currentTarget.getBoundingClientRect(),C=m.clientY,S=g.top+g.height/2;let R=v;if(C>=S&&(R=v+1),r.value<R&&R--,!T(R)||R===r.value){w();return}const Z=[...a.value],[G]=Z.splice(r.value,1);Z.splice(R,0,G),a.value=Z,w()},L=()=>{w()},w=()=>{r.value=-1,i.value=-1,c.value="before",document.body.style.cursor=""},D=m=>{const v=["vt-columns-selector__panel-item"];return r.value===m&&v.push("vt-columns-selector__panel-item--dragging"),i.value===m&&c.value==="before"&&v.push("vt-columns-selector__panel-item--drop-before"),i.value===m&&c.value==="after"&&v.push("vt-columns-selector__panel-item--drop-after"),v},h=()=>{a.value=[...n.columns.map(m=>({...m}))],n.columnsSelector.forEach(m=>{m.name!=="removed"&&s.value.add(m.name)})},M=(m,v)=>{if(v)a.value.some(g=>g.prop===m.prop)||a.value.push({...m});else{if(B(m))return;a.value=a.value.filter(g=>g.prop!==m.prop)}},N=(m,v)=>{if(v)m.columns.forEach(g=>{a.value.some(C=>C.prop===g.prop)||a.value.push({...g})});else{const g=[];m.columns.forEach(C=>{const S=a.value.find(R=>R.prop===C.prop);S&&!B(S)&&g.push(S)}),a.value=a.value.filter(C=>!g.some(S=>S.prop===C.prop))}},k=m=>a.value.some(v=>v.prop===m.prop),$=m=>{const v=a.value.find(g=>g.prop===m.prop);return!v||!B(v)},V=m=>{s.value.has(m)?s.value.delete(m):s.value.add(m)},I=()=>{l("update-columns",[...a.value]),U.close()},W=()=>{U.close()};return e.onMounted(()=>{h()}),(m,v)=>(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Ft,[e.createElementVNode("div",Zt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:g.prop,class:e.normalizeClass(D(C)),draggable:y(g),onDragstart:S=>O(S,C),onDragover:S=>j(S,C),onDragleave:P,onDrop:S=>x(S,C),onDragend:L},[e.createVNode(H,{name:y(g)?"columnsMove":"freeze",class:e.normalizeClass(["vt-columns-selector__panel-item-icon",{"vt-columns-selector__panel-item-icon--draggable":y(g)}])},null,8,["name","class"]),e.createVNode(q,{label:g.label,checked:!0,disabled:B(g),onChange:S=>M(g,S),onClick:v[0]||(v[0]=e.withModifiers(()=>{},["stop"]))},null,8,["label","disabled","onChange"]),B(g)?(e.openBlock(),e.createElementBlock("span",qt,"pinned")):e.createCommentVNode("",!0)],42,Ut))),128))]),e.createElementVNode("div",Xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,g=>(e.openBlock(),e.createElementBlock("div",{key:g.name,class:"vt-columns-selector__group"},[e.createElementVNode("div",{class:"vt-columns-selector__group-header",onClick:C=>V(g.name)},[e.createVNode(q,{label:g.label,checked:u.value[g.name]?.checked||!1,indeterminate:u.value[g.name]?.indeterminate||!1,onChange:C=>N(g,C),onClick:v[1]||(v[1]=e.withModifiers(()=>{},["stop"]))},null,8,["label","checked","indeterminate","onChange"]),g.icon?(e.openBlock(),e.createBlock(H,{key:0,name:g.icon,class:"vt-columns-selector__group-icon"},null,8,["name"])):e.createCommentVNode("",!0)],8,Gt),s.value.has(g.name)?(e.openBlock(),e.createElementBlock("div",Kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.columns,C=>(e.openBlock(),e.createElementBlock("div",{key:C.prop,class:"vt-columns-selector__group-column"},[e.createVNode(q,{label:C.label,checked:k(C),disabled:!$(C),onChange:S=>M(C,S)},null,8,["label","checked","disabled","onChange"]),$(C)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Yt," (закріплена) "))]))),128))])):e.createCommentVNode("",!0)]))),128))])]),e.createElementVNode("div",Jt,[e.createVNode(X,{onClick:W},{default:e.withCtx(()=>v[2]||(v[2]=[e.createTextVNode("Скасувати",-1)])),_:1,__:[2]}),e.createVNode(X,{type:"primary",onClick:I},{default:e.withCtx(()=>v[3]||(v[3]=[e.createTextVNode("Зберегти",-1)])),_:1,__:[3]})])]))}}),eo=e.defineComponent({__name:"ColumnActions",props:{column:{},allColumns:{},columnsSelector:{}},emits:["pin","update-columns"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(),s=e.ref(),r=e.ref(),i=e.ref(!1),c=e.ref(!1),u=e.ref([]),d=async()=>{if(await e.nextTick(),!a.value||!s.value)return;const h=s.value.getBoundingClientRect(),M=a.value,N=M.offsetWidth,k=h.left+h.width/2;M.style.top=`${h.bottom-20}px`,M.style.left=`${k-N/2}px`;const $=M.getBoundingClientRect();$.right>window.innerWidth&&(M.style.left=`${window.innerWidth-N-8}px`),$.left<0&&(M.style.left="8px")},B=h=>{h.stopPropagation(),!c.value&&(i.value?z():y())},y=()=>{c.value||(i.value=!0,d(),r.value&&(r.value.style.zIndex="22"))},z=()=>{c.value=!0,i.value=!1,r.value&&r.value.style.removeProperty("z-index"),setTimeout(()=>{c.value=!1},100)},T=h=>{!s.value?.contains(h.target)&&!a.value?.contains(h.target)&&z()},O=()=>{D()?(l("pin",n.column,"none"),console.log(`Колонка "${n.column.label}" відкріплена`)):(l("pin",n.column,"left"),console.log(`Колонка "${n.column.label}" прикріплена зліва`)),z()},j=h=>({name:"removed",label:"Видалені колонки",order:999,columns:h}),P=h=>{const M=new Set(h.map(V=>V.prop)),N=new Set;n.columnsSelector?.forEach(V=>{V.columns.forEach(I=>N.add(I.prop))}),n.allColumns.forEach(V=>N.add(V.prop));const k=[];N.forEach(V=>{if(!M.has(V)){let I;n.columnsSelector?.forEach(W=>{const m=W.columns.find(v=>v.prop===V);m&&(I=m)}),I||(I=n.allColumns.find(W=>W.prop===V)),I&&k.push(I)}});const $=[...n.columnsSelector||[]];k.length>0&&$.push(j(k)),u.value=$},x=()=>{P(n.allColumns),U.open({component:Qt,title:"Управління колонками таблиці",props:{columns:n.allColumns,columnsSelector:u.value,"onUpdate-columns":h=>{console.log("ColumnActions отримав оновлені колонки:",h),l("update-columns",h),P(h)}},size:"large",closeOnBackdropClick:!1}),z()},L=()=>n.column.pinnedLeft,w=()=>n.column.pinnedRight,D=()=>L()||w();return e.onMounted(()=>{document.addEventListener("click",T),s.value&&(r.value=s.value.closest("th")),P(n.allColumns)}),e.onUnmounted(()=>{document.removeEventListener("click",T)}),(h,M)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"triggerRef",ref:s,class:"vt-table-header-actions",onClick:B},[e.createVNode(H,{name:"listBullet"}),i.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"menuRef",ref:a,class:e.normalizeClass(["dropdown-menu","vt-table-dropdown",{visible:i.value}])},[e.createElementVNode("li",{onClick:O},[e.createVNode(H,{name:D()?"unfreeze":"freeze"},null,8,["name"]),e.createElementVNode("span",null,e.toDisplayString(D()?"Розморозити":"Заморозити"),1)]),e.createElementVNode("li",{onClick:x},[e.createVNode(H,{name:"columnInsert"}),M[0]||(M[0]=e.createElementVNode("span",null,"Колонки",-1))])],2)):e.createCommentVNode("",!0)],512))}}),to={class:"vt-table"},oo={class:"vt-th__content"},no={class:"vt-th__content"},lo={class:"vt-th__label"},so={key:0,class:"vt-th__sortable"},ao=["data-resizer","onMousedown"],ro=["onClick"],io={class:"vt-table__cell-content"},co={class:"vt-table__cell-content vt-table__cell-content--ellipsis"},uo={key:1},mo=["data-resizer","onMousedown"],po={key:0,class:"vt-table__summary"},ho={class:"vt-table__cell-content vt-table__cell-content--summary"},Y=50,de=e.defineComponent({__name:"VTable",props:e.mergeModels({data:{},maxHeight:{},defaultSort:{},showSummary:{type:Boolean},summaryMethod:{type:Function},columnsSelector:{},selectable:{type:Boolean},selectionKey:{},defaultSelection:{},selectOnClickRow:{type:Boolean},highlightCurrentRow:{type:Boolean},allData:{},columns:{}},{columns:{required:!1},columnsModifiers:{}}),emits:e.mergeModels(["sort-change","selection-change","current-change","row-click","update:columns","column-pin","column-resize","column-visibility","column-sort","columns-change"],["update:columns"]),setup(t,{expose:o,emit:n}){const l=t,a=e.useModel(t,"columns"),s=n,r=e.ref({}),i=e.ref(),c=e.reactive([]),u=e.ref(l.defaultSort||null),d=e.computed(()=>a.value!==void 0),B=()=>{d.value&&a.value?c.splice(0,c.length,...a.value):l.columns&&c.splice(0,c.length,...l.columns)};e.watch(()=>a.value,p=>{p&&d.value&&c.splice(0,c.length,...p)},{deep:!0}),e.watch(()=>l.columns,p=>{p&&!d.value&&c.splice(0,c.length,...p)},{deep:!0}),e.provide("vt-table-columns",c);const{sortedColumns:y,getDefaultColumnWidth:z,getStickyOffset:T}=Rt(c),{getTableWrapperStyle:O,getColumnStyle:j,getHeaderStyle:P,getFooterStyle:x}=Tt(l),{onMouseDown:L}=Dt(),w=e.computed(()=>At(l.data,u.value,c)),D=e.computed(()=>l.allData||l.data),h=l.selectable?Wt(l,w,s,D):null,M=()=>({width:`${Y}px`,minWidth:`${Y}px`,maxWidth:`${Y}px`,left:"0px",position:"sticky",zIndex:10}),N=()=>{const p=M();return l.maxHeight?{...p,top:"0px",zIndex:11}:p},k=()=>{const p=M();return l.maxHeight?{...p,bottom:"0px",zIndex:11}:p},$=(p,_)=>{Ht(p,_,E=>{u.value?.prop===p.prop&&u.value.direction===_?u.value=null:u.value=E,s("sort-change",{column:p,direction:u.value?.direction||null,prop:p.prop,sortedData:w.value})})},V=(p,_)=>{console.log(`Колонка "${p.label}" закріплення: ${_}`);const E={pinnedLeft:_==="left",pinnedRight:_==="right"};W(p.prop,E),s("column-pin",{column:{...p,...E},position:_})},I=p=>{console.log("handleColumnsUpdate викликано з колонками:",p),c.splice(0,c.length,...p),d.value&&(a.value=[...p]),s("columns-change",[...p])},W=(p,_)=>{console.log("updateColumn викликано:",{prop:p,updates:_,hasColumnsModel:d.value});const E=c.findIndex(f=>f.prop===p);if(E!==-1){if(console.log("Оновлюємо internalColumns:",E,_),Object.assign(c[E],_),d.value&&a.value){const f=a.value.findIndex(b=>b.prop===p);if(f!==-1){const b=[...a.value];b[f]={...b[f],..._},console.log("Оновлюємо через defineModel:",b),a.value=b}}s("columns-change",[...c])}else console.error("Колонку не знайдено:",p,"Доступні колонки:",c.map(f=>f.prop))},m=(p,_,E)=>{s("row-click",{row:p,column:_,event:E}),l.highlightCurrentRow&&h&&h.setCurrentRow(p)},v=(p,_,E)=>{E.stopPropagation(),h&&h.toggleRowSelection(_,p)},g=(p,_)=>{_.stopPropagation(),h&&h.toggleAllSelection(),p===void 0&&console.log(p)},C=(p,_)=>{p&&(r.value[_]=p)},S=(p,_)=>{const E=_.width||z();console.log(E),L(p,_,z,f=>{console.log(f),W(_.prop,{width:f}),s("column-resize",{column:{..._,width:f},width:f,oldWidth:E})})},R=(p,_)=>j(p,_,T,z),Z=(p,_)=>P(p,_,T,z),G=(p,_)=>x(p,_,T,z),he=(p,_)=>{if(!_||!_.prop)return"";const E=p[_.prop];return E==null?"":String(E)},fe=e.computed(()=>{if(!l.showSummary)return{};const p=c;if(typeof l.summaryMethod=="function"){const _=l.summaryMethod({columns:p,data:w.value});return p.reduce((E,f,b)=>(E[f.prop]=_[b],E),{})}return p.reduce((_,E)=>{const f=w.value.map(b=>b[E.prop]);return _[E.prop]=f.every(b=>typeof b=="number")?f.reduce((b,F)=>b+F,0):"",_},{})}),ve=(p,_)=>{h&&h.toggleRowSelection(p,_)},ge=()=>{h&&h.toggleAllSelection()},_e=()=>{h&&h.selectAbsolutelyAll()},Ce=()=>{h&&h.clearSelection()},ke=()=>h?h.getSelectionRows():[],be=p=>{h&&h.setSelectionRows(p)};return e.onMounted(()=>{B()}),o({toggleRowSelection:ve,toggleAllSelection:ge,selectAbsolutelyAll:_e,clearSelection:Ce,getSelectionRows:ke,setSelectionRows:be}),(p,_)=>{const E=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",{ref_key:"tableWrapperRef",ref:i,class:"vt-table-wrapper",style:e.normalizeStyle(e.unref(O)())},[e.renderSlot(p.$slots,"default"),e.createElementVNode("table",to,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[l.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(["vt-table__th vt-table__th--selection",{"vt-table__th--sticky":l.maxHeight,"vt-table__th--pinned-left":!0}]),style:e.normalizeStyle(N())},[e.createElementVNode("div",oo,[e.createVNode(q,{checked:e.unref(h)?.isAllSelected.value,indeterminate:e.unref(h)?.isIndeterminate.value,"is-double":e.unref(h)?.isDoubleCheck?.value,onChange:g},null,8,["checked","indeterminate","is-double"])])],6)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),(f,b)=>(e.openBlock(),e.createElementBlock("th",{key:f.prop,ref_for:!0,ref:F=>C(F,f.prop),style:e.normalizeStyle(Z(f,b)),class:e.normalizeClass(["vt-table__th",{"vt-table__th--sticky":l.maxHeight,"vt-table__th--pinned-left":f.pinnedLeft,"vt-table__th--pinned-right":f.pinnedRight,"vt-table__th--sortable":f.sortable}])},[e.createElementVNode("div",no,[e.createElementVNode("div",lo,e.toDisplayString(f.label),1),f.sortable?(e.openBlock(),e.createElementBlock("div",so,[e.createVNode(H,{name:"arrowTop",class:e.normalizeClass(e.unref(oe)(f,u.value).asc),onClick:e.withModifiers(F=>$(f,"asc"),["stop"])},null,8,["class","onClick"]),e.createVNode(H,{name:"arrowDown",class:e.normalizeClass(e.unref(oe)(f,u.value).desc),onClick:e.withModifiers(F=>$(f,"desc"),["stop"])},null,8,["class","onClick"])])):e.createCommentVNode("",!0),f.actionColumn?(e.openBlock(),e.createBlock(eo,{key:1,column:f,"all-columns":e.unref(y),columnsSelector:l.columnsSelector,onPin:V,onUpdateColumns:I},null,8,["column","all-columns","columnsSelector"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"vt-table__resizer","data-resizer":f.prop,onMousedown:F=>S(F,f)},null,40,ao)],6))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,f=>(e.openBlock(),e.createElementBlock("tr",{key:f.id,class:e.normalizeClass(["vt-table__row",{"vt-table__row--selected":e.unref(h)?.isRowSelected(f),"vt-table__row--current":e.unref(h)?.currentRow.value===f,"vt-table__row--clickable":l.selectOnClickRow||l.highlightCurrentRow}]),onClick:b=>m(f,e.unref(y)[0],b)},[l.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(["vt-table__td vt-table__td--selection",{"vt-table__td--pinned-left":!0}]),style:e.normalizeStyle(M())},[e.createElementVNode("div",io,[e.createVNode(q,{checked:e.unref(h)?.isRowSelected(f),onChange:(b,F)=>v(b,f,F)},null,8,["checked","onChange"])])],4)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),(b,F)=>(e.openBlock(),e.createElementBlock("td",{key:b.prop,ref_for:!0,ref:K=>C(K,b.prop),style:e.normalizeStyle(R(b,F)),class:e.normalizeClass(["vt-table__td",{"vt-table__td--pinned-left":b.pinnedLeft,"vt-table__td--pinned-right":b.pinnedRight}])},[e.withDirectives((e.openBlock(),e.createElementBlock("div",co,[b.renderSlot?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b.renderSlot),{key:0,row:f,column:b,value:f[b.prop]},null,8,["row","column","value"])):(e.openBlock(),e.createElementBlock("span",uo,e.toDisplayString(f[b.prop]),1))])),[[E,b.showOverflowTooltip?he(f,b):null]]),e.createElementVNode("div",{class:"vt-table__resizer","data-resizer":b.prop,onMousedown:K=>S(K,b)},null,40,mo)],6))),128))],10,ro))),128))]),l.showSummary?(e.openBlock(),e.createElementBlock("tfoot",po,[e.createElementVNode("tr",null,[l.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(["vt-table__td",{"vt-table__td--pinned-left":!0}]),style:e.normalizeStyle(k())},_[0]||(_[0]=[e.createElementVNode("div",{class:"vt-table__cell-content vt-table__cell-content--summary"},null,-1)]),4)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),(f,b)=>(e.openBlock(),e.createElementBlock("td",{key:f.prop,style:e.normalizeStyle(G(f,b)),class:e.normalizeClass(["vt-table__td",{"vt-table__td--pinned-left":f.pinnedLeft,"vt-table__td--pinned-right":f.pinnedRight}])},[e.createElementVNode("div",ho,e.toDisplayString(fe.value[f.prop]),1)],6))),128))])])):e.createCommentVNode("",!0)])],4)}}}),ue=e.defineComponent({__name:"VTableColumn",props:{prop:{},label:{},width:{},minWidth:{},maxWidth:{},sortable:{type:Boolean,default:!0},pinnedLeft:{type:Boolean,default:!1},pinnedRight:{type:Boolean,default:!1},actionColumn:{type:Boolean,default:!0},showOverflowTooltip:{type:Boolean,default:!0},selectable:{type:Boolean,default:!0},renderSlot:{},sortMethod:{}},setup(t){const o=t,n=e.useSlots(),l=e.inject("vt-table-columns");l||console.error("VTableColumn: не знайдено контекст таблиці. Переконайтеся, що компонент використовується всередині VTable.");const a=()=>({prop:o.prop,label:o.label,width:o.width,minWidth:o.minWidth,maxWidth:o.maxWidth,sortable:o.sortable,pinnedLeft:o.pinnedLeft,pinnedRight:o.pinnedRight,actionColumn:o.actionColumn,showOverflowTooltip:o.showOverflowTooltip,selectable:o.selectable,renderSlot:n[o.prop]||n.default||n.slot});let s=-1;return e.onMounted(()=>{if(l){const r=a();l.push(r),s=l.length-1,console.log(`VTableColumn: зареєстровано колонку "${o.label}" (${o.prop}) на позиції ${s}`)}}),e.watch(()=>[o.width,o.minWidth,o.maxWidth,o.sortable,o.pinnedLeft,o.pinnedRight,o.actionColumn,o.showOverflowTooltip,o.selectable,o.label],()=>{if(l&&s!==-1){const r=l.findIndex(i=>i.prop===o.prop);if(r!==-1){const i=l[r],c={...a(),renderSlot:i.renderSlot};l[r]=c,console.log(`VTableColumn: оновлено колонку "${o.label}" (${o.prop})`)}}},{deep:!0}),e.onUnmounted(()=>{if(l){const r=l.findIndex(i=>i.prop===o.prop);r>-1&&(l.splice(r,1),console.log(`VTableColumn: видалено колонку "${o.label}" (${o.prop})`))}}),(r,i)=>null}}),ne=(t,o)=>{const n=document.createElement("div");n.className=`vt-tooltip vt-tooltip--${o}`,n.innerText=t,Object.assign(n.style,{position:"absolute",background:"rgba(0, 0, 0, 0.8)",color:"white",padding:"8px 12px",borderRadius:"4px",fontSize:"12px",lineHeight:"1.4",zIndex:"9999",pointerEvents:"none",visibility:"hidden",opacity:"0",transition:"opacity 0.2s ease, visibility 0.2s ease",maxWidth:"300px",minWidth:"max-content",wordWrap:"break-word",whiteSpace:"normal",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.2)"}),t.length<50&&(n.style.whiteSpace="nowrap");const l=document.createElement("div");switch(l.className="vt-tooltip__arrow",Object.assign(l.style,{position:"absolute",width:"0",height:"0",borderStyle:"solid"}),o){case"top":Object.assign(l.style,{top:"100%",left:"50%",marginLeft:"-5px",borderWidth:"5px 5px 0 5px",borderColor:"rgba(0, 0, 0, 0.8) transparent transparent transparent"});break;case"bottom":Object.assign(l.style,{bottom:"100%",left:"50%",marginLeft:"-5px",borderWidth:"0 5px 5px 5px",borderColor:"transparent transparent rgba(0, 0, 0, 0.8) transparent"});break;case"left":Object.assign(l.style,{top:"50%",left:"100%",marginTop:"-5px",borderWidth:"5px 0 5px 5px",borderColor:"transparent transparent transparent rgba(0, 0, 0, 0.8)"});break;case"right":Object.assign(l.style,{top:"50%",right:"100%",marginTop:"-5px",borderWidth:"5px 5px 5px 0",borderColor:"transparent rgba(0, 0, 0, 0.8) transparent transparent"});break}return n.appendChild(l),n},J=(t,o,n)=>{const l=o.getBoundingClientRect(),a=t.getBoundingClientRect(),s=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;let i=0,c=0;switch(n){case"top":i=l.top+r-a.height-8,c=l.left+s+(l.width-a.width)/2;break;case"bottom":i=l.bottom+r+8,c=l.left+s+(l.width-a.width)/2;break;case"left":i=l.top+r+(l.height-a.height)/2,c=l.left+s-a.width-8;break;case"right":i=l.top+r+(l.height-a.height)/2,c=l.right+s+8;break}const u=window.innerWidth,d=window.innerHeight;c<8?c=8:c+a.width>u-8&&(c=u-a.width-8),i<r+8?n==="top"?i=l.bottom+r+8:i=r+8:i+a.height>r+d-8&&(n==="bottom"?i=l.top+r-a.height-8:i=r+d-a.height-8),t.style.top=`${i}px`,t.style.left=`${c}px`},le=(t,o,n)=>{t.parentElement||document.body.appendChild(t),t.style.visibility="visible",J(t,o,n),requestAnimationFrame(()=>{t.style.opacity="1"})},se=t=>{t.style.opacity="0",t.style.visibility="hidden"},ae=t=>t.scrollWidth>t.clientWidth||t.scrollHeight>t.clientHeight,re=t=>!!t.closest(".vt-table, table"),me={mounted(t,o){const n=o.value?.trim();if(!n)return;const l=t.dataset.placement||"top",a=ne(n,l);t.__tooltipEl=a;const s=()=>{(re(t)?ae(t):!0)&&le(a,t,l)},r=()=>{se(a)},i=()=>{a.style.opacity==="1"&&J(a,t,l)};t.__mouseenterHandler=s,t.__mouseleaveHandler=r,t.__scrollHandler=i,t.addEventListener("mouseenter",s),t.addEventListener("mouseleave",r),window.addEventListener("scroll",i,!0),window.addEventListener("resize",i)},updated(t,o){const n=o.value?.trim();if(t.__tooltipEl)n?t.__tooltipEl.firstChild.textContent=n:(t.__tooltipEl.parentElement&&t.__tooltipEl.parentElement.removeChild(t.__tooltipEl),delete t.__tooltipEl);else if(n){const l=t.dataset.placement||"top",a=ne(n,l);t.__tooltipEl=a;const s=()=>{(re(t)?ae(t):!0)&&le(a,t,l)},r=()=>{se(a)},i=()=>{a.style.opacity==="1"&&J(a,t,l)};t.__mouseenterHandler=s,t.__mouseleaveHandler=r,t.__scrollHandler=i,t.addEventListener("mouseenter",s),t.addEventListener("mouseleave",r),window.addEventListener("scroll",i,!0),window.addEventListener("resize",i)}},beforeUnmount(t){t.__tooltipEl&&t.__tooltipEl.parentElement&&(t.__tooltipEl.parentElement.removeChild(t.__tooltipEl),delete t.__tooltipEl),t.__mouseenterHandler&&(t.removeEventListener("mouseenter",t.__mouseenterHandler),delete t.__mouseenterHandler),t.__mouseleaveHandler&&(t.removeEventListener("mouseleave",t.__mouseleaveHandler),delete t.__mouseleaveHandler),t.__scrollHandler&&(window.removeEventListener("scroll",t.__scrollHandler,!0),window.removeEventListener("resize",t.__scrollHandler),delete t.__scrollHandler)}},pe={install(t,o={}){const{prefix:n="V",modal:l=!0}=o;t.component(`${n}Button`,X),t.component(`${n}Icon`,H),t.component(`${n}Loader`,Q),t.component(`${n}Modal`,ee),t.component(`${n}Pagination`,ie),t.component(`${n}Checkbox`,q),t.component(`${n}Table`,de),t.component(`${n}TableColumn`,ue),t.directive("tooltip",me),l&&t.use(ce)}},fo=pe.install;exports.VButton=X;exports.VCheckbox=q;exports.VIcon=H;exports.VLoader=Q;exports.VModal=ee;exports.VModalPlugin=ce;exports.VPagination=ie;exports.VTable=de;exports.VTableColumn=ue;exports.default=pe;exports.install=fo;exports.modalManager=U;exports.tooltipDirective=me;
|