@opengis/table 0.0.40 → 0.0.41
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.mjs +1 -1
- package/dist/index.umd.js +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -56,7 +56,7 @@ const Nt = {
|
|
|
56
56
|
},
|
|
57
57
|
cancel: "Скасувати",
|
|
58
58
|
download: "Завантажити таблицю",
|
|
59
|
-
processingExport: "Готуємо
|
|
59
|
+
processingExport: "Готуємо експорт...",
|
|
60
60
|
waitingExport: "Очікуємо відповідь від сервера...",
|
|
61
61
|
preparingDownload: "Готуємо завантаження..."
|
|
62
62
|
}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(W,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],r):(W=typeof globalThis<"u"?globalThis:W||self,r(W.filter={},W.Vue))})(this,function(W,r){"use strict";function ds(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const ps=ds(r),rt={en:{table:{actions:"Actions",choose:"Оберіть колонки для відображення",columns:"Колонки",search:"Пошук",export:"Export",exportTitle:"Export table",close:"Close",chooseColumns:"Select columns for export:",chooseFormat:"Choose table format:",selectAll:"Select all",selectCurrent:"Select current",none:"None",noData:{title:"No data",description:"No data here yet. We will notify you when there's an update."},format:{json:"JSON format",csv:"CSV format",xlsx:"XLSX format"},cancel:"Cancel",download:"Download table",processingExport:"Preparing export...",waitingExport:"Waiting for server status...",preparingDownload:"Preparing download..."}},uk:{table:{actions:"Дії",choose:"Оберіть колонки для відображення",columns:"Колонки",search:"Пошук",export:"Експорт",exportTitle:"Експорт таблиці",close:"Закрити",chooseColumns:"Виберіть стовпці таблиці для експорту:",chooseFormat:"Виберіть формат таблиці:",selectAll:"Вибрати усі",selectCurrent:"Вибрати поточні",none:"Жодного",noData:{title:"Немає даних",description:"Тут поки що немає даних. Ми повідомимо вас, коли з'являться оновлення."},format:{json:"Формат json",csv:"Формат csv",xlsx:"Формат xlsx"},cancel:"Скасувати",download:"Завантажити таблицю",processingExport:"Готуємо экспорт...",waitingExport:"Очікуємо відповідь від сервера...",preparingDownload:"Готуємо завантаження..."}}};function _n(e){const n=(()=>{try{if(typeof localStorage<"u"){const l=localStorage.getItem("language")||localStorage.getItem("locale");if(l)return l.substring(0,2)}}catch{}return typeof navigator<"u"?(navigator.language||navigator.languages?.[0]||"uk").substring(0,2):"uk"})();if(!rt||typeof rt!="object")return e;const s=rt[n]||rt.uk||{},i=e.split(".").reduce((l,a)=>l&&typeof l=="object"&&a in l?l[a]:null,s);return i&&typeof i=="string"?i:e}function st(){const e=r.getCurrentInstance();if(!e?.appContext?.config?.globalProperties?.$i18n)return _n;const t=e.appContext.config.globalProperties.$t;return n=>{const s=t(n);return s===n?_n(n):s}}function ot(e){return e&&e.toString().split("-")[0]?.toLowerCase()||"uk"}function fs(){if(typeof window<"u")try{const e=window.localStorage.getItem("locale")||window.localStorage.getItem("language");if(e)return ot(e)}catch{}if(typeof navigator<"u"){const e=navigator.language||navigator.languages?.[0];if(e)return ot(e)}return"uk"}function de(e,t,n){if(!e)return;const s=ot(t),o=`${n}:${s}`;if(o in e&&e[o]!=null)return e[o];if(s in e&&e[s]!=null)return e[s];if(n in e&&e[n]!=null)return e[n]}function it(e,t){return de(e,t,"label")??de(e,t,"header")??de(e,t,"title")??de(e,t,"ua")??de(e,t,"name")??e?.name??""}function Tn(e,t){return de(e,t,"info")??null}function us(e,t){return de(e,t,"description")??null}function hs(e,t){return de(e,t,"placeholder")??null}function At(e,t,n){return e?de(e,t,n)??e[n]??null:null}function ms(e,t){return de(e,t,"label")??de(e,t,"text")??de(e,t,"name")??de(e,t,"value")??e?.label??e?.text??e?.value?.toString?.()}function gs(e){return"detail"in e}function vs(e){if(gs(e)&&e.detail)return{key:e.detail.key,value:e.detail.newValue};const t=e;return{key:t.key,value:t.newValue}}function lt(){const e=r.ref(fs()),t=s=>{e.value=ot(s)},n=s=>{const{key:o,value:i}=vs(s);o!=="locale"&&o!=="language"||t(i??void 0)};return r.onMounted(()=>{typeof window>"u"||window.addEventListener("storage",n)}),r.onUnmounted(()=>{typeof window>"u"||window.removeEventListener("storage",n)}),e}const ys={class:"flex items-center justify-between h-[48px] px-4 py-2 gap-x-2 text-sm font-medium text-gray-800"},bs={class:"relative p-1 border-gray-200 border-y dark:border-neutral-800"},Es=["placeholder"],ks={class:"p-1 pt-3 max-h-80 overflow-y-auto"},xs={class:"block px-3 mb-2 text-xs text-gray-500 dark:text-neutral-500"},ws=["onClick"],Ns={class:"flex justify-between flex-1 items-center gap-x-2.5 cursor-pointer text-[13px] text-gray-800 dark:text-neutral-300 pointer-events-none"},Ss=["value"],Dn=r.defineComponent({__name:"ColumnsSettings",props:{columns:{}},emits:["update:columns"],setup(e,{emit:t}){const n=st(),s=e,o=t,i=r.useAttrs(),l=r.ref(!1),a=r.ref(""),c=r.ref(s.columns),p=r.ref(null),m=r.ref(null),d=r.ref(null),u=r.ref({top:0,left:0}),h=lt(),k=T=>it(T,h.value),v=r.computed(()=>{if(!a.value)return c.value;const T=a.value.toLowerCase();return c.value.filter(H=>k(H).toLowerCase().includes(T))});r.watch(c,T=>{o("update:columns",T)},{deep:!0}),r.watch(()=>s.columns,T=>{JSON.stringify(T)!==JSON.stringify(c.value)&&(c.value=[...T])},{deep:!0});function C(T){Object.assign(T,{hidden:!T.hidden})}function _(){l.value=!l.value,r.nextTick(()=>{if(l.value&&(d.value?.focus(),p.value&&m.value)){const T=p.value.getBoundingClientRect();u.value={top:T.bottom+window.scrollY+5,left:T.left+window.scrollX-220}}})}function $(T){l.value&&m.value&&p.value&&!m.value.contains(T.target)&&!p.value.contains(T.target)&&(l.value=!1)}return r.onMounted(()=>{document.addEventListener("click",$,!0)}),r.onBeforeUnmount(()=>{document.removeEventListener("click",$,!0)}),(T,H)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("button",{onClick:_,ref_key:"buttonRef",ref:p,class:r.normalizeClass([[r.unref(i).class],"py-2 max-h-[34px] px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"])},H[2]||(H[2]=[r.createStaticVNode('<svg 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-columns" height="20" width="16"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l5.5 0"></path><path d="M4 10l5.5 0"></path><path d="M4 14l5.5 0"></path><path d="M4 18l5.5 0"></path><path d="M14.5 6l5.5 0"></path><path d="M14.5 10l5.5 0"></path><path d="M14.5 14l5.5 0"></path><path d="M14.5 18l5.5 0"></path></svg>',1)]),2),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[l.value?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"modalRef",ref:m,class:"fixed z-10 w-64 transition-[opacity,margin] duration bg-white rounded-xl shadow-lg dark:bg-neutral-900",style:r.normalizeStyle([{position:"fixed"},{top:`${u.value.top}px`,left:`${u.value.left}px`}])},[r.createElementVNode("div",ys,r.toDisplayString(r.unref(n)("table.columns")),1),r.createElementVNode("div",bs,[r.withDirectives(r.createElementVNode("input",{type:"text",ref_key:"searchInput",ref:d,"onUpdate:modelValue":H[0]||(H[0]=j=>a.value=j),class:"py-1.5 px-3 w-full rounded-xs sm:text-sm text-base placeholder:text-gray-500 hover:bg-gray-100 hover:border-blue-100 text-gray-800 focus:outline-none focus:bg-gray-100",placeholder:r.unref(n)("table.search")},null,8,Es),[[r.vModelText,a.value]])]),r.createElementVNode("div",ks,[r.createElementVNode("span",xs,r.toDisplayString(r.unref(n)("table.choose")),1),r.createElementVNode("div",{class:"space-y-1",onClick:H[1]||(H[1]=r.withModifiers(()=>{},["stop"]))},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(v.value,j=>(r.openBlock(),r.createElementBlock("div",{key:j.name,class:"flex justify-between items-center py-1.5 px-3 cursor-pointer rounded-lg hover:bg-gray-100 has-[:disabled]:opacity-50 has-[:disabled]:pointer-events-none dark:hover:bg-neutral-800",onClick:re=>C(j)},[r.createElementVNode("label",Ns,[r.createTextVNode(r.toDisplayString(k(j))+" ",1),r.createElementVNode("input",{type:"checkbox",class:"hidden",value:j.hidden},null,8,Ss),r.createElementVNode("span",{class:r.normalizeClass(["flex items-center justify-center text-white border border-gray-300 rounded shrink-0 size-4 focus:ring-blue-500 pointer-events-none",j.hidden?"bg-white":"bg-blue-600 border-0"])},H[3]||(H[3]=[r.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[r.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)]),2)])],8,ws))),128))])])],4)):r.createCommentVNode("",!0)]))],64))}}),On=r.defineComponent({name:"NumberFormat",__name:"NumberFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,n=r.computed(()=>t.value===null||t.value===void 0?"":typeof t.value=="number"?t.value.toFixed(2):Intl.NumberFormat("uk-UA",{maximumFractionDigits:2}).format(Number(t.value)));return(s,o)=>(r.openBlock(),r.createElementBlock("span",null,r.toDisplayString(n.value||"-"),1))}}),Bn=r.defineComponent({name:"DateFormat",__name:"DateFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,n=r.computed(()=>{if(!t.value)return"";try{return new Date(t.value).toLocaleDateString()}catch{return t.value}});return(s,o)=>(r.openBlock(),r.createElementBlock("span",null,r.toDisplayString(n.value||"-"),1))}}),In=r.defineComponent({name:"TextFormat",__name:"TextFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,{value:n}=t,s=r.computed(()=>Array.isArray(n)?n.map(o=>o.text||o).join(","):n?.text||n);return(o,i)=>(r.openBlock(),r.createElementBlock("span",null,r.toDisplayString(s.value||"-"),1))}}),An=((e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n})(r.defineComponent({name:"BadgeFormat",__name:"BadgeFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,n=r.computed(()=>{const i=String(t.value||"").toLowerCase(),l="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium";return i.includes("success")||i.includes("active")||i.includes("completed")?`${l} bg-green-100 text-green-800`:i.includes("error")||i.includes("failed")||i.includes("inactive")?`${l} bg-red-100 text-red-800`:i.includes("warning")||i.includes("pending")?`${l} bg-yellow-100 text-yellow-800`:i.includes("info")||i.includes("processing")?`${l} bg-blue-100 text-blue-800`:t.value?.color&&!/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(t.value.color)?`${l} bg-${t.value.color}-100 text-${t.value.color}-800`:`${l} bg-gray-100 text-gray-800`});function s(i,l=1){const a=parseInt(i.slice(1,3),16),c=parseInt(i.slice(3,5),16),p=parseInt(i.slice(5,7),16);return`rgba(${a}, ${c}, ${p}, ${l})`}const o=r.computed(()=>{const i={minWidth:"60px",textAlign:"center",display:"inline-block"};return/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(t.value?.color)?{...i,backgroundColor:s(t.value.color,.1),color:s(t.value.color,.8)}:i});return(i,l)=>i.value?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["badge",n.value]),style:r.normalizeStyle(o.value)},r.toDisplayString(i.value?.text||i.value||"-"),7)):r.createCommentVNode("",!0)}}),[["__scopeId","data-v-59a2b734"]]),Cs={class:"flex flex-wrap gap-1"},$n=r.defineComponent({name:"ArrayFormat",__name:"ArrayFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,n=r.computed(()=>t.value?Array.isArray(t.value)?t.value:[t.value]:[]),s=o=>o?typeof o=="object"&&o.name?o.name:typeof o=="string"||typeof o=="number"?String(o):JSON.stringify(o):"";return(o,i)=>(r.openBlock(),r.createElementBlock("div",Cs,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.value,(l,a)=>(r.openBlock(),r.createElementBlock("span",{key:a,class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 text-blue-800 hover:bg-blue-200 transition-colors"},r.toDisplayString(s(l)),1))),128))]))}}),Mn=r.defineComponent({name:"TextFormat",__name:"SelectFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,{value:n}=t,s=r.computed(()=>Array.isArray(n)?n.map(o=>o.text||o).filter((o,i)=>i<2).join(", ")+(n.length>2?` +${n.length-2}`:""):n?.text||n);return(o,i)=>(r.openBlock(),r.createElementBlock("span",null,r.toDisplayString(s.value||"-"),1))}}),_s={key:0,"data-state":"checked","data-slot":"checkbox-indicator",class:"pointer-none peer size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] h-4 w-4 flex items-center justify-center border-gray-400 focus:ring-blue-500 hover:bg-{c}/90 text-gray-400"},Rn=r.defineComponent({name:"BooleanFormat",__name:"BooleanFormat",props:{value:{},row:{},column:{}},setup(e){return r.computed(()=>({})),(t,n)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[t.value?(r.openBlock(),r.createElementBlock("span",_s,n[0]||(n[0]=[r.createElementVNode("svg",{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-check size-3.5"},[r.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)]))):r.createCommentVNode("",!0),n[1]||(n[1]=r.createElementVNode("span",null,null,-1))],64))}}),Ts={key:0,class:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60"},Ds={class:"relative bg-white rounded-lg shadow-lg w-[90vw] h-[80vh] overflow-hidden"},Ln=r.defineComponent({name:"GeomFormat",__name:"GeomFormat",props:{value:{}},setup(e){const t=e,n=r.ref(!1),s=r.ref(null);let o=null,i=null,l=null;async function a(){if(o)return o;const d="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css";if(!document.querySelector(`link[href="${d}"]`)){const h=document.createElement("link");h.rel="stylesheet",h.href=d,document.head.appendChild(h)}const u="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js";return document.querySelector(`script[src="${u}"]`)||await new Promise((h,k)=>{const v=document.createElement("script");v.src=u,v.async=!0,v.onload=()=>h(),v.onerror=k,document.body.appendChild(v)}),o=window.L,o}async function c(){n.value=!0,await r.nextTick(),await a(),!i&&(i=o.map(s.value,{center:[50,30],zoom:10,zoomControl:!0}),o.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19}).addTo(i),m(t.value),setTimeout(()=>i.invalidateSize(),250))}function p(){n.value=!1,l&&(l.remove(),l=null),i&&(i.remove(),i=null)}function m(d){if(!i||!o||(l&&(l.remove(),l=null),!d))return;l=o.geoJSON(d,{style:()=>({color:"#2563eb",weight:2,fillOpacity:.3}),pointToLayer:(h,k)=>o.marker(k)}).addTo(i);const u=l.getBounds?.();if(u&&u.isValid())i.fitBounds(u,{padding:[24,24]});else if(d.type==="Point"){const[h,k]=d.coordinates;i.setView([k,h],14)}}return r.watch(()=>t.value,d=>{n.value&&i&&m(d)},{deep:!0}),r.onUnmounted(()=>{l&&(l.remove(),l=null),i&&(i.remove(),i=null)}),(d,u)=>(r.openBlock(),r.createElementBlock("div",null,[r.createElementVNode("button",{type:"button",onClick:c,class:"p-2 rounded hover:bg-gray-100 text-blue-600 inline-flex items-center justify-center",title:"Open map"},u[0]||(u[0]=[r.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},[r.createElementVNode("path",{d:"M9 18l-6 3V6l6-3 6 3 6-3v15l-6 3-6-3z","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),r.createElementVNode("path",{d:"M9 3v15M15 6v15","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[n.value?(r.openBlock(),r.createElementBlock("div",Ts,[r.createElementVNode("div",Ds,[r.createElementVNode("button",{type:"button",class:"absolute top-3 right-3 z-[1001] inline-flex items-center justify-center w-8 h-8 rounded-full bg-white shadow-md hover:bg-gray-100 transition-colors text-gray-900",onClick:p,title:"Close"},u[1]||(u[1]=[r.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},[r.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])),r.createElementVNode("div",{ref_key:"mapContainer",ref:s,class:"w-full h-full"},null,512)])])):r.createCommentVNode("",!0)]))]))}}),$t={number:On,date:Bn,text:In,badge:An,array:$n,select:Mn,boolean:Rn,geom:Ln},Os={class:"flex items-center space-x-4"},Bs={class:"font-medium"},Is={class:"font-medium"},As={class:"font-medium"},$s={class:"flex items-center space-x-2"},Ms=["disabled"],Rs={class:"flex items-center space-x-1"},Ls=["onClick"],Ps=["disabled"],Mt=r.defineComponent({name:"Pagination",__name:"Pagination",props:{page:{},limit:{},total:{},theme:{default:"light"},size:{default:"medium"}},emits:["update:page"],setup(e,{emit:t}){const n=e,s=r.computed(()=>({small:{text:"text-xs",button:"px-2 h-7 text-xs min-w-[28px] flex items-center justify-center",icon:"w-3.5 h-3.5"},medium:{text:"text-sm",button:"px-3 h-9 text-sm min-w-[36px] flex items-center justify-center",icon:"w-4 h-4"},large:{text:"text-base",button:"px-4 h-11 text-base min-w-[44px] flex items-center justify-center",icon:"w-5 h-5"}})[n.size]),o=r.computed(()=>{const{theme:d}=n;return d==="dark"?{container:"bg-gray-900 border-gray-700",text:"text-gray-300",button:"text-gray-300 bg-gray-800 border-gray-600 hover:bg-gray-700",buttonDisabled:"text-gray-500 bg-gray-800",buttonActive:"bg-blue-600 text-white",ellipsis:"text-gray-400"}:d==="light"?{container:"bg-white border-gray-200",text:"text-gray-700",button:"text-gray-700 bg-white border-gray-300 hover:bg-gray-50",buttonDisabled:"text-gray-400 bg-gray-100",buttonActive:"bg-blue-600 text-white",ellipsis:"text-gray-500"}:{container:"bg-white dark:bg-gray-900 border-gray-200 dark:border-gray-700",text:"text-gray-700 dark:text-gray-300",button:"text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-700",buttonDisabled:"text-gray-400 dark:text-gray-500 bg-gray-100 dark:bg-gray-800",buttonActive:"bg-blue-600 text-white",ellipsis:"text-gray-500 dark:text-gray-400"}}),i=t,l=r.computed(()=>Math.ceil(n.total/n.limit)),a=r.computed(()=>n.total===0?0:(n.page-1)*n.limit+1),c=r.computed(()=>Math.min(n.page*n.limit,n.total)),p=r.computed(()=>{const d=[];if(l.value<=7)for(let h=1;h<=l.value;h+=1)d.push(h);else{d.push(1),n.page>4&&d.push("...");const h=Math.max(2,n.page-1),k=Math.min(l.value-1,n.page+1);for(let v=h;v<=k;v+=1)v!==1&&v!==l.value&&d.push(v);n.page<l.value-3&&d.push("..."),l.value>1&&d.push(l.value)}return d}),m=d=>{d>=1&&d<=l.value&&d!==n.page&&i("update:page",d)};return(d,u)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["flex items-center justify-between py-3 border-t",o.value.container])},[r.createElementVNode("div",Os,[r.createElementVNode("div",{class:r.normalizeClass(["flex items-center text-sm",o.value.text,s.value.text])},[r.createElementVNode("span",null,[u[2]||(u[2]=r.createTextVNode(" Показано ")),r.createElementVNode("span",Bs,r.toDisplayString(a.value),1),u[3]||(u[3]=r.createTextVNode(" до ")),r.createElementVNode("span",Is,r.toDisplayString(c.value),1),u[4]||(u[4]=r.createTextVNode(" з ")),r.createElementVNode("span",As,r.toDisplayString(d.total),1),u[5]||(u[5]=r.createTextVNode(" результатів "))])],2)]),r.createElementVNode("div",$s,[r.createElementVNode("button",{onClick:u[0]||(u[0]=h=>m(d.page-1)),disabled:d.page<=1,class:r.normalizeClass(["relative font-medium rounded-md",s.value.button,d.page<=1?o.value.buttonDisabled:o.value.button])},[(r.openBlock(),r.createElementBlock("svg",{class:r.normalizeClass(s.value.icon),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},u[6]||(u[6]=[r.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"},null,-1)]),2))],10,Ms),r.createElementVNode("div",Rs,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(p.value,h=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:h},[h==="..."?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["font-medium",s.value.button,o.value.ellipsis])}," ... ",2)):(r.openBlock(),r.createElementBlock("button",{key:1,onClick:k=>m(h),class:r.normalizeClass(["relative font-medium rounded-md",s.value.button,h===d.page?o.value.buttonActive:o.value.button])},r.toDisplayString(h),11,Ls))],64))),128))]),r.createElementVNode("button",{onClick:u[1]||(u[1]=h=>m(d.page+1)),disabled:d.page>=l.value,class:r.normalizeClass(["relative font-medium rounded-md",s.value.button,d.page>=l.value?o.value.buttonDisabled:o.value.button])},[(r.openBlock(),r.createElementBlock("svg",{class:r.normalizeClass(s.value.icon),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},u[7]||(u[7]=[r.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)]),2))],10,Ps)])],2))}});/**
|
|
1
|
+
(function(W,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],r):(W=typeof globalThis<"u"?globalThis:W||self,r(W.filter={},W.Vue))})(this,function(W,r){"use strict";function ds(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const ps=ds(r),rt={en:{table:{actions:"Actions",choose:"Оберіть колонки для відображення",columns:"Колонки",search:"Пошук",export:"Export",exportTitle:"Export table",close:"Close",chooseColumns:"Select columns for export:",chooseFormat:"Choose table format:",selectAll:"Select all",selectCurrent:"Select current",none:"None",noData:{title:"No data",description:"No data here yet. We will notify you when there's an update."},format:{json:"JSON format",csv:"CSV format",xlsx:"XLSX format"},cancel:"Cancel",download:"Download table",processingExport:"Preparing export...",waitingExport:"Waiting for server status...",preparingDownload:"Preparing download..."}},uk:{table:{actions:"Дії",choose:"Оберіть колонки для відображення",columns:"Колонки",search:"Пошук",export:"Експорт",exportTitle:"Експорт таблиці",close:"Закрити",chooseColumns:"Виберіть стовпці таблиці для експорту:",chooseFormat:"Виберіть формат таблиці:",selectAll:"Вибрати усі",selectCurrent:"Вибрати поточні",none:"Жодного",noData:{title:"Немає даних",description:"Тут поки що немає даних. Ми повідомимо вас, коли з'являться оновлення."},format:{json:"Формат json",csv:"Формат csv",xlsx:"Формат xlsx"},cancel:"Скасувати",download:"Завантажити таблицю",processingExport:"Готуємо експорт...",waitingExport:"Очікуємо відповідь від сервера...",preparingDownload:"Готуємо завантаження..."}}};function _n(e){const n=(()=>{try{if(typeof localStorage<"u"){const l=localStorage.getItem("language")||localStorage.getItem("locale");if(l)return l.substring(0,2)}}catch{}return typeof navigator<"u"?(navigator.language||navigator.languages?.[0]||"uk").substring(0,2):"uk"})();if(!rt||typeof rt!="object")return e;const s=rt[n]||rt.uk||{},i=e.split(".").reduce((l,a)=>l&&typeof l=="object"&&a in l?l[a]:null,s);return i&&typeof i=="string"?i:e}function st(){const e=r.getCurrentInstance();if(!e?.appContext?.config?.globalProperties?.$i18n)return _n;const t=e.appContext.config.globalProperties.$t;return n=>{const s=t(n);return s===n?_n(n):s}}function ot(e){return e&&e.toString().split("-")[0]?.toLowerCase()||"uk"}function fs(){if(typeof window<"u")try{const e=window.localStorage.getItem("locale")||window.localStorage.getItem("language");if(e)return ot(e)}catch{}if(typeof navigator<"u"){const e=navigator.language||navigator.languages?.[0];if(e)return ot(e)}return"uk"}function de(e,t,n){if(!e)return;const s=ot(t),o=`${n}:${s}`;if(o in e&&e[o]!=null)return e[o];if(s in e&&e[s]!=null)return e[s];if(n in e&&e[n]!=null)return e[n]}function it(e,t){return de(e,t,"label")??de(e,t,"header")??de(e,t,"title")??de(e,t,"ua")??de(e,t,"name")??e?.name??""}function Tn(e,t){return de(e,t,"info")??null}function us(e,t){return de(e,t,"description")??null}function hs(e,t){return de(e,t,"placeholder")??null}function At(e,t,n){return e?de(e,t,n)??e[n]??null:null}function ms(e,t){return de(e,t,"label")??de(e,t,"text")??de(e,t,"name")??de(e,t,"value")??e?.label??e?.text??e?.value?.toString?.()}function gs(e){return"detail"in e}function vs(e){if(gs(e)&&e.detail)return{key:e.detail.key,value:e.detail.newValue};const t=e;return{key:t.key,value:t.newValue}}function lt(){const e=r.ref(fs()),t=s=>{e.value=ot(s)},n=s=>{const{key:o,value:i}=vs(s);o!=="locale"&&o!=="language"||t(i??void 0)};return r.onMounted(()=>{typeof window>"u"||window.addEventListener("storage",n)}),r.onUnmounted(()=>{typeof window>"u"||window.removeEventListener("storage",n)}),e}const ys={class:"flex items-center justify-between h-[48px] px-4 py-2 gap-x-2 text-sm font-medium text-gray-800"},bs={class:"relative p-1 border-gray-200 border-y dark:border-neutral-800"},Es=["placeholder"],ks={class:"p-1 pt-3 max-h-80 overflow-y-auto"},xs={class:"block px-3 mb-2 text-xs text-gray-500 dark:text-neutral-500"},ws=["onClick"],Ns={class:"flex justify-between flex-1 items-center gap-x-2.5 cursor-pointer text-[13px] text-gray-800 dark:text-neutral-300 pointer-events-none"},Ss=["value"],Dn=r.defineComponent({__name:"ColumnsSettings",props:{columns:{}},emits:["update:columns"],setup(e,{emit:t}){const n=st(),s=e,o=t,i=r.useAttrs(),l=r.ref(!1),a=r.ref(""),c=r.ref(s.columns),p=r.ref(null),m=r.ref(null),d=r.ref(null),u=r.ref({top:0,left:0}),h=lt(),k=T=>it(T,h.value),v=r.computed(()=>{if(!a.value)return c.value;const T=a.value.toLowerCase();return c.value.filter(H=>k(H).toLowerCase().includes(T))});r.watch(c,T=>{o("update:columns",T)},{deep:!0}),r.watch(()=>s.columns,T=>{JSON.stringify(T)!==JSON.stringify(c.value)&&(c.value=[...T])},{deep:!0});function C(T){Object.assign(T,{hidden:!T.hidden})}function _(){l.value=!l.value,r.nextTick(()=>{if(l.value&&(d.value?.focus(),p.value&&m.value)){const T=p.value.getBoundingClientRect();u.value={top:T.bottom+window.scrollY+5,left:T.left+window.scrollX-220}}})}function $(T){l.value&&m.value&&p.value&&!m.value.contains(T.target)&&!p.value.contains(T.target)&&(l.value=!1)}return r.onMounted(()=>{document.addEventListener("click",$,!0)}),r.onBeforeUnmount(()=>{document.removeEventListener("click",$,!0)}),(T,H)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("button",{onClick:_,ref_key:"buttonRef",ref:p,class:r.normalizeClass([[r.unref(i).class],"py-2 max-h-[34px] px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"])},H[2]||(H[2]=[r.createStaticVNode('<svg 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-columns" height="20" width="16"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l5.5 0"></path><path d="M4 10l5.5 0"></path><path d="M4 14l5.5 0"></path><path d="M4 18l5.5 0"></path><path d="M14.5 6l5.5 0"></path><path d="M14.5 10l5.5 0"></path><path d="M14.5 14l5.5 0"></path><path d="M14.5 18l5.5 0"></path></svg>',1)]),2),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[l.value?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"modalRef",ref:m,class:"fixed z-10 w-64 transition-[opacity,margin] duration bg-white rounded-xl shadow-lg dark:bg-neutral-900",style:r.normalizeStyle([{position:"fixed"},{top:`${u.value.top}px`,left:`${u.value.left}px`}])},[r.createElementVNode("div",ys,r.toDisplayString(r.unref(n)("table.columns")),1),r.createElementVNode("div",bs,[r.withDirectives(r.createElementVNode("input",{type:"text",ref_key:"searchInput",ref:d,"onUpdate:modelValue":H[0]||(H[0]=j=>a.value=j),class:"py-1.5 px-3 w-full rounded-xs sm:text-sm text-base placeholder:text-gray-500 hover:bg-gray-100 hover:border-blue-100 text-gray-800 focus:outline-none focus:bg-gray-100",placeholder:r.unref(n)("table.search")},null,8,Es),[[r.vModelText,a.value]])]),r.createElementVNode("div",ks,[r.createElementVNode("span",xs,r.toDisplayString(r.unref(n)("table.choose")),1),r.createElementVNode("div",{class:"space-y-1",onClick:H[1]||(H[1]=r.withModifiers(()=>{},["stop"]))},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(v.value,j=>(r.openBlock(),r.createElementBlock("div",{key:j.name,class:"flex justify-between items-center py-1.5 px-3 cursor-pointer rounded-lg hover:bg-gray-100 has-[:disabled]:opacity-50 has-[:disabled]:pointer-events-none dark:hover:bg-neutral-800",onClick:re=>C(j)},[r.createElementVNode("label",Ns,[r.createTextVNode(r.toDisplayString(k(j))+" ",1),r.createElementVNode("input",{type:"checkbox",class:"hidden",value:j.hidden},null,8,Ss),r.createElementVNode("span",{class:r.normalizeClass(["flex items-center justify-center text-white border border-gray-300 rounded shrink-0 size-4 focus:ring-blue-500 pointer-events-none",j.hidden?"bg-white":"bg-blue-600 border-0"])},H[3]||(H[3]=[r.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round"},[r.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)]),2)])],8,ws))),128))])])],4)):r.createCommentVNode("",!0)]))],64))}}),On=r.defineComponent({name:"NumberFormat",__name:"NumberFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,n=r.computed(()=>t.value===null||t.value===void 0?"":typeof t.value=="number"?t.value.toFixed(2):Intl.NumberFormat("uk-UA",{maximumFractionDigits:2}).format(Number(t.value)));return(s,o)=>(r.openBlock(),r.createElementBlock("span",null,r.toDisplayString(n.value||"-"),1))}}),Bn=r.defineComponent({name:"DateFormat",__name:"DateFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,n=r.computed(()=>{if(!t.value)return"";try{return new Date(t.value).toLocaleDateString()}catch{return t.value}});return(s,o)=>(r.openBlock(),r.createElementBlock("span",null,r.toDisplayString(n.value||"-"),1))}}),In=r.defineComponent({name:"TextFormat",__name:"TextFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,{value:n}=t,s=r.computed(()=>Array.isArray(n)?n.map(o=>o.text||o).join(","):n?.text||n);return(o,i)=>(r.openBlock(),r.createElementBlock("span",null,r.toDisplayString(s.value||"-"),1))}}),An=((e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n})(r.defineComponent({name:"BadgeFormat",__name:"BadgeFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,n=r.computed(()=>{const i=String(t.value||"").toLowerCase(),l="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium";return i.includes("success")||i.includes("active")||i.includes("completed")?`${l} bg-green-100 text-green-800`:i.includes("error")||i.includes("failed")||i.includes("inactive")?`${l} bg-red-100 text-red-800`:i.includes("warning")||i.includes("pending")?`${l} bg-yellow-100 text-yellow-800`:i.includes("info")||i.includes("processing")?`${l} bg-blue-100 text-blue-800`:t.value?.color&&!/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(t.value.color)?`${l} bg-${t.value.color}-100 text-${t.value.color}-800`:`${l} bg-gray-100 text-gray-800`});function s(i,l=1){const a=parseInt(i.slice(1,3),16),c=parseInt(i.slice(3,5),16),p=parseInt(i.slice(5,7),16);return`rgba(${a}, ${c}, ${p}, ${l})`}const o=r.computed(()=>{const i={minWidth:"60px",textAlign:"center",display:"inline-block"};return/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(t.value?.color)?{...i,backgroundColor:s(t.value.color,.1),color:s(t.value.color,.8)}:i});return(i,l)=>i.value?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["badge",n.value]),style:r.normalizeStyle(o.value)},r.toDisplayString(i.value?.text||i.value||"-"),7)):r.createCommentVNode("",!0)}}),[["__scopeId","data-v-59a2b734"]]),Cs={class:"flex flex-wrap gap-1"},$n=r.defineComponent({name:"ArrayFormat",__name:"ArrayFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,n=r.computed(()=>t.value?Array.isArray(t.value)?t.value:[t.value]:[]),s=o=>o?typeof o=="object"&&o.name?o.name:typeof o=="string"||typeof o=="number"?String(o):JSON.stringify(o):"";return(o,i)=>(r.openBlock(),r.createElementBlock("div",Cs,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.value,(l,a)=>(r.openBlock(),r.createElementBlock("span",{key:a,class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 text-blue-800 hover:bg-blue-200 transition-colors"},r.toDisplayString(s(l)),1))),128))]))}}),Mn=r.defineComponent({name:"TextFormat",__name:"SelectFormat",props:{value:{},row:{},column:{}},setup(e){const t=e,{value:n}=t,s=r.computed(()=>Array.isArray(n)?n.map(o=>o.text||o).filter((o,i)=>i<2).join(", ")+(n.length>2?` +${n.length-2}`:""):n?.text||n);return(o,i)=>(r.openBlock(),r.createElementBlock("span",null,r.toDisplayString(s.value||"-"),1))}}),_s={key:0,"data-state":"checked","data-slot":"checkbox-indicator",class:"pointer-none peer size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] h-4 w-4 flex items-center justify-center border-gray-400 focus:ring-blue-500 hover:bg-{c}/90 text-gray-400"},Rn=r.defineComponent({name:"BooleanFormat",__name:"BooleanFormat",props:{value:{},row:{},column:{}},setup(e){return r.computed(()=>({})),(t,n)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[t.value?(r.openBlock(),r.createElementBlock("span",_s,n[0]||(n[0]=[r.createElementVNode("svg",{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-check size-3.5"},[r.createElementVNode("path",{d:"M20 6 9 17l-5-5"})],-1)]))):r.createCommentVNode("",!0),n[1]||(n[1]=r.createElementVNode("span",null,null,-1))],64))}}),Ts={key:0,class:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60"},Ds={class:"relative bg-white rounded-lg shadow-lg w-[90vw] h-[80vh] overflow-hidden"},Ln=r.defineComponent({name:"GeomFormat",__name:"GeomFormat",props:{value:{}},setup(e){const t=e,n=r.ref(!1),s=r.ref(null);let o=null,i=null,l=null;async function a(){if(o)return o;const d="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css";if(!document.querySelector(`link[href="${d}"]`)){const h=document.createElement("link");h.rel="stylesheet",h.href=d,document.head.appendChild(h)}const u="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js";return document.querySelector(`script[src="${u}"]`)||await new Promise((h,k)=>{const v=document.createElement("script");v.src=u,v.async=!0,v.onload=()=>h(),v.onerror=k,document.body.appendChild(v)}),o=window.L,o}async function c(){n.value=!0,await r.nextTick(),await a(),!i&&(i=o.map(s.value,{center:[50,30],zoom:10,zoomControl:!0}),o.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19}).addTo(i),m(t.value),setTimeout(()=>i.invalidateSize(),250))}function p(){n.value=!1,l&&(l.remove(),l=null),i&&(i.remove(),i=null)}function m(d){if(!i||!o||(l&&(l.remove(),l=null),!d))return;l=o.geoJSON(d,{style:()=>({color:"#2563eb",weight:2,fillOpacity:.3}),pointToLayer:(h,k)=>o.marker(k)}).addTo(i);const u=l.getBounds?.();if(u&&u.isValid())i.fitBounds(u,{padding:[24,24]});else if(d.type==="Point"){const[h,k]=d.coordinates;i.setView([k,h],14)}}return r.watch(()=>t.value,d=>{n.value&&i&&m(d)},{deep:!0}),r.onUnmounted(()=>{l&&(l.remove(),l=null),i&&(i.remove(),i=null)}),(d,u)=>(r.openBlock(),r.createElementBlock("div",null,[r.createElementVNode("button",{type:"button",onClick:c,class:"p-2 rounded hover:bg-gray-100 text-blue-600 inline-flex items-center justify-center",title:"Open map"},u[0]||(u[0]=[r.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},[r.createElementVNode("path",{d:"M9 18l-6 3V6l6-3 6 3 6-3v15l-6 3-6-3z","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),r.createElementVNode("path",{d:"M9 3v15M15 6v15","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[n.value?(r.openBlock(),r.createElementBlock("div",Ts,[r.createElementVNode("div",Ds,[r.createElementVNode("button",{type:"button",class:"absolute top-3 right-3 z-[1001] inline-flex items-center justify-center w-8 h-8 rounded-full bg-white shadow-md hover:bg-gray-100 transition-colors text-gray-900",onClick:p,title:"Close"},u[1]||(u[1]=[r.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},[r.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])),r.createElementVNode("div",{ref_key:"mapContainer",ref:s,class:"w-full h-full"},null,512)])])):r.createCommentVNode("",!0)]))]))}}),$t={number:On,date:Bn,text:In,badge:An,array:$n,select:Mn,boolean:Rn,geom:Ln},Os={class:"flex items-center space-x-4"},Bs={class:"font-medium"},Is={class:"font-medium"},As={class:"font-medium"},$s={class:"flex items-center space-x-2"},Ms=["disabled"],Rs={class:"flex items-center space-x-1"},Ls=["onClick"],Ps=["disabled"],Mt=r.defineComponent({name:"Pagination",__name:"Pagination",props:{page:{},limit:{},total:{},theme:{default:"light"},size:{default:"medium"}},emits:["update:page"],setup(e,{emit:t}){const n=e,s=r.computed(()=>({small:{text:"text-xs",button:"px-2 h-7 text-xs min-w-[28px] flex items-center justify-center",icon:"w-3.5 h-3.5"},medium:{text:"text-sm",button:"px-3 h-9 text-sm min-w-[36px] flex items-center justify-center",icon:"w-4 h-4"},large:{text:"text-base",button:"px-4 h-11 text-base min-w-[44px] flex items-center justify-center",icon:"w-5 h-5"}})[n.size]),o=r.computed(()=>{const{theme:d}=n;return d==="dark"?{container:"bg-gray-900 border-gray-700",text:"text-gray-300",button:"text-gray-300 bg-gray-800 border-gray-600 hover:bg-gray-700",buttonDisabled:"text-gray-500 bg-gray-800",buttonActive:"bg-blue-600 text-white",ellipsis:"text-gray-400"}:d==="light"?{container:"bg-white border-gray-200",text:"text-gray-700",button:"text-gray-700 bg-white border-gray-300 hover:bg-gray-50",buttonDisabled:"text-gray-400 bg-gray-100",buttonActive:"bg-blue-600 text-white",ellipsis:"text-gray-500"}:{container:"bg-white dark:bg-gray-900 border-gray-200 dark:border-gray-700",text:"text-gray-700 dark:text-gray-300",button:"text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-700",buttonDisabled:"text-gray-400 dark:text-gray-500 bg-gray-100 dark:bg-gray-800",buttonActive:"bg-blue-600 text-white",ellipsis:"text-gray-500 dark:text-gray-400"}}),i=t,l=r.computed(()=>Math.ceil(n.total/n.limit)),a=r.computed(()=>n.total===0?0:(n.page-1)*n.limit+1),c=r.computed(()=>Math.min(n.page*n.limit,n.total)),p=r.computed(()=>{const d=[];if(l.value<=7)for(let h=1;h<=l.value;h+=1)d.push(h);else{d.push(1),n.page>4&&d.push("...");const h=Math.max(2,n.page-1),k=Math.min(l.value-1,n.page+1);for(let v=h;v<=k;v+=1)v!==1&&v!==l.value&&d.push(v);n.page<l.value-3&&d.push("..."),l.value>1&&d.push(l.value)}return d}),m=d=>{d>=1&&d<=l.value&&d!==n.page&&i("update:page",d)};return(d,u)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["flex items-center justify-between py-3 border-t",o.value.container])},[r.createElementVNode("div",Os,[r.createElementVNode("div",{class:r.normalizeClass(["flex items-center text-sm",o.value.text,s.value.text])},[r.createElementVNode("span",null,[u[2]||(u[2]=r.createTextVNode(" Показано ")),r.createElementVNode("span",Bs,r.toDisplayString(a.value),1),u[3]||(u[3]=r.createTextVNode(" до ")),r.createElementVNode("span",Is,r.toDisplayString(c.value),1),u[4]||(u[4]=r.createTextVNode(" з ")),r.createElementVNode("span",As,r.toDisplayString(d.total),1),u[5]||(u[5]=r.createTextVNode(" результатів "))])],2)]),r.createElementVNode("div",$s,[r.createElementVNode("button",{onClick:u[0]||(u[0]=h=>m(d.page-1)),disabled:d.page<=1,class:r.normalizeClass(["relative font-medium rounded-md",s.value.button,d.page<=1?o.value.buttonDisabled:o.value.button])},[(r.openBlock(),r.createElementBlock("svg",{class:r.normalizeClass(s.value.icon),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},u[6]||(u[6]=[r.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"},null,-1)]),2))],10,Ms),r.createElementVNode("div",Rs,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(p.value,h=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:h},[h==="..."?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["font-medium",s.value.button,o.value.ellipsis])}," ... ",2)):(r.openBlock(),r.createElementBlock("button",{key:1,onClick:k=>m(h),class:r.normalizeClass(["relative font-medium rounded-md",s.value.button,h===d.page?o.value.buttonActive:o.value.button])},r.toDisplayString(h),11,Ls))],64))),128))]),r.createElementVNode("button",{onClick:u[1]||(u[1]=h=>m(d.page+1)),disabled:d.page>=l.value,class:r.normalizeClass(["relative font-medium rounded-md",s.value.button,d.page>=l.value?o.value.buttonDisabled:o.value.button])},[(r.openBlock(),r.createElementBlock("svg",{class:r.normalizeClass(s.value.icon),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},u[7]||(u[7]=[r.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)]),2))],10,Ps)])],2))}});/**
|
|
2
2
|
* @vue/shared v3.5.17
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|