@oneb/ui-vue 0.3.15 → 0.3.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/composables/useMediaQuery.d.ts +5 -0
- package/dist/dataTable/dataTable.d.ts +10 -0
- package/dist/dataTable/index.cjs +1 -1
- package/dist/dataTable/index.d.ts +1 -1
- package/dist/dataTable/index.js +524 -324
- package/dist/dataTable/util.d.ts +2 -0
- package/dist/i18n/index.cjs +1 -1
- package/dist/i18n/index.js +1 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Ref, MaybeRefOrGetter } from 'vue';
|
|
2
|
+
export type Breakpoint = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
3
|
+
export declare const breakpointValues: Record<Breakpoint, number>;
|
|
4
|
+
export declare function useMediaQuery(query: MaybeRefOrGetter<string>): Ref<boolean>;
|
|
5
|
+
export declare function useBreakpoint(bp: Breakpoint): Ref<boolean>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ExtractPropTypes, InjectionKey } from 'vue';
|
|
2
|
+
import type { Breakpoint } from '../composables/useMediaQuery';
|
|
3
|
+
export type { Breakpoint };
|
|
2
4
|
export type SortOrder = 1 | -1 | null;
|
|
3
5
|
export type SelectionMode = 'single' | 'multiple';
|
|
4
6
|
export type FilterMatchMode = 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals';
|
|
@@ -77,6 +79,10 @@ export declare const columnProps: {
|
|
|
77
79
|
type: PropType<string | Record<string, any>>;
|
|
78
80
|
required: boolean;
|
|
79
81
|
};
|
|
82
|
+
visibleFrom: {
|
|
83
|
+
type: PropType<Breakpoint>;
|
|
84
|
+
required: boolean;
|
|
85
|
+
};
|
|
80
86
|
};
|
|
81
87
|
export type ColumnProps = ExtractPropTypes<typeof columnProps>;
|
|
82
88
|
export declare const dataTableProps: {
|
|
@@ -208,6 +214,10 @@ export declare const dataTableProps: {
|
|
|
208
214
|
type: BooleanConstructor;
|
|
209
215
|
default: boolean;
|
|
210
216
|
};
|
|
217
|
+
cardBreakpoint: {
|
|
218
|
+
type: PropType<Breakpoint>;
|
|
219
|
+
required: boolean;
|
|
220
|
+
};
|
|
211
221
|
};
|
|
212
222
|
export type DataTableProps = ExtractPropTypes<typeof dataTableProps>;
|
|
213
223
|
export interface ColumnContext {
|
package/dist/dataTable/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),oe=require("../i18n/index.cjs"),T=require("../ChevronRightIcon-7a2f0c20.cjs"),X=require("../SpinnerIcon-ccb6f3fc.cjs"),Y=require("../ChevronDownIcon-6889ac87.cjs"),Z=require("../CheckIcon-09b84cf5.cjs"),be=require("../_plugin-vue_export-helper-f246444f.cjs");require("../SpinnerIcon.vue_vue_type_style_index_0_lang-0ea8fbf8.cjs");function Be(i,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.8",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5L8.25 12l7.5-7.5"})])}function ee(i,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.8",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9"})])}const Ce={field:{type:String,required:!1},header:{type:String,required:!1},sortable:{type:Boolean,default:!1},sortField:{type:String,required:!1},filterable:{type:Boolean,default:!1},filterField:{type:String,required:!1},expander:{type:Boolean,default:!1},width:{type:String,required:!1},headerClass:{type:String,required:!1},bodyClass:{type:String,required:!1},headerStyle:{type:[String,Object],required:!1},bodyStyle:{type:[String,Object],required:!1}},we={value:{type:Array,default:()=>[]},dataKey:{type:String,required:!1},lazy:{type:Boolean,default:!1},paginator:{type:Boolean,default:!1},rows:{type:Number,default:10},first:{type:Number,default:0},totalRecords:{type:Number,required:!1},rowsPerPageOptions:{type:Array,default:()=>[10,25,50,100]},sortField:{type:String,required:!1},sortOrder:{type:Number,default:null},selectionMode:{type:String,required:!1},selection:{type:[Object,Array],required:!1},expandedRows:{type:[Array,Object],default:()=>[]},filters:{type:Object,required:!1},filterDisplay:{type:String,default:null},globalFilterFields:{type:Array,required:!1},loading:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!0},bordered:{type:Boolean,default:!1},size:{type:String,default:"md"},tableClass:{type:String,required:!1},hasNextPage:{type:Boolean,default:!1},loadingNext:{type:Boolean,default:!1},loadMoreLabel:{type:String,default:""},colWidths:{type:[Array,Function],required:!1},verticalBorders:{type:String,default:"none"},headerVariant:{type:String,default:"default"},headerBgClass:{type:String,required:!1},bodyBgClass:{type:String,required:!1},wrapperClass:{type:String,required:!1},wrapperBordered:{type:Boolean,default:!0}},le=Symbol("OneDataTable"),te={contains:(i,n)=>String(i??"").toLowerCase().includes(String(n).toLowerCase()),startsWith:(i,n)=>String(i??"").toLowerCase().startsWith(String(n).toLowerCase()),endsWith:(i,n)=>String(i??"").toLowerCase().endsWith(String(n).toLowerCase()),equals:(i,n)=>String(i??"").toLowerCase()===String(n).toLowerCase(),notEquals:(i,n)=>String(i??"").toLowerCase()!==String(n).toLowerCase()},Ee=(i=!0)=>{const n=["overflow-x-auto","w-full"];return i&&n.push("border","border-gray-100","rounded"),n},Se=i=>{const n=["min-w-full","text-left","relative"];return i==="sm"?n.push("text-xs"):i==="lg"?n.push("text-base"):n.push("text-sm"),n},P=(i,n,r="none",s="default",u)=>{const d=[];return s==="minimal"?d.push(u||"bg-gray-50","text-gray-700","font-medium","text-sm","normal-case","border-b","border-gray-200"):d.push(u||"bg-gray-100","text-gray-600","font-semibold","text-xs","uppercase","tracking-wide","border-b","border-gray-200","whitespace-nowrap"),n&&d.push("cursor-pointer","select-none","hover:text-primary-base","transition-colors"),r==="always"?d.push("border-r","border-r-gray-200","last:border-r-0"):(r==="hover"||r==="hover-table")&&d.push("border-r","border-r-transparent","last:border-r-0"),i==="sm"?d.push("px-1.5","py-1"):i==="lg"?d.push("px-4","py-3"):d.push("p-2"),d},L=(i,n,r="none",s)=>{const u=["border-b","border-gray-100","text-gray-900"];return s&&u.push(s),n&&u.push("border-r"),r==="always"?u.push("border-r","border-r-gray-200","last:border-r-0"):(r==="hover"||r==="hover-table")&&u.push("border-r","border-r-transparent","last:border-r-0"),i==="sm"?u.push("px-1.5","py-1"):i==="lg"?u.push("px-4","py-3"):u.push("px-2","py-1.5"),u},Ne=(i,n,r,s,u=!1)=>{const d=[];return u&&d.push("group"),s?d.push("bg-primary-25"):i&&r&&d.push("bg-gray-50"),n&&(s?d.push("hover:bg-primary-25-hover","transition-colors"):d.push("hover:bg-gray-50","transition-colors")),d},_=i=>{const n=["w-3.5","h-3.5","inline-block","ml-1"];return i?n.push("text-primary-base"):n.push("text-gray-400"),n.push("transition-transform","duration-200"),n},j=i=>{const n=["text-center"];return i==="sm"?n.push("w-8"):i==="lg"?n.push("w-14"):n.push("w-12"),n},re=i=>j(i),xe=()=>["flex","items-center","justify-between","px-2","py-2","border-t","border-gray-100","bg-white","text-sm"],$=i=>{const n=["bg-gray-100","border-b","border-gray-200"];return i==="sm"?n.push("px-1.5","py-1"):i==="lg"?n.push("px-4","py-2"):n.push("px-2","py-1.5"),n},Ve={class:"flex items-center gap-4"},Re={class:"text-gray-600"},_e=["value"],Fe=["value"],ze={class:"flex items-center gap-1"},qe=["disabled"],Me={class:"px-2 text-gray-600"},Oe=["disabled"],se=e.defineComponent({__name:"OneDataTablePaginator",props:{first:{type:Number,required:!0},rows:{type:Number,required:!0},totalRecords:{type:Number,required:!0},rowsPerPageOptions:{type:Array,default:()=>[10,25,50,100]}},emits:["update:first","update:rows","page"],setup(i,{emit:n}){const r=i,s=n,u=oe.useOnebI18n(),d=e.computed(()=>Math.ceil(r.totalRecords/r.rows)),g=e.computed(()=>Math.floor(r.first/r.rows)+1),F=e.computed(()=>r.totalRecords===0?0:r.first+1),z=e.computed(()=>Math.min(r.first+r.rows,r.totalRecords)),h=e.computed(()=>r.first===0),E=e.computed(()=>r.first+r.rows>=r.totalRecords),S=e.computed(()=>xe()),b=f=>{f<0||f>=r.totalRecords||(s("update:first",f),s("page",{first:f,rows:r.rows,page:Math.floor(f/r.rows),pageCount:d.value}))},x=()=>{b(Math.max(0,r.first-r.rows))},V=()=>{b(r.first+r.rows)},k=f=>{const m=parseInt(f.target.value);s("update:rows",m),s("update:first",0),s("page",{first:0,rows:m,page:0,pageCount:Math.ceil(r.totalRecords/m)})};return(f,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(S.value)},[e.createElementVNode("div",Ve,[e.createElementVNode("span",Re,e.toDisplayString(F.value)+"–"+e.toDisplayString(z.value)+" of "+e.toDisplayString(i.totalRecords),1),i.rowsPerPageOptions.length>1?(e.openBlock(),e.createElementBlock("select",{key:0,value:i.rows,class:"border border-gray-300 rounded px-2 py-1 text-sm bg-white focus:outline-none focus:ring-1 focus:ring-primary-glow",onChange:k},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.rowsPerPageOptions,B=>(e.openBlock(),e.createElementBlock("option",{key:B,value:B},e.toDisplayString(e.unref(u)("ui.dataTable.perPage",{count:B})),9,Fe))),128))],40,_e)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ze,[e.createElementVNode("button",{disabled:h.value,class:"p-1.5 rounded hover:bg-gray-100 disabled:opacity-30 disabled:cursor-default transition-colors",onClick:x},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Be)),{class:"w-4 h-4 text-gray-600"}))],8,qe),e.createElementVNode("span",Me,e.toDisplayString(g.value)+" / "+e.toDisplayString(d.value),1),e.createElementVNode("button",{disabled:E.value,class:"p-1.5 rounded hover:bg-gray-100 disabled:opacity-30 disabled:cursor-default transition-colors",onClick:V},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T.render$1)),{class:"w-4 h-4 text-gray-600"}))],8,Oe)])],2))}}),Pe={key:0,class:"mb-3"},Le={key:0},$e={key:0,class:"w-5 h-5 rounded bg-primary-base flex items-center justify-center text-white"},Te={key:1,class:"w-5 h-5 rounded border border-gray-300 bg-white"},je=["onClick"],Ae={key:1,class:"inline-flex items-center gap-1"},Ke={key:0},We=["value","placeholder","onInput"],De={key:1},Ie=["onClick"],Ue=["onClick"],He={key:0,class:"w-5 h-5 rounded bg-primary-base flex items-center justify-center text-white"},Ge={key:1,class:"w-5 h-5 rounded border border-gray-300 bg-white"},Je=["onClick"],Qe={key:0,class:"w-5 h-5 rounded-full bg-primary-base flex items-center justify-center"},Xe={key:1,class:"w-5 h-5 rounded-full border border-gray-300 bg-white"},Ye=["onClick"],Ze={key:0},et=["colspan"],tt={key:2},rt=["colspan"],ot={class:"flex items-center justify-center gap-2 text-gray-500"},lt={key:3},st=["colspan"],nt={class:"text-gray-400"},at={key:4},it=["colspan"],ct=["disabled"],dt={key:2,class:"mt-3"},ut=e.defineComponent({__name:"OneDataTable",props:we,emits:["update:selection","update:expandedRows","update:first","update:rows","update:sortField","update:sortOrder","update:filters","sort","page","filter","row-click","row-select","row-unselect","row-expand","row-collapse","load:next"],setup(i,{emit:n}){const r=i,s=n,u=e.useSlots(),d=oe.useOnebI18n(),g=e.ref([]),F=t=>{g.value.push(t)},z=t=>{const l=g.value.indexOf(t);l>-1&&g.value.splice(l,1)};e.provide(le,{registerColumn:F,unregisterColumn:z});const h=e.ref(r.first),E=e.ref(r.rows),S=e.ref(r.sortField),b=e.ref(r.sortOrder);e.watch(()=>r.first,t=>{h.value=t}),e.watch(()=>r.rows,t=>{E.value=t}),e.watch(()=>r.sortField,t=>{S.value=t}),e.watch(()=>r.sortOrder,t=>{b.value=t});const x=e.computed(()=>h.value),V=e.computed(()=>E.value),k=e.computed(()=>S.value),f=e.computed(()=>b.value),m=(t,l)=>l?l.split(".").reduce((o,c)=>o==null?void 0:o[c],t):t,B=t=>r.dataKey?m(t,r.dataKey):t,y=(t,l)=>t==null||l==null?t===l:r.dataKey?m(t,r.dataKey)===m(l,r.dataKey):t===l,ne=(t,l)=>r.dataKey?m(t,r.dataKey):l,v=e.computed(()=>g.value.some(t=>t.props.expander)),C=e.computed(()=>!!r.selectionMode),A=e.computed(()=>r.selectionMode==="multiple"),N=e.computed(()=>g.value.filter(t=>!t.props.expander)),R=e.computed(()=>g.value.length+(C.value?1:0)+(v.value?1:0)),K=e.computed(()=>{var o,c;if(r.lazy||!r.filters)return r.value;let t=[...r.value];const l=r.filters;if((o=l.global)!=null&&o.value&&((c=r.globalFilterFields)!=null&&c.length)){const a=l.global.value;t=t.filter(p=>r.globalFilterFields.some(O=>te.contains(m(p,O),a)))}for(const[a,p]of Object.entries(l)){if(a==="global"||!p.value)continue;const O=p.matchMode||"contains",Q=te[O];Q&&(t=t.filter(ve=>Q(m(ve,a),p.value)))}return t}),ae=e.computed(()=>{const t=K.value;return r.lazy||!k.value||!f.value?t:[...t].sort((l,o)=>{const c=m(l,k.value),a=m(o,k.value);if(c==null&&a==null)return 0;if(c==null)return 1;if(a==null)return-1;let p;return typeof c=="number"&&typeof a=="number"?p=c-a:p=String(c).localeCompare(String(a)),f.value===1?p:-p})}),W=e.computed(()=>r.totalRecords??K.value.length),w=e.computed(()=>{const t=ae.value;if(r.paginator&&!r.lazy){const l=x.value,o=l+V.value;return t.slice(l,o)}return t}),ie=t=>{let l;k.value===t?f.value===1?l=-1:f.value===-1?l=null:l=1:l=1,S.value=t,b.value=l,s("update:sortField",t),s("update:sortOrder",l),s("sort",{field:t,order:l}),!r.lazy&&r.paginator&&(h.value=0,s("update:first",0))},D=t=>t.props.sortField||t.props.field,ce=t=>k.value===D(t),q=t=>r.selection?r.selectionMode==="single"?y(r.selection,t):r.selectionMode==="multiple"?r.selection.some(l=>y(l,t)):!1:!1,I=(t,l,o)=>{if(s("row-click",{originalEvent:t,data:l,index:o}),r.selectionMode==="single"){const c=y(r.selection,l)?null:l;s("update:selection",c),c?s("row-select",{originalEvent:t,data:l}):s("row-unselect",{originalEvent:t,data:l})}},de=(t,l)=>{if(t.stopPropagation(),r.selectionMode==="multiple"){const o=r.selection||[],c=o.some(p=>y(p,l));let a;c?(a=o.filter(p=>!y(p,l)),s("row-unselect",{originalEvent:t,data:l})):(a=[...o,l],s("row-select",{originalEvent:t,data:l})),s("update:selection",a)}},U=e.computed(()=>{if(r.selectionMode!=="multiple"||!r.selection)return!1;const t=r.selection;return w.value.length>0&&w.value.every(l=>t.some(o=>y(o,l)))}),ue=t=>{t.stopPropagation();const l=r.selection||[];if(U.value){const o=l.filter(c=>!w.value.some(a=>y(c,a)));s("update:selection",o)}else{const o=[...l];w.value.forEach(c=>{o.some(a=>y(a,c))||o.push(c)}),s("update:selection",o)}},M=t=>{if(!r.expandedRows)return!1;if(Array.isArray(r.expandedRows))return r.expandedRows.some(l=>y(l,t));if(r.dataKey){const l=String(B(t));return!!r.expandedRows[l]}return!1},pe=(t,l)=>{t.stopPropagation();const o=M(l);if(Array.isArray(r.expandedRows)){let c;o?(c=r.expandedRows.filter(a=>!y(a,l)),s("row-collapse",{originalEvent:t,data:l})):(c=[...r.expandedRows,l],s("row-expand",{originalEvent:t,data:l})),s("update:expandedRows",c)}else if(r.dataKey){const c=String(B(l)),a={...r.expandedRows};o?(delete a[c],s("row-collapse",{originalEvent:t,data:l})):(a[c]=!0,s("row-expand",{originalEvent:t,data:l})),s("update:expandedRows",a)}},fe=(t,l,o)=>{var a;if(!r.filters)return;const c={...r.filters,[t]:{value:l,matchMode:o||((a=r.filters[t])==null?void 0:a.matchMode)||"contains"}};s("update:filters",c),r.lazy&&s("filter",{filters:c}),r.paginator&&(h.value=0,s("update:first",0))},H=t=>{var l;return((l=r.filters)==null?void 0:l[t])||{value:null}},me=t=>()=>{r.filters&&(s("update:filters",{...r.filters}),r.lazy&&s("filter",{filters:r.filters}),r.paginator&&(h.value=0,s("update:first",0)))},ye=t=>{h.value=t,s("update:first",t)},ge=t=>{E.value=t,s("update:rows",t)},G=e.computed(()=>{const t=[];if(r.colWidths){if(typeof r.colWidths=="function"){const l=r.colWidths(N.value),o=[];return C.value&&o.push(""),v.value&&o.push(""),[...o,...l]}return r.colWidths}return C.value&&t.push(""),v.value&&t.push(""),N.value.forEach(l=>{t.push(l.props.width||"")}),t}),J=e.computed(()=>G.value.some(t=>t!==""&&t!=null)),he=e.computed(()=>r.wrapperClass?["overflow-x-auto","w-full",r.wrapperClass]:r.verticalBorders==="hover-table"?["overflow-x-auto","w-full","border","border-transparent","rounded"]:Ee(r.wrapperBordered)),ke=e.computed(()=>{const t=Se(r.size);return r.tableClass&&t.push(r.tableClass),r.bordered&&t.push("border","border-gray-100"),t});return(t,l)=>(e.openBlock(),e.createElementBlock("div",null,[e.withDirectives(e.createElementVNode("div",null,[e.renderSlot(t.$slots,"default",{},void 0,!0)],512),[[e.vShow,!1]]),e.unref(u).header?(e.openBlock(),e.createElementBlock("div",Pe,[e.renderSlot(t.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([...he.value,t.verticalBorders==="hover-table"?"vb-hover":""])},[e.createElementVNode("table",{class:e.normalizeClass([...ke.value,t.verticalBorders!=="none"?"border-separate border-spacing-0":"border-collapse",t.verticalBorders==="hover"?"vb-hover":"",J.value?"table-fixed":""])},[J.value?(e.openBlock(),e.createElementBlock("colgroup",Le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(G.value,(o,c)=>(e.openBlock(),e.createElementBlock("col",{key:`col-${c}`,style:e.normalizeStyle(o?{width:o}:{})},null,4))),128))])):e.createCommentVNode("",!0),e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[C.value?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass([...e.unref(P)(t.size,!1,t.verticalBorders,t.headerVariant,t.headerBgClass),...e.unref(j)(t.size)])},[A.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"flex items-center justify-center cursor-pointer",onClick:l[0]||(l[0]=o=>ue(o))},[U.value?(e.openBlock(),e.createElementBlock("div",$e,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Z.render)),{class:"w-3.5 h-3.5"}))])):(e.openBlock(),e.createElementBlock("div",Te))])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass([...e.unref(P)(t.size,!1,t.verticalBorders,t.headerVariant,t.headerBgClass),...e.unref(re)(t.size)])},null,2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(o,c)=>(e.openBlock(),e.createElementBlock("th",{key:c,class:e.normalizeClass([...e.unref(P)(t.size,o.props.sortable,t.verticalBorders,t.headerVariant,t.headerBgClass),o.props.headerClass]),style:e.normalizeStyle([o.props.headerStyle,o.props.width?{width:o.props.width}:{}]),onClick:a=>o.props.sortable?ie(D(o)):void 0},[o.slots.header?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.slots.header),{key:0})):(e.openBlock(),e.createElementBlock("span",Ae,[e.createTextVNode(e.toDisplayString(o.props.header)+" ",1),o.props.sortable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[ce(o)?f.value===1?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T.render)),{key:1,class:e.normalizeClass(e.unref(_)(!0))},null,8,["class"])):f.value===-1?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Y.render)),{key:2,class:e.normalizeClass(e.unref(_)(!0))},null,8,["class"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(ee)),{key:3,class:e.normalizeClass(e.unref(_)(!1))},null,8,["class"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(ee)),{key:0,class:e.normalizeClass(e.unref(_)(!1))},null,8,["class"]))],64)):e.createCommentVNode("",!0)]))],14,je))),128))]),t.filterDisplay==="row"?(e.openBlock(),e.createElementBlock("tr",Ke,[C.value?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(e.unref($)(t.size))},null,2)):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(e.unref($)(t.size))},null,2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(o,c)=>(e.openBlock(),e.createElementBlock("th",{key:`filter-${c}`,class:e.normalizeClass(e.unref($)(t.size))},[o.props.filterable&&o.slots.filter?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.slots.filter),{key:0,filterModel:H(o.props.filterField||o.props.field),filterCallback:me(o.props.filterField||o.props.field)},null,8,["filterModel","filterCallback"])):o.props.filterable&&o.props.field?(e.openBlock(),e.createElementBlock("input",{key:1,type:"text",value:H(o.props.filterField||o.props.field).value||"",class:"w-full border border-gray-300 rounded px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-primary-glow",placeholder:`Filter ${o.props.header||o.props.field}`,onInput:a=>fe(o.props.filterField||o.props.field,a.target.value)},null,40,We)):e.createCommentVNode("",!0)],2))),128))])):e.createCommentVNode("",!0)]),!t.loading&&w.value.length>0?(e.openBlock(),e.createElementBlock("tbody",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(o,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:ne(o,c)},[e.createElementVNode("tr",{class:e.normalizeClass([...e.unref(Ne)(t.striped,t.hoverable,c%2===1,q(o),!1),t.selectionMode?"cursor-pointer":""]),onClick:a=>I(a,o,c)},[C.value?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass([...e.unref(L)(t.size,t.bordered,t.verticalBorders,t.bodyBgClass),...e.unref(j)(t.size)])},[A.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"flex items-center justify-center cursor-pointer",onClick:e.withModifiers(a=>de(a,o),["stop"])},[q(o)?(e.openBlock(),e.createElementBlock("div",He,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Z.render)),{class:"w-3.5 h-3.5"}))])):(e.openBlock(),e.createElementBlock("div",Ge))],8,Ue)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"flex items-center justify-center cursor-pointer",onClick:e.withModifiers(a=>I(a,o,c),["stop"])},[q(o)?(e.openBlock(),e.createElementBlock("div",Qe,[...l[3]||(l[3]=[e.createElementVNode("div",{class:"w-2 h-2 rounded-full bg-white"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Xe))],8,Je))],2)):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass([...e.unref(L)(t.size,t.bordered,t.verticalBorders,t.bodyBgClass),...e.unref(re)(t.size)])},[e.createElementVNode("button",{class:"p-1 rounded hover:bg-gray-100 transition-colors",onClick:a=>pe(a,o)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M(o)?e.unref(Y.render):e.unref(T.render$1)),{class:"w-4 h-4 text-gray-500"}))],8,Ye)],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(a,p)=>(e.openBlock(),e.createElementBlock("td",{key:p,class:e.normalizeClass([...e.unref(L)(t.size,t.bordered,t.verticalBorders,t.bodyBgClass),a.props.bodyClass]),style:e.normalizeStyle(a.props.bodyStyle)},[a.slots.body?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.slots.body),{key:0,data:o,field:a.props.field,index:c},null,8,["data","field","index"])):a.props.field?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(m(o,a.props.field)),1)],64)):e.createCommentVNode("",!0)],6))),128))],10,Ie),v.value&&M(o)?(e.openBlock(),e.createElementBlock("tr",Ze,[e.createElementVNode("td",{colspan:R.value,class:"p-0"},[e.renderSlot(t.$slots,"expansion",{data:o,index:c},void 0,!0)],8,et)])):e.createCommentVNode("",!0)],64))),128))])):t.loading?(e.openBlock(),e.createElementBlock("tbody",tt,[e.createElementVNode("tr",null,[e.createElementVNode("td",{colspan:R.value,class:"text-center py-12"},[e.renderSlot(t.$slots,"loading",{},()=>[e.createElementVNode("div",ot,[e.createVNode(X.SpinnerIcon,{class:"w-5 h-5"}),e.createElementVNode("span",null,e.toDisplayString(e.unref(d)("ui.dataTable.loading")),1)])],!0)],8,rt)])])):(e.openBlock(),e.createElementBlock("tbody",lt,[e.createElementVNode("tr",null,[e.createElementVNode("td",{colspan:R.value,class:"text-center py-12"},[e.renderSlot(t.$slots,"empty",{},()=>[e.createElementVNode("span",nt,e.toDisplayString(e.unref(d)("ui.dataTable.noRecords")),1)],!0)],8,st)])])),t.hasNextPage&&!t.loading?(e.openBlock(),e.createElementBlock("tfoot",at,[e.createElementVNode("tr",null,[e.createElementVNode("td",{colspan:R.value,class:"px-3 pb-3 pt-2"},[e.createElementVNode("button",{class:"w-full p-2 rounded bg-primary-base bg-opacity-10 text-primary-base text-sm font-medium hover:bg-opacity-20 transition-colors disabled:opacity-50 disabled:cursor-default flex items-center justify-center gap-2",disabled:t.loadingNext,onClick:l[1]||(l[1]=o=>s("load:next"))},[t.loadingNext?(e.openBlock(),e.createBlock(X.SpinnerIcon,{key:0,class:"w-4 h-4"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.loadMoreLabel||e.unref(d)("ui.dataTable.showMore")),1)],8,ct)],8,it)])])):e.createCommentVNode("",!0)],2)],2),t.paginator&&W.value>0?(e.openBlock(),e.createBlock(se,{key:1,first:x.value,rows:V.value,"total-records":W.value,"rows-per-page-options":t.rowsPerPageOptions,"onUpdate:first":ye,"onUpdate:rows":ge,onPage:l[2]||(l[2]=o=>s("page",o))},null,8,["first","rows","total-records","rows-per-page-options"])):e.createCommentVNode("",!0),e.unref(u).footer?(e.openBlock(),e.createElementBlock("div",dt,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)]))}});const pt=be._export_sfc(ut,[["__scopeId","data-v-abd207a8"]]),ft=e.defineComponent({__name:"OneColumn",props:Ce,setup(i){const n=i,r=e.useSlots(),s=e.inject(le),u={props:n,slots:r};return s&&s.registerColumn(u),e.onBeforeUnmount(()=>{s&&s.unregisterColumn(u)}),(d,g)=>e.renderSlot(d.$slots,"default")}});exports.OneColumn=ft;exports.OneDataTable=pt;exports.OneDataTablePaginator=se;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ce=require("../i18n/index.cjs"),T=require("../ChevronRightIcon-7a2f0c20.cjs"),O=require("../SpinnerIcon-ccb6f3fc.cjs"),D=require("../ChevronDownIcon-6889ac87.cjs"),P=require("../CheckIcon-09b84cf5.cjs"),Ve=require("../_plugin-vue_export-helper-f246444f.cjs");require("../SpinnerIcon.vue_vue_type_style_index_0_lang-0ea8fbf8.cjs");function _e(i,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.8",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5L8.25 12l7.5-7.5"})])}function ne(i,n){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.8",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9"})])}const Fe={field:{type:String,required:!1},header:{type:String,required:!1},sortable:{type:Boolean,default:!1},sortField:{type:String,required:!1},filterable:{type:Boolean,default:!1},filterField:{type:String,required:!1},expander:{type:Boolean,default:!1},width:{type:String,required:!1},headerClass:{type:String,required:!1},bodyClass:{type:String,required:!1},headerStyle:{type:[String,Object],required:!1},bodyStyle:{type:[String,Object],required:!1},visibleFrom:{type:String,required:!1}},Me={value:{type:Array,default:()=>[]},dataKey:{type:String,required:!1},lazy:{type:Boolean,default:!1},paginator:{type:Boolean,default:!1},rows:{type:Number,default:10},first:{type:Number,default:0},totalRecords:{type:Number,required:!1},rowsPerPageOptions:{type:Array,default:()=>[10,25,50,100]},sortField:{type:String,required:!1},sortOrder:{type:Number,default:null},selectionMode:{type:String,required:!1},selection:{type:[Object,Array],required:!1},expandedRows:{type:[Array,Object],default:()=>[]},filters:{type:Object,required:!1},filterDisplay:{type:String,default:null},globalFilterFields:{type:Array,required:!1},loading:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!0},bordered:{type:Boolean,default:!1},size:{type:String,default:"md"},tableClass:{type:String,required:!1},hasNextPage:{type:Boolean,default:!1},loadingNext:{type:Boolean,default:!1},loadMoreLabel:{type:String,default:""},colWidths:{type:[Array,Function],required:!1},verticalBorders:{type:String,default:"none"},headerVariant:{type:String,default:"default"},headerBgClass:{type:String,required:!1},bodyBgClass:{type:String,required:!1},wrapperClass:{type:String,required:!1},wrapperBordered:{type:Boolean,default:!0},cardBreakpoint:{type:String,required:!1}},de=Symbol("OneDataTable"),ae={contains:(i,n)=>String(i??"").toLowerCase().includes(String(n).toLowerCase()),startsWith:(i,n)=>String(i??"").toLowerCase().startsWith(String(n).toLowerCase()),endsWith:(i,n)=>String(i??"").toLowerCase().endsWith(String(n).toLowerCase()),equals:(i,n)=>String(i??"").toLowerCase()===String(n).toLowerCase(),notEquals:(i,n)=>String(i??"").toLowerCase()!==String(n).toLowerCase()},Re={sm:640,md:768,lg:1024,xl:1280,"2xl":1536};function ze(i){const n=e.ref(!1);let o=null,a=null;const u=()=>{o&&a&&o.removeEventListener("change",a),o=null,a=null},d=y=>{u(),!(typeof window>"u")&&(o=window.matchMedia(y),n.value=o.matches,a=N=>{n.value=N.matches},o.addEventListener("change",a))};return e.onMounted(()=>{d(e.toValue(i)),e.watch(()=>e.toValue(i),y=>{d(y)})}),e.onBeforeUnmount(()=>{u()}),n}function x(i){return ze(`(min-width: ${Re[i]}px)`)}const Le=(i=!0)=>{const n=["overflow-x-auto","w-full"];return i&&n.push("border","border-gray-100","rounded"),n},qe=i=>{const n=["min-w-full","text-left","relative"];return i==="sm"?n.push("text-xs"):i==="lg"?n.push("text-base"):n.push("text-sm"),n},H=(i,n,o="none",a="default",u)=>{const d=[];return a==="minimal"?d.push(u||"bg-gray-50","text-gray-700","font-medium","text-sm","normal-case","border-b","border-gray-200"):d.push(u||"bg-gray-100","text-gray-600","font-semibold","text-xs","uppercase","tracking-wide","border-b","border-gray-200","whitespace-nowrap"),n&&d.push("cursor-pointer","select-none","hover:text-primary-base","transition-colors"),o==="always"?d.push("border-r","border-r-gray-200","last:border-r-0"):(o==="hover"||o==="hover-table")&&d.push("border-r","border-r-transparent","last:border-r-0"),i==="sm"?d.push("px-1.5","py-1"):i==="lg"?d.push("px-4","py-3"):d.push("p-2"),d},Q=(i,n,o="none",a)=>{const u=["border-b","border-gray-100","text-gray-900"];return a&&u.push(a),n&&u.push("border-r"),o==="always"?u.push("border-r","border-r-gray-200","last:border-r-0"):(o==="hover"||o==="hover-table")&&u.push("border-r","border-r-transparent","last:border-r-0"),i==="sm"?u.push("px-1.5","py-1"):i==="lg"?u.push("px-4","py-3"):u.push("px-2","py-1.5"),u},Oe=(i,n,o,a,u=!1)=>{const d=[];return u&&d.push("group"),a?d.push("bg-primary-25"):i&&o&&d.push("bg-gray-50"),n&&(a?d.push("hover:bg-primary-25-hover","transition-colors"):d.push("hover:bg-gray-50","transition-colors")),d},$=i=>{const n=["w-3.5","h-3.5","inline-block","ml-1"];return i?n.push("text-primary-base"):n.push("text-gray-400"),n.push("transition-transform","duration-200"),n},J=i=>{const n=["text-center"];return i==="sm"?n.push("w-8"):i==="lg"?n.push("w-14"):n.push("w-12"),n},ie=i=>J(i),Pe=()=>["flex","items-center","justify-between","px-2","py-2","border-t","border-gray-100","bg-white","text-sm"],$e=(i,n)=>{const o=["rounded","border","p-3"];return n?o.push("bg-primary-25","border-primary-base/20"):o.push("bg-white","border-gray-100"),i&&(n?o.push("hover:bg-primary-25-hover","transition-colors"):o.push("hover:bg-gray-50","transition-colors")),o},Te=i=>{const n=["flex","items-start","justify-between","gap-2"];return i==="sm"?n.push("py-0.5"):i==="lg"?n.push("py-2"):n.push("py-1"),n},G=i=>{const n=["bg-gray-100","border-b","border-gray-200"];return i==="sm"?n.push("px-1.5","py-1"):i==="lg"?n.push("px-4","py-2"):n.push("px-2","py-1.5"),n},je={class:"flex items-center gap-4"},Ae={class:"text-gray-600"},Ke=["value"],We=["value"],Ue={class:"flex items-center gap-1"},Ie=["disabled"],De={class:"px-2 text-gray-600"},He=["disabled"],ue=e.defineComponent({__name:"OneDataTablePaginator",props:{first:{type:Number,required:!0},rows:{type:Number,required:!0},totalRecords:{type:Number,required:!0},rowsPerPageOptions:{type:Array,default:()=>[10,25,50,100]}},emits:["update:first","update:rows","page"],setup(i,{emit:n}){const o=i,a=n,u=ce.useOnebI18n(),d=e.computed(()=>Math.ceil(o.totalRecords/o.rows)),y=e.computed(()=>Math.floor(o.first/o.rows)+1),N=e.computed(()=>o.totalRecords===0?0:o.first+1),j=e.computed(()=>Math.min(o.first+o.rows,o.totalRecords)),h=e.computed(()=>o.first===0),V=e.computed(()=>o.first+o.rows>=o.totalRecords),_=e.computed(()=>Pe()),w=m=>{m<0||m>=o.totalRecords||(a("update:first",m),a("page",{first:m,rows:o.rows,page:Math.floor(m/o.rows),pageCount:d.value}))},M=()=>{w(Math.max(0,o.first-o.rows))},R=()=>{w(o.first+o.rows)},B=m=>{const f=parseInt(m.target.value);a("update:rows",f),a("update:first",0),a("page",{first:0,rows:f,page:0,pageCount:Math.ceil(o.totalRecords/f)})};return(m,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(_.value)},[e.createElementVNode("div",je,[e.createElementVNode("span",Ae,e.toDisplayString(N.value)+"–"+e.toDisplayString(j.value)+" of "+e.toDisplayString(i.totalRecords),1),i.rowsPerPageOptions.length>1?(e.openBlock(),e.createElementBlock("select",{key:0,value:i.rows,class:"border border-gray-300 rounded px-2 py-1 text-sm bg-white focus:outline-none focus:ring-1 focus:ring-primary-glow",onChange:B},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.rowsPerPageOptions,E=>(e.openBlock(),e.createElementBlock("option",{key:E,value:E},e.toDisplayString(e.unref(u)("ui.dataTable.perPage",{count:E})),9,We))),128))],40,Ke)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ue,[e.createElementVNode("button",{disabled:h.value,class:"p-1.5 rounded hover:bg-gray-100 disabled:opacity-30 disabled:cursor-default transition-colors",onClick:M},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(_e)),{class:"w-4 h-4 text-gray-600"}))],8,Ie),e.createElementVNode("span",De,e.toDisplayString(y.value)+" / "+e.toDisplayString(d.value),1),e.createElementVNode("button",{disabled:V.value,class:"p-1.5 rounded hover:bg-gray-100 disabled:opacity-30 disabled:cursor-default transition-colors",onClick:R},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T.render$1)),{class:"w-4 h-4 text-gray-600"}))],8,He)])],2))}}),Qe={key:0,class:"mb-3"},Ge={key:0},Je={key:0,class:"w-5 h-5 rounded bg-primary-base flex items-center justify-center text-white"},Xe={key:1,class:"w-5 h-5 rounded border border-gray-300 bg-white"},Ye=["onClick"],Ze={key:1,class:"inline-flex items-center gap-1"},et={key:0},tt=["value","placeholder","onInput"],ot={key:1},rt=["onClick"],lt=["onClick"],st={key:0,class:"w-5 h-5 rounded bg-primary-base flex items-center justify-center text-white"},nt={key:1,class:"w-5 h-5 rounded border border-gray-300 bg-white"},at=["onClick"],it={key:0,class:"w-5 h-5 rounded-full bg-primary-base flex items-center justify-center"},ct={key:1,class:"w-5 h-5 rounded-full border border-gray-300 bg-white"},dt=["onClick"],ut={key:0},pt=["colspan"],mt={key:2},ft=["colspan"],yt={class:"flex items-center justify-center gap-2 text-gray-500"},kt={key:3},gt=["colspan"],ht={class:"text-gray-400"},vt={key:4},bt=["colspan"],Bt=["disabled"],Ct={key:2},wt={key:0,class:"text-center py-12"},Et={class:"flex items-center justify-center gap-2 text-gray-500"},St={key:1,class:"text-center py-12"},xt={class:"text-gray-400"},Nt={key:2,class:"space-y-2"},Vt={key:0,class:"flex items-center gap-2 px-3 py-2"},_t={key:0,class:"w-5 h-5 rounded bg-primary-base flex items-center justify-center text-white"},Ft={key:1,class:"w-5 h-5 rounded border border-gray-300 bg-white"},Mt={class:"text-sm text-gray-500"},Rt=["onClick"],zt={key:0,class:"flex items-center justify-between mb-2"},Lt={key:0},qt=["onClick"],Ot={key:0,class:"w-5 h-5 rounded bg-primary-base flex items-center justify-center text-white"},Pt={key:1,class:"w-5 h-5 rounded border border-gray-300 bg-white"},$t=["onClick"],Tt={key:0,class:"w-5 h-5 rounded-full bg-primary-base flex items-center justify-center"},jt={key:1,class:"w-5 h-5 rounded-full border border-gray-300 bg-white"},At={key:1},Kt=["onClick"],Wt={class:"text-gray-500 text-xs font-medium shrink-0"},Ut={class:"text-right"},It={key:1,class:"mt-2 pt-2 border-t border-gray-100"},Dt=["disabled"],Ht={key:4,class:"mt-3"},Qt=e.defineComponent({__name:"OneDataTable",props:Me,emits:["update:selection","update:expandedRows","update:first","update:rows","update:sortField","update:sortOrder","update:filters","sort","page","filter","row-click","row-select","row-unselect","row-expand","row-collapse","load:next"],setup(i,{emit:n}){const o=i,a=n,u=e.useSlots(),d=ce.useOnebI18n(),y=e.ref([]),N=t=>{y.value.push(t)},j=t=>{const l=y.value.indexOf(t);l>-1&&y.value.splice(l,1)};e.provide(de,{registerColumn:N,unregisterColumn:j});const h=e.ref(o.first),V=e.ref(o.rows),_=e.ref(o.sortField),w=e.ref(o.sortOrder);e.watch(()=>o.first,t=>{h.value=t}),e.watch(()=>o.rows,t=>{V.value=t}),e.watch(()=>o.sortField,t=>{_.value=t}),e.watch(()=>o.sortOrder,t=>{w.value=t});const M=e.computed(()=>h.value),R=e.computed(()=>V.value),B=e.computed(()=>_.value),m=e.computed(()=>w.value),f=(t,l)=>l?l.split(".").reduce((r,c)=>r==null?void 0:r[c],t):t,E=t=>o.dataKey?f(t,o.dataKey):t,g=(t,l)=>t==null||l==null?t===l:o.dataKey?f(t,o.dataKey)===f(l,o.dataKey):t===l,X=(t,l)=>o.dataKey?f(t,o.dataKey):l,k=e.computed(()=>y.value.some(t=>t.props.expander)),v=e.computed(()=>!!o.selectionMode),z=e.computed(()=>o.selectionMode==="multiple"),A=e.computed(()=>y.value.filter(t=>!t.props.expander)),L=e.computed(()=>F.value.length+(v.value?1:0)+(k.value?1:0)),Y=e.computed(()=>{var r,c;if(o.lazy||!o.filters)return o.value;let t=[...o.value];const l=o.filters;if((r=l.global)!=null&&r.value&&((c=o.globalFilterFields)!=null&&c.length)){const s=l.global.value;t=t.filter(p=>o.globalFilterFields.some(I=>ae.contains(f(p,I),s)))}for(const[s,p]of Object.entries(l)){if(s==="global"||!p.value)continue;const I=p.matchMode||"contains",se=ae[I];se&&(t=t.filter(Ne=>se(f(Ne,s),p.value)))}return t}),pe=e.computed(()=>{const t=Y.value;return o.lazy||!B.value||!m.value?t:[...t].sort((l,r)=>{const c=f(l,B.value),s=f(r,B.value);if(c==null&&s==null)return 0;if(c==null)return 1;if(s==null)return-1;let p;return typeof c=="number"&&typeof s=="number"?p=c-s:p=String(c).localeCompare(String(s)),m.value===1?p:-p})}),Z=e.computed(()=>o.totalRecords??Y.value.length),b=e.computed(()=>{const t=pe.value;if(o.paginator&&!o.lazy){const l=M.value,r=l+R.value;return t.slice(l,r)}return t}),me=t=>{let l;B.value===t?m.value===1?l=-1:m.value===-1?l=null:l=1:l=1,_.value=t,w.value=l,a("update:sortField",t),a("update:sortOrder",l),a("sort",{field:t,order:l}),!o.lazy&&o.paginator&&(h.value=0,a("update:first",0))},ee=t=>t.props.sortField||t.props.field,fe=t=>B.value===ee(t),C=t=>o.selection?o.selectionMode==="single"?g(o.selection,t):o.selectionMode==="multiple"?o.selection.some(l=>g(l,t)):!1:!1,q=(t,l,r)=>{if(a("row-click",{originalEvent:t,data:l,index:r}),o.selectionMode==="single"){const c=g(o.selection,l)?null:l;a("update:selection",c),c?a("row-select",{originalEvent:t,data:l}):a("row-unselect",{originalEvent:t,data:l})}},K=(t,l)=>{if(t.stopPropagation(),o.selectionMode==="multiple"){const r=o.selection||[],c=r.some(p=>g(p,l));let s;c?(s=r.filter(p=>!g(p,l)),a("row-unselect",{originalEvent:t,data:l})):(s=[...r,l],a("row-select",{originalEvent:t,data:l})),a("update:selection",s)}},W=e.computed(()=>{if(o.selectionMode!=="multiple"||!o.selection)return!1;const t=o.selection;return b.value.length>0&&b.value.every(l=>t.some(r=>g(r,l)))}),te=t=>{t.stopPropagation();const l=o.selection||[];if(W.value){const r=l.filter(c=>!b.value.some(s=>g(c,s)));a("update:selection",r)}else{const r=[...l];b.value.forEach(c=>{r.some(s=>g(s,c))||r.push(c)}),a("update:selection",r)}},S=t=>{if(!o.expandedRows)return!1;if(Array.isArray(o.expandedRows))return o.expandedRows.some(l=>g(l,t));if(o.dataKey){const l=String(E(t));return!!o.expandedRows[l]}return!1},U=(t,l)=>{t.stopPropagation();const r=S(l);if(Array.isArray(o.expandedRows)){let c;r?(c=o.expandedRows.filter(s=>!g(s,l)),a("row-collapse",{originalEvent:t,data:l})):(c=[...o.expandedRows,l],a("row-expand",{originalEvent:t,data:l})),a("update:expandedRows",c)}else if(o.dataKey){const c=String(E(l)),s={...o.expandedRows};r?(delete s[c],a("row-collapse",{originalEvent:t,data:l})):(s[c]=!0,a("row-expand",{originalEvent:t,data:l})),a("update:expandedRows",s)}},ye=(t,l,r)=>{var s;if(!o.filters)return;const c={...o.filters,[t]:{value:l,matchMode:r||((s=o.filters[t])==null?void 0:s.matchMode)||"contains"}};a("update:filters",c),o.lazy&&a("filter",{filters:c}),o.paginator&&(h.value=0,a("update:first",0))},oe=t=>{var l;return((l=o.filters)==null?void 0:l[t])||{value:null}},ke=t=>()=>{o.filters&&(a("update:filters",{...o.filters}),o.lazy&&a("filter",{filters:o.filters}),o.paginator&&(h.value=0,a("update:first",0)))},ge=t=>{h.value=t,a("update:first",t)},he=t=>{V.value=t,a("update:rows",t)},re=e.computed(()=>{const t=[];if(o.colWidths){if(typeof o.colWidths=="function"){const l=o.colWidths(A.value),r=[];return v.value&&r.push(""),k.value&&r.push(""),[...r,...l]}return o.colWidths}return v.value&&t.push(""),k.value&&t.push(""),A.value.forEach(l=>{t.push(l.props.width||"")}),t}),le=e.computed(()=>re.value.some(t=>t!==""&&t!=null)),ve=e.computed(()=>o.wrapperClass?["overflow-x-auto","w-full",o.wrapperClass]:o.verticalBorders==="hover-table"?["overflow-x-auto","w-full","border","border-transparent","rounded"]:Le(o.wrapperBordered)),be=e.computed(()=>{const t=qe(o.size);return o.tableClass&&t.push(o.tableClass),o.bordered&&t.push("border","border-gray-100"),t}),Be=o.cardBreakpoint?x(o.cardBreakpoint):e.ref(!0),Ce=e.computed(()=>!!o.cardBreakpoint&&!Be.value),we={sm:x("sm"),md:x("md"),lg:x("lg"),xl:x("xl"),"2xl":x("2xl")},Ee=t=>{var r;if(!t.props.visibleFrom)return!0;const l=t.props.visibleFrom;return((r=we[l])==null?void 0:r.value)??!0},F=e.computed(()=>A.value.filter(Ee)),Se=t=>l=>U(l,t),xe=t=>l=>K(l,t);return(t,l)=>(e.openBlock(),e.createElementBlock("div",null,[e.withDirectives(e.createElementVNode("div",null,[e.renderSlot(t.$slots,"default",{},void 0,!0)],512),[[e.vShow,!1]]),e.unref(u).header?(e.openBlock(),e.createElementBlock("div",Qe,[e.renderSlot(t.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),Ce.value?(e.openBlock(),e.createElementBlock("div",Ct,[t.loading?(e.openBlock(),e.createElementBlock("div",wt,[e.renderSlot(t.$slots,"loading",{},()=>[e.createElementVNode("div",Et,[e.createVNode(O.SpinnerIcon,{class:"w-5 h-5"}),e.createElementVNode("span",null,e.toDisplayString(e.unref(d)("ui.dataTable.loading")),1)])],!0)])):b.value.length===0?(e.openBlock(),e.createElementBlock("div",St,[e.renderSlot(t.$slots,"empty",{},()=>[e.createElementVNode("span",xt,e.toDisplayString(e.unref(d)("ui.dataTable.noRecords")),1)],!0)])):(e.openBlock(),e.createElementBlock("div",Nt,[z.value?(e.openBlock(),e.createElementBlock("div",Vt,[e.createElementVNode("div",{class:"cursor-pointer",onClick:l[2]||(l[2]=r=>te(r))},[W.value?(e.openBlock(),e.createElementBlock("div",_t,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(P.render)),{class:"w-3.5 h-3.5"}))])):(e.openBlock(),e.createElementBlock("div",Ft))]),e.createElementVNode("span",Mt,e.toDisplayString(e.unref(d)("ui.dataTable.selectAll")),1)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(r,c)=>(e.openBlock(),e.createElementBlock("div",{key:X(r,c),class:e.normalizeClass([...e.unref($e)(t.hoverable,C(r)),t.selectionMode?"cursor-pointer":""]),onClick:s=>q(s,r,c)},[e.unref(u).card?e.renderSlot(t.$slots,"card",{key:0,data:r,index:c,selected:C(r),expanded:k.value&&S(r),toggleExpansion:Se(r),toggleSelection:xe(r)},void 0,!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[v.value||k.value?(e.openBlock(),e.createElementBlock("div",zt,[v.value?(e.openBlock(),e.createElementBlock("div",Lt,[z.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"cursor-pointer",onClick:e.withModifiers(s=>K(s,r),["stop"])},[C(r)?(e.openBlock(),e.createElementBlock("div",Ot,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(P.render)),{class:"w-3.5 h-3.5"}))])):(e.openBlock(),e.createElementBlock("div",Pt))],8,qt)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"cursor-pointer",onClick:e.withModifiers(s=>q(s,r,c),["stop"])},[C(r)?(e.openBlock(),e.createElementBlock("div",Tt,[...l[6]||(l[6]=[e.createElementVNode("div",{class:"w-2 h-2 rounded-full bg-white"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",jt))],8,$t))])):(e.openBlock(),e.createElementBlock("div",At)),k.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"p-1 rounded hover:bg-gray-100 transition-colors",onClick:e.withModifiers(s=>U(s,r),["stop"])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S(r)?e.unref(D.render):e.unref(T.render$1)),{class:"w-4 h-4 text-gray-500"}))],8,Kt)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,(s,p)=>(e.openBlock(),e.createElementBlock("div",{key:p,class:e.normalizeClass(e.unref(Te)(t.size))},[e.createElementVNode("span",Wt,e.toDisplayString(s.props.header),1),e.createElementVNode("div",Ut,[s.slots.body?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.slots.body),{key:0,data:r,field:s.props.field,index:c},null,8,["data","field","index"])):s.props.field?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(f(r,s.props.field)),1)],64)):e.createCommentVNode("",!0)])],2))),128)),k.value&&S(r)?(e.openBlock(),e.createElementBlock("div",It,[e.renderSlot(t.$slots,"expansion",{data:r,index:c},void 0,!0)])):e.createCommentVNode("",!0)],64))],10,Rt))),128)),t.hasNextPage&&!t.loading?(e.openBlock(),e.createElementBlock("button",{key:1,class:"w-full p-2 rounded bg-primary-base bg-opacity-10 text-primary-base text-sm font-medium hover:bg-opacity-20 transition-colors disabled:opacity-50 disabled:cursor-default flex items-center justify-center gap-2",disabled:t.loadingNext,onClick:l[3]||(l[3]=r=>a("load:next"))},[t.loadingNext?(e.openBlock(),e.createBlock(O.SpinnerIcon,{key:0,class:"w-4 h-4"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.loadMoreLabel||e.unref(d)("ui.dataTable.showMore")),1)],8,Dt)):e.createCommentVNode("",!0)]))])):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([...ve.value,t.verticalBorders==="hover-table"?"vb-hover":""])},[e.createElementVNode("table",{class:e.normalizeClass([...be.value,t.verticalBorders!=="none"?"border-separate border-spacing-0":"border-collapse",t.verticalBorders==="hover"?"vb-hover":"",le.value?"table-fixed":""])},[le.value?(e.openBlock(),e.createElementBlock("colgroup",Ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(re.value,(r,c)=>(e.openBlock(),e.createElementBlock("col",{key:`col-${c}`,style:e.normalizeStyle(r?{width:r}:{})},null,4))),128))])):e.createCommentVNode("",!0),e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[v.value?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass([...e.unref(H)(t.size,!1,t.verticalBorders,t.headerVariant,t.headerBgClass),...e.unref(J)(t.size)])},[z.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"flex items-center justify-center cursor-pointer",onClick:l[0]||(l[0]=r=>te(r))},[W.value?(e.openBlock(),e.createElementBlock("div",Je,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(P.render)),{class:"w-3.5 h-3.5"}))])):(e.openBlock(),e.createElementBlock("div",Xe))])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),k.value?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass([...e.unref(H)(t.size,!1,t.verticalBorders,t.headerVariant,t.headerBgClass),...e.unref(ie)(t.size)])},null,2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,(r,c)=>(e.openBlock(),e.createElementBlock("th",{key:c,class:e.normalizeClass([...e.unref(H)(t.size,r.props.sortable,t.verticalBorders,t.headerVariant,t.headerBgClass),r.props.headerClass]),style:e.normalizeStyle([r.props.headerStyle,r.props.width?{width:r.props.width}:{}]),onClick:s=>r.props.sortable?me(ee(r)):void 0},[r.slots.header?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.slots.header),{key:0})):(e.openBlock(),e.createElementBlock("span",Ze,[e.createTextVNode(e.toDisplayString(r.props.header)+" ",1),r.props.sortable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[fe(r)?m.value===1?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T.render)),{key:1,class:e.normalizeClass(e.unref($)(!0))},null,8,["class"])):m.value===-1?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(D.render)),{key:2,class:e.normalizeClass(e.unref($)(!0))},null,8,["class"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(ne)),{key:3,class:e.normalizeClass(e.unref($)(!1))},null,8,["class"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(ne)),{key:0,class:e.normalizeClass(e.unref($)(!1))},null,8,["class"]))],64)):e.createCommentVNode("",!0)]))],14,Ye))),128))]),t.filterDisplay==="row"?(e.openBlock(),e.createElementBlock("tr",et,[v.value?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(e.unref(G)(t.size))},null,2)):e.createCommentVNode("",!0),k.value?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(e.unref(G)(t.size))},null,2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,(r,c)=>(e.openBlock(),e.createElementBlock("th",{key:`filter-${c}`,class:e.normalizeClass(e.unref(G)(t.size))},[r.props.filterable&&r.slots.filter?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.slots.filter),{key:0,filterModel:oe(r.props.filterField||r.props.field),filterCallback:ke(r.props.filterField||r.props.field)},null,8,["filterModel","filterCallback"])):r.props.filterable&&r.props.field?(e.openBlock(),e.createElementBlock("input",{key:1,type:"text",value:oe(r.props.filterField||r.props.field).value||"",class:"w-full border border-gray-300 rounded px-2 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-primary-glow",placeholder:`Filter ${r.props.header||r.props.field}`,onInput:s=>ye(r.props.filterField||r.props.field,s.target.value)},null,40,tt)):e.createCommentVNode("",!0)],2))),128))])):e.createCommentVNode("",!0)]),!t.loading&&b.value.length>0?(e.openBlock(),e.createElementBlock("tbody",ot,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(r,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:X(r,c)},[e.createElementVNode("tr",{class:e.normalizeClass([...e.unref(Oe)(t.striped,t.hoverable,c%2===1,C(r),!1),t.selectionMode?"cursor-pointer":""]),onClick:s=>q(s,r,c)},[v.value?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass([...e.unref(Q)(t.size,t.bordered,t.verticalBorders,t.bodyBgClass),...e.unref(J)(t.size)])},[z.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"flex items-center justify-center cursor-pointer",onClick:e.withModifiers(s=>K(s,r),["stop"])},[C(r)?(e.openBlock(),e.createElementBlock("div",st,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(P.render)),{class:"w-3.5 h-3.5"}))])):(e.openBlock(),e.createElementBlock("div",nt))],8,lt)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"flex items-center justify-center cursor-pointer",onClick:e.withModifiers(s=>q(s,r,c),["stop"])},[C(r)?(e.openBlock(),e.createElementBlock("div",it,[...l[5]||(l[5]=[e.createElementVNode("div",{class:"w-2 h-2 rounded-full bg-white"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",ct))],8,at))],2)):e.createCommentVNode("",!0),k.value?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass([...e.unref(Q)(t.size,t.bordered,t.verticalBorders,t.bodyBgClass),...e.unref(ie)(t.size)])},[e.createElementVNode("button",{class:"p-1 rounded hover:bg-gray-100 transition-colors",onClick:s=>U(s,r)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S(r)?e.unref(D.render):e.unref(T.render$1)),{class:"w-4 h-4 text-gray-500"}))],8,dt)],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,(s,p)=>(e.openBlock(),e.createElementBlock("td",{key:p,class:e.normalizeClass([...e.unref(Q)(t.size,t.bordered,t.verticalBorders,t.bodyBgClass),s.props.bodyClass]),style:e.normalizeStyle(s.props.bodyStyle)},[s.slots.body?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.slots.body),{key:0,data:r,field:s.props.field,index:c},null,8,["data","field","index"])):s.props.field?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(f(r,s.props.field)),1)],64)):e.createCommentVNode("",!0)],6))),128))],10,rt),k.value&&S(r)?(e.openBlock(),e.createElementBlock("tr",ut,[e.createElementVNode("td",{colspan:L.value,class:"p-0"},[e.renderSlot(t.$slots,"expansion",{data:r,index:c},void 0,!0)],8,pt)])):e.createCommentVNode("",!0)],64))),128))])):t.loading?(e.openBlock(),e.createElementBlock("tbody",mt,[e.createElementVNode("tr",null,[e.createElementVNode("td",{colspan:L.value,class:"text-center py-12"},[e.renderSlot(t.$slots,"loading",{},()=>[e.createElementVNode("div",yt,[e.createVNode(O.SpinnerIcon,{class:"w-5 h-5"}),e.createElementVNode("span",null,e.toDisplayString(e.unref(d)("ui.dataTable.loading")),1)])],!0)],8,ft)])])):(e.openBlock(),e.createElementBlock("tbody",kt,[e.createElementVNode("tr",null,[e.createElementVNode("td",{colspan:L.value,class:"text-center py-12"},[e.renderSlot(t.$slots,"empty",{},()=>[e.createElementVNode("span",ht,e.toDisplayString(e.unref(d)("ui.dataTable.noRecords")),1)],!0)],8,gt)])])),t.hasNextPage&&!t.loading?(e.openBlock(),e.createElementBlock("tfoot",vt,[e.createElementVNode("tr",null,[e.createElementVNode("td",{colspan:L.value,class:"px-3 pb-3 pt-2"},[e.createElementVNode("button",{class:"w-full p-2 rounded bg-primary-base bg-opacity-10 text-primary-base text-sm font-medium hover:bg-opacity-20 transition-colors disabled:opacity-50 disabled:cursor-default flex items-center justify-center gap-2",disabled:t.loadingNext,onClick:l[1]||(l[1]=r=>a("load:next"))},[t.loadingNext?(e.openBlock(),e.createBlock(O.SpinnerIcon,{key:0,class:"w-4 h-4"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.loadMoreLabel||e.unref(d)("ui.dataTable.showMore")),1)],8,Bt)],8,bt)])])):e.createCommentVNode("",!0)],2)],2)),t.paginator&&Z.value>0?(e.openBlock(),e.createBlock(ue,{key:3,first:M.value,rows:R.value,"total-records":Z.value,"rows-per-page-options":t.rowsPerPageOptions,"onUpdate:first":ge,"onUpdate:rows":he,onPage:l[4]||(l[4]=r=>a("page",r))},null,8,["first","rows","total-records","rows-per-page-options"])):e.createCommentVNode("",!0),e.unref(u).footer?(e.openBlock(),e.createElementBlock("div",Ht,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)]))}});const Gt=Ve._export_sfc(Qt,[["__scopeId","data-v-f7613b9d"]]),Jt=e.defineComponent({__name:"OneColumn",props:Fe,setup(i){const n=i,o=e.useSlots(),a=e.inject(de),u={props:n,slots:o};return a&&a.registerColumn(u),e.onBeforeUnmount(()=>{a&&a.unregisterColumn(u)}),(d,y)=>e.renderSlot(d.$slots,"default")}});exports.OneColumn=Jt;exports.OneDataTable=Gt;exports.OneDataTablePaginator=ue;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as OneDataTable } from './OneDataTable.vue';
|
|
2
2
|
export { default as OneColumn } from './OneColumn.vue';
|
|
3
3
|
export { default as OneDataTablePaginator } from './OneDataTablePaginator.vue';
|
|
4
|
-
export type { DataTableProps, ColumnProps, SortOrder, SelectionMode, FilterMatchMode, FilterMeta, SortEvent, PageEvent, FilterEvent, RowClickEvent, RowToggleEvent, DataTableEmits } from './dataTable';
|
|
4
|
+
export type { DataTableProps, ColumnProps, SortOrder, SelectionMode, FilterMatchMode, FilterMeta, SortEvent, PageEvent, FilterEvent, RowClickEvent, RowToggleEvent, DataTableEmits, Breakpoint } from './dataTable';
|