vs-datatable 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- (function(k,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(k=typeof globalThis<"u"?globalThis:k||self,e(k.VsDataTable={},k.Vue))})(this,(function(k,e){"use strict";var P=document.createElement("style");P.textContent=`.vs-pagination[data-v-dd26d1ca]{display:flex;align-items:center;justify-content:center;gap:var(--vs-spacing-sm);flex-wrap:wrap}.vs-pagination-button[data-v-dd26d1ca]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--vs-spacing-sm);border:1px solid var(--vs-table-border);background-color:var(--vs-table-bg);color:var(--vs-dark);text-decoration:none;border-radius:var(--vs-border-radius);font-size:var(--vs-font-size-sm);transition:var(--vs-transition-fast);cursor:pointer}.vs-pagination-button[data-v-dd26d1ca]:hover:not(:disabled){background-color:var(--vs-table-hover-bg);border-color:var(--vs-primary)}.vs-pagination-button.vs-active[data-v-dd26d1ca]{background-color:var(--vs-primary);border-color:var(--vs-primary);color:#fff}.vs-pagination-button[data-v-dd26d1ca]:disabled{opacity:.5;cursor:not-allowed}.vs-pagination-nav[data-v-dd26d1ca]{font-weight:var(--vs-font-weight-bold)}.vs-pagination-ellipsis[data-v-dd26d1ca]{color:var(--vs-secondary);padding:0 var(--vs-spacing-sm);font-size:var(--vs-font-size-sm)}@media (max-width: 768px){.vs-pagination-button[data-v-dd26d1ca]{min-width:28px;height:28px;font-size:12px}}.vs-rows-per-page[data-v-dd11bb0e]{display:flex;align-items:center;gap:8px;font-size:14px}.vs-rows-label[data-v-dd11bb0e]{white-space:nowrap}.vs-datatable[data-v-b1f39b67]{--vs-table-wrapper-overflow: auto}.vs-table-wrapper[data-v-b1f39b67]{overflow:var(--vs-table-wrapper-overflow)}.vs-header-content[data-v-b1f39b67]{display:flex;align-items:center;gap:var(--vs-spacing-sm)}.vs-header-label[data-v-b1f39b67]{flex:1}.vs-checkbox-column[data-v-b1f39b67]{width:50px;text-align:center}.vs-row-clickable[data-v-b1f39b67]{cursor:pointer}.vs-row-selected[data-v-b1f39b67]{background-color:rgba(var(--vs-primary),.1)}.vs-table-footer[data-v-b1f39b67]{display:flex;align-items:center;justify-content:space-between;padding:var(--vs-spacing-sm) 0}.vs-table-info[data-v-b1f39b67]{color:var(--vs-secondary);font-size:var(--vs-font-size-md)}.vs-search-container[data-v-b1f39b67]{margin-bottom:var(--vs-spacing-md)}:root{--vs-primary: #007bff;--vs-secondary: #6c757d;--vs-success: #28a745;--vs-danger: #dc3545;--vs-warning: #ffc107;--vs-info: #17a2b8;--vs-light: #f8f9fa;--vs-dark: #343a40;--vs-table-bg: #ffffff;--vs-table-border: #dee2e6;--vs-table-header-bg: #f8f9fa;--vs-table-header-color: #495057;--vs-table-hover-bg: #f5f5f5;--vs-table-stripe-bg: #fafafa;--vs-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vs-font-size: 14px;--vs-font-size-sm: 12px;--vs-font-size-lg: 16px;--vs-font-weight-normal: 400;--vs-font-weight-bold: 600;--vs-spacing-xs: 4px;--vs-spacing-sm: 8px;--vs-spacing-md: 16px;--vs-spacing-lg: 24px;--vs-spacing-xl: 32px;--vs-border-radius: 4px;--vs-border-radius-sm: 2px;--vs-border-radius-lg: 8px;--vs-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--vs-shadow: 0 2px 4px rgba(0, 0, 0, .1);--vs-shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--vs-transition: all .2s ease-in-out;--vs-transition-fast: all .15s ease-in-out;--vs-z-dropdown: 1000;--vs-z-sticky: 1020;--vs-z-fixed: 1030;--vs-z-modal: 1040;--vs-z-popover: 1050;--vs-z-tooltip: 1060}.vs-datatable{font-family:var(--vs-font-family);font-size:var(--vs-font-size);line-height:1.5;color:var(--vs-dark);background-color:var(--vs-table-bg);box-sizing:border-box}.vs-datatable *,.vs-datatable *:before,.vs-datatable *:after{box-sizing:border-box}.vs-table-container{position:relative;background-color:var(--vs-table-bg);border:1px solid var(--vs-table-border);border-radius:var(--vs-border-radius);overflow:hidden;box-shadow:var(--vs-shadow-sm)}.vs-table{width:100%;margin:0;border-collapse:separate;border-spacing:0;background-color:var(--vs-table-bg)}.vs-table thead{background-color:var(--vs-table-header-bg)}.vs-table thead th{padding:var(--vs-spacing-sm);font-weight:var(--vs-font-weight-bold);color:var(--vs-table-header-color);text-align:left;vertical-align:middle;border-bottom:2px solid var(--vs-table-border);position:relative;-webkit-user-select:none;user-select:none}.vs-table thead th:first-child{border-top-left-radius:var(--vs-border-radius)}.vs-table thead th:last-child{border-top-right-radius:var(--vs-border-radius)}.vs-table tbody tr{transition:var(--vs-transition-fast);border-bottom:1px solid var(--vs-table-border)}.vs-table tbody tr:hover{background-color:var(--vs-table-hover-bg)}.vs-table tbody tr:nth-child(2n){background-color:var(--vs-table-stripe-bg)}.vs-table tbody tr:last-child{border-bottom:none}.vs-table tbody tr td{padding:var(--vs-spacing-md);vertical-align:middle;border-right:1px solid var(--vs-table-border)}.vs-table tbody tr td:last-child{border-right:none}.vs-sortable{cursor:pointer;position:relative}.vs-sortable:hover{background-color:rgba(var(--vs-primary),.1)}.vs-sortable .vs-sort-icons{display:inline-flex;flex-direction:column;margin-left:var(--vs-spacing-sm);vertical-align:middle}.vs-sortable .vs-sort-icons .vs-sort-icon{font-size:10px;line-height:1;color:var(--vs-secondary);transition:var(--vs-transition-fast);margin:-8px 0}.vs-sortable .vs-sort-icons .vs-sort-icon.vs-sort-asc,.vs-sortable .vs-sort-icons .vs-sort-icon.vs-sort-desc{color:var(--vs-primary)}.vs-sortable .vs-sort-icons .vs-sort-icon svg{fill:#e3e3e3}.vs-sortable .vs-sort-icons .vs-sort-icon.vs-active svg{fill:currentColor}.vs-sortable .vs-sort-priority{display:inline-block;background-color:var(--vs-primary);color:#fff;font-size:10px;padding:2px 6px;border-radius:var(--vs-border-radius-sm);margin-left:var(--vs-spacing-sm);font-weight:var(--vs-font-weight-bold)}.vs-loading{display:flex;align-items:center;justify-content:center;padding:var(--vs-spacing-xl);color:var(--vs-secondary)}.vs-loading .vs-spinner{width:20px;height:20px;border:2px solid var(--vs-table-border);border-top:2px solid var(--vs-primary);border-radius:50%;animation:vs-spin 1s linear infinite;margin-right:var(--vs-spacing-sm)}@keyframes vs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vs-no-data{text-align:center;padding:var(--vs-spacing-xl);color:var(--vs-secondary)}.vs-no-data .vs-no-data-icon{width:60px;height:60px;margin:0 auto var(--vs-spacing-md);opacity:.5}.vs-no-data .vs-no-data-message{font-size:var(--vs-font-size-lg);font-weight:var(--vs-font-weight-bold);margin-bottom:var(--vs-spacing-sm)}.vs-no-data .vs-no-data-description{font-size:var(--vs-font-size-sm);color:var(--vs-secondary)}.vs-search{position:relative;margin-bottom:var(--vs-spacing-md)}.vs-search .vs-search-input{width:100%;padding:var(--vs-spacing-sm) var(--vs-spacing-md);padding-left:40px;border:1px solid var(--vs-table-border);border-radius:var(--vs-border-radius);font-size:var(--vs-font-size);transition:var(--vs-transition-fast)}.vs-search .vs-search-input:focus{outline:none;border-color:var(--vs-primary);box-shadow:0 0 0 2px rgba(var(--vs-primary),.25)}.vs-search .vs-search-icon{position:absolute;left:var(--vs-spacing-md);top:50%;transform:translateY(-50%);color:var(--vs-secondary);pointer-events:none}.vs-pagination{display:flex;align-items:center;justify-content:center;gap:var(--vs-spacing-sm);margin-top:var(--vs-spacing-md)}.vs-pagination .vs-pagination-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--vs-spacing-sm);border:1px solid var(--vs-table-border);background-color:var(--vs-table-bg);color:var(--vs-dark);text-decoration:none;border-radius:var(--vs-border-radius);font-size:var(--vs-font-size-sm);transition:var(--vs-transition-fast);cursor:pointer}.vs-pagination .vs-pagination-button:hover:not(:disabled){background-color:var(--vs-table-hover-bg);border-color:var(--vs-primary)}.vs-pagination .vs-pagination-button.vs-active{background-color:var(--vs-primary);border-color:var(--vs-primary);color:#fff}.vs-pagination .vs-pagination-button:disabled{opacity:.5;cursor:not-allowed}.vs-pagination .vs-pagination-ellipsis{color:var(--vs-secondary);padding:0 var(--vs-spacing-sm)}.vs-checkbox{display:inline-flex;align-items:center;cursor:pointer}.vs-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--vs-primary)}.vs-checkbox label{margin:0;cursor:pointer;font-size:var(--vs-font-size-sm)}.vs-footer-left{display:flex;align-items:center;gap:12px}.vs-divider{width:1px;height:20px;background-color:#ccc}.vs-rows-per-page{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057}.vs-items-dropdown{padding:6px 8px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px}@media (max-width: 768px){.vs-table-container{overflow-x:auto}.vs-table{min-width:600px}.vs-pagination{flex-wrap:wrap;gap:var(--vs-spacing-xs)}.vs-pagination .vs-pagination-button{min-width:28px;height:28px;font-size:12px}}.vs-text-center{text-align:center}.vs-text-left{text-align:left}.vs-text-right{text-align:right}.vs-text-muted{color:var(--vs-secondary)}.vs-text-primary{color:var(--vs-primary)}.vs-text-success{color:var(--vs-success)}.vs-text-danger{color:var(--vs-danger)}.vs-text-warning{color:var(--vs-warning)}.vs-bg-primary{background-color:var(--vs-primary)}.vs-bg-success{background-color:var(--vs-success)}.vs-bg-danger{background-color:var(--vs-danger)}.vs-bg-warning{background-color:var(--vs-warning)}.vs-bg-light{background-color:var(--vs-light)}.vs-border{border:1px solid var(--vs-table-border)}.vs-border-top{border-top:1px solid var(--vs-table-border)}.vs-border-bottom{border-bottom:1px solid var(--vs-table-border)}.vs-border-left{border-left:1px solid var(--vs-table-border)}.vs-border-right{border-right:1px solid var(--vs-table-border)}.vs-rounded{border-radius:var(--vs-border-radius)}.vs-rounded-sm{border-radius:var(--vs-border-radius-sm)}.vs-rounded-lg{border-radius:var(--vs-border-radius-lg)}.vs-shadow{box-shadow:var(--vs-shadow)}.vs-shadow-sm{box-shadow:var(--vs-shadow-sm)}.vs-shadow-lg{box-shadow:var(--vs-shadow-lg)}.vs-fade-in{animation:vs-fade-in .3s ease-in-out}@keyframes vs-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.vs-slide-in{animation:vs-slide-in .3s ease-in-out}@keyframes vs-slide-in{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.vs-datatable.vs-theme-dark{--vs-primary: #0d6efd;--vs-secondary: #6c757d;--vs-success: #198754;--vs-danger: #dc3545;--vs-warning: #ffc107;--vs-info: #0dcaf0;--vs-light: #f8f9fa;--vs-dark: #212529;--vs-table-bg: #1a1a1a;--vs-table-border: #333333;--vs-table-header-bg: #2d2d2d;--vs-table-header-color: #ffffff;--vs-table-hover-bg: #333333;--vs-table-stripe-bg: #222222;color:#fff;background-color:var(--vs-table-bg)}.vs-datatable.vs-theme-minimal{--vs-primary: #000000;--vs-secondary: #666666;--vs-success: #000000;--vs-danger: #000000;--vs-warning: #000000;--vs-info: #000000;--vs-light: #f9f9f9;--vs-dark: #000000;--vs-table-bg: #ffffff;--vs-table-border: #e0e0e0;--vs-table-header-bg: #ffffff;--vs-table-header-color: #000000;--vs-table-hover-bg: #f5f5f5;--vs-table-stripe-bg: #ffffff}.vs-datatable.vs-theme-minimal .vs-table{border:none;box-shadow:none}.vs-datatable.vs-theme-minimal .vs-table thead th{border-bottom:2px solid var(--vs-table-border);font-weight:500}.vs-datatable.vs-theme-minimal .vs-table tbody tr{border-bottom:1px solid var(--vs-table-border)}.vs-datatable.vs-theme-colorful{--vs-primary: #e91e63;--vs-secondary: #9c27b0;--vs-success: #4caf50;--vs-danger: #f44336;--vs-warning: #ff9800;--vs-info: #2196f3;--vs-light: #f3e5f5;--vs-dark: #2e2e2e;--vs-table-bg: #ffffff;--vs-table-border: #e1bee7;--vs-table-header-bg: linear-gradient(135deg, #e91e63, #9c27b0);--vs-table-header-color: #ffffff;--vs-table-hover-bg: #f3e5f5;--vs-table-stripe-bg: #fafafa}.vs-datatable.vs-theme-colorful .vs-table thead th{background:var(--vs-table-header-bg);color:var(--vs-table-header-color);font-weight:600}.vs-datatable.vs-theme-colorful .vs-pagination-button.vs-active{background:linear-gradient(135deg,var(--vs-primary),var(--vs-secondary))}.vs-datatable.vs-theme-corporate{--vs-primary: #1e3a8a;--vs-secondary: #64748b;--vs-success: #059669;--vs-danger: #dc2626;--vs-warning: #d97706;--vs-info: #0891b2;--vs-light: #f8fafc;--vs-dark: #1e293b;--vs-table-bg: #ffffff;--vs-table-border: #e2e8f0;--vs-table-header-bg: #f1f5f9;--vs-table-header-color: #334155;--vs-table-hover-bg: #f8fafc;--vs-table-stripe-bg: #ffffff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.vs-datatable.vs-theme-corporate .vs-table{border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.vs-datatable.vs-theme-corporate .vs-table thead th{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:16px 20px}.vs-datatable.vs-theme-corporate .vs-table tbody td{padding:16px 20px;font-size:14px}.vs-datatable.vs-theme-compact{--vs-spacing-xs: 2px;--vs-spacing-sm: 4px;--vs-spacing-md: 8px;--vs-spacing-lg: 12px;--vs-spacing-xl: 16px;--vs-font-size: 12px;--vs-font-size-sm: 10px;--vs-font-size-lg: 14px}.vs-datatable.vs-theme-compact .vs-table thead th{padding:var(--vs-spacing-sm) var(--vs-spacing-md);font-size:var(--vs-font-size-sm)}.vs-datatable.vs-theme-compact .vs-table tbody td{padding:var(--vs-spacing-sm) var(--vs-spacing-md);font-size:var(--vs-font-size)}.vs-datatable.vs-theme-compact .vs-pagination-button{min-width:24px;height:24px;font-size:var(--vs-font-size-sm)}.vs-datatable.vs-theme-rounded{--vs-border-radius: 12px;--vs-border-radius-sm: 6px;--vs-border-radius-lg: 16px}.vs-datatable.vs-theme-rounded .vs-table-container{border-radius:var(--vs-border-radius);overflow:hidden}.vs-datatable.vs-theme-rounded .vs-table thead th:first-child{border-top-left-radius:var(--vs-border-radius)}.vs-datatable.vs-theme-rounded .vs-table thead th:last-child{border-top-right-radius:var(--vs-border-radius)}.vs-datatable.vs-theme-rounded .vs-pagination-button{border-radius:var(--vs-border-radius-sm)}.vs-datatable.vs-theme-brand{--vs-primary: #ff6b35;--vs-secondary: #004e89;--vs-success: #00a896;--vs-danger: #e63946;--vs-warning: #f77f00;--vs-info: #06a77d}.vs-datatable.vs-theme-brand .vs-table-container{border:2px solid var(--vs-primary);border-radius:16px;box-shadow:0 8px 32px #ff6b3533}.vs-datatable.vs-theme-brand .vs-table thead th{background:linear-gradient(135deg,var(--vs-primary),var(--vs-secondary));color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.vs-datatable.vs-theme-brand .vs-pagination-button.vs-active{background:var(--vs-primary);transform:scale(1.05)}.vs-datatable.vs-theme-brand .vs-pagination-button:hover:not(:disabled){border-color:var(--vs-primary);transform:translateY(-1px)}
2
- /*$vite$:1*/`,document.head.appendChild(P);function R(t,o){return o.split(".").reduce((s,a)=>s?.[a],t)??""}function h(t,o,s="id"){return typeof s=="function"?s(t,o):t[s]||o}function D(t,o,s="id"){return o.some(a=>h(a,-1,s)===h(t,-1,s))}function I(t,o){return t.length+(o?1:0)}function O(t,o){if(!o.length)return t;const s=(a,d)=>d.split(".").reduce((l,n)=>l?.[n],a)??"";return[...t].sort((a,d)=>{for(const{field:l,order:n}of o){const b=s(a,l),v=s(d,l);if(b!==v)return n==="asc"?b>v?1:-1:b<v?1:-1}return 0})}function H(t,o,s){if(!s)return t;const a=(o-1)*s,d=a+s;return t.slice(a,d)}function M(t,o,s){const a=(t-1)*o+1,d=Math.min(t*o,s);return{start:a,end:d}}function T(t,o){return Math.ceil(t/o)}const L=["id"],A=["disabled"],K={key:1,class:"vs-pagination-ellipsis"},F=["id","onClick"],j={key:2,class:"vs-pagination-ellipsis"},U=["disabled"],Q=e.defineComponent({__name:"VsPagination",props:{modelValue:{},totalRecords:{},rowsPerPage:{},tablename:{},maxVisible:{},paginationClass:{}},emits:["update:modelValue","page-changed"],setup(t,{emit:o}){const s=t,a=o,d=s.maxVisible??3,l=e.computed({get:()=>s.modelValue,set:i=>{a("update:modelValue",i),a("page-changed",i)}}),n=e.computed(()=>l.value<=Math.floor(d/2)?1:l.value>=v.value-Math.floor(d/2)?Math.max(v.value-d+1,1):l.value-Math.floor(d/2)),b=e.computed(()=>Math.min(n.value+d-1,v.value)),v=e.computed(()=>T(s.totalRecords,s.rowsPerPage)),m=e.computed(()=>{const i=[];for(let g=n.value;g<=b.value;g++)i.push(g);return i}),V=i=>{i>=1&&i<=v.value&&(l.value=i)},B=()=>{l.value>1&&l.value--},z=()=>{l.value<v.value&&l.value++};return(i,g)=>(e.openBlock(),e.createElementBlock("div",{class:"vs-pagination",id:t.tablename+"-pagination"},[e.createElementVNode("button",{onClick:B,type:"button",class:"vs-pagination-button vs-pagination-nav",disabled:l.value===1}," ‹‹ ",8,A),n.value>1?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"vs-pagination-button",onClick:g[0]||(g[0]=r=>V(1))}," 1 ")):e.createCommentVNode("",!0),n.value>2?(e.openBlock(),e.createElementBlock("span",K,"...")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,r=>(e.openBlock(),e.createElementBlock("button",{key:r,type:"button",class:e.normalizeClass(["vs-pagination-button",{"vs-active":l.value===r}]),id:t.tablename+"-page-"+r,onClick:f=>V(r)},e.toDisplayString(r),11,F))),128)),b.value<v.value-1?(e.openBlock(),e.createElementBlock("span",j,"...")):e.createCommentVNode("",!0),b.value<v.value?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"vs-pagination-button",onClick:g[1]||(g[1]=r=>V(v.value))},e.toDisplayString(v.value),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{onClick:z,type:"button",class:"vs-pagination-button vs-pagination-nav",disabled:l.value===v.value}," ›› ",8,U)],8,L))}}),N=(t,o)=>{const s=t.__vccOpts||t;for(const[a,d]of o)s[a]=d;return s},Y=N(Q,[["__scopeId","data-v-dd26d1ca"]]),Z={class:"vs-search"},q=["placeholder","value"],G=e.defineComponent({__name:"VsSearch",props:{modelValue:{},placeholder:{}},emits:["update:modelValue","input-typed"],setup(t,{emit:o}){const s=o,a=d=>{const l=d.target;s("update:modelValue",l.value),s("input-typed",l.value)};return(d,l)=>(e.openBlock(),e.createElementBlock("div",Z,[l[0]||(l[0]=e.createElementVNode("div",{class:"vs-search-icon"},[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[e.createElementVNode("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})])],-1)),e.createElementVNode("input",{type:"text",class:"vs-search-input",placeholder:t.placeholder,value:t.modelValue,onInput:a},null,40,q)]))}}),J={class:"vs-rows-per-page"},W=["value"],X=["value"],ee=N(e.defineComponent({__name:"VsRowsPerPage",props:{modelValue:{},options:{}},emits:["update:modelValue","rows-per-page-changed"],setup(t,{emit:o}){const s=t,a=o,d=s.options??[10,25,50,100],l=n=>{const b=Number(n.target.value);a("update:modelValue",b),a("rows-per-page-changed",b)};return(n,b)=>(e.openBlock(),e.createElementBlock("div",J,[b[0]||(b[0]=e.createElementVNode("span",{class:"vs-rows-label"},"Items Per Page",-1)),e.createElementVNode("select",{class:"vs-items-dropdown",value:t.modelValue,onChange:l},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),v=>(e.openBlock(),e.createElementBlock("option",{key:v,value:v},e.toDisplayString(v),9,X))),128))],40,W)]))}}),[["__scopeId","data-v-dd11bb0e"]]);function te(t,o,s,a){const d=e.ref(1),l=e.ref(t.sort??[]);e.watch(()=>t.sort,i=>{i&&(l.value=[...i])},{deep:!0});const n=e.computed(()=>t.serverOptions?.sort??l.value??[]);return{sortedRows:e.computed(()=>{let i=t.rows;return n.value.length&&(i=O(t.rows,n.value)),t.rowsPerPage&&(i=H(i,s.value,a.value)),i}),activeSort:n,sortHelpers:{isColumnSorted:i=>n.value.some(g=>g.field===i),getSortPriority:i=>{const g=n.value.find(r=>r.field===i);return g?g.priority??null:null},getSortOrder:i=>n.value.find(g=>g.field===i)?.order??null,handleSort:(i,g)=>{let r=[];t.serverOptions?r=[...t.serverOptions.sort??[]]:t.sort&&(r=[...t.sort]);const f=r.findIndex(u=>u.field===i);g.shiftKey?f===-1?r.push({field:i,order:"asc"}):r[f]?.order==="asc"?r[f].order="desc":r.splice(f,1):f===-1?r=[{field:i,order:"asc"}]:r[f]?.order==="asc"?r=[{field:i,order:"desc"}]:r=[],r=r.map((u,x)=>({...u,priority:x+1})),t.serverOptions?o("update:serverOptions",{...t.serverOptions,sort:r}):o("update:sort",r),s.value=d.value,o("sort-changed",{sort:r})}}}}function ae(t,o,s,a){const d=e.computed({get:()=>t.serverItemsLength!==void 0?t.serverItemsLength:t.rows.length,set:m=>{t.serverItemsLength!==void 0&&o("update:serverItemsLength",m)}}),l=e.computed({get:()=>t.serverOptions?.page??s.value,set:m=>{t.serverOptions?o("update:serverOptions",{...t.serverOptions,page:m}):s.value=m}}),n=e.computed(()=>{const m=a.value;return M(s.value,m,d.value)}),b=m=>{t.serverOptions&&o("update:serverOptions",{...t.serverOptions,page:m}),o("page-updated",m)};return{currentPage:l,totalRecords:d,recordRange:n,handlePageChange:b,paginationHelpers:{page:s,totalRecords:d,recordRange:n,handlePageChange:b}}}function se(t,o,s,a){const d=e.computed({get:()=>a.value,set:n=>a.value=n});return e.watch(a,n=>{const b=t.serverItemsLength??t.rows.length,v=T(b,n);s.value>v?s.value=v||1:s.value<1&&(s.value=1)}),{vsRowsPerPage:d,handleRowsPerPage:n=>{a.value=n,o("rows-per-page-changed",n)}}}function oe(t,o){const s=e.ref(1),a=e.ref(t.serverOptions?.rowsPerPage??t.rowsPerPage),{totalRecords:d,recordRange:l,handlePageChange:n}=ae(t,o,s,a),{handleRowsPerPage:b}=se(t,o,s,a),{sortedRows:v,sortHelpers:m}=te(t,o,s,a);return{page:s,rowsPerPage:a,totalRecords:d,recordRange:l,handlePageChange:n,handleRowsPerPage:b,sortedRows:v,sortHelpers:m}}function re(t,o){const s=e.ref(t.itemSelected||[]);e.watch(()=>t.itemSelected,r=>{r?s.value=[...r]:s.value=[]},{immediate:!0,deep:!0});const a=e.computed({get:()=>s.value,set:r=>{s.value=r,o("update:itemSelected",r)}}),d=e.computed(()=>t.itemSelected!==null),l=e.computed(()=>t.rows.length>0&&a.value.length===t.rows.length),n=e.computed(()=>!t.rows.length||!a.value.length?!1:!l.value&&t.rows.some((r,f)=>a.value.some((u,x)=>h(u,x,t.rowKey)===h(r,f,t.rowKey)))),b=(r,f)=>{const u=h(r,f,t.rowKey);a.value.some((C,E)=>h(C,E,t.rowKey)===u)?(a.value=a.value.filter((C,E)=>h(C,E,t.rowKey)!==u),o("row-deselected",r,f)):(a.value=[...a.value,r],o("row-selected",r,f))},v=r=>{const f=r.target;a.value=f.checked?[...t.rows]:[],o("all-rows-selected",a.value)};return{selectedItems:a,isItemSelectedControlled:d,isAllChecked:l,isSomeChecked:n,toggleRow:b,toggleAll:v,selectRow:(r,f)=>{D(r,a.value,t.rowKey)||(a.value=[...a.value,r],o("row-selected",r,f))},deselectRow:(r,f)=>{const u=h(r,f,t.rowKey);a.value=a.value.filter((x,C)=>h(x,C,t.rowKey)!==u),o("row-deselected",r,f)},selectAll:()=>{a.value=[...t.rows],o("all-rows-selected",a.value)},deselectAll:()=>{a.value=[],o("all-rows-selected",[])},clearSelection:()=>{a.value=[]},selectionHelpers:{selectedItems:a,isItemSelectedControlled:d,isAllChecked:l,isSomeChecked:n,toggleRow:b,toggleAll:v}}}function ne(t){const o=e.ref(""),s=n=>{o.value=n,t("input-typed",n)};return{searchQuery:o,onInputTyped:s,clearSearch:()=>{o.value="",t("input-typed","")},setSearchQuery:n=>{o.value=n,t("input-typed",n)},searchHelpers:{searchQuery:o,onInputTyped:s}}}const le={class:"vs-datatable"},ie={key:0,class:"vs-search-container"},de={ref:"tableResponsiveRef",class:"vs-table-wrapper"},ce={key:0,class:"vs-checkbox-column",style:{width:"5%"}},ve={class:"vs-checkbox"},be=["id","checked","indeterminate"],fe=["for"],ge=["onClick"],pe={class:"vs-header-content"},me={class:"vs-header-label"},he={key:0,class:"vs-sort-icons"},ue={key:1,class:"vs-sort-priority"},xe={key:0},ye=["colspan"],we={key:1},ke=["colspan"],Ve={class:"vs-no-data-message"},Ce={class:"vs-no-data-description"},Ee=["onClick"],Se={class:"vs-checkbox"},ze=["id","value","checked","onChange"],Be=["for"],Ne={key:1,class:"vs-table-footer"},Pe={class:"vs-footer-left"},Re={class:"vs-table-info"},$=N(e.defineComponent({__name:"VsDataTable",props:{rows:{default:()=>[]},itemSelected:{default:null},tablename:{default:"default-table"},sort:{},serverItemsLength:{},serverOptions:{default:null},showHeader:{type:Boolean,default:!0},headerText:{default:""},loading:{type:Boolean,default:!1},columns:{},showSearch:{type:Boolean,default:!0},tableClass:{},rowClass:{},showFooter:{type:Boolean,default:!0},containerClass:{},headerClass:{},cellClass:{},searchClass:{},paginationClass:{},searchPlaceholder:{default:"Search..."},loadingText:{default:"Loading..."},noDataText:{default:"No data available"},noDataDescription:{default:"Try adjusting your search criteria"},entriesText:{default:"entries"},maxVisiblePages:{default:5},rowsPerPage:{default:10},rowKey:{type:[String,Function],default:"id"}},emits:["update:itemSelected","update:serverItemsLength","update:serverOptions","update:sort","input-typed","page-updated","sort-changed","row-click","row-selected","row-deselected","all-rows-selected","table:mounted","table:unmounted","table:before-mount","data-loaded","data-error"],setup(t,{emit:o}){const s=t,a=o,d=e.useAttrs(),l=e.computed(()=>!!d.onRowClick),{page:n,rowsPerPage:b,totalRecords:v,recordRange:m,handlePageChange:V,handleRowsPerPage:B,sortedRows:z,sortHelpers:i}=oe(s,a),{selectedItems:g,isItemSelectedControlled:r,isAllChecked:f,isSomeChecked:u,toggleAll:x,toggleRow:C}=re(s,a),{searchQuery:E,onInputTyped:Te}=ne(a),_=e.computed(()=>I(s.columns,r.value));return e.onMounted(()=>{a("table:mounted");try{a("data-loaded",s.rows)}catch(S){a("data-error",S)}}),e.onUnmounted(()=>{a("table:unmounted")}),e.onBeforeMount(()=>{a("table:before-mount")}),(S,p)=>(e.openBlock(),e.createElementBlock("div",le,[t.showSearch?(e.openBlock(),e.createElementBlock("div",ie,[e.createVNode(G,{modelValue:e.unref(E),"onUpdate:modelValue":p[0]||(p[0]=c=>e.isRef(E)?E.value=c:null),onInputTyped:e.unref(Te),placeholder:t.searchPlaceholder,class:e.normalizeClass(t.searchClass)},null,8,["modelValue","onInputTyped","placeholder","class"]),e.renderSlot(S.$slots,"filterArea",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["vs-table-container",t.containerClass])},[e.createElementVNode("div",de,[e.createElementVNode("table",{class:e.normalizeClass(["vs-table",t.tableClass])},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.unref(r)?(e.openBlock(),e.createElementBlock("th",ce,[e.createElementVNode("div",ve,[e.createElementVNode("input",{type:"checkbox",id:t.tablename+"-main-checkbox",checked:e.unref(f),indeterminate:e.unref(u),onChange:p[1]||(p[1]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,40,be),e.createElementVNode("label",{for:t.tablename+"-main-checkbox"},null,8,fe)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,c=>(e.openBlock(),e.createElementBlock("th",{key:c.field,onClick:y=>c.sortable?e.unref(i).handleSort(c.field,y):null,style:e.normalizeStyle({width:c.width+"%"}),class:e.normalizeClass([c.sortable?"vs-sortable":"",t.headerClass])},[e.renderSlot(S.$slots,`header-${c.field}`,{column:c},()=>[e.createElementVNode("div",pe,[e.createElementVNode("span",me,e.toDisplayString(c.label),1),c.sortable?(e.openBlock(),e.createElementBlock("div",he,[e.createElementVNode("span",{class:e.normalizeClass(["vs-sort-icon vs-sort-asc",{"vs-active":e.unref(i).isColumnSorted(c.field)&&e.unref(i).getSortOrder(c.field)==="asc"}])},[...p[5]||(p[5]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 -960 960 960",width:"24px"},[e.createElementVNode("path",{d:"m280-400 200-200 200 200H280Z"})],-1)])],2),e.createElementVNode("span",{class:e.normalizeClass(["vs-sort-icon vs-sort-desc",{"vs-active":e.unref(i).isColumnSorted(c.field)&&e.unref(i).getSortOrder(c.field)==="desc"}])},[...p[6]||(p[6]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 -960 960 960",width:"24px"},[e.createElementVNode("path",{d:"M480-360 280-560h400L480-360Z"})],-1)])],2)])):e.createCommentVNode("",!0),e.unref(i).getSortPriority(c.field)!==null?(e.openBlock(),e.createElementBlock("span",ue,e.toDisplayString(e.unref(i).getSortPriority(c.field)),1)):e.createCommentVNode("",!0)])],!0)],14,ge))),128))])]),e.createElementVNode("tbody",null,[t.loading?(e.openBlock(),e.createElementBlock("tr",xe,[e.createElementVNode("td",{colspan:_.value,class:"vs-loading"},[p[7]||(p[7]=e.createElementVNode("div",{class:"vs-spinner"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(t.loadingText),1)],8,ye)])):e.unref(z).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(e.unref(z),(c,y)=>(e.openBlock(),e.createElementBlock("tr",{key:e.unref(h)(c,y),class:e.normalizeClass([t.rowClass,{"vs-row-clickable":l.value},{"vs-row-selected":e.unref(D)(c,e.unref(g),t.rowKey)}]),onClick:w=>S.$emit("row-click",c,y)},[e.unref(r)?(e.openBlock(),e.createElementBlock("td",{key:0,onClick:p[2]||(p[2]=e.withModifiers(()=>{},["stop"])),class:"vs-checkbox-column"},[e.createElementVNode("div",Se,[e.createElementVNode("input",{type:"checkbox",id:t.tablename+"-checkbox-"+e.unref(h)(c,y),value:c,checked:e.unref(g).some((w,$e)=>e.unref(h)(w,$e)===e.unref(h)(c,y)),onChange:w=>e.unref(C)(c,y)},null,40,ze),e.createElementVNode("label",{for:t.tablename+"-checkbox-"+e.unref(h)(c,y)},null,8,Be)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,w=>(e.openBlock(),e.createElementBlock("td",{key:w.field,class:e.normalizeClass(t.cellClass)},[e.renderSlot(S.$slots,`cell-${w.field}`,{item:c,value:e.unref(R)(c,w.field),column:w,index:y},()=>[e.createTextVNode(e.toDisplayString(e.unref(R)(c,w.field)),1)],!0)],2))),128))],10,Ee))),128)):(e.openBlock(),e.createElementBlock("tr",we,[e.createElementVNode("td",{colspan:_.value,class:"vs-no-data"},[e.renderSlot(S.$slots,"no-data",{},()=>[p[8]||(p[8]=e.createElementVNode("div",{class:"vs-no-data-icon"},[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[e.createElementVNode("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"})])],-1)),e.createElementVNode("div",Ve,e.toDisplayString(t.noDataText),1),e.createElementVNode("div",Ce,e.toDisplayString(t.noDataDescription),1)],!0)],8,ke)]))])],2)],512)],2),t.showFooter?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",Pe,[e.createVNode(ee,{modelValue:e.unref(b),"onUpdate:modelValue":p[3]||(p[3]=c=>e.isRef(b)?b.value=c:null),onRowsPerPageChanged:e.unref(B)},null,8,["modelValue","onRowsPerPageChanged"]),p[9]||(p[9]=e.createElementVNode("div",{class:"vs-divider"},null,-1)),e.createElementVNode("div",Re,e.toDisplayString(e.unref(m).start<1?0:e.unref(m).start)+" - "+e.toDisplayString(e.unref(m).end)+" of "+e.toDisplayString(e.unref(v))+" "+e.toDisplayString(t.entriesText),1)]),e.createVNode(Y,{modelValue:e.unref(n),"onUpdate:modelValue":p[4]||(p[4]=c=>e.isRef(n)?n.value=c:null),totalRecords:e.unref(v),rowsPerPage:e.unref(b),maxVisible:t.maxVisiblePages,tablename:t.tablename,class:e.normalizeClass(t.paginationClass),onPageChanged:e.unref(V)},null,8,["modelValue","totalRecords","rowsPerPage","maxVisible","tablename","class","onPageChanged"])])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-b1f39b67"]]),De={install(t){t.component("VsDataTable",$)}};k.VsDataTable=$,k.default=De,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.VsDataTable={},C.Vue))})(this,(function(C,e){"use strict";var P=document.createElement("style");P.textContent=`.vs-pagination[data-v-dd26d1ca]{display:flex;align-items:center;justify-content:center;gap:var(--vs-spacing-sm);flex-wrap:wrap}.vs-pagination-button[data-v-dd26d1ca]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--vs-spacing-sm);border:1px solid var(--vs-table-border);background-color:var(--vs-table-bg);color:var(--vs-dark);text-decoration:none;border-radius:var(--vs-border-radius);font-size:var(--vs-font-size-sm);transition:var(--vs-transition-fast);cursor:pointer}.vs-pagination-button[data-v-dd26d1ca]:hover:not(:disabled){background-color:var(--vs-table-hover-bg);border-color:var(--vs-primary)}.vs-pagination-button.vs-active[data-v-dd26d1ca]{background-color:var(--vs-primary);border-color:var(--vs-primary);color:#fff}.vs-pagination-button[data-v-dd26d1ca]:disabled{opacity:.5;cursor:not-allowed}.vs-pagination-nav[data-v-dd26d1ca]{font-weight:var(--vs-font-weight-bold)}.vs-pagination-ellipsis[data-v-dd26d1ca]{color:var(--vs-secondary);padding:0 var(--vs-spacing-sm);font-size:var(--vs-font-size-sm)}@media (max-width: 768px){.vs-pagination-button[data-v-dd26d1ca]{min-width:28px;height:28px;font-size:12px}}.vs-rows-per-page[data-v-dd11bb0e]{display:flex;align-items:center;gap:8px;font-size:14px}.vs-rows-label[data-v-dd11bb0e]{white-space:nowrap}.vs-datatable[data-v-84a43921]{--vs-table-wrapper-overflow: auto}.vs-table-wrapper[data-v-84a43921]{overflow:var(--vs-table-wrapper-overflow)}.vs-header-content[data-v-84a43921]{display:flex;align-items:center;gap:var(--vs-spacing-sm)}.vs-header-label[data-v-84a43921]{flex:1}.vs-checkbox-column[data-v-84a43921]{width:50px;text-align:center}.vs-row-clickable[data-v-84a43921]{cursor:pointer}.vs-row-selected[data-v-84a43921]{background-color:rgba(var(--vs-primary),.1)}.vs-table-footer[data-v-84a43921]{display:flex;align-items:center;justify-content:space-between;padding:var(--vs-spacing-sm) 0}.vs-table-info[data-v-84a43921]{color:var(--vs-secondary);font-size:var(--vs-font-size-md)}.vs-search-container[data-v-84a43921]{margin-bottom:var(--vs-spacing-md)}:root{--vs-primary: #007bff;--vs-secondary: #6c757d;--vs-success: #28a745;--vs-danger: #dc3545;--vs-warning: #ffc107;--vs-info: #17a2b8;--vs-light: #f8f9fa;--vs-dark: #343a40;--vs-table-bg: #ffffff;--vs-table-border: #dee2e6;--vs-table-header-bg: #f8f9fa;--vs-table-header-color: #495057;--vs-table-hover-bg: #f5f5f5;--vs-table-stripe-bg: #fafafa;--vs-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vs-font-size: 14px;--vs-font-size-sm: 12px;--vs-font-size-lg: 16px;--vs-font-weight-normal: 400;--vs-font-weight-bold: 600;--vs-spacing-xs: 4px;--vs-spacing-sm: 8px;--vs-spacing-md: 16px;--vs-spacing-lg: 24px;--vs-spacing-xl: 32px;--vs-border-radius: 4px;--vs-border-radius-sm: 2px;--vs-border-radius-lg: 8px;--vs-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--vs-shadow: 0 2px 4px rgba(0, 0, 0, .1);--vs-shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--vs-transition: all .2s ease-in-out;--vs-transition-fast: all .15s ease-in-out;--vs-z-dropdown: 1000;--vs-z-sticky: 1020;--vs-z-fixed: 1030;--vs-z-modal: 1040;--vs-z-popover: 1050;--vs-z-tooltip: 1060}.vs-datatable{font-family:var(--vs-font-family);font-size:var(--vs-font-size);line-height:1.5;color:var(--vs-dark);background-color:var(--vs-table-bg);box-sizing:border-box}.vs-datatable *,.vs-datatable *:before,.vs-datatable *:after{box-sizing:border-box}.vs-table-container{position:relative;background-color:var(--vs-table-bg);border:1px solid var(--vs-table-border);border-radius:var(--vs-border-radius);overflow:hidden;box-shadow:var(--vs-shadow-sm)}.vs-table{width:100%;margin:0;border-collapse:separate;border-spacing:0;background-color:var(--vs-table-bg)}.vs-table thead{background-color:var(--vs-table-header-bg)}.vs-table thead th{padding:var(--vs-spacing-md);font-weight:var(--vs-font-weight-bold);color:var(--vs-table-header-color);text-align:left;vertical-align:middle;border-bottom:2px solid var(--vs-table-border);position:relative;-webkit-user-select:none;user-select:none}.vs-table thead th:first-child{border-top-left-radius:var(--vs-border-radius)}.vs-table thead th:last-child{border-top-right-radius:var(--vs-border-radius)}.vs-table tbody tr{transition:var(--vs-transition-fast);border-bottom:1px solid var(--vs-table-border)}.vs-table tbody tr:hover{background-color:var(--vs-table-hover-bg)}.vs-table tbody tr:nth-child(2n){background-color:var(--vs-table-stripe-bg)}.vs-table tbody tr:last-child{border-bottom:none}.vs-table tbody tr td{padding:var(--vs-spacing-md);vertical-align:middle;border-right:1px solid var(--vs-table-border)}.vs-table tbody tr td:last-child{border-right:none}.vs-sortable{cursor:pointer;position:relative}.vs-sortable:hover{background-color:rgba(var(--vs-primary),.1)}.vs-sortable .vs-sort-icons{display:inline-flex;flex-direction:column;margin-left:var(--vs-spacing-sm);vertical-align:middle}.vs-sortable .vs-sort-icons .vs-sort-icon{font-size:10px;line-height:1;color:var(--vs-secondary);transition:var(--vs-transition-fast);margin:-8px 0}.vs-sortable .vs-sort-icons .vs-sort-icon.vs-sort-asc,.vs-sortable .vs-sort-icons .vs-sort-icon.vs-sort-desc{color:var(--vs-primary)}.vs-sortable .vs-sort-icons .vs-sort-icon svg{fill:#e3e3e3}.vs-sortable .vs-sort-icons .vs-sort-icon.vs-active svg{fill:currentColor}.vs-sortable .vs-sort-priority{display:inline-block;background-color:var(--vs-primary);color:#fff;font-size:10px;padding:2px 6px;border-radius:var(--vs-border-radius-sm);margin-left:var(--vs-spacing-sm);font-weight:var(--vs-font-weight-bold)}.vs-loading{display:flex;align-items:center;justify-content:center;padding:var(--vs-spacing-xl);color:var(--vs-secondary)}.vs-loading .vs-spinner{width:20px;height:20px;border:2px solid var(--vs-table-border);border-top:2px solid var(--vs-primary);border-radius:50%;animation:vs-spin 1s linear infinite;margin-right:var(--vs-spacing-sm)}@keyframes vs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vs-no-data{text-align:center;padding:var(--vs-spacing-xl);color:var(--vs-secondary)}.vs-no-data .vs-no-data-icon{width:60px;height:60px;margin:0 auto var(--vs-spacing-md);opacity:.5}.vs-no-data .vs-no-data-message{font-size:var(--vs-font-size-lg);font-weight:var(--vs-font-weight-bold);margin-bottom:var(--vs-spacing-sm)}.vs-no-data .vs-no-data-description{font-size:var(--vs-font-size-sm);color:var(--vs-secondary)}.vs-search{position:relative;margin-bottom:var(--vs-spacing-md)}.vs-search .vs-search-input{width:100%;padding:var(--vs-spacing-sm) var(--vs-spacing-md);padding-left:40px;border:1px solid var(--vs-table-border);border-radius:var(--vs-border-radius);font-size:var(--vs-font-size);transition:var(--vs-transition-fast)}.vs-search .vs-search-input:focus{outline:none;border-color:var(--vs-primary);box-shadow:0 0 0 2px rgba(var(--vs-primary),.25)}.vs-search .vs-search-icon{position:absolute;left:var(--vs-spacing-md);top:50%;transform:translateY(-50%);color:var(--vs-secondary);pointer-events:none}.vs-pagination{display:flex;align-items:center;justify-content:center;gap:var(--vs-spacing-sm);margin-top:var(--vs-spacing-md)}.vs-pagination .vs-pagination-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--vs-spacing-sm);border:1px solid var(--vs-table-border);background-color:var(--vs-table-bg);color:var(--vs-dark);text-decoration:none;border-radius:var(--vs-border-radius);font-size:var(--vs-font-size-sm);transition:var(--vs-transition-fast);cursor:pointer}.vs-pagination .vs-pagination-button:hover:not(:disabled){background-color:var(--vs-table-hover-bg);border-color:var(--vs-primary)}.vs-pagination .vs-pagination-button.vs-active{background-color:var(--vs-primary);border-color:var(--vs-primary);color:#fff}.vs-pagination .vs-pagination-button:disabled{opacity:.5;cursor:not-allowed}.vs-pagination .vs-pagination-ellipsis{color:var(--vs-secondary);padding:0 var(--vs-spacing-sm)}.vs-checkbox{display:inline-flex;align-items:center;cursor:pointer}.vs-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--vs-primary)}.vs-checkbox label{margin:0;cursor:pointer;font-size:var(--vs-font-size-sm)}.vs-footer-left{display:flex;align-items:center;gap:12px}.vs-divider{width:1px;height:20px;background-color:#ccc}.vs-rows-per-page{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057}.vs-items-dropdown{padding:6px 8px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px}@media (max-width: 768px){.vs-table-container{overflow-x:auto}.vs-table{min-width:600px}.vs-pagination{flex-wrap:wrap;gap:var(--vs-spacing-xs)}.vs-pagination .vs-pagination-button{min-width:28px;height:28px;font-size:12px}}.vs-text-center{text-align:center}.vs-text-left{text-align:left}.vs-text-right{text-align:right}.vs-text-muted{color:var(--vs-secondary)}.vs-text-primary{color:var(--vs-primary)}.vs-text-success{color:var(--vs-success)}.vs-text-danger{color:var(--vs-danger)}.vs-text-warning{color:var(--vs-warning)}.vs-bg-primary{background-color:var(--vs-primary)}.vs-bg-success{background-color:var(--vs-success)}.vs-bg-danger{background-color:var(--vs-danger)}.vs-bg-warning{background-color:var(--vs-warning)}.vs-bg-light{background-color:var(--vs-light)}.vs-border{border:1px solid var(--vs-table-border)}.vs-border-top{border-top:1px solid var(--vs-table-border)}.vs-border-bottom{border-bottom:1px solid var(--vs-table-border)}.vs-border-left{border-left:1px solid var(--vs-table-border)}.vs-border-right{border-right:1px solid var(--vs-table-border)}.vs-rounded{border-radius:var(--vs-border-radius)}.vs-rounded-sm{border-radius:var(--vs-border-radius-sm)}.vs-rounded-lg{border-radius:var(--vs-border-radius-lg)}.vs-shadow{box-shadow:var(--vs-shadow)}.vs-shadow-sm{box-shadow:var(--vs-shadow-sm)}.vs-shadow-lg{box-shadow:var(--vs-shadow-lg)}.vs-fade-in{animation:vs-fade-in .3s ease-in-out}@keyframes vs-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.vs-slide-in{animation:vs-slide-in .3s ease-in-out}@keyframes vs-slide-in{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.vs-datatable.vs-theme-dark{--vs-primary: #0d6efd;--vs-secondary: #6c757d;--vs-success: #198754;--vs-danger: #dc3545;--vs-warning: #ffc107;--vs-info: #0dcaf0;--vs-light: #f8f9fa;--vs-dark: #212529;--vs-table-bg: #1a1a1a;--vs-table-border: #333333;--vs-table-header-bg: #2d2d2d;--vs-table-header-color: #ffffff;--vs-table-hover-bg: #333333;--vs-table-stripe-bg: #222222;color:#fff;background-color:var(--vs-table-bg)}.vs-datatable.vs-theme-minimal{--vs-primary: #000000;--vs-secondary: #666666;--vs-success: #000000;--vs-danger: #000000;--vs-warning: #000000;--vs-info: #000000;--vs-light: #f9f9f9;--vs-dark: #000000;--vs-table-bg: #ffffff;--vs-table-border: #e0e0e0;--vs-table-header-bg: #ffffff;--vs-table-header-color: #000000;--vs-table-hover-bg: #f5f5f5;--vs-table-stripe-bg: #ffffff}.vs-datatable.vs-theme-minimal .vs-table{border:none;box-shadow:none}.vs-datatable.vs-theme-minimal .vs-table thead th{border-bottom:2px solid var(--vs-table-border);font-weight:500}.vs-datatable.vs-theme-minimal .vs-table tbody tr{border-bottom:1px solid var(--vs-table-border)}.vs-datatable.vs-theme-colorful{--vs-primary: #e91e63;--vs-secondary: #9c27b0;--vs-success: #4caf50;--vs-danger: #f44336;--vs-warning: #ff9800;--vs-info: #2196f3;--vs-light: #f3e5f5;--vs-dark: #2e2e2e;--vs-table-bg: #ffffff;--vs-table-border: #e1bee7;--vs-table-header-bg: linear-gradient(135deg, #e91e63, #9c27b0);--vs-table-header-color: #ffffff;--vs-table-hover-bg: #f3e5f5;--vs-table-stripe-bg: #fafafa}.vs-datatable.vs-theme-colorful .vs-table thead th{background:var(--vs-table-header-bg);color:var(--vs-table-header-color);font-weight:600}.vs-datatable.vs-theme-colorful .vs-pagination-button.vs-active{background:linear-gradient(135deg,var(--vs-primary),var(--vs-secondary))}.vs-datatable.vs-theme-corporate{--vs-primary: #1e3a8a;--vs-secondary: #64748b;--vs-success: #059669;--vs-danger: #dc2626;--vs-warning: #d97706;--vs-info: #0891b2;--vs-light: #f8fafc;--vs-dark: #1e293b;--vs-table-bg: #ffffff;--vs-table-border: #e2e8f0;--vs-table-header-bg: #f1f5f9;--vs-table-header-color: #334155;--vs-table-hover-bg: #f8fafc;--vs-table-stripe-bg: #ffffff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.vs-datatable.vs-theme-corporate .vs-table{border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.vs-datatable.vs-theme-corporate .vs-table thead th{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:16px 20px}.vs-datatable.vs-theme-corporate .vs-table tbody td{padding:16px 20px;font-size:14px}.vs-datatable.vs-theme-compact{--vs-spacing-xs: 2px;--vs-spacing-sm: 4px;--vs-spacing-md: 8px;--vs-spacing-lg: 12px;--vs-spacing-xl: 16px;--vs-font-size: 12px;--vs-font-size-sm: 10px;--vs-font-size-lg: 14px}.vs-datatable.vs-theme-compact .vs-table thead th{padding:var(--vs-spacing-sm) var(--vs-spacing-md);font-size:var(--vs-font-size-sm)}.vs-datatable.vs-theme-compact .vs-table tbody td{padding:var(--vs-spacing-sm) var(--vs-spacing-md);font-size:var(--vs-font-size)}.vs-datatable.vs-theme-compact .vs-pagination-button{min-width:24px;height:24px;font-size:var(--vs-font-size-sm)}.vs-datatable.vs-theme-rounded{--vs-border-radius: 12px;--vs-border-radius-sm: 6px;--vs-border-radius-lg: 16px}.vs-datatable.vs-theme-rounded .vs-table-container{border-radius:var(--vs-border-radius);overflow:hidden}.vs-datatable.vs-theme-rounded .vs-table thead th:first-child{border-top-left-radius:var(--vs-border-radius)}.vs-datatable.vs-theme-rounded .vs-table thead th:last-child{border-top-right-radius:var(--vs-border-radius)}.vs-datatable.vs-theme-rounded .vs-pagination-button{border-radius:var(--vs-border-radius-sm)}.vs-datatable.vs-theme-brand{--vs-primary: #ff6b35;--vs-secondary: #004e89;--vs-success: #00a896;--vs-danger: #e63946;--vs-warning: #f77f00;--vs-info: #06a77d}.vs-datatable.vs-theme-brand .vs-table-container{border:2px solid var(--vs-primary);border-radius:16px;box-shadow:0 8px 32px #ff6b3533}.vs-datatable.vs-theme-brand .vs-table thead th{background:linear-gradient(135deg,var(--vs-primary),var(--vs-secondary));color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.vs-datatable.vs-theme-brand .vs-pagination-button.vs-active{background:var(--vs-primary);transform:scale(1.05)}.vs-datatable.vs-theme-brand .vs-pagination-button:hover:not(:disabled){border-color:var(--vs-primary);transform:translateY(-1px)}
2
+ /*$vite$:1*/`,document.head.appendChild(P);function R(t,s){return s.split(".").reduce((o,a)=>o?.[a],t)??""}function u(t,s,o="id"){return typeof o=="function"?o(t,s):t[o]||s}function T(t,s,o="id"){return s.some(a=>u(a,-1,o)===u(t,-1,o))}function I(t,s){return t.length+(s?1:0)}function O(t,s){if(!s.length)return t;const o=(a,l)=>l.split(".").reduce((r,i)=>r?.[i],a)??"";return[...t].sort((a,l)=>{for(const{field:r,order:i}of s){const d=o(a,r),f=o(l,r);if(d!==f)return i==="asc"?d>f?1:-1:d<f?1:-1}return 0})}function H(t,s,o){if(!o)return t;const a=(s-1)*o,l=a+o;return t.slice(a,l)}function L(t,s,o){const a=(t-1)*s+1,l=Math.min(t*s,o);return{start:a,end:l}}function D(t,s){return Math.ceil(t/s)}function M(t,s,o){if(!s||s.trim()==="")return t;const a=s.toLowerCase();return t.filter(l=>Object.values(l).some(r=>String(r??"").toLowerCase().includes(a)))}const A=["id"],K=["disabled"],j={key:1,class:"vs-pagination-ellipsis"},F=["id","onClick"],U={key:2,class:"vs-pagination-ellipsis"},Y=["disabled"],Z=e.defineComponent({__name:"VsPagination",props:{modelValue:{},totalRecords:{},rowsPerPage:{},tablename:{},maxVisible:{},paginationClass:{}},emits:["update:modelValue","page-changed"],setup(t,{emit:s}){const o=t,a=s,l=o.maxVisible??3,r=e.computed({get:()=>o.modelValue,set:g=>{a("update:modelValue",g),a("page-changed",g)}}),i=e.computed(()=>r.value<=Math.floor(l/2)?1:r.value>=f.value-Math.floor(l/2)?Math.max(f.value-l+1,1):r.value-Math.floor(l/2)),d=e.computed(()=>Math.min(i.value+l-1,f.value)),f=e.computed(()=>D(o.totalRecords,o.rowsPerPage)),x=e.computed(()=>{const g=[];for(let c=i.value;c<=d.value;c++)g.push(c);return g}),m=g=>{g>=1&&g<=f.value&&(r.value=g)},S=()=>{r.value>1&&r.value--},z=()=>{r.value<f.value&&r.value++};return(g,c)=>(e.openBlock(),e.createElementBlock("div",{class:"vs-pagination",id:t.tablename+"-pagination"},[e.createElementVNode("button",{onClick:S,type:"button",class:"vs-pagination-button vs-pagination-nav",disabled:r.value===1}," ‹‹ ",8,K),i.value>1?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"vs-pagination-button",onClick:c[0]||(c[0]=n=>m(1))}," 1 ")):e.createCommentVNode("",!0),i.value>2?(e.openBlock(),e.createElementBlock("span",j,"...")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,n=>(e.openBlock(),e.createElementBlock("button",{key:n,type:"button",class:e.normalizeClass(["vs-pagination-button",{"vs-active":r.value===n}]),id:t.tablename+"-page-"+n,onClick:v=>m(n)},e.toDisplayString(n),11,F))),128)),d.value<f.value-1?(e.openBlock(),e.createElementBlock("span",U,"...")):e.createCommentVNode("",!0),d.value<f.value?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"vs-pagination-button",onClick:c[1]||(c[1]=n=>m(f.value))},e.toDisplayString(f.value),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{onClick:z,type:"button",class:"vs-pagination-button vs-pagination-nav",disabled:r.value===f.value}," ›› ",8,Y)],8,A))}}),N=(t,s)=>{const o=t.__vccOpts||t;for(const[a,l]of s)o[a]=l;return o},Q=N(Z,[["__scopeId","data-v-dd26d1ca"]]),G={class:"vs-search"},J=["placeholder","value"],W=e.defineComponent({__name:"VsSearch",props:{modelValue:{},placeholder:{}},emits:["update:modelValue","input-typed"],setup(t,{emit:s}){const o=s,a=l=>{const r=l.target;o("update:modelValue",r.value),o("input-typed",r.value)};return(l,r)=>(e.openBlock(),e.createElementBlock("div",G,[r[0]||(r[0]=e.createElementVNode("div",{class:"vs-search-icon"},[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[e.createElementVNode("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})])],-1)),e.createElementVNode("input",{type:"text",class:"vs-search-input",placeholder:t.placeholder,value:t.modelValue,onInput:a},null,40,J)]))}}),X={class:"vs-rows-per-page"},q=["value"],ee=["value"],te=N(e.defineComponent({__name:"VsRowsPerPage",props:{modelValue:{},options:{}},emits:["update:modelValue","rows-per-page-changed"],setup(t,{emit:s}){const o=t,a=s,l=o.options??[10,25,50,100],r=i=>{const d=Number(i.target.value);a("update:modelValue",d),a("rows-per-page-changed",d)};return(i,d)=>(e.openBlock(),e.createElementBlock("div",X,[d[0]||(d[0]=e.createElementVNode("span",{class:"vs-rows-label"},"Items Per Page",-1)),e.createElementVNode("select",{class:"vs-items-dropdown",value:t.modelValue,onChange:r},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),f=>(e.openBlock(),e.createElementBlock("option",{key:f,value:f},e.toDisplayString(f),9,ee))),128))],40,q)]))}}),[["__scopeId","data-v-dd11bb0e"]]);function ae(t,s,o,a,l){const r=e.ref(1),i=e.ref(t.sort??[]);e.watch(()=>t.sort,c=>{c&&(i.value=[...c])},{deep:!0});const d=e.computed(()=>t.serverOptions?.sort??i.value??[]);return{sortedRows:e.computed(()=>{let c=t.rows;return l.value&&(c=M(c,l.value)),d.value.length&&(c=O(c,d.value)),t.rowsPerPage&&(c=H(c,o.value,a.value)),c}),activeSort:d,sortHelpers:{isColumnSorted:c=>d.value.some(n=>n.field===c),getSortPriority:c=>{const n=d.value.find(v=>v.field===c);return n?n.priority??null:null},getSortOrder:c=>d.value.find(n=>n.field===c)?.order??null,handleSort:(c,n)=>{let v=[];t.serverOptions?v=[...t.serverOptions.sort??[]]:t.sort&&(v=[...t.sort]);const h=v.findIndex(y=>y.field===c);n.shiftKey?h===-1?v.push({field:c,order:"asc"}):v[h]?.order==="asc"?v[h].order="desc":v.splice(h,1):h===-1?v=[{field:c,order:"asc"}]:v[h]?.order==="asc"?v=[{field:c,order:"desc"}]:v=[],v=v.map((y,w)=>({...y,priority:w+1})),t.serverOptions?s("update:serverOptions",{...t.serverOptions,sort:v}):s("update:sort",v),o.value=r.value,s("sort-changed",{sort:v})}}}}function se(t,s,o,a,l){const r=e.computed({get:()=>t.serverItemsLength!==void 0?t.serverItemsLength:l.value.length,set:m=>{t.serverItemsLength!==void 0&&s("update:serverItemsLength",m)}}),i=e.computed({get:()=>t.serverOptions?.page??o.value,set:m=>{t.serverOptions?s("update:serverOptions",{...t.serverOptions,page:m}):o.value=m}}),d=e.computed(()=>{const m=a.value;return L(o.value,m,r.value)}),f=m=>{t.serverOptions&&s("update:serverOptions",{...t.serverOptions,page:m}),s("page-updated",m)};return{currentPage:i,totalRecords:r,recordRange:d,handlePageChange:f,paginationHelpers:{page:o,totalRecords:r,recordRange:d,handlePageChange:f}}}function oe(t,s,o,a){const l=e.computed({get:()=>a.value,set:i=>a.value=i});return e.watch(a,i=>{const d=t.serverItemsLength??t.rows.length,f=D(d,i);o.value>f?o.value=f||1:o.value<1&&(o.value=1)}),{vsRowsPerPage:l,handleRowsPerPage:i=>{a.value=i,s("rows-per-page-changed",i)}}}function re(t,s){const o=i=>{s.value=i,t("input-typed",i)};return{searchQuery:s,onInputTyped:o,clearSearch:()=>{s.value="",t("input-typed","")},setSearchQuery:i=>{s.value=i,t("input-typed",i)},searchHelpers:{searchQuery:s,onInputTyped:o}}}function ne(t,s){const o=e.ref(1),a=e.ref(t.serverOptions?.rowsPerPage??t.rowsPerPage),l=e.ref(""),{sortedRows:r,sortHelpers:i}=ae(t,s,o,a,l),{totalRecords:d,recordRange:f,handlePageChange:x}=se(t,s,o,a,r),{handleRowsPerPage:m}=oe(t,s,o,a),{onInputTyped:S}=re(s,l);return{page:o,totalRecords:d,recordRange:f,handlePageChange:x,rowsPerPage:a,handleRowsPerPage:m,sortedRows:r,sortHelpers:i,searchQuery:l,onInputTyped:S}}function le(t,s){const o=e.ref(t.itemSelected||[]);e.watch(()=>t.itemSelected,n=>{n?o.value=[...n]:o.value=[]},{immediate:!0,deep:!0});const a=e.computed({get:()=>o.value,set:n=>{o.value=n,s("update:itemSelected",n)}}),l=e.computed(()=>t.itemSelected!==null),r=e.computed(()=>t.rows.length>0&&a.value.length===t.rows.length),i=e.computed(()=>!t.rows.length||!a.value.length?!1:!r.value&&t.rows.some((n,v)=>a.value.some((h,y)=>u(h,y,t.rowKey)===u(n,v,t.rowKey)))),d=(n,v)=>{const h=u(n,v,t.rowKey);a.value.some((w,B)=>u(w,B,t.rowKey)===h)?(a.value=a.value.filter((w,B)=>u(w,B,t.rowKey)!==h),s("row-deselected",n,v)):(a.value=[...a.value,n],s("row-selected",n,v))},f=n=>{const v=n.target;a.value=v.checked?[...t.rows]:[],s("all-rows-selected",a.value)};return{selectedItems:a,isItemSelectedControlled:l,isAllChecked:r,isSomeChecked:i,toggleRow:d,toggleAll:f,selectRow:(n,v)=>{T(n,a.value,t.rowKey)||(a.value=[...a.value,n],s("row-selected",n,v))},deselectRow:(n,v)=>{const h=u(n,v,t.rowKey);a.value=a.value.filter((y,w)=>u(y,w,t.rowKey)!==h),s("row-deselected",n,v)},selectAll:()=>{a.value=[...t.rows],s("all-rows-selected",a.value)},deselectAll:()=>{a.value=[],s("all-rows-selected",[])},clearSelection:()=>{a.value=[]},selectionHelpers:{selectedItems:a,isItemSelectedControlled:l,isAllChecked:r,isSomeChecked:i,toggleRow:d,toggleAll:f}}}const ie={class:"vs-datatable"},de={key:0,class:"vs-search-container"},ce={ref:"tableResponsiveRef",class:"vs-table-wrapper"},ve={key:0,class:"vs-checkbox-column",style:{width:"5%"}},be={class:"vs-checkbox"},fe=["id","checked","indeterminate"],ge=["for"],pe=["onClick"],me={class:"vs-header-content"},he={class:"vs-header-label"},ue={key:0,class:"vs-sort-icons"},xe={key:1,class:"vs-sort-priority"},ye={key:0},we=["colspan"],ke={key:1},Ve=["colspan"],Ce={class:"vs-no-data-message"},Se={class:"vs-no-data-description"},Ee=["onClick"],ze={class:"vs-checkbox"},Be=["id","value","checked","onChange"],Ne=["for"],Pe={key:1,class:"vs-table-footer"},Re={class:"vs-footer-left"},Te={class:"vs-table-info"},$=N(e.defineComponent({__name:"VsDataTable",props:{rows:{default:()=>[]},itemSelected:{default:null},tablename:{default:"default-table"},sort:{},serverItemsLength:{},serverOptions:{default:null},showHeader:{type:Boolean,default:!0},headerText:{default:""},loading:{type:Boolean,default:!1},columns:{},tableClass:{},rowClass:{},showFooter:{type:Boolean,default:!0},containerClass:{},headerClass:{},cellClass:{},showSearch:{type:Boolean,default:!0},searchClass:{},searchPlaceholder:{default:"Search..."},paginationClass:{},loadingText:{default:"Loading..."},noDataText:{default:"No data available"},noDataDescription:{default:"Try adjusting your search criteria"},entriesText:{default:"entries"},maxVisiblePages:{default:5},rowsPerPage:{default:10},rowKey:{type:[String,Function],default:"id"}},emits:["update:itemSelected","update:serverItemsLength","update:serverOptions","update:sort","input-typed","page-updated","sort-changed","row-click","row-selected","row-deselected","all-rows-selected","table:mounted","table:unmounted","table:before-mount","data-loaded","data-error"],setup(t,{emit:s}){const o=t,a=s,l=e.useAttrs(),r=e.computed(()=>!!l.onRowClick),{page:i,rowsPerPage:d,totalRecords:f,recordRange:x,handlePageChange:m,handleRowsPerPage:S,sortedRows:z,sortHelpers:g,searchQuery:c,onInputTyped:n}=ne(o,a),{selectedItems:v,isItemSelectedControlled:h,isAllChecked:y,isSomeChecked:w,toggleAll:B,toggleRow:$e}=le(o,a),_=e.computed(()=>I(o.columns,h.value));return e.onMounted(()=>{a("table:mounted");try{a("data-loaded",o.rows)}catch(E){a("data-error",E)}}),e.onUnmounted(()=>{a("table:unmounted")}),e.onBeforeMount(()=>{a("table:before-mount")}),(E,p)=>(e.openBlock(),e.createElementBlock("div",ie,[t.showSearch?(e.openBlock(),e.createElementBlock("div",de,[e.createVNode(W,{modelValue:e.unref(c),"onUpdate:modelValue":p[0]||(p[0]=b=>e.isRef(c)?c.value=b:null),onInputTyped:e.unref(n),placeholder:t.searchPlaceholder,class:e.normalizeClass(t.searchClass)},null,8,["modelValue","onInputTyped","placeholder","class"]),e.renderSlot(E.$slots,"filterArea",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["vs-table-container",t.containerClass])},[e.createElementVNode("div",ce,[e.createElementVNode("table",{class:e.normalizeClass(["vs-table",t.tableClass])},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.unref(h)?(e.openBlock(),e.createElementBlock("th",ve,[e.createElementVNode("div",be,[e.createElementVNode("input",{type:"checkbox",id:t.tablename+"-main-checkbox",checked:e.unref(y),indeterminate:e.unref(w),onChange:p[1]||(p[1]=(...b)=>e.unref(B)&&e.unref(B)(...b))},null,40,fe),e.createElementVNode("label",{for:t.tablename+"-main-checkbox"},null,8,ge)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,b=>(e.openBlock(),e.createElementBlock("th",{key:b.field,onClick:k=>b.sortable?e.unref(g).handleSort(b.field,k):null,style:e.normalizeStyle({width:b.width+"%"}),class:e.normalizeClass([b.sortable?"vs-sortable":"",t.headerClass])},[e.renderSlot(E.$slots,`header-${b.field}`,{column:b},()=>[e.createElementVNode("div",me,[e.createElementVNode("span",he,e.toDisplayString(b.label),1),b.sortable?(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("span",{class:e.normalizeClass(["vs-sort-icon vs-sort-asc",{"vs-active":e.unref(g).isColumnSorted(b.field)&&e.unref(g).getSortOrder(b.field)==="asc"}])},[...p[5]||(p[5]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 -960 960 960",width:"24px"},[e.createElementVNode("path",{d:"m280-400 200-200 200 200H280Z"})],-1)])],2),e.createElementVNode("span",{class:e.normalizeClass(["vs-sort-icon vs-sort-desc",{"vs-active":e.unref(g).isColumnSorted(b.field)&&e.unref(g).getSortOrder(b.field)==="desc"}])},[...p[6]||(p[6]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 -960 960 960",width:"24px"},[e.createElementVNode("path",{d:"M480-360 280-560h400L480-360Z"})],-1)])],2)])):e.createCommentVNode("",!0),e.unref(g).getSortPriority(b.field)!==null?(e.openBlock(),e.createElementBlock("span",xe,e.toDisplayString(e.unref(g).getSortPriority(b.field)),1)):e.createCommentVNode("",!0)])],!0)],14,pe))),128))])]),e.createElementVNode("tbody",null,[t.loading?(e.openBlock(),e.createElementBlock("tr",ye,[e.createElementVNode("td",{colspan:_.value,class:"vs-loading"},[p[7]||(p[7]=e.createElementVNode("div",{class:"vs-spinner"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(t.loadingText),1)],8,we)])):e.unref(z).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(e.unref(z),(b,k)=>(e.openBlock(),e.createElementBlock("tr",{key:e.unref(u)(b,k),class:e.normalizeClass([t.rowClass,{"vs-row-clickable":r.value},{"vs-row-selected":e.unref(T)(b,e.unref(v),t.rowKey)}]),onClick:V=>E.$emit("row-click",b,k)},[e.unref(h)?(e.openBlock(),e.createElementBlock("td",{key:0,onClick:p[2]||(p[2]=e.withModifiers(()=>{},["stop"])),class:"vs-checkbox-column"},[e.createElementVNode("div",ze,[e.createElementVNode("input",{type:"checkbox",id:t.tablename+"-checkbox-"+e.unref(u)(b,k),value:b,checked:e.unref(v).some((V,_e)=>e.unref(u)(V,_e)===e.unref(u)(b,k)),onChange:V=>e.unref($e)(b,k)},null,40,Be),e.createElementVNode("label",{for:t.tablename+"-checkbox-"+e.unref(u)(b,k)},null,8,Ne)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,V=>(e.openBlock(),e.createElementBlock("td",{key:V.field,class:e.normalizeClass(t.cellClass)},[e.renderSlot(E.$slots,`cell-${V.field}`,{item:b,value:e.unref(R)(b,V.field),column:V,index:k},()=>[e.createTextVNode(e.toDisplayString(e.unref(R)(b,V.field)),1)],!0)],2))),128))],10,Ee))),128)):(e.openBlock(),e.createElementBlock("tr",ke,[e.createElementVNode("td",{colspan:_.value,class:"vs-no-data"},[e.renderSlot(E.$slots,"no-data",{},()=>[p[8]||(p[8]=e.createElementVNode("div",{class:"vs-no-data-icon"},[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"currentColor"},[e.createElementVNode("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"})])],-1)),e.createElementVNode("div",Ce,e.toDisplayString(t.noDataText),1),e.createElementVNode("div",Se,e.toDisplayString(t.noDataDescription),1)],!0)],8,Ve)]))])],2)],512)],2),t.showFooter?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",Re,[e.createVNode(te,{modelValue:e.unref(d),"onUpdate:modelValue":p[3]||(p[3]=b=>e.isRef(d)?d.value=b:null),onRowsPerPageChanged:e.unref(S)},null,8,["modelValue","onRowsPerPageChanged"]),p[9]||(p[9]=e.createElementVNode("div",{class:"vs-divider"},null,-1)),e.createElementVNode("div",Te,e.toDisplayString(e.unref(x).start<1?0:e.unref(x).start)+" - "+e.toDisplayString(e.unref(x).end)+" of "+e.toDisplayString(e.unref(f))+" "+e.toDisplayString(t.entriesText),1)]),e.createVNode(Q,{modelValue:e.unref(i),"onUpdate:modelValue":p[4]||(p[4]=b=>e.isRef(i)?i.value=b:null),totalRecords:e.unref(f),rowsPerPage:e.unref(d),maxVisible:t.maxVisiblePages,tablename:t.tablename,class:e.normalizeClass(t.paginationClass),onPageChanged:e.unref(m)},null,8,["modelValue","totalRecords","rowsPerPage","maxVisible","tablename","class","onPageChanged"])])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-84a43921"]]),De={install(t){t.component("VsDataTable",$)}};C.VsDataTable=$,C.default=De,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vs-datatable",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "A lightweight Vue 3 datatable component with sorting, slots, and nested object support.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -98,7 +98,7 @@
98
98
  background-color: var(--vs-table-header-bg);
99
99
 
100
100
  th {
101
- padding: var(--vs-spacing-sm);
101
+ padding: var(--vs-spacing-md);
102
102
  font-weight: var(--vs-font-weight-bold);
103
103
  color: var(--vs-table-header-color);
104
104
  text-align: left;