@prefabs.tech/vue3-tanstack-table 0.23.0 → 0.23.1
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.
|
@@ -4495,7 +4495,7 @@ const li = { class: "pagination" }, si = {
|
|
|
4495
4495
|
"initial-sorting": e.initialSorting,
|
|
4496
4496
|
"is-loading": e.isLoading,
|
|
4497
4497
|
"is-server-table": e.isServerTable,
|
|
4498
|
-
locale:
|
|
4498
|
+
locale: e.locale,
|
|
4499
4499
|
"persist-state": e.persistState,
|
|
4500
4500
|
"persist-state-storage": e.persistStateStorage,
|
|
4501
4501
|
"total-records": e.totalRecords,
|
|
@@ -19,4 +19,4 @@
|
|
|
19
19
|
* LICENSE.md file in the root directory of this source tree.
|
|
20
20
|
*
|
|
21
21
|
* @license MIT
|
|
22
|
-
*/function ae(){return!0}const go=Symbol("merge-proxy"),fo={get(e,o,t){return o===go?t:e.get(o)},has(e,o){return e.has(o)},set:ae,deleteProperty:ae,getOwnPropertyDescriptor(e,o){return{configurable:!0,enumerable:!0,get(){return e.get(o)},set:ae,deleteProperty:ae}},ownKeys(e){return e.keys()}};function De(e){return"value"in e?e.value:e}function U(){for(var e=arguments.length,o=new Array(e),t=0;t<e;t++)o[t]=arguments[t];return new Proxy({get(n){for(let r=o.length-1;r>=0;r--){const i=De(o[r])[n];if(i!==void 0)return i}},has(n){for(let r=o.length-1;r>=0;r--)if(n in De(o[r]))return!0;return!1},keys(){const n=[];for(let r=0;r<o.length;r++)n.push(...Object.keys(De(o[r])));return[...Array.from(new Set(n))]}},fo)}const X=l.defineComponent({props:["render","props"],setup:e=>()=>typeof e.render=="function"||typeof e.render=="object"?l.h(e.render,e.props):e.render});function Rt(e){return U(e,{data:l.unref(e.data)})}function Ft(e){const o=l.isRef(e.data),t=U({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(i,s){return o?{...i,...s}:U(i,s)}},o?Rt(e):e),n=lo(t);if(o){const i=l.shallowRef(e.data);l.watch(i,()=>{n.setState(s=>({...s,data:i.value}))},{immediate:!0})}const r=l.ref(n.initialState);return l.watchEffect(()=>{n.setOptions(i=>{var s;const a=new Proxy({},{get:(u,c)=>r.value[c]});return U(i,o?Rt(e):e,{state:U(a,(s=e.state)!=null?s:{}),onStateChange:u=>{u instanceof Function?r.value=u(r.value):r.value=u,e.onStateChange==null||e.onStateChange(u)}})})}),n}var k=(e=>(e.BETWEEN="between",e.CONTAINS="contains",e.ENDS_WITH="endsWith",e.EQUALS="equals",e.GREATER_THAN="greaterThan",e.GREATER_THAN_OR_EQUAL="greaterThanOrEqual",e.IN="in",e.IS_EMPTY="isEmpty",e.IS_NOT_EMPTY="isNotEmpty",e.IS_NOT_NULL="isNotNull",e.IS_NULL="isNull",e.LESS_THAN="lessThan",e.LESS_THAN_OR_EQUAL="lessThanOrEqual",e.LIKE="like",e.NOT_BETWEEN="notBetween",e.NOT_EQUAL="notEqual",e.NOT_IN="notIn",e.NOT_LIKE="notLike",e.STARTS_WITH="startsWith",e))(k||{}),I=(e=>(e.BETWEEN="bt",e.CONTAINS="ct",e.EMPTY="empty",e.ENDS_WITH="ew",e.EQUALS="eq",e.GREATER_THAN="gt",e.GREATER_THAN_OR_EQUAL="gte",e.IN="in",e.LESS_THAN="lt",e.LESS_THAN_OR_EQUAL="lte",e.LIKE="like",e.NULL="null",e.STARTS_WITH="sw",e))(I||{});const po={class:"pagination"},mo={key:0,class:"items-per-page-control"},ho=["value"],So=["value"],wo={key:1,class:"page-input-control"},Co={key:2,class:"pagination-buttons-wrapper"},yo={key:0},Ro={key:1},Fo={key:1},bo={key:3},Po={name:"TablePagination"},ko=l.defineComponent({...Po,props:{currentPage:{required:!0,type:Number},defaultItemsPerPage:{default:void 0,type:Number},inputDebounceTime:{default:void 0,type:Number},itemsPerPageControlLabel:{default:"Items per page",type:String},itemsPerPageOptions:{default:()=>[5,10,20,30],type:Array},pageInputLabel:{default:"Go to page:",type:String},showFirstLastButtons:{default:!0,type:Boolean},showItemsPerPageControl:{default:!0,type:Boolean},showPageButtons:{default:!1,type:Boolean},showPageInput:{type:Boolean,default:!1},showPreviousNextButtons:{default:!0,type:Boolean},totalItems:{required:!0,type:Number}},emits:["update:currentPage","update:itemsPerPage"],setup(e,{emit:o}){const t=e,n=o,r=l.ref(t.defaultItemsPerPage||t.itemsPerPageOptions[0]),i=l.computed(()=>Math.ceil(t.totalItems/r.value)),s=l.computed(()=>Array.from({length:i.value},(c,f)=>f+1)),a=c=>{const f=parseInt(c.target.value,10);r.value=f,n("update:itemsPerPage",r.value)},u=c=>{const f=parseInt(c.toString(),10)-1;!isNaN(f)&&f>=0&&f<i.value&&n("update:currentPage",f)};return(c,f)=>(l.openBlock(),l.createElementBlock("div",po,[e.showItemsPerPageControl?(l.openBlock(),l.createElementBlock("div",mo,[l.createElementVNode("span",null,l.toDisplayString(e.itemsPerPageControlLabel),1),l.createElementVNode("select",{value:r.value,onChange:a},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.itemsPerPageOptions,p=>(l.openBlock(),l.createElementBlock("option",{key:`items-per-page-option-${p}`,value:p},l.toDisplayString(p),9,So))),128))],40,ho)])):l.createCommentVNode("",!0),i.value>1&&e.showPageInput?(l.openBlock(),l.createElementBlock("div",wo,[l.createElementVNode("span",null,l.toDisplayString(e.pageInputLabel),1),l.createVNode(l.unref(v.DebouncedInput),{type:"number","debounce-time":e.inputDebounceTime,"onUpdate:modelValue":u},null,8,["debounce-time"])])):l.createCommentVNode("",!0),i.value>1?(l.openBlock(),l.createElementBlock("div",Co,[e.showFirstLastButtons||e.showPreviousNextButtons?(l.openBlock(),l.createElementBlock("div",yo,[e.showFirstLastButtons?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:0,disabled:!(e.currentPage>0),class:"first-page",size:"small",onClick:f[0]||(f[0]=p=>c.$emit("update:currentPage",0))},{iconLeft:l.withCtx(()=>[l.createVNode(l.unref(_),{icon:"prime:angle-double-left"})]),_:1},8,["disabled"])):l.createCommentVNode("",!0),e.showPreviousNextButtons?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:1,disabled:!(e.currentPage>0),class:"previous-page",size:"small",onClick:f[1]||(f[1]=p=>c.$emit("update:currentPage",e.currentPage-1))},{iconLeft:l.withCtx(()=>[l.createVNode(l.unref(_),{icon:"prime:angle-left"})]),_:1},8,["disabled"])):l.createCommentVNode("",!0)])):l.createCommentVNode("",!0),l.createElementVNode("div",null,[e.showPageButtons?(l.openBlock(!0),l.createElementBlock(l.Fragment,{key:0},l.renderList(s.value,p=>(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:`page-button-${p}`,class:l.normalizeClass(`page-button ${p===e.currentPage+1?"active":""}`),label:`${p}`,size:"small",onClick:g=>c.$emit("update:currentPage",p-1)},null,8,["class","label","onClick"]))),128)):(l.openBlock(),l.createElementBlock("span",Ro,l.toDisplayString(`${e.currentPage+1} / ${i.value}`),1))]),e.showFirstLastButtons||e.showPreviousNextButtons?(l.openBlock(),l.createElementBlock("div",Fo,[e.showPreviousNextButtons?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:0,disabled:!(e.currentPage<i.value-1),class:"next-page",size:"small",onClick:f[2]||(f[2]=p=>c.$emit("update:currentPage",e.currentPage+1))},{iconLeft:l.withCtx(()=>[l.createVNode(l.unref(_),{icon:"prime:angle-right"})]),_:1},8,["disabled"])):l.createCommentVNode("",!0),e.showFirstLastButtons?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:1,disabled:!(e.currentPage<i.value-1),class:"last-page",size:"small",onClick:f[3]||(f[3]=p=>c.$emit("update:currentPage",i.value-1))},{iconLeft:l.withCtx(()=>[l.createVNode(l.unref(_),{icon:"prime:angle-double-right"})]),_:1},8,["disabled"])):l.createCommentVNode("",!0)])):l.createCommentVNode("",!0)])):(l.openBlock(),l.createElementBlock("span",bo,l.toDisplayString(`${e.currentPage+1} / ${i.value}`),1))]))}}),_e=0,Vo=[10,20,30],$o=10,bt="table",Pt={day:"2-digit",month:"2-digit",year:"numeric"},xo={...Pt,hour:"2-digit",minute:"2-digit",hour12:!1},kt=({value:e,locale:o="en-GB",formatOptions:t})=>typeof e!="number"||isNaN(e)?e:new Intl.NumberFormat(o,t).format(e),vo=(e,o,t)=>{const n=t??Pt;return v.formatDate(e,o,n)},Io=(e,o,t)=>{const n=t??xo;return v.formatDateTime(e,o,n)},Y=e=>{switch(e){case k.CONTAINS:return{operator:I.CONTAINS};case k.STARTS_WITH:return{operator:I.STARTS_WITH};case k.ENDS_WITH:return{operator:I.ENDS_WITH};case k.EQUALS:return{operator:I.EQUALS};case k.NOT_EQUAL:return{operator:I.EQUALS,not:!0};case k.GREATER_THAN:return{operator:I.GREATER_THAN};case k.GREATER_THAN_OR_EQUAL:return{operator:I.GREATER_THAN_OR_EQUAL};case k.LESS_THAN:return{operator:I.LESS_THAN};case k.LESS_THAN_OR_EQUAL:return{operator:I.LESS_THAN_OR_EQUAL};case k.IS_NULL:return{operator:I.NULL};case k.IS_NOT_NULL:return{operator:I.NULL,not:!0};case k.IS_EMPTY:return{operator:I.EMPTY};case k.IS_NOT_EMPTY:return{operator:I.EMPTY,not:!0};case k.LIKE:return{operator:I.LIKE};case k.NOT_LIKE:return{operator:I.LIKE,not:!0};case k.IN:return{operator:I.IN};case k.NOT_IN:return{operator:I.IN,not:!0};case k.BETWEEN:return{operator:I.BETWEEN};case k.NOT_BETWEEN:return{operator:I.BETWEEN,not:!0};default:throw new Error(`Unhandled filter function: ${e}`)}},Vt=e=>{switch(e){case!1:return"ASC";case!0:return"DESC";default:return""}},Me=({align:e,dataType:o})=>e||(o=="other"?"center":o=="number"||o=="currency"?"right":"left"),$t=e=>{const o=e.value.filter(t=>vt(t));return o.length<1?null:e.filterFn===k.BETWEEN?o.length>1?{key:e.id,...Y(e.filterFn),value:o.slice(0,2).join(",")}:null:e.filterFn&&!Ao(e.filterFn)?{key:e.id,...Y(e.filterFn),value:o[0]}:{key:e.id,...Y(e.filterFn||k.IN),value:o.join(",")}},Bo=(e,o,t)=>{const n=()=>{if(!o||o.length===0)return null;const a=o.filter(u=>Array.isArray(u.value)?u.value.filter(f=>vt(f)).length>0:typeof u.value=="string"?u.value.trim()!=="":u.value!=null);return a.length===0?null:a.length===1?Array.isArray(a[0].value)?$t(a[0]):{key:a[0].id,...Y(a[0].filterFn||k.CONTAINS),value:String(a[0].value)}:{AND:a.map(u=>Array.isArray(u.value)?$t(u):{key:u.id,...Y(u.filterFn||k.CONTAINS),value:String(u.value)})}},r=()=>!t||t&&Object.keys(t).length===0?null:t.pageSize,i=()=>!t||t&&Object.keys(t).length===0?null:t.pageIndex*t.pageSize,s=()=>!e||e.length===0?null:e.length>1?e.map(a=>({key:a.id,direction:Vt(a.desc)})):[{key:e[0].id,direction:Vt(e[0].desc)}];return{filter:n(),limit:r(),sort:s(),offset:i()}},Eo=(e,o)=>{try{const t=o.getItem(`${bt}-${e}`);return t&&JSON.parse(t)}catch(t){console.log("[Dz table] Could not restore table state",t)}return null},xt=(e,o,t)=>{try{t.setItem(`${bt}-${e}`,JSON.stringify(o))}catch(n){console.log("[Dz table] Could not store table state",n)}},Ao=e=>[k.IN,k.NOT_IN,k.BETWEEN,k.NOT_BETWEEN].includes(e),vt=e=>e!=null,Do=["data-id","data-selected"],_o=["data-label","data-align"],Mo={key:1},Lo=["colspan"],No={name:"TableBody"},It=l.defineComponent({...No,props:{customFormatters:{default:()=>({}),type:Object},emptyTableMessage:{default:"No results.",type:String},enableRowSelection:Boolean,locale:{default:void 0,type:String},table:{required:!0,type:Object}},setup(e){const o=e,t=r=>{const i=r.getContext(),s=r.column.columnDef.dateOptions,a=r.column.columnDef.numberOptions,u=r.column.columnDef.cell;return{props:i,render:(()=>{const f={number:g=>kt({value:Number(g),locale:a?.locale??o.locale,formatOptions:a?.formatOptions}),date:g=>vo(g,s?.locale??o.locale,s?.formatOptions),datetime:g=>Io(g,s?.locale??o.locale,s?.formatOptions),currency:g=>kt({value:Number(g),locale:a?.locale??o.locale,formatOptions:{style:"currency",currency:"USD",...a?.formatOptions&&a.formatOptions}}),...o.customFormatters},p=r.column.columnDef.dataType||"text";return f?.[p]?.(i.getValue())||u})()}},n=r=>{const i=r.column.columnDef.tooltip;return typeof i=="string"?i:typeof i=="function"?i(r):r.getValue()};return(r,i)=>(l.openBlock(),l.createElementBlock("tbody",null,[e.table.getRowModel().rows?.length?(l.openBlock(!0),l.createElementBlock(l.Fragment,{key:0},l.renderList(e.table.getRowModel().rows,s=>(l.openBlock(),l.createElementBlock("tr",{key:`table-row-${s.id}`,"data-id":s.id,"data-selected":e.enableRowSelection?s.getIsSelected():void 0},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.getVisibleCells(),a=>(l.openBlock(),l.createElementBlock("td",{key:`table-data-${s.id}-${a.id}`,class:l.normalizeClass([a.column.id?`cell-${a.column.id}`:""]),"data-label":a.column.id,"data-align":l.unref(Me)({align:a.column.columnDef.align,dataType:a.column.columnDef.dataType}),style:l.normalizeStyle({width:a.column.columnDef.width,maxWidth:a.column.columnDef.maxWidth,minWidth:a.column.columnDef.minWidth})},[a.column.columnDef.tooltip?(l.openBlock(),l.createBlock(l.unref(v.Tooltip),l.mergeProps({key:0,ref_for:!0},a.column.columnDef.tooltipOptions),{content:l.withCtx(()=>[typeof a.column.columnDef.tooltip=="function"&&typeof n(a)!="string"?(l.openBlock(),l.createBlock(l.resolveDynamicComponent(n(a)),{key:0})):(l.openBlock(),l.createElementBlock(l.Fragment,{key:1},[l.createTextVNode(l.toDisplayString(n(a)),1)],64))]),default:l.withCtx(()=>[l.createVNode(l.unref(X),l.mergeProps({ref_for:!0},t(a)),null,16)]),_:2},1040)):(l.openBlock(),l.createBlock(l.unref(X),l.mergeProps({key:1,ref_for:!0},t(a)),null,16))],14,_o))),128))],8,Do))),128)):(l.openBlock(),l.createElementBlock("tr",Mo,[l.createElementVNode("td",{colspan:e.table.getAllColumns()?.length,class:"empty-table"},l.toDisplayString(e.emptyTableMessage),9,Lo)]))]))}}),To={key:0,class:"data-actions"},Ho={name:"TableDataActions"},Oo=l.defineComponent({...Ho,props:{actions:{type:Array,required:!0},autoModeCount:{default:1,type:Number},data:{default:()=>({}),type:Object},displayActions:{default:!0,type:[Boolean,Function]},mode:{default:void 0,type:String,validator:e=>["auto","buttons","dropdown"].includes(e)}},emits:["action:select"],setup(e,{emit:o}){const t=e,n=o,r=l.ref(!1),i=l.ref(),s=l.computed(()=>t.actions.map(g=>({...g,display:typeof g.display=="function"?g.display(t.data):g.display??!0,disabled:typeof g.disabled=="function"?g.disabled(t.data):g.disabled})).filter(g=>g.display)),a=l.computed(()=>(typeof t.displayActions=="function"?t.displayActions(t.data):t.displayActions)&&s.value?.length),u=l.computed(()=>s.value?.length&&t.mode==="buttons"||t.mode==="auto"&&s.value?.length<=t.autoModeCount),c=l.computed(()=>s.value?.length&&t.mode==="dropdown"||t.mode==="auto"&&s.value?.length>t.autoModeCount),f=()=>{r.value=!1,n("action:select",i.value)},p=g=>{i.value=g,g?.requireConfirmationModal?r.value=!0:n("action:select",i.value)};return(g,d)=>a.value?(l.openBlock(),l.createElementBlock("div",To,[u.value?(l.openBlock(!0),l.createElementBlock(l.Fragment,{key:0},l.renderList(s.value,(m,h)=>(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),l.mergeProps({ref_for:!0},m,{key:`mode-button-${h}`,class:m.class,disabled:m.disabled,"icon-left":m.icon,label:m.icon?"":m.label,title:m.label,rounded:"",variant:"textOnly",onClick:S=>p(m)}),null,16,["class","disabled","icon-left","label","title","onClick"]))),128)):c.value?(l.openBlock(),l.createBlock(l.unref(v.Dropdown),{key:1,menu:s.value,onSelect:p},{default:l.withCtx(()=>[l.renderSlot(g.$slots,"trigger",{},()=>[l.createVNode(l.unref(_),{icon:"prime:cog",width:"22"})])]),_:3},8,["menu"])):l.createCommentVNode("",!0),l.renderSlot(g.$slots,"confirmationModal",{},()=>[r.value?(l.openBlock(),l.createBlock(l.unref(v.ConfirmationModal),{key:0,"onOn:close":d[0]||(d[0]=m=>r.value=!1),"onOn:confirm":f},l.createSlots({_:2},[i.value?.confirmationOptions?.header?{name:"header",fn:l.withCtx(()=>[l.createElementVNode("p",null,l.toDisplayString(i.value?.confirmationOptions?.header),1)]),key:"0"}:void 0,i.value?.confirmationOptions?.body?{name:"body",fn:l.withCtx(()=>[l.createElementVNode("p",null,l.toDisplayString(i.value?.confirmationOptions?.body),1)]),key:"1"}:void 0,i.value?.confirmationOptions?.footer?{name:"footer",fn:l.withCtx(()=>[l.createElementVNode("p",null,l.toDisplayString(i.value?.confirmationOptions?.footer),1)]),key:"2"}:void 0]),1024)):l.createCommentVNode("",!0)])])):l.createCommentVNode("",!0)}}),zo=["colSpan","data-align","onClick"],Go={key:0,class:"sort-state"},jo={key:0,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},qo={key:0,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},Ko={key:1,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},Wo={key:0,class:"header-row filters"},Qo=["data-align"],Uo={key:3,class:"number-range-filter"},Xo={name:"TableHeader"},Bt=l.defineComponent({...Xo,props:{highlightActiveColumn:Boolean,inputDebounceTime:{default:void 0,type:Number},isFilterRowVisible:{default:!1,type:Boolean},table:{required:!0,type:Object}},setup(e){const o=e,t=s=>o.highlightActiveColumn&&(s.getIsSorted()==="asc"||s.getIsSorted()==="desc"||s.getIsFiltered())?"highlight":"",n=s=>s.getFilterValue(),r=s=>s?.length?s.map((a,u)=>{const c=String(a.getDate()).padStart(2,"0"),f=String(a.getMonth()+1).padStart(2,"0"),p=u===0?"00:00:00":"23:59:59";return`${a.getFullYear()}-${f}-${c} ${p}`}).filter(a=>a!==null):null,i=(s,a,u)=>{const c=s.getFilterValue(),f=Array.isArray(c)?[...c]:[void 0,void 0];f[a]=u!==void 0?Number(u):void 0;const p=f.some(g=>g!==void 0);s.setFilterValue(p?f:[])};return(s,a)=>(l.openBlock(),l.createElementBlock("thead",null,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.table.getHeaderGroups(),u=>(l.openBlock(),l.createElementBlock("tr",{key:u.id,class:"header-row"},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(u.headers,c=>(l.openBlock(),l.createElementBlock("th",{key:`table-header-${c.id}`,class:l.normalizeClass([t(c.column),`column-${c.id}`,c.column.columnDef.enableSorting?"sortable":""]),colSpan:c.colSpan,"data-align":l.unref(Me)({align:c.column.columnDef.align,dataType:c.column.columnDef.dataType}),style:l.normalizeStyle({width:c.column.columnDef.width,maxWidth:c.column.columnDef.maxWidth,minWidth:c.column.columnDef.minWidth}),onClick:f=>c.column.getCanSort()?c.column.getToggleSortingHandler()?.(f):null},[c.isPlaceholder?l.createCommentVNode("",!0):(l.openBlock(),l.createElementBlock(l.Fragment,{key:0},[l.createVNode(l.unref(X),{props:c.getContext(),render:c.column.columnDef.header},null,8,["props","render"]),c.column.columnDef.enableSorting?(l.openBlock(),l.createElementBlock("span",Go,[!c.column.getIsSorted()&&c.column.getCanSort()?(l.openBlock(),l.createElementBlock("svg",jo,a[0]||(a[0]=[l.createElementVNode("path",{d:"M18 10.75H6a.74.74 0 0 1-.69-.46a.75.75 0 0 1 .16-.82l6-6a.75.75 0 0 1 1.06 0l6 6a.75.75 0 0 1 .16.82a.74.74 0 0 1-.69.46M7.81 9.25h8.38L12 5.06ZM12 20.75a.74.74 0 0 1-.53-.22l-6-6a.75.75 0 0 1-.16-.82a.74.74 0 0 1 .69-.46h12a.74.74 0 0 1 .69.46a.75.75 0 0 1-.16.82l-6 6a.74.74 0 0 1-.53.22m-4.19-6L12 18.94l4.19-4.19Z",fill:"currentColor"},null,-1)]))):l.createCommentVNode("",!0),c.column.getIsSorted()&&c.column.getCanSort()?(l.openBlock(),l.createElementBlock(l.Fragment,{key:1},[c.column.getIsSorted()==="asc"?(l.openBlock(),l.createElementBlock("svg",qo,a[1]||(a[1]=[l.createElementVNode("path",{d:"M12.53 7.97a.75.75 0 0 0-1.06 0l-7 7A.75.75 0 0 0 5 16.25h14a.75.75 0 0 0 .53-1.28z",fill:"currentColor"},null,-1)]))):(l.openBlock(),l.createElementBlock("svg",Ko,a[2]||(a[2]=[l.createElementVNode("path",{d:"M5 7.75a.75.75 0 0 0-.53 1.28l7 7a.75.75 0 0 0 1.06 0l7-7A.75.75 0 0 0 19 7.75z",fill:"currentColor"},null,-1)])))],64)):l.createCommentVNode("",!0)])):l.createCommentVNode("",!0)],64))],14,zo))),128))]))),128)),e.isFilterRowVisible?(l.openBlock(),l.createElementBlock("tr",Wo,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.table.getVisibleLeafColumns(),u=>(l.openBlock(),l.createElementBlock("th",{key:`table-filter-${u.id}`,class:l.normalizeClass([t(u),u.id?`column-${u.id}`:"",u.columnDef.className||"",u.getCanFilter()?`filter ${u.columnDef.meta?.filterVariant}`:""]),"data-align":l.unref(Me)({align:u.columnDef.align,dataType:u.columnDef.dataType}),style:l.normalizeStyle({width:u.columnDef.width,maxWidth:u.columnDef.maxWidth,minWidth:u.columnDef.minWidth})},[u.getCanFilter()?(l.openBlock(),l.createElementBlock(l.Fragment,{key:0},[u.columnDef.customFilterComponent?(l.openBlock(),l.createBlock(l.resolveDynamicComponent(u.columnDef.customFilterComponent(u)),{key:0})):u.columnDef.meta?.filterVariant==="multiselect"||u.columnDef.meta?.filterVariant==="select"?(l.openBlock(),l.createBlock(l.unref(z.SelectInput),{key:1,"model-value":n(u),options:u.columnDef.meta?.filterOptions||[],placeholder:u.columnDef.filterPlaceholder,name:`multiselect-filter-${u.columnDef.accessorKey}`,multiple:u.columnDef.meta?.filterVariant==="multiselect","enable-tooltip":"","onUpdate:modelValue":c=>u.setFilterValue(c)},null,8,["model-value","options","placeholder","name","multiple","onUpdate:modelValue"])):u.columnDef.meta?.filterVariant==="dateRange"?(l.openBlock(),l.createBlock(l.unref(z.DatePicker),{key:2,"model-value":n(u),placeholder:u.columnDef.filterPlaceholder,name:"`date-range-${column.columnDef.accessorKey}`",range:"",teleport:"","onUpdate:modelValue":c=>u.setFilterValue(r(c))},null,8,["model-value","placeholder","onUpdate:modelValue"])):u.columnDef.meta?.filterVariant==="range"?(l.openBlock(),l.createElementBlock("div",Uo,[l.createVNode(l.unref(z.NumberInput),{"model-value":Array.isArray(n(u))&&n(u)[0]!==null?Number(n(u)[0]):void 0,placeholder:u.columnDef.filterPlaceholder?.split(",")[0],name:"`range-${column.columnDef.accessorKey}-start`","onUpdate:modelValue":c=>i(u,0,c)},null,8,["model-value","placeholder","onUpdate:modelValue"]),l.createVNode(l.unref(z.NumberInput),{"model-value":Array.isArray(n(u))&&n(u)[1]!==null?Number(n(u)[1]):void 0,placeholder:u.columnDef.filterPlaceholder?.split(",")[1]??u.columnDef.filterPlaceholder,name:"`range-${column.columnDef.accessorKey}-end`","onUpdate:modelValue":c=>i(u,1,c)},null,8,["model-value","placeholder","onUpdate:modelValue"])])):(l.openBlock(),l.createBlock(l.unref(v.DebouncedInput),{key:4,id:`input-filter-${u.id}`,"debounce-time":e.inputDebounceTime,"model-value":typeof n(u)=="string"?String(n(u)):"",placeholder:u.columnDef.filterPlaceholder,"onUpdate:modelValue":c=>u.setFilterValue(c)},null,8,["id","debounce-time","model-value","placeholder","onUpdate:modelValue"]))],64)):l.createCommentVNode("",!0)],14,Qo))),128))])):l.createCommentVNode("",!0)]))}}),Yo={class:"toolbar"},Jo={name:"TableToolbar"},Zo=l.defineComponent({...Jo,props:{columnActionButtonLabel:{default:"Columns",type:String},hasActionsColumn:Boolean,hasSelectionColumn:Boolean,resetButtonLabel:{default:"Reset all",type:String},showColumnAction:Boolean,showResetButton:Boolean,table:{required:!0,type:Object}},emits:["on:drag","on:reset"],setup(e,{emit:o}){const t=e,n=o,r=l.computed(()=>t.table.getAllLeafColumns().filter(s=>s.id!=="select"&&s.id!=="actions").map((s,a)=>({id:a,data:s,render:u=>{let c=u.columnDef.header;return typeof u.columnDef.header=="function"&&(c=u.columnDef.header()),l.h(z.Checkbox,{label:c,modelValue:u.getIsVisible(),name:u.columnDef.accessorKey,"onUpdate:modelValue":()=>u.toggleVisibility()})}}))),i=s=>{const a=[...t.hasSelectionColumn?["select"]:[],...s.map(u=>String(u?.data?.id)),...t.hasActionsColumn?["actions"]:[]];n("on:drag",a)};return(s,a)=>(l.openBlock(),l.createElementBlock("div",Yo,[e.showResetButton?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:0,label:e.resetButtonLabel,variant:"outlined",severity:"secondary",onClick:a[0]||(a[0]=u=>s.$emit("on:reset"))},null,8,["label"])):l.createCommentVNode("",!0),e.showColumnAction?(l.openBlock(),l.createBlock(l.unref(v.Popup),{key:1,position:"bottom"},{content:l.withCtx(()=>[l.createVNode(l.unref(v.SortableList),{list:r.value,onOnDrag:i},null,8,["list"])]),default:l.withCtx(()=>[l.createVNode(l.unref(v.ButtonElement),{label:e.columnActionButtonLabel,variant:"outlined",severity:"secondary"},null,8,["label"])]),_:1})):l.createCommentVNode("",!0),l.renderSlot(s.$slots,"default")]))}}),er=["id"],tr={key:0,class:"loading-overlay"},nr=["data-align"],or={class:"table-wrapper"},rr={key:0},ir={name:"DataTable"},Et=l.defineComponent({...ir,props:{actionsMode:{default:"auto",type:String,validator:e=>["auto","buttons","dropdown"].includes(e)},autoModeCount:{default:1,type:Number},dataActionMenu:{default:()=>[],type:Array},columnActionButtonLabel:{default:void 0,type:String},columnsData:{type:Array,default:()=>[]},customFormatters:{default:()=>({}),type:Object},data:{type:Array,default:()=>[]},displayActions:{default:!0,type:[Boolean,Function]},emptyTableMessage:{default:void 0,type:String},enableRowSelection:{default:!1,type:Boolean},enableSortingRemoval:{default:!1,type:Boolean},highlightActiveHeaderColumn:Boolean,id:{default:void 0,type:String},initialFilters:{default:()=>[],type:Array},initialSorting:{default:()=>[],type:Array},inputDebounceTime:{default:void 0,type:Number},isLoading:Boolean,isServerTable:Boolean,locale:{default:void 0,type:String},paginated:{default:!0,type:Boolean},paginationOptions:{default:()=>({}),type:Object},persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},resetButtonLabel:{default:void 0,type:String},rowPerPage:{default:$o,type:Number},rowPerPageOptions:{default:()=>Vo,type:Array},showColumnAction:Boolean,showResetButton:Boolean,tableOptions:{default:()=>({}),type:Object},titleInfo:{default:void 0,type:Object},totalRecords:{default:0,type:Number},visibleColumns:{default:()=>[],type:Array}},emits:["action:select","change:rowSelection","update:request"],setup(e,{emit:o}){const t=e,n=o,r=[],i=l.ref(t.initialFilters),s=l.ref([]),a=l.ref({}),u=l.ref({pageIndex:_e,pageSize:t.paginated?t.rowPerPage:t.data.length}),c=l.ref({}),f=l.ref(t.initialSorting),p=l.computed(()=>t.columnsData.some(w=>w.enableColumnFilter)),g=l.computed(()=>({columnFilters:i.value,columnOrder:s.value,columnVisibility:a.value,pagination:u.value,sorting:f.value})),d=l.computed(()=>v.getStorage(t.persistStateStorage)),m=l.computed(()=>t.isServerTable?t.totalRecords:S.value.getFilteredRowModel().rows?.length),h=l.computed(()=>S.value.getSelectedRowModel().rows.map(w=>w.original)),S=l.computed(()=>Ft({columns:r,state:{columnFilters:i.value,columnOrder:s.value?.length?s.value:t.visibleColumns,columnVisibility:a.value,pagination:u.value,rowSelection:c.value,get sorting(){return f.value}},onColumnFiltersChange:w=>{i.value=typeof w=="function"?w(i.value):w,Array.isArray(i.value)||(i.value=[]),u.value.pageIndex=_e,t.isServerTable&&(i.value=t.columnsData.filter(C=>C.enableColumnFilter&&(t.visibleColumns.includes(String(C.accessorKey??C.id))||!t.visibleColumns.length)).map(C=>{if(C.meta?.filterVariant==="range"){const V=i.value.find(N=>N?.id===C.accessorKey)?.value,[$,B]=V||[],E=C.meta?.serverFilterFn||(typeof $=="number"&&typeof B=="number"&&$<=B?k.BETWEEN:typeof $=="number"&&!B?k.GREATER_THAN_OR_EQUAL:typeof B=="number"?k.LESS_THAN_OR_EQUAL:null);return E&&V?.length?{filterFn:E,id:C.accessorKey,value:V}:void 0}else return{filterFn:C?.meta?.serverFilterFn,id:C.accessorKey,value:i.value.find(V=>V.id===C.accessorKey)?.value}}).filter(Boolean),F())},onColumnVisibilityChange:w=>{a.value=typeof w=="function"?w(a.value):w},onPaginationChange:w=>{u.value=typeof w=="function"?w(u.value):w,t.isServerTable&&F()},onRowSelectionChange:w=>{c.value=typeof w=="function"?w(c.value):w,n("change:rowSelection",h.value)},onSortingChange:w=>{f.value=typeof w=="function"?w(f.value):w,t.isServerTable&&F()},columnResizeMode:"onChange",data:t.data,enableSortingRemoval:t.enableSortingRemoval,getCoreRowModel:St(),getFilteredRowModel:wt(),getPaginationRowModel:Ct(),getSortedRowModel:yt(),manualFiltering:t.isServerTable,manualSorting:t.isServerTable,manualPagination:t.isServerTable,...t.tableOptions}));l.watch([i,s,a,u,f],()=>{t.persistState&&t.id&&xt(t.id,g.value,d.value)});const F=()=>{const w=Bo(f.value,i.value,u.value);n("update:request",w)},P=()=>{i.value=t.initialFilters,s.value=[],a.value={},u.value={pageIndex:_e,pageSize:t.paginated?t.rowPerPage:t.data.length},f.value=t.initialSorting},b=()=>{if(t.enableRowSelection&&r.push({accessorKey:"select",header:({table:w})=>l.h(z.Checkbox,{"aria-label":"Select all",modelValue:w.getIsAllPageRowsSelected(),"onUpdate:modelValue":()=>w.toggleAllPageRowsSelected(!w.getIsAllPageRowsSelected())}),cell:({row:w})=>l.h(z.Checkbox,{"aria-label":"Select row",modelValue:w.getIsSelected(),"onUpdate:modelValue":()=>w.toggleSelected(!w.getIsSelected())}),align:"center",enableColumnFilter:!1,enableSorting:!1}),t.columnsData.forEach(w=>{t.visibleColumns.length&&!t.visibleColumns.includes(String(w.accessorKey??w.id))||(w.meta?.filterVariant==="multiselect"&&!w.filterFn?w.filterFn=(C,V,$)=>!$||$.length===0?C:$.some(B=>C.getValue(V)==B):w.meta?.filterVariant==="select"&&!w.filterFn?w.filterFn=(C,V,$)=>$===void 0||$.length===0?!0:String($)===String(C.getValue(V)):w.meta?.filterVariant==="dateRange"&&!w.filterFn?w.filterFn=(C,V,$)=>{if($?.length){const B=new Date($[1]).setHours(23,59,59,999),E=new Date(C.getValue(V)),N=new Date($[0]).setHours(0,0,0,0);return E.getTime()>=N&&E.getTime()<=B}return!0}:w.meta?.filterVariant==="range"&&(w.filterFn=(C,V,$)=>{if(!Array.isArray($))return!0;const[B,E]=$,N=C.getValue(V);return B&&E?N>=B&&N<=E:B?N>=B:E?N<=E:!0}),r.push({...w,enableColumnFilter:w.enableColumnFilter??!1,enableSorting:w.enableSorting??!1}))}),t.dataActionMenu?.length&&r.push({accessorKey:"actions",align:"center",enableColumnFilter:!1,enableSorting:!1,header:()=>l.h(_,{icon:"prime:cog",width:"24"}),cell:({row:w})=>l.h(Oo,{actions:t.dataActionMenu,autoModeCount:t.autoModeCount,data:w.original,displayActions:t.displayActions,mode:t.actionsMode,"onAction:select":C=>n("action:select",{action:C?.key||C?.label,data:w.original})})}),t.persistState&&!t.id)throw new Error('Id is required when prop "persistState" is true');x(),t.isServerTable&&F()},x=()=>{if(!t.persistState||!t.id)return;const w=Eo(t.id,d.value);w&&(i.value=w.columnFilters,s.value=w.columnOrder,a.value=w.columnVisibility,f.value=w.sorting,t.rowPerPageOptions.includes(w.pagination.pageSize)&&(u.value=w.pagination)),xt(t.id,g.value,d.value)};return b(),(w,C)=>(l.openBlock(),l.createElementBlock("div",{id:e.id,class:"table-container"},[e.isLoading?(l.openBlock(),l.createElementBlock("div",tr,[l.createVNode(l.unref(v.LoadingIcon),{class:"loading-icon"})])):l.createCommentVNode("",!0),e.titleInfo?(l.openBlock(),l.createElementBlock("span",{key:1,"data-align":e.titleInfo.align||"center"},l.toDisplayString(e.titleInfo.text),9,nr)):l.createCommentVNode("",!0),e.showColumnAction||e.showResetButton||w.$slots.toolbar?(l.openBlock(),l.createBlock(Zo,{key:2,"column-action-button-label":e.columnActionButtonLabel,"has-actions-column":!!e.dataActionMenu.length,"has-selection-column":e.enableRowSelection,"reset-button-label":e.resetButtonLabel,"show-column-action":e.showColumnAction,"show-reset-button":e.showResetButton,table:S.value,"onOn:reset":P,"onOn:drag":C[0]||(C[0]=V=>s.value=V)},{default:l.withCtx(()=>[l.renderSlot(w.$slots,"toolbar")]),_:3},8,["column-action-button-label","has-actions-column","has-selection-column","reset-button-label","show-column-action","show-reset-button","table"])):l.createCommentVNode("",!0),l.createElementVNode("div",or,[l.createElementVNode("table",{style:l.normalizeStyle(`width: ${S.value.getCenterTotalSize()}`)},[l.createVNode(Bt,{"highlight-active-column":e.highlightActiveHeaderColumn,"input-debounce-time":e.inputDebounceTime,"is-filter-row-visible":p.value,table:S.value},null,8,["highlight-active-column","input-debounce-time","is-filter-row-visible","table"]),l.createVNode(It,{"custom-formatters":e.customFormatters,"empty-table-message":e.emptyTableMessage,locale:e.locale,table:S.value},null,8,["custom-formatters","empty-table-message","locale","table"]),w.$slots.footer?(l.openBlock(),l.createElementBlock("tfoot",rr,[l.renderSlot(w.$slots,"footer")])):l.createCommentVNode("",!0)],4)]),(e.isServerTable||e.paginated)&&m.value>0?l.renderSlot(w.$slots,"pagination",{key:3},()=>[l.createVNode(ko,l.mergeProps(e.paginationOptions,{"current-page":u.value.pageIndex,"default-items-per-page":u.value.pageSize,"items-per-page-options":e.rowPerPageOptions,"total-items":m.value,"onUpdate:currentPage":S.value.setPageIndex,"onUpdate:itemsPerPage":S.value.setPageSize}),null,16,["current-page","default-items-per-page","items-per-page-options","total-items","onUpdate:currentPage","onUpdate:itemsPerPage"])]):l.createCommentVNode("",!0)],8,er))}}),lr={name:"FilesTable"},At=l.defineComponent({...lr,props:{archiveFile:Boolean,columnsData:{default:()=>[],type:Array},deleteFile:Boolean,downloadFile:Boolean,editDescription:Boolean,initialSorting:{default:()=>[],type:Array},files:{default:()=>[],type:Array},id:{default:"files-table",type:String},isLoading:Boolean,isServerTable:Boolean,locale:{default:void 0,type:String},persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},messages:{default:void 0,type:Object},shareFile:Boolean,tableOptions:{default:()=>({}),type:Object},totalRecords:{default:0,type:Number},viewFile:Boolean,visibleColumns:{default:()=>[],type:Array}},emits:["action:archive","action:delete","action:download","action:edit","action:share","action:view","update:request"],setup(e,{emit:o}){const t=e,n=o,r=[{accessorKey:"originalFileName",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"File name",header:"File"},{accessorKey:"description",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"Description",header:"Description",tooltip:!0},{accessorKey:"size",enableColumnFilter:!t.isServerTable,enableSorting:!t.isServerTable,filterPlaceholder:"Size",header:"Size",meta:{filterVariant:"range"}},{accessorKey:"uploadedBy",cell:({row:{original:c}})=>c.uploadedBy?c.uploadedBy.givenName||c.uploadedBy.lastName?`${c.uploadedBy.givenName||""} ${c.uploadedBy.lastName||""}`:c.uploadedBy.email:l.h("code",{},"—"),enableColumnFilter:!t.isServerTable,enableSorting:!t.isServerTable,filterFn:(c,f,p)=>{const g=c.getValue(f);return!p||p.length===0?!0:`${g.givenName||""} ${g.lastName||""}`.trim().toLowerCase().includes(p.toLowerCase())||(g.email?.toLowerCase().includes(p.toLowerCase())??!1)},filterPlaceholder:"Name",header:"Uploaded by"},{accessorKey:"uploadedAt",dataType:"datetime",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"Date range",header:"Uploaded at",meta:{filterVariant:"dateRange",serverFilterFn:"between"}},{accessorKey:"downloadCount",align:"right",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"Number of downloads",header:"Download count",meta:{filterVariant:"range"}},{accessorKey:"lastDownloadedAt",dataType:"datetime",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"Date range",header:"Last downloaded at",meta:{filterVariant:"dateRange",serverFilterFn:"between"}}],i=l.computed(()=>{const c=[];return t.archiveFile&&c.push({confirmationOptions:{body:t.messages?.archiveConfirmationMessage||"Are you sure you want to archive this file?",header:t.messages?.archiveConfirmationHeader||"Archive file"},icon:"pi pi-book",key:"archive",label:t.messages?.archiveAction||"Archive",requireConfirmationModal:!0}),t.downloadFile&&c.push({icon:"pi pi-download",key:"download",label:t.messages?.downloadAction||"Download"}),t.editDescription&&c.push({icon:"pi pi-pencil",key:"edit",label:t.messages?.editDescriptionAction||"Edit description"}),t.shareFile&&c.push({icon:"pi pi-share-alt",key:"share",label:t.messages?.shareAction||"Share"}),t.viewFile&&c.push({icon:"pi pi-eye",key:"view",label:t.messages?.viewAction||"View"}),t.deleteFile&&c.push({class:"danger",confirmationOptions:{body:t.messages?.deleteConfirmationMessage||"Are you sure you want to delete this file?",header:t.messages?.deleteConfirmationHeader||"Delete file"},icon:"pi pi-trash",label:t.messages?.deleteAction||"Delete",key:"delete",requireConfirmationModal:!0}),c}),s=l.computed(()=>[...r.map(c=>{const f=t.columnsData.find(p=>p.accessorKey===c.accessorKey);return f?{...c,...f}:c}),...t.columnsData.filter(c=>!r.some(f=>f.accessorKey===c.accessorKey))]),a=c=>{switch(c.action){case"archive":n("action:archive",c.data);break;case"delete":n("action:delete",c.data);break;case"download":n("action:download",c.data);break;case"edit":n("action:edit",c.data);break;case"share":n("action:share",c.data);break;case"view":n("action:view",c.data);break}},u=c=>{n("update:request",c)};return(c,f)=>(l.openBlock(),l.createBlock(Et,l.mergeProps(e.tableOptions,{id:e.id,"columns-data":s.value,data:e.files,"data-action-menu":i.value,"empty-table-message":t.messages?.tableEmpty||"The table is empty","initial-sorting":e.initialSorting,"is-loading":e.isLoading,"is-server-table":e.isServerTable,locale:String(e.locale),"persist-state":e.persistState,"persist-state-storage":e.persistStateStorage,"total-records":e.totalRecords,"visible-columns":e.visibleColumns,class:"table-files","onAction:select":a,"onUpdate:request":u}),l.createSlots({_:2},[c.$slots.toolbar?{name:"toolbar",fn:l.withCtx(()=>[l.renderSlot(c.$slots,"toolbar")]),key:"0"}:void 0,c.$slots.footer?{name:"footer",fn:l.withCtx(()=>[l.renderSlot(c.$slots,"footer")]),key:"1"}:void 0,c.$slots.pagination?{name:"pagination",fn:l.withCtx(()=>[l.renderSlot(c.$slots,"pagination")]),key:"2"}:void 0]),1040,["id","columns-data","data","data-action-menu","empty-table-message","initial-sorting","is-loading","is-server-table","locale","persist-state","persist-state-storage","total-records","visible-columns"]))}}),sr={name:"FilesPresentation"},ar=l.defineComponent({...sr,props:{actionButtonsVisibility:{default:()=>({archive:!0,delete:!0,download:!0,edit:!0,share:!0,view:!0}),type:Object},files:{default:()=>[],type:Array},messages:{default:void 0,type:Object},listProps:{default:()=>{},type:Object},locale:{default:void 0,type:String},presentation:{default:()=>"list",type:String,validator:e=>["list","table"].includes(e)},tableProps:{default:()=>{},type:Object},visibleFileDetails:{default:()=>["actions","description","downloadCount","lastDownloadedAt","originalFileName","size","uploadedAt","uploadedBy"],type:Array}},emits:["action:archive","action:delete","action:download","action:edit","action:share","action:view"],setup(e,{emit:o}){const t=e,n=o,r=l.computed(()=>Object.fromEntries(["actions","description","downloadCount","lastDownloadedAt","originalFileName","size","uploadedAt","uploadedBy"].map(a=>[a,t.visibleFileDetails.includes(a)]))),i=(s,a)=>{switch(s){case"archive":case"delete":case"download":case"edit":case"share":case"view":n(`action:${s}`,a);break}};return(s,a)=>e.presentation==="list"?(l.openBlock(),l.createBlock(l.unref(v.FilesList),l.mergeProps({key:0},e.listProps,{"action-buttons-visibility":e.actionButtonsVisibility,files:e.files,"file-detail-visibility":r.value,locale:e.locale,messages:e.messages,"onAction:archive":a[0]||(a[0]=u=>i("archive",u)),"onAction:delete":a[1]||(a[1]=u=>i("delete",u)),"onAction:download":a[2]||(a[2]=u=>i("download",u)),"onAction:edit":a[3]||(a[3]=u=>i("edit",u)),"onAction:share":a[4]||(a[4]=u=>i("share",u)),"onAction:view":a[5]||(a[5]=u=>i("view",u))}),null,16,["action-buttons-visibility","files","file-detail-visibility","locale","messages"])):(l.openBlock(),l.createBlock(At,l.mergeProps({key:1},e.tableProps,{"archive-file":e.actionButtonsVisibility.archive,"delete-file":e.actionButtonsVisibility.delete,"download-file":e.actionButtonsVisibility.download,"edit-description":e.actionButtonsVisibility.edit,files:e.files,locale:e.locale,messages:e.messages,"share-file":e.actionButtonsVisibility.share,"view-file":e.actionButtonsVisibility.view,"visible-columns":e.visibleFileDetails,"onAction:archive":a[6]||(a[6]=u=>i("archive",u)),"onAction:delete":a[7]||(a[7]=u=>i("delete",u)),"onAction:download":a[8]||(a[8]=u=>i("download",u)),"onAction:edit":a[9]||(a[9]=u=>i("edit",u)),"onAction:share":a[10]||(a[10]=u=>i("share",u)),"onAction:view":a[11]||(a[11]=u=>i("view",u))}),null,16,["archive-file","delete-file","download-file","edit-description","files","locale","messages","share-file","view-file","visible-columns"]))}}),ur={class:"table-wrapper"},cr={key:0,class:"toggle-wrap"},dr=["colSpan","onClick"],gr={key:0},fr=["data-label"],pr={class:"page-navigation-container"},mr={class:"page-indicators-selection-container"},hr={class:"page-number-indicators"},Sr={class:"go-to-page-container"},wr=["value","max"],Cr=["value"],yr=["value"],Rr={class:"page-navigation-buttons-container"},Fr=["disabled"],br=["disabled"],Pr=["disabled"],kr=["disabled"],Vr={name:"TanstackTable"},$r=l.defineComponent({...Vr,props:{columnsData:{type:Array,default:()=>[]},rows:{type:Array,default:()=>[]},enableToggle:{type:Boolean,default:()=>!1}},setup(e){const o=e,t=En(),n=[];o.columnsData.forEach(f=>{const p=t.accessor(f.accessorKey,{header:()=>f.header,footer:g=>g.column.id,enableSorting:f.sort!==void 0?f.sort:!1});n.push(p)});const r=l.ref([]),i=Ft({columns:n,state:{get sorting(){return r.value}},onSortingChange:f=>{r.value=typeof f=="function"?f(r.value):f},columnResizeMode:"onChange",data:o.rows,getCoreRowModel:St(),getFilteredRowModel:wt(),getPaginationRowModel:Ct(),getSortedRowModel:yt()}),s=l.ref(!1),a=()=>{s.value=!s.value},u=f=>{const p=f.target,g=p.value?Number(p.value)-1:0;i.setPageIndex(g)},c=f=>{const p=f.target,g=p.value?Number(p.value):10;i.setPageSize(g)};return(f,p)=>(l.openBlock(),l.createElementBlock("div",ur,[l.createElementVNode("table",{style:l.normalizeStyle(`width: ${l.unref(i).getCenterTotalSize()}`)},[o.enableToggle?(l.openBlock(),l.createElementBlock("div",cr,[l.createElementVNode("button",{class:"table-toggle",onClick:a},[l.createVNode(l.unref(_),{icon:"mingcute:menu-fill",class:"toggle-icon"})])])):l.createCommentVNode("",!0),l.createElementVNode("colgroup",null,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(o.columnsData,g=>(l.openBlock(),l.createElementBlock("col",{key:g.accessorKey,style:l.normalizeStyle(`width: ${g.size}px`)},null,4))),128))]),l.createElementVNode("thead",{class:l.normalizeClass({expand:s.value})},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(l.unref(i).getHeaderGroups(),g=>(l.openBlock(),l.createElementBlock("tr",{key:g.id},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(g.headers,d=>(l.openBlock(),l.createElementBlock("th",{key:d.id,colSpan:d.colSpan,onClick:m=>d.column.getCanSort()?d.column.getToggleSortingHandler()?.(m):null},[d.isPlaceholder?l.createCommentVNode("",!0):(l.openBlock(),l.createElementBlock("div",gr,[l.createVNode(l.unref(X),{props:d.getContext(),render:d.column.columnDef.header},null,8,["props","render"]),!d.column.getIsSorted()&&d.column.getCanSort()?(l.openBlock(),l.createBlock(l.unref(_),{key:0,icon:"ri:arrow-up-down-line",class:"sort-icon"})):l.createCommentVNode("",!0),d.column.getIsSorted()&&d.column.getCanSort()?(l.openBlock(),l.createBlock(l.unref(_),{key:1,icon:d.column.getIsSorted()==="asc"?"mdi:arrow-up":"mdi:arrow-down",class:"sort-icon"},null,8,["icon"])):l.createCommentVNode("",!0)]))],8,dr))),128))]))),128))],2),l.createElementVNode("tbody",null,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(l.unref(i).getRowModel().rows,g=>(l.openBlock(),l.createElementBlock("tr",{key:g.id},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(g.getVisibleCells(),d=>(l.openBlock(),l.createElementBlock("td",{key:d.id,"data-label":d.column.id},[l.createVNode(l.unref(X),{props:d.getContext(),render:d.column.columnDef.cell},null,8,["props","render"])],8,fr))),128))]))),128))])],4),l.createElementVNode("div",pr,[l.createElementVNode("div",mr,[l.createElementVNode("span",hr,l.toDisplayString(l.unref(i).getState().pagination.pageIndex+1)+" of "+l.toDisplayString(l.unref(i).getPageCount()),1),l.createElementVNode("span",Sr,[p[6]||(p[6]=l.createElementVNode("span",{class:"go-to-page-text"}," Go to page: ",-1)),l.createElementVNode("input",{class:"page-input",type:"number",value:l.unref(i).getState().pagination.pageIndex+1,max:l.unref(i).getPageCount(),onInput:p[0]||(p[0]=g=>u(g))},null,40,wr)]),l.createElementVNode("select",{value:l.unref(i).getState().pagination.pageSize,onChange:p[1]||(p[1]=g=>c(g))},[(l.openBlock(),l.createElementBlock(l.Fragment,null,l.renderList([10,20,30,40,50],g=>l.createElementVNode("option",{key:g,value:g}," Show "+l.toDisplayString(g),9,yr)),64))],40,Cr)]),l.createElementVNode("div",Rr,[l.createElementVNode("button",{class:"page-navigation-button",disabled:!l.unref(i).getCanPreviousPage(),onClick:p[2]||(p[2]=g=>l.unref(i).setPageIndex(0))},[l.createVNode(l.unref(_),{icon:"material-symbols:keyboard-double-arrow-left-rounded",class:"navigation-button-icon"})],8,Fr),l.createElementVNode("button",{class:"page-navigation-button",disabled:!l.unref(i).getCanPreviousPage(),onClick:p[3]||(p[3]=g=>l.unref(i).previousPage())},[l.createVNode(l.unref(_),{icon:"material-symbols:arrow-back-ios-new-rounded",class:"navigation-button-icon"})],8,br),l.createElementVNode("button",{class:"page-navigation-button",disabled:!l.unref(i).getCanNextPage(),onClick:p[4]||(p[4]=g=>l.unref(i).nextPage())},[l.createVNode(l.unref(_),{icon:"material-symbols:arrow-forward-ios-rounded",class:"navigation-button-icon"})],8,Pr),l.createElementVNode("button",{class:"page-navigation-button",disabled:!l.unref(i).getCanNextPage(),onClick:p[5]||(p[5]=g=>l.unref(i).setPageIndex(l.unref(i).getPageCount()-1))},[l.createVNode(l.unref(_),{icon:"material-symbols:keyboard-double-arrow-right-rounded",class:"navigation-button-icon"})],8,kr)])])]))}});D.FilesPresentation=ar,D.FilesTable=At,D.Table=Et,D.TableBody=It,D.TableHeader=Bt,D.TanstackTable=$r,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})});
|
|
22
|
+
*/function ae(){return!0}const go=Symbol("merge-proxy"),fo={get(e,o,t){return o===go?t:e.get(o)},has(e,o){return e.has(o)},set:ae,deleteProperty:ae,getOwnPropertyDescriptor(e,o){return{configurable:!0,enumerable:!0,get(){return e.get(o)},set:ae,deleteProperty:ae}},ownKeys(e){return e.keys()}};function De(e){return"value"in e?e.value:e}function U(){for(var e=arguments.length,o=new Array(e),t=0;t<e;t++)o[t]=arguments[t];return new Proxy({get(n){for(let r=o.length-1;r>=0;r--){const i=De(o[r])[n];if(i!==void 0)return i}},has(n){for(let r=o.length-1;r>=0;r--)if(n in De(o[r]))return!0;return!1},keys(){const n=[];for(let r=0;r<o.length;r++)n.push(...Object.keys(De(o[r])));return[...Array.from(new Set(n))]}},fo)}const X=l.defineComponent({props:["render","props"],setup:e=>()=>typeof e.render=="function"||typeof e.render=="object"?l.h(e.render,e.props):e.render});function Rt(e){return U(e,{data:l.unref(e.data)})}function Ft(e){const o=l.isRef(e.data),t=U({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(i,s){return o?{...i,...s}:U(i,s)}},o?Rt(e):e),n=lo(t);if(o){const i=l.shallowRef(e.data);l.watch(i,()=>{n.setState(s=>({...s,data:i.value}))},{immediate:!0})}const r=l.ref(n.initialState);return l.watchEffect(()=>{n.setOptions(i=>{var s;const a=new Proxy({},{get:(u,c)=>r.value[c]});return U(i,o?Rt(e):e,{state:U(a,(s=e.state)!=null?s:{}),onStateChange:u=>{u instanceof Function?r.value=u(r.value):r.value=u,e.onStateChange==null||e.onStateChange(u)}})})}),n}var k=(e=>(e.BETWEEN="between",e.CONTAINS="contains",e.ENDS_WITH="endsWith",e.EQUALS="equals",e.GREATER_THAN="greaterThan",e.GREATER_THAN_OR_EQUAL="greaterThanOrEqual",e.IN="in",e.IS_EMPTY="isEmpty",e.IS_NOT_EMPTY="isNotEmpty",e.IS_NOT_NULL="isNotNull",e.IS_NULL="isNull",e.LESS_THAN="lessThan",e.LESS_THAN_OR_EQUAL="lessThanOrEqual",e.LIKE="like",e.NOT_BETWEEN="notBetween",e.NOT_EQUAL="notEqual",e.NOT_IN="notIn",e.NOT_LIKE="notLike",e.STARTS_WITH="startsWith",e))(k||{}),I=(e=>(e.BETWEEN="bt",e.CONTAINS="ct",e.EMPTY="empty",e.ENDS_WITH="ew",e.EQUALS="eq",e.GREATER_THAN="gt",e.GREATER_THAN_OR_EQUAL="gte",e.IN="in",e.LESS_THAN="lt",e.LESS_THAN_OR_EQUAL="lte",e.LIKE="like",e.NULL="null",e.STARTS_WITH="sw",e))(I||{});const po={class:"pagination"},mo={key:0,class:"items-per-page-control"},ho=["value"],So=["value"],wo={key:1,class:"page-input-control"},Co={key:2,class:"pagination-buttons-wrapper"},yo={key:0},Ro={key:1},Fo={key:1},bo={key:3},Po={name:"TablePagination"},ko=l.defineComponent({...Po,props:{currentPage:{required:!0,type:Number},defaultItemsPerPage:{default:void 0,type:Number},inputDebounceTime:{default:void 0,type:Number},itemsPerPageControlLabel:{default:"Items per page",type:String},itemsPerPageOptions:{default:()=>[5,10,20,30],type:Array},pageInputLabel:{default:"Go to page:",type:String},showFirstLastButtons:{default:!0,type:Boolean},showItemsPerPageControl:{default:!0,type:Boolean},showPageButtons:{default:!1,type:Boolean},showPageInput:{type:Boolean,default:!1},showPreviousNextButtons:{default:!0,type:Boolean},totalItems:{required:!0,type:Number}},emits:["update:currentPage","update:itemsPerPage"],setup(e,{emit:o}){const t=e,n=o,r=l.ref(t.defaultItemsPerPage||t.itemsPerPageOptions[0]),i=l.computed(()=>Math.ceil(t.totalItems/r.value)),s=l.computed(()=>Array.from({length:i.value},(c,f)=>f+1)),a=c=>{const f=parseInt(c.target.value,10);r.value=f,n("update:itemsPerPage",r.value)},u=c=>{const f=parseInt(c.toString(),10)-1;!isNaN(f)&&f>=0&&f<i.value&&n("update:currentPage",f)};return(c,f)=>(l.openBlock(),l.createElementBlock("div",po,[e.showItemsPerPageControl?(l.openBlock(),l.createElementBlock("div",mo,[l.createElementVNode("span",null,l.toDisplayString(e.itemsPerPageControlLabel),1),l.createElementVNode("select",{value:r.value,onChange:a},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.itemsPerPageOptions,p=>(l.openBlock(),l.createElementBlock("option",{key:`items-per-page-option-${p}`,value:p},l.toDisplayString(p),9,So))),128))],40,ho)])):l.createCommentVNode("",!0),i.value>1&&e.showPageInput?(l.openBlock(),l.createElementBlock("div",wo,[l.createElementVNode("span",null,l.toDisplayString(e.pageInputLabel),1),l.createVNode(l.unref(v.DebouncedInput),{type:"number","debounce-time":e.inputDebounceTime,"onUpdate:modelValue":u},null,8,["debounce-time"])])):l.createCommentVNode("",!0),i.value>1?(l.openBlock(),l.createElementBlock("div",Co,[e.showFirstLastButtons||e.showPreviousNextButtons?(l.openBlock(),l.createElementBlock("div",yo,[e.showFirstLastButtons?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:0,disabled:!(e.currentPage>0),class:"first-page",size:"small",onClick:f[0]||(f[0]=p=>c.$emit("update:currentPage",0))},{iconLeft:l.withCtx(()=>[l.createVNode(l.unref(_),{icon:"prime:angle-double-left"})]),_:1},8,["disabled"])):l.createCommentVNode("",!0),e.showPreviousNextButtons?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:1,disabled:!(e.currentPage>0),class:"previous-page",size:"small",onClick:f[1]||(f[1]=p=>c.$emit("update:currentPage",e.currentPage-1))},{iconLeft:l.withCtx(()=>[l.createVNode(l.unref(_),{icon:"prime:angle-left"})]),_:1},8,["disabled"])):l.createCommentVNode("",!0)])):l.createCommentVNode("",!0),l.createElementVNode("div",null,[e.showPageButtons?(l.openBlock(!0),l.createElementBlock(l.Fragment,{key:0},l.renderList(s.value,p=>(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:`page-button-${p}`,class:l.normalizeClass(`page-button ${p===e.currentPage+1?"active":""}`),label:`${p}`,size:"small",onClick:g=>c.$emit("update:currentPage",p-1)},null,8,["class","label","onClick"]))),128)):(l.openBlock(),l.createElementBlock("span",Ro,l.toDisplayString(`${e.currentPage+1} / ${i.value}`),1))]),e.showFirstLastButtons||e.showPreviousNextButtons?(l.openBlock(),l.createElementBlock("div",Fo,[e.showPreviousNextButtons?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:0,disabled:!(e.currentPage<i.value-1),class:"next-page",size:"small",onClick:f[2]||(f[2]=p=>c.$emit("update:currentPage",e.currentPage+1))},{iconLeft:l.withCtx(()=>[l.createVNode(l.unref(_),{icon:"prime:angle-right"})]),_:1},8,["disabled"])):l.createCommentVNode("",!0),e.showFirstLastButtons?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:1,disabled:!(e.currentPage<i.value-1),class:"last-page",size:"small",onClick:f[3]||(f[3]=p=>c.$emit("update:currentPage",i.value-1))},{iconLeft:l.withCtx(()=>[l.createVNode(l.unref(_),{icon:"prime:angle-double-right"})]),_:1},8,["disabled"])):l.createCommentVNode("",!0)])):l.createCommentVNode("",!0)])):(l.openBlock(),l.createElementBlock("span",bo,l.toDisplayString(`${e.currentPage+1} / ${i.value}`),1))]))}}),_e=0,Vo=[10,20,30],$o=10,bt="table",Pt={day:"2-digit",month:"2-digit",year:"numeric"},xo={...Pt,hour:"2-digit",minute:"2-digit",hour12:!1},kt=({value:e,locale:o="en-GB",formatOptions:t})=>typeof e!="number"||isNaN(e)?e:new Intl.NumberFormat(o,t).format(e),vo=(e,o,t)=>{const n=t??Pt;return v.formatDate(e,o,n)},Io=(e,o,t)=>{const n=t??xo;return v.formatDateTime(e,o,n)},Y=e=>{switch(e){case k.CONTAINS:return{operator:I.CONTAINS};case k.STARTS_WITH:return{operator:I.STARTS_WITH};case k.ENDS_WITH:return{operator:I.ENDS_WITH};case k.EQUALS:return{operator:I.EQUALS};case k.NOT_EQUAL:return{operator:I.EQUALS,not:!0};case k.GREATER_THAN:return{operator:I.GREATER_THAN};case k.GREATER_THAN_OR_EQUAL:return{operator:I.GREATER_THAN_OR_EQUAL};case k.LESS_THAN:return{operator:I.LESS_THAN};case k.LESS_THAN_OR_EQUAL:return{operator:I.LESS_THAN_OR_EQUAL};case k.IS_NULL:return{operator:I.NULL};case k.IS_NOT_NULL:return{operator:I.NULL,not:!0};case k.IS_EMPTY:return{operator:I.EMPTY};case k.IS_NOT_EMPTY:return{operator:I.EMPTY,not:!0};case k.LIKE:return{operator:I.LIKE};case k.NOT_LIKE:return{operator:I.LIKE,not:!0};case k.IN:return{operator:I.IN};case k.NOT_IN:return{operator:I.IN,not:!0};case k.BETWEEN:return{operator:I.BETWEEN};case k.NOT_BETWEEN:return{operator:I.BETWEEN,not:!0};default:throw new Error(`Unhandled filter function: ${e}`)}},Vt=e=>{switch(e){case!1:return"ASC";case!0:return"DESC";default:return""}},Me=({align:e,dataType:o})=>e||(o=="other"?"center":o=="number"||o=="currency"?"right":"left"),$t=e=>{const o=e.value.filter(t=>vt(t));return o.length<1?null:e.filterFn===k.BETWEEN?o.length>1?{key:e.id,...Y(e.filterFn),value:o.slice(0,2).join(",")}:null:e.filterFn&&!Ao(e.filterFn)?{key:e.id,...Y(e.filterFn),value:o[0]}:{key:e.id,...Y(e.filterFn||k.IN),value:o.join(",")}},Bo=(e,o,t)=>{const n=()=>{if(!o||o.length===0)return null;const a=o.filter(u=>Array.isArray(u.value)?u.value.filter(f=>vt(f)).length>0:typeof u.value=="string"?u.value.trim()!=="":u.value!=null);return a.length===0?null:a.length===1?Array.isArray(a[0].value)?$t(a[0]):{key:a[0].id,...Y(a[0].filterFn||k.CONTAINS),value:String(a[0].value)}:{AND:a.map(u=>Array.isArray(u.value)?$t(u):{key:u.id,...Y(u.filterFn||k.CONTAINS),value:String(u.value)})}},r=()=>!t||t&&Object.keys(t).length===0?null:t.pageSize,i=()=>!t||t&&Object.keys(t).length===0?null:t.pageIndex*t.pageSize,s=()=>!e||e.length===0?null:e.length>1?e.map(a=>({key:a.id,direction:Vt(a.desc)})):[{key:e[0].id,direction:Vt(e[0].desc)}];return{filter:n(),limit:r(),sort:s(),offset:i()}},Eo=(e,o)=>{try{const t=o.getItem(`${bt}-${e}`);return t&&JSON.parse(t)}catch(t){console.log("[Dz table] Could not restore table state",t)}return null},xt=(e,o,t)=>{try{t.setItem(`${bt}-${e}`,JSON.stringify(o))}catch(n){console.log("[Dz table] Could not store table state",n)}},Ao=e=>[k.IN,k.NOT_IN,k.BETWEEN,k.NOT_BETWEEN].includes(e),vt=e=>e!=null,Do=["data-id","data-selected"],_o=["data-label","data-align"],Mo={key:1},Lo=["colspan"],No={name:"TableBody"},It=l.defineComponent({...No,props:{customFormatters:{default:()=>({}),type:Object},emptyTableMessage:{default:"No results.",type:String},enableRowSelection:Boolean,locale:{default:void 0,type:String},table:{required:!0,type:Object}},setup(e){const o=e,t=r=>{const i=r.getContext(),s=r.column.columnDef.dateOptions,a=r.column.columnDef.numberOptions,u=r.column.columnDef.cell;return{props:i,render:(()=>{const f={number:g=>kt({value:Number(g),locale:a?.locale??o.locale,formatOptions:a?.formatOptions}),date:g=>vo(g,s?.locale??o.locale,s?.formatOptions),datetime:g=>Io(g,s?.locale??o.locale,s?.formatOptions),currency:g=>kt({value:Number(g),locale:a?.locale??o.locale,formatOptions:{style:"currency",currency:"USD",...a?.formatOptions&&a.formatOptions}}),...o.customFormatters},p=r.column.columnDef.dataType||"text";return f?.[p]?.(i.getValue())||u})()}},n=r=>{const i=r.column.columnDef.tooltip;return typeof i=="string"?i:typeof i=="function"?i(r):r.getValue()};return(r,i)=>(l.openBlock(),l.createElementBlock("tbody",null,[e.table.getRowModel().rows?.length?(l.openBlock(!0),l.createElementBlock(l.Fragment,{key:0},l.renderList(e.table.getRowModel().rows,s=>(l.openBlock(),l.createElementBlock("tr",{key:`table-row-${s.id}`,"data-id":s.id,"data-selected":e.enableRowSelection?s.getIsSelected():void 0},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.getVisibleCells(),a=>(l.openBlock(),l.createElementBlock("td",{key:`table-data-${s.id}-${a.id}`,class:l.normalizeClass([a.column.id?`cell-${a.column.id}`:""]),"data-label":a.column.id,"data-align":l.unref(Me)({align:a.column.columnDef.align,dataType:a.column.columnDef.dataType}),style:l.normalizeStyle({width:a.column.columnDef.width,maxWidth:a.column.columnDef.maxWidth,minWidth:a.column.columnDef.minWidth})},[a.column.columnDef.tooltip?(l.openBlock(),l.createBlock(l.unref(v.Tooltip),l.mergeProps({key:0,ref_for:!0},a.column.columnDef.tooltipOptions),{content:l.withCtx(()=>[typeof a.column.columnDef.tooltip=="function"&&typeof n(a)!="string"?(l.openBlock(),l.createBlock(l.resolveDynamicComponent(n(a)),{key:0})):(l.openBlock(),l.createElementBlock(l.Fragment,{key:1},[l.createTextVNode(l.toDisplayString(n(a)),1)],64))]),default:l.withCtx(()=>[l.createVNode(l.unref(X),l.mergeProps({ref_for:!0},t(a)),null,16)]),_:2},1040)):(l.openBlock(),l.createBlock(l.unref(X),l.mergeProps({key:1,ref_for:!0},t(a)),null,16))],14,_o))),128))],8,Do))),128)):(l.openBlock(),l.createElementBlock("tr",Mo,[l.createElementVNode("td",{colspan:e.table.getAllColumns()?.length,class:"empty-table"},l.toDisplayString(e.emptyTableMessage),9,Lo)]))]))}}),To={key:0,class:"data-actions"},Ho={name:"TableDataActions"},Oo=l.defineComponent({...Ho,props:{actions:{type:Array,required:!0},autoModeCount:{default:1,type:Number},data:{default:()=>({}),type:Object},displayActions:{default:!0,type:[Boolean,Function]},mode:{default:void 0,type:String,validator:e=>["auto","buttons","dropdown"].includes(e)}},emits:["action:select"],setup(e,{emit:o}){const t=e,n=o,r=l.ref(!1),i=l.ref(),s=l.computed(()=>t.actions.map(g=>({...g,display:typeof g.display=="function"?g.display(t.data):g.display??!0,disabled:typeof g.disabled=="function"?g.disabled(t.data):g.disabled})).filter(g=>g.display)),a=l.computed(()=>(typeof t.displayActions=="function"?t.displayActions(t.data):t.displayActions)&&s.value?.length),u=l.computed(()=>s.value?.length&&t.mode==="buttons"||t.mode==="auto"&&s.value?.length<=t.autoModeCount),c=l.computed(()=>s.value?.length&&t.mode==="dropdown"||t.mode==="auto"&&s.value?.length>t.autoModeCount),f=()=>{r.value=!1,n("action:select",i.value)},p=g=>{i.value=g,g?.requireConfirmationModal?r.value=!0:n("action:select",i.value)};return(g,d)=>a.value?(l.openBlock(),l.createElementBlock("div",To,[u.value?(l.openBlock(!0),l.createElementBlock(l.Fragment,{key:0},l.renderList(s.value,(m,h)=>(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),l.mergeProps({ref_for:!0},m,{key:`mode-button-${h}`,class:m.class,disabled:m.disabled,"icon-left":m.icon,label:m.icon?"":m.label,title:m.label,rounded:"",variant:"textOnly",onClick:S=>p(m)}),null,16,["class","disabled","icon-left","label","title","onClick"]))),128)):c.value?(l.openBlock(),l.createBlock(l.unref(v.Dropdown),{key:1,menu:s.value,onSelect:p},{default:l.withCtx(()=>[l.renderSlot(g.$slots,"trigger",{},()=>[l.createVNode(l.unref(_),{icon:"prime:cog",width:"22"})])]),_:3},8,["menu"])):l.createCommentVNode("",!0),l.renderSlot(g.$slots,"confirmationModal",{},()=>[r.value?(l.openBlock(),l.createBlock(l.unref(v.ConfirmationModal),{key:0,"onOn:close":d[0]||(d[0]=m=>r.value=!1),"onOn:confirm":f},l.createSlots({_:2},[i.value?.confirmationOptions?.header?{name:"header",fn:l.withCtx(()=>[l.createElementVNode("p",null,l.toDisplayString(i.value?.confirmationOptions?.header),1)]),key:"0"}:void 0,i.value?.confirmationOptions?.body?{name:"body",fn:l.withCtx(()=>[l.createElementVNode("p",null,l.toDisplayString(i.value?.confirmationOptions?.body),1)]),key:"1"}:void 0,i.value?.confirmationOptions?.footer?{name:"footer",fn:l.withCtx(()=>[l.createElementVNode("p",null,l.toDisplayString(i.value?.confirmationOptions?.footer),1)]),key:"2"}:void 0]),1024)):l.createCommentVNode("",!0)])])):l.createCommentVNode("",!0)}}),zo=["colSpan","data-align","onClick"],Go={key:0,class:"sort-state"},jo={key:0,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},qo={key:0,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},Ko={key:1,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},Wo={key:0,class:"header-row filters"},Qo=["data-align"],Uo={key:3,class:"number-range-filter"},Xo={name:"TableHeader"},Bt=l.defineComponent({...Xo,props:{highlightActiveColumn:Boolean,inputDebounceTime:{default:void 0,type:Number},isFilterRowVisible:{default:!1,type:Boolean},table:{required:!0,type:Object}},setup(e){const o=e,t=s=>o.highlightActiveColumn&&(s.getIsSorted()==="asc"||s.getIsSorted()==="desc"||s.getIsFiltered())?"highlight":"",n=s=>s.getFilterValue(),r=s=>s?.length?s.map((a,u)=>{const c=String(a.getDate()).padStart(2,"0"),f=String(a.getMonth()+1).padStart(2,"0"),p=u===0?"00:00:00":"23:59:59";return`${a.getFullYear()}-${f}-${c} ${p}`}).filter(a=>a!==null):null,i=(s,a,u)=>{const c=s.getFilterValue(),f=Array.isArray(c)?[...c]:[void 0,void 0];f[a]=u!==void 0?Number(u):void 0;const p=f.some(g=>g!==void 0);s.setFilterValue(p?f:[])};return(s,a)=>(l.openBlock(),l.createElementBlock("thead",null,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.table.getHeaderGroups(),u=>(l.openBlock(),l.createElementBlock("tr",{key:u.id,class:"header-row"},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(u.headers,c=>(l.openBlock(),l.createElementBlock("th",{key:`table-header-${c.id}`,class:l.normalizeClass([t(c.column),`column-${c.id}`,c.column.columnDef.enableSorting?"sortable":""]),colSpan:c.colSpan,"data-align":l.unref(Me)({align:c.column.columnDef.align,dataType:c.column.columnDef.dataType}),style:l.normalizeStyle({width:c.column.columnDef.width,maxWidth:c.column.columnDef.maxWidth,minWidth:c.column.columnDef.minWidth}),onClick:f=>c.column.getCanSort()?c.column.getToggleSortingHandler()?.(f):null},[c.isPlaceholder?l.createCommentVNode("",!0):(l.openBlock(),l.createElementBlock(l.Fragment,{key:0},[l.createVNode(l.unref(X),{props:c.getContext(),render:c.column.columnDef.header},null,8,["props","render"]),c.column.columnDef.enableSorting?(l.openBlock(),l.createElementBlock("span",Go,[!c.column.getIsSorted()&&c.column.getCanSort()?(l.openBlock(),l.createElementBlock("svg",jo,a[0]||(a[0]=[l.createElementVNode("path",{d:"M18 10.75H6a.74.74 0 0 1-.69-.46a.75.75 0 0 1 .16-.82l6-6a.75.75 0 0 1 1.06 0l6 6a.75.75 0 0 1 .16.82a.74.74 0 0 1-.69.46M7.81 9.25h8.38L12 5.06ZM12 20.75a.74.74 0 0 1-.53-.22l-6-6a.75.75 0 0 1-.16-.82a.74.74 0 0 1 .69-.46h12a.74.74 0 0 1 .69.46a.75.75 0 0 1-.16.82l-6 6a.74.74 0 0 1-.53.22m-4.19-6L12 18.94l4.19-4.19Z",fill:"currentColor"},null,-1)]))):l.createCommentVNode("",!0),c.column.getIsSorted()&&c.column.getCanSort()?(l.openBlock(),l.createElementBlock(l.Fragment,{key:1},[c.column.getIsSorted()==="asc"?(l.openBlock(),l.createElementBlock("svg",qo,a[1]||(a[1]=[l.createElementVNode("path",{d:"M12.53 7.97a.75.75 0 0 0-1.06 0l-7 7A.75.75 0 0 0 5 16.25h14a.75.75 0 0 0 .53-1.28z",fill:"currentColor"},null,-1)]))):(l.openBlock(),l.createElementBlock("svg",Ko,a[2]||(a[2]=[l.createElementVNode("path",{d:"M5 7.75a.75.75 0 0 0-.53 1.28l7 7a.75.75 0 0 0 1.06 0l7-7A.75.75 0 0 0 19 7.75z",fill:"currentColor"},null,-1)])))],64)):l.createCommentVNode("",!0)])):l.createCommentVNode("",!0)],64))],14,zo))),128))]))),128)),e.isFilterRowVisible?(l.openBlock(),l.createElementBlock("tr",Wo,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.table.getVisibleLeafColumns(),u=>(l.openBlock(),l.createElementBlock("th",{key:`table-filter-${u.id}`,class:l.normalizeClass([t(u),u.id?`column-${u.id}`:"",u.columnDef.className||"",u.getCanFilter()?`filter ${u.columnDef.meta?.filterVariant}`:""]),"data-align":l.unref(Me)({align:u.columnDef.align,dataType:u.columnDef.dataType}),style:l.normalizeStyle({width:u.columnDef.width,maxWidth:u.columnDef.maxWidth,minWidth:u.columnDef.minWidth})},[u.getCanFilter()?(l.openBlock(),l.createElementBlock(l.Fragment,{key:0},[u.columnDef.customFilterComponent?(l.openBlock(),l.createBlock(l.resolveDynamicComponent(u.columnDef.customFilterComponent(u)),{key:0})):u.columnDef.meta?.filterVariant==="multiselect"||u.columnDef.meta?.filterVariant==="select"?(l.openBlock(),l.createBlock(l.unref(z.SelectInput),{key:1,"model-value":n(u),options:u.columnDef.meta?.filterOptions||[],placeholder:u.columnDef.filterPlaceholder,name:`multiselect-filter-${u.columnDef.accessorKey}`,multiple:u.columnDef.meta?.filterVariant==="multiselect","enable-tooltip":"","onUpdate:modelValue":c=>u.setFilterValue(c)},null,8,["model-value","options","placeholder","name","multiple","onUpdate:modelValue"])):u.columnDef.meta?.filterVariant==="dateRange"?(l.openBlock(),l.createBlock(l.unref(z.DatePicker),{key:2,"model-value":n(u),placeholder:u.columnDef.filterPlaceholder,name:"`date-range-${column.columnDef.accessorKey}`",range:"",teleport:"","onUpdate:modelValue":c=>u.setFilterValue(r(c))},null,8,["model-value","placeholder","onUpdate:modelValue"])):u.columnDef.meta?.filterVariant==="range"?(l.openBlock(),l.createElementBlock("div",Uo,[l.createVNode(l.unref(z.NumberInput),{"model-value":Array.isArray(n(u))&&n(u)[0]!==null?Number(n(u)[0]):void 0,placeholder:u.columnDef.filterPlaceholder?.split(",")[0],name:"`range-${column.columnDef.accessorKey}-start`","onUpdate:modelValue":c=>i(u,0,c)},null,8,["model-value","placeholder","onUpdate:modelValue"]),l.createVNode(l.unref(z.NumberInput),{"model-value":Array.isArray(n(u))&&n(u)[1]!==null?Number(n(u)[1]):void 0,placeholder:u.columnDef.filterPlaceholder?.split(",")[1]??u.columnDef.filterPlaceholder,name:"`range-${column.columnDef.accessorKey}-end`","onUpdate:modelValue":c=>i(u,1,c)},null,8,["model-value","placeholder","onUpdate:modelValue"])])):(l.openBlock(),l.createBlock(l.unref(v.DebouncedInput),{key:4,id:`input-filter-${u.id}`,"debounce-time":e.inputDebounceTime,"model-value":typeof n(u)=="string"?String(n(u)):"",placeholder:u.columnDef.filterPlaceholder,"onUpdate:modelValue":c=>u.setFilterValue(c)},null,8,["id","debounce-time","model-value","placeholder","onUpdate:modelValue"]))],64)):l.createCommentVNode("",!0)],14,Qo))),128))])):l.createCommentVNode("",!0)]))}}),Yo={class:"toolbar"},Jo={name:"TableToolbar"},Zo=l.defineComponent({...Jo,props:{columnActionButtonLabel:{default:"Columns",type:String},hasActionsColumn:Boolean,hasSelectionColumn:Boolean,resetButtonLabel:{default:"Reset all",type:String},showColumnAction:Boolean,showResetButton:Boolean,table:{required:!0,type:Object}},emits:["on:drag","on:reset"],setup(e,{emit:o}){const t=e,n=o,r=l.computed(()=>t.table.getAllLeafColumns().filter(s=>s.id!=="select"&&s.id!=="actions").map((s,a)=>({id:a,data:s,render:u=>{let c=u.columnDef.header;return typeof u.columnDef.header=="function"&&(c=u.columnDef.header()),l.h(z.Checkbox,{label:c,modelValue:u.getIsVisible(),name:u.columnDef.accessorKey,"onUpdate:modelValue":()=>u.toggleVisibility()})}}))),i=s=>{const a=[...t.hasSelectionColumn?["select"]:[],...s.map(u=>String(u?.data?.id)),...t.hasActionsColumn?["actions"]:[]];n("on:drag",a)};return(s,a)=>(l.openBlock(),l.createElementBlock("div",Yo,[e.showResetButton?(l.openBlock(),l.createBlock(l.unref(v.ButtonElement),{key:0,label:e.resetButtonLabel,variant:"outlined",severity:"secondary",onClick:a[0]||(a[0]=u=>s.$emit("on:reset"))},null,8,["label"])):l.createCommentVNode("",!0),e.showColumnAction?(l.openBlock(),l.createBlock(l.unref(v.Popup),{key:1,position:"bottom"},{content:l.withCtx(()=>[l.createVNode(l.unref(v.SortableList),{list:r.value,onOnDrag:i},null,8,["list"])]),default:l.withCtx(()=>[l.createVNode(l.unref(v.ButtonElement),{label:e.columnActionButtonLabel,variant:"outlined",severity:"secondary"},null,8,["label"])]),_:1})):l.createCommentVNode("",!0),l.renderSlot(s.$slots,"default")]))}}),er=["id"],tr={key:0,class:"loading-overlay"},nr=["data-align"],or={class:"table-wrapper"},rr={key:0},ir={name:"DataTable"},Et=l.defineComponent({...ir,props:{actionsMode:{default:"auto",type:String,validator:e=>["auto","buttons","dropdown"].includes(e)},autoModeCount:{default:1,type:Number},dataActionMenu:{default:()=>[],type:Array},columnActionButtonLabel:{default:void 0,type:String},columnsData:{type:Array,default:()=>[]},customFormatters:{default:()=>({}),type:Object},data:{type:Array,default:()=>[]},displayActions:{default:!0,type:[Boolean,Function]},emptyTableMessage:{default:void 0,type:String},enableRowSelection:{default:!1,type:Boolean},enableSortingRemoval:{default:!1,type:Boolean},highlightActiveHeaderColumn:Boolean,id:{default:void 0,type:String},initialFilters:{default:()=>[],type:Array},initialSorting:{default:()=>[],type:Array},inputDebounceTime:{default:void 0,type:Number},isLoading:Boolean,isServerTable:Boolean,locale:{default:void 0,type:String},paginated:{default:!0,type:Boolean},paginationOptions:{default:()=>({}),type:Object},persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},resetButtonLabel:{default:void 0,type:String},rowPerPage:{default:$o,type:Number},rowPerPageOptions:{default:()=>Vo,type:Array},showColumnAction:Boolean,showResetButton:Boolean,tableOptions:{default:()=>({}),type:Object},titleInfo:{default:void 0,type:Object},totalRecords:{default:0,type:Number},visibleColumns:{default:()=>[],type:Array}},emits:["action:select","change:rowSelection","update:request"],setup(e,{emit:o}){const t=e,n=o,r=[],i=l.ref(t.initialFilters),s=l.ref([]),a=l.ref({}),u=l.ref({pageIndex:_e,pageSize:t.paginated?t.rowPerPage:t.data.length}),c=l.ref({}),f=l.ref(t.initialSorting),p=l.computed(()=>t.columnsData.some(w=>w.enableColumnFilter)),g=l.computed(()=>({columnFilters:i.value,columnOrder:s.value,columnVisibility:a.value,pagination:u.value,sorting:f.value})),d=l.computed(()=>v.getStorage(t.persistStateStorage)),m=l.computed(()=>t.isServerTable?t.totalRecords:S.value.getFilteredRowModel().rows?.length),h=l.computed(()=>S.value.getSelectedRowModel().rows.map(w=>w.original)),S=l.computed(()=>Ft({columns:r,state:{columnFilters:i.value,columnOrder:s.value?.length?s.value:t.visibleColumns,columnVisibility:a.value,pagination:u.value,rowSelection:c.value,get sorting(){return f.value}},onColumnFiltersChange:w=>{i.value=typeof w=="function"?w(i.value):w,Array.isArray(i.value)||(i.value=[]),u.value.pageIndex=_e,t.isServerTable&&(i.value=t.columnsData.filter(C=>C.enableColumnFilter&&(t.visibleColumns.includes(String(C.accessorKey??C.id))||!t.visibleColumns.length)).map(C=>{if(C.meta?.filterVariant==="range"){const V=i.value.find(N=>N?.id===C.accessorKey)?.value,[$,B]=V||[],E=C.meta?.serverFilterFn||(typeof $=="number"&&typeof B=="number"&&$<=B?k.BETWEEN:typeof $=="number"&&!B?k.GREATER_THAN_OR_EQUAL:typeof B=="number"?k.LESS_THAN_OR_EQUAL:null);return E&&V?.length?{filterFn:E,id:C.accessorKey,value:V}:void 0}else return{filterFn:C?.meta?.serverFilterFn,id:C.accessorKey,value:i.value.find(V=>V.id===C.accessorKey)?.value}}).filter(Boolean),F())},onColumnVisibilityChange:w=>{a.value=typeof w=="function"?w(a.value):w},onPaginationChange:w=>{u.value=typeof w=="function"?w(u.value):w,t.isServerTable&&F()},onRowSelectionChange:w=>{c.value=typeof w=="function"?w(c.value):w,n("change:rowSelection",h.value)},onSortingChange:w=>{f.value=typeof w=="function"?w(f.value):w,t.isServerTable&&F()},columnResizeMode:"onChange",data:t.data,enableSortingRemoval:t.enableSortingRemoval,getCoreRowModel:St(),getFilteredRowModel:wt(),getPaginationRowModel:Ct(),getSortedRowModel:yt(),manualFiltering:t.isServerTable,manualSorting:t.isServerTable,manualPagination:t.isServerTable,...t.tableOptions}));l.watch([i,s,a,u,f],()=>{t.persistState&&t.id&&xt(t.id,g.value,d.value)});const F=()=>{const w=Bo(f.value,i.value,u.value);n("update:request",w)},P=()=>{i.value=t.initialFilters,s.value=[],a.value={},u.value={pageIndex:_e,pageSize:t.paginated?t.rowPerPage:t.data.length},f.value=t.initialSorting},b=()=>{if(t.enableRowSelection&&r.push({accessorKey:"select",header:({table:w})=>l.h(z.Checkbox,{"aria-label":"Select all",modelValue:w.getIsAllPageRowsSelected(),"onUpdate:modelValue":()=>w.toggleAllPageRowsSelected(!w.getIsAllPageRowsSelected())}),cell:({row:w})=>l.h(z.Checkbox,{"aria-label":"Select row",modelValue:w.getIsSelected(),"onUpdate:modelValue":()=>w.toggleSelected(!w.getIsSelected())}),align:"center",enableColumnFilter:!1,enableSorting:!1}),t.columnsData.forEach(w=>{t.visibleColumns.length&&!t.visibleColumns.includes(String(w.accessorKey??w.id))||(w.meta?.filterVariant==="multiselect"&&!w.filterFn?w.filterFn=(C,V,$)=>!$||$.length===0?C:$.some(B=>C.getValue(V)==B):w.meta?.filterVariant==="select"&&!w.filterFn?w.filterFn=(C,V,$)=>$===void 0||$.length===0?!0:String($)===String(C.getValue(V)):w.meta?.filterVariant==="dateRange"&&!w.filterFn?w.filterFn=(C,V,$)=>{if($?.length){const B=new Date($[1]).setHours(23,59,59,999),E=new Date(C.getValue(V)),N=new Date($[0]).setHours(0,0,0,0);return E.getTime()>=N&&E.getTime()<=B}return!0}:w.meta?.filterVariant==="range"&&(w.filterFn=(C,V,$)=>{if(!Array.isArray($))return!0;const[B,E]=$,N=C.getValue(V);return B&&E?N>=B&&N<=E:B?N>=B:E?N<=E:!0}),r.push({...w,enableColumnFilter:w.enableColumnFilter??!1,enableSorting:w.enableSorting??!1}))}),t.dataActionMenu?.length&&r.push({accessorKey:"actions",align:"center",enableColumnFilter:!1,enableSorting:!1,header:()=>l.h(_,{icon:"prime:cog",width:"24"}),cell:({row:w})=>l.h(Oo,{actions:t.dataActionMenu,autoModeCount:t.autoModeCount,data:w.original,displayActions:t.displayActions,mode:t.actionsMode,"onAction:select":C=>n("action:select",{action:C?.key||C?.label,data:w.original})})}),t.persistState&&!t.id)throw new Error('Id is required when prop "persistState" is true');x(),t.isServerTable&&F()},x=()=>{if(!t.persistState||!t.id)return;const w=Eo(t.id,d.value);w&&(i.value=w.columnFilters,s.value=w.columnOrder,a.value=w.columnVisibility,f.value=w.sorting,t.rowPerPageOptions.includes(w.pagination.pageSize)&&(u.value=w.pagination)),xt(t.id,g.value,d.value)};return b(),(w,C)=>(l.openBlock(),l.createElementBlock("div",{id:e.id,class:"table-container"},[e.isLoading?(l.openBlock(),l.createElementBlock("div",tr,[l.createVNode(l.unref(v.LoadingIcon),{class:"loading-icon"})])):l.createCommentVNode("",!0),e.titleInfo?(l.openBlock(),l.createElementBlock("span",{key:1,"data-align":e.titleInfo.align||"center"},l.toDisplayString(e.titleInfo.text),9,nr)):l.createCommentVNode("",!0),e.showColumnAction||e.showResetButton||w.$slots.toolbar?(l.openBlock(),l.createBlock(Zo,{key:2,"column-action-button-label":e.columnActionButtonLabel,"has-actions-column":!!e.dataActionMenu.length,"has-selection-column":e.enableRowSelection,"reset-button-label":e.resetButtonLabel,"show-column-action":e.showColumnAction,"show-reset-button":e.showResetButton,table:S.value,"onOn:reset":P,"onOn:drag":C[0]||(C[0]=V=>s.value=V)},{default:l.withCtx(()=>[l.renderSlot(w.$slots,"toolbar")]),_:3},8,["column-action-button-label","has-actions-column","has-selection-column","reset-button-label","show-column-action","show-reset-button","table"])):l.createCommentVNode("",!0),l.createElementVNode("div",or,[l.createElementVNode("table",{style:l.normalizeStyle(`width: ${S.value.getCenterTotalSize()}`)},[l.createVNode(Bt,{"highlight-active-column":e.highlightActiveHeaderColumn,"input-debounce-time":e.inputDebounceTime,"is-filter-row-visible":p.value,table:S.value},null,8,["highlight-active-column","input-debounce-time","is-filter-row-visible","table"]),l.createVNode(It,{"custom-formatters":e.customFormatters,"empty-table-message":e.emptyTableMessage,locale:e.locale,table:S.value},null,8,["custom-formatters","empty-table-message","locale","table"]),w.$slots.footer?(l.openBlock(),l.createElementBlock("tfoot",rr,[l.renderSlot(w.$slots,"footer")])):l.createCommentVNode("",!0)],4)]),(e.isServerTable||e.paginated)&&m.value>0?l.renderSlot(w.$slots,"pagination",{key:3},()=>[l.createVNode(ko,l.mergeProps(e.paginationOptions,{"current-page":u.value.pageIndex,"default-items-per-page":u.value.pageSize,"items-per-page-options":e.rowPerPageOptions,"total-items":m.value,"onUpdate:currentPage":S.value.setPageIndex,"onUpdate:itemsPerPage":S.value.setPageSize}),null,16,["current-page","default-items-per-page","items-per-page-options","total-items","onUpdate:currentPage","onUpdate:itemsPerPage"])]):l.createCommentVNode("",!0)],8,er))}}),lr={name:"FilesTable"},At=l.defineComponent({...lr,props:{archiveFile:Boolean,columnsData:{default:()=>[],type:Array},deleteFile:Boolean,downloadFile:Boolean,editDescription:Boolean,initialSorting:{default:()=>[],type:Array},files:{default:()=>[],type:Array},id:{default:"files-table",type:String},isLoading:Boolean,isServerTable:Boolean,locale:{default:void 0,type:String},persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},messages:{default:void 0,type:Object},shareFile:Boolean,tableOptions:{default:()=>({}),type:Object},totalRecords:{default:0,type:Number},viewFile:Boolean,visibleColumns:{default:()=>[],type:Array}},emits:["action:archive","action:delete","action:download","action:edit","action:share","action:view","update:request"],setup(e,{emit:o}){const t=e,n=o,r=[{accessorKey:"originalFileName",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"File name",header:"File"},{accessorKey:"description",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"Description",header:"Description",tooltip:!0},{accessorKey:"size",enableColumnFilter:!t.isServerTable,enableSorting:!t.isServerTable,filterPlaceholder:"Size",header:"Size",meta:{filterVariant:"range"}},{accessorKey:"uploadedBy",cell:({row:{original:c}})=>c.uploadedBy?c.uploadedBy.givenName||c.uploadedBy.lastName?`${c.uploadedBy.givenName||""} ${c.uploadedBy.lastName||""}`:c.uploadedBy.email:l.h("code",{},"—"),enableColumnFilter:!t.isServerTable,enableSorting:!t.isServerTable,filterFn:(c,f,p)=>{const g=c.getValue(f);return!p||p.length===0?!0:`${g.givenName||""} ${g.lastName||""}`.trim().toLowerCase().includes(p.toLowerCase())||(g.email?.toLowerCase().includes(p.toLowerCase())??!1)},filterPlaceholder:"Name",header:"Uploaded by"},{accessorKey:"uploadedAt",dataType:"datetime",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"Date range",header:"Uploaded at",meta:{filterVariant:"dateRange",serverFilterFn:"between"}},{accessorKey:"downloadCount",align:"right",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"Number of downloads",header:"Download count",meta:{filterVariant:"range"}},{accessorKey:"lastDownloadedAt",dataType:"datetime",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"Date range",header:"Last downloaded at",meta:{filterVariant:"dateRange",serverFilterFn:"between"}}],i=l.computed(()=>{const c=[];return t.archiveFile&&c.push({confirmationOptions:{body:t.messages?.archiveConfirmationMessage||"Are you sure you want to archive this file?",header:t.messages?.archiveConfirmationHeader||"Archive file"},icon:"pi pi-book",key:"archive",label:t.messages?.archiveAction||"Archive",requireConfirmationModal:!0}),t.downloadFile&&c.push({icon:"pi pi-download",key:"download",label:t.messages?.downloadAction||"Download"}),t.editDescription&&c.push({icon:"pi pi-pencil",key:"edit",label:t.messages?.editDescriptionAction||"Edit description"}),t.shareFile&&c.push({icon:"pi pi-share-alt",key:"share",label:t.messages?.shareAction||"Share"}),t.viewFile&&c.push({icon:"pi pi-eye",key:"view",label:t.messages?.viewAction||"View"}),t.deleteFile&&c.push({class:"danger",confirmationOptions:{body:t.messages?.deleteConfirmationMessage||"Are you sure you want to delete this file?",header:t.messages?.deleteConfirmationHeader||"Delete file"},icon:"pi pi-trash",label:t.messages?.deleteAction||"Delete",key:"delete",requireConfirmationModal:!0}),c}),s=l.computed(()=>[...r.map(c=>{const f=t.columnsData.find(p=>p.accessorKey===c.accessorKey);return f?{...c,...f}:c}),...t.columnsData.filter(c=>!r.some(f=>f.accessorKey===c.accessorKey))]),a=c=>{switch(c.action){case"archive":n("action:archive",c.data);break;case"delete":n("action:delete",c.data);break;case"download":n("action:download",c.data);break;case"edit":n("action:edit",c.data);break;case"share":n("action:share",c.data);break;case"view":n("action:view",c.data);break}},u=c=>{n("update:request",c)};return(c,f)=>(l.openBlock(),l.createBlock(Et,l.mergeProps(e.tableOptions,{id:e.id,"columns-data":s.value,data:e.files,"data-action-menu":i.value,"empty-table-message":t.messages?.tableEmpty||"The table is empty","initial-sorting":e.initialSorting,"is-loading":e.isLoading,"is-server-table":e.isServerTable,locale:e.locale,"persist-state":e.persistState,"persist-state-storage":e.persistStateStorage,"total-records":e.totalRecords,"visible-columns":e.visibleColumns,class:"table-files","onAction:select":a,"onUpdate:request":u}),l.createSlots({_:2},[c.$slots.toolbar?{name:"toolbar",fn:l.withCtx(()=>[l.renderSlot(c.$slots,"toolbar")]),key:"0"}:void 0,c.$slots.footer?{name:"footer",fn:l.withCtx(()=>[l.renderSlot(c.$slots,"footer")]),key:"1"}:void 0,c.$slots.pagination?{name:"pagination",fn:l.withCtx(()=>[l.renderSlot(c.$slots,"pagination")]),key:"2"}:void 0]),1040,["id","columns-data","data","data-action-menu","empty-table-message","initial-sorting","is-loading","is-server-table","locale","persist-state","persist-state-storage","total-records","visible-columns"]))}}),sr={name:"FilesPresentation"},ar=l.defineComponent({...sr,props:{actionButtonsVisibility:{default:()=>({archive:!0,delete:!0,download:!0,edit:!0,share:!0,view:!0}),type:Object},files:{default:()=>[],type:Array},messages:{default:void 0,type:Object},listProps:{default:()=>{},type:Object},locale:{default:void 0,type:String},presentation:{default:()=>"list",type:String,validator:e=>["list","table"].includes(e)},tableProps:{default:()=>{},type:Object},visibleFileDetails:{default:()=>["actions","description","downloadCount","lastDownloadedAt","originalFileName","size","uploadedAt","uploadedBy"],type:Array}},emits:["action:archive","action:delete","action:download","action:edit","action:share","action:view"],setup(e,{emit:o}){const t=e,n=o,r=l.computed(()=>Object.fromEntries(["actions","description","downloadCount","lastDownloadedAt","originalFileName","size","uploadedAt","uploadedBy"].map(a=>[a,t.visibleFileDetails.includes(a)]))),i=(s,a)=>{switch(s){case"archive":case"delete":case"download":case"edit":case"share":case"view":n(`action:${s}`,a);break}};return(s,a)=>e.presentation==="list"?(l.openBlock(),l.createBlock(l.unref(v.FilesList),l.mergeProps({key:0},e.listProps,{"action-buttons-visibility":e.actionButtonsVisibility,files:e.files,"file-detail-visibility":r.value,locale:e.locale,messages:e.messages,"onAction:archive":a[0]||(a[0]=u=>i("archive",u)),"onAction:delete":a[1]||(a[1]=u=>i("delete",u)),"onAction:download":a[2]||(a[2]=u=>i("download",u)),"onAction:edit":a[3]||(a[3]=u=>i("edit",u)),"onAction:share":a[4]||(a[4]=u=>i("share",u)),"onAction:view":a[5]||(a[5]=u=>i("view",u))}),null,16,["action-buttons-visibility","files","file-detail-visibility","locale","messages"])):(l.openBlock(),l.createBlock(At,l.mergeProps({key:1},e.tableProps,{"archive-file":e.actionButtonsVisibility.archive,"delete-file":e.actionButtonsVisibility.delete,"download-file":e.actionButtonsVisibility.download,"edit-description":e.actionButtonsVisibility.edit,files:e.files,locale:e.locale,messages:e.messages,"share-file":e.actionButtonsVisibility.share,"view-file":e.actionButtonsVisibility.view,"visible-columns":e.visibleFileDetails,"onAction:archive":a[6]||(a[6]=u=>i("archive",u)),"onAction:delete":a[7]||(a[7]=u=>i("delete",u)),"onAction:download":a[8]||(a[8]=u=>i("download",u)),"onAction:edit":a[9]||(a[9]=u=>i("edit",u)),"onAction:share":a[10]||(a[10]=u=>i("share",u)),"onAction:view":a[11]||(a[11]=u=>i("view",u))}),null,16,["archive-file","delete-file","download-file","edit-description","files","locale","messages","share-file","view-file","visible-columns"]))}}),ur={class:"table-wrapper"},cr={key:0,class:"toggle-wrap"},dr=["colSpan","onClick"],gr={key:0},fr=["data-label"],pr={class:"page-navigation-container"},mr={class:"page-indicators-selection-container"},hr={class:"page-number-indicators"},Sr={class:"go-to-page-container"},wr=["value","max"],Cr=["value"],yr=["value"],Rr={class:"page-navigation-buttons-container"},Fr=["disabled"],br=["disabled"],Pr=["disabled"],kr=["disabled"],Vr={name:"TanstackTable"},$r=l.defineComponent({...Vr,props:{columnsData:{type:Array,default:()=>[]},rows:{type:Array,default:()=>[]},enableToggle:{type:Boolean,default:()=>!1}},setup(e){const o=e,t=En(),n=[];o.columnsData.forEach(f=>{const p=t.accessor(f.accessorKey,{header:()=>f.header,footer:g=>g.column.id,enableSorting:f.sort!==void 0?f.sort:!1});n.push(p)});const r=l.ref([]),i=Ft({columns:n,state:{get sorting(){return r.value}},onSortingChange:f=>{r.value=typeof f=="function"?f(r.value):f},columnResizeMode:"onChange",data:o.rows,getCoreRowModel:St(),getFilteredRowModel:wt(),getPaginationRowModel:Ct(),getSortedRowModel:yt()}),s=l.ref(!1),a=()=>{s.value=!s.value},u=f=>{const p=f.target,g=p.value?Number(p.value)-1:0;i.setPageIndex(g)},c=f=>{const p=f.target,g=p.value?Number(p.value):10;i.setPageSize(g)};return(f,p)=>(l.openBlock(),l.createElementBlock("div",ur,[l.createElementVNode("table",{style:l.normalizeStyle(`width: ${l.unref(i).getCenterTotalSize()}`)},[o.enableToggle?(l.openBlock(),l.createElementBlock("div",cr,[l.createElementVNode("button",{class:"table-toggle",onClick:a},[l.createVNode(l.unref(_),{icon:"mingcute:menu-fill",class:"toggle-icon"})])])):l.createCommentVNode("",!0),l.createElementVNode("colgroup",null,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(o.columnsData,g=>(l.openBlock(),l.createElementBlock("col",{key:g.accessorKey,style:l.normalizeStyle(`width: ${g.size}px`)},null,4))),128))]),l.createElementVNode("thead",{class:l.normalizeClass({expand:s.value})},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(l.unref(i).getHeaderGroups(),g=>(l.openBlock(),l.createElementBlock("tr",{key:g.id},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(g.headers,d=>(l.openBlock(),l.createElementBlock("th",{key:d.id,colSpan:d.colSpan,onClick:m=>d.column.getCanSort()?d.column.getToggleSortingHandler()?.(m):null},[d.isPlaceholder?l.createCommentVNode("",!0):(l.openBlock(),l.createElementBlock("div",gr,[l.createVNode(l.unref(X),{props:d.getContext(),render:d.column.columnDef.header},null,8,["props","render"]),!d.column.getIsSorted()&&d.column.getCanSort()?(l.openBlock(),l.createBlock(l.unref(_),{key:0,icon:"ri:arrow-up-down-line",class:"sort-icon"})):l.createCommentVNode("",!0),d.column.getIsSorted()&&d.column.getCanSort()?(l.openBlock(),l.createBlock(l.unref(_),{key:1,icon:d.column.getIsSorted()==="asc"?"mdi:arrow-up":"mdi:arrow-down",class:"sort-icon"},null,8,["icon"])):l.createCommentVNode("",!0)]))],8,dr))),128))]))),128))],2),l.createElementVNode("tbody",null,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(l.unref(i).getRowModel().rows,g=>(l.openBlock(),l.createElementBlock("tr",{key:g.id},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(g.getVisibleCells(),d=>(l.openBlock(),l.createElementBlock("td",{key:d.id,"data-label":d.column.id},[l.createVNode(l.unref(X),{props:d.getContext(),render:d.column.columnDef.cell},null,8,["props","render"])],8,fr))),128))]))),128))])],4),l.createElementVNode("div",pr,[l.createElementVNode("div",mr,[l.createElementVNode("span",hr,l.toDisplayString(l.unref(i).getState().pagination.pageIndex+1)+" of "+l.toDisplayString(l.unref(i).getPageCount()),1),l.createElementVNode("span",Sr,[p[6]||(p[6]=l.createElementVNode("span",{class:"go-to-page-text"}," Go to page: ",-1)),l.createElementVNode("input",{class:"page-input",type:"number",value:l.unref(i).getState().pagination.pageIndex+1,max:l.unref(i).getPageCount(),onInput:p[0]||(p[0]=g=>u(g))},null,40,wr)]),l.createElementVNode("select",{value:l.unref(i).getState().pagination.pageSize,onChange:p[1]||(p[1]=g=>c(g))},[(l.openBlock(),l.createElementBlock(l.Fragment,null,l.renderList([10,20,30,40,50],g=>l.createElementVNode("option",{key:g,value:g}," Show "+l.toDisplayString(g),9,yr)),64))],40,Cr)]),l.createElementVNode("div",Rr,[l.createElementVNode("button",{class:"page-navigation-button",disabled:!l.unref(i).getCanPreviousPage(),onClick:p[2]||(p[2]=g=>l.unref(i).setPageIndex(0))},[l.createVNode(l.unref(_),{icon:"material-symbols:keyboard-double-arrow-left-rounded",class:"navigation-button-icon"})],8,Fr),l.createElementVNode("button",{class:"page-navigation-button",disabled:!l.unref(i).getCanPreviousPage(),onClick:p[3]||(p[3]=g=>l.unref(i).previousPage())},[l.createVNode(l.unref(_),{icon:"material-symbols:arrow-back-ios-new-rounded",class:"navigation-button-icon"})],8,br),l.createElementVNode("button",{class:"page-navigation-button",disabled:!l.unref(i).getCanNextPage(),onClick:p[4]||(p[4]=g=>l.unref(i).nextPage())},[l.createVNode(l.unref(_),{icon:"material-symbols:arrow-forward-ios-rounded",class:"navigation-button-icon"})],8,Pr),l.createElementVNode("button",{class:"page-navigation-button",disabled:!l.unref(i).getCanNextPage(),onClick:p[5]||(p[5]=g=>l.unref(i).setPageIndex(l.unref(i).getPageCount()-1))},[l.createVNode(l.unref(_),{icon:"material-symbols:keyboard-double-arrow-right-rounded",class:"navigation-button-icon"})],8,kr)])])]))}});D.FilesPresentation=ar,D.FilesTable=At,D.Table=Et,D.TableBody=It,D.TableHeader=Bt,D.TanstackTable=$r,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prefabs.tech/vue3-tanstack-table",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.1",
|
|
4
4
|
"description": "Vue3 Tanstack Table Component Library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@prefabs.tech/eslint-config": "0.2.0",
|
|
24
24
|
"@prefabs.tech/tsconfig": "0.2.0",
|
|
25
|
-
"@prefabs.tech/vue3-form": "0.23.
|
|
26
|
-
"@prefabs.tech/vue3-ui": "0.23.
|
|
25
|
+
"@prefabs.tech/vue3-form": "0.23.1",
|
|
26
|
+
"@prefabs.tech/vue3-ui": "0.23.1",
|
|
27
27
|
"@iconify/vue": "4.3.0",
|
|
28
28
|
"@types/node": "22.13.5",
|
|
29
29
|
"@typescript-eslint/eslint-plugin": "8.24.1",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"vue-tsc": "1.2.0"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@prefabs.tech/vue3-form": "0.23.
|
|
54
|
-
"@prefabs.tech/vue3-ui": "0.23.
|
|
53
|
+
"@prefabs.tech/vue3-form": "0.23.1",
|
|
54
|
+
"@prefabs.tech/vue3-ui": "0.23.1",
|
|
55
55
|
"vue": ">=3.2"
|
|
56
56
|
},
|
|
57
57
|
"engines": {
|