UNPKG

@omakase-ui/react-table

Version:
3 lines (2 loc) 2.64 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),l=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,a=require("@tanstack/react-table"),n=function(e){var t;return l.createElement("div",null,null!=(t=(0,e.getValue)())?t:"----")},r=function(){return l.createElement("div",{className:"flex min-h-[200px] w-full items-center justify-center text-gray-500"},"Empty")};exports.DataTable=function(e){var i=e.data,o=e.columns,s=e.sort,c=e.onSortChange,u=e.bodyClassName,d=e.Empty,m=void 0===d?r:d,g=t.useMemo((function(){return{minSize:30,size:150,Cell:n}}),[]),f=a.useReactTable({data:i,columns:o,defaultColumn:g,enableColumnResizing:!0,columnResizeMode:"onChange",getCoreRowModel:a.getCoreRowModel()}),b=f.getRowModel().rows;return l.createElement("div",{className:"max-w-full overflow-x-auto p-2"},l.createElement("div",Object.assign({},{className:"w-full rounded border align-middle ",style:{width:f.getTotalSize()}}),l.createElement("div",{className:"border-b border-gray-200 "},f.getHeaderGroups().map((function(e){return l.createElement("div",Object.assign({},{key:e.id,className:"flex divide-x divide-gray-200"}),e.headers.map((function(e){return l.createElement("div",Object.assign({},{key:e.id,className:" relative h-full w-full items-center px-6 py-3 text-left text-sm font-medium capitalize tracking-wider text-gray-500 hover:bg-gray-100",style:{width:e.getSize()}},{onClick:function(){return t=e.id,void(c&&c((null==s?void 0:s[0])===t&&"asc"===(null==s?void 0:s[1])?[t,"desc"]:[t,"asc"]));var t},role:"button",tabIndex:0}),l.createElement("div",null,e.isPlaceholder?null:a.flexRender(e.column.columnDef.header,e.getContext()),e.id===(null==s?void 0:s[0])&&l.createElement("span",{className:"ml-2"},"asc"===(null==s?void 0:s[1])?"▲":"▼")),l.createElement("div",Object.assign({},{onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),className:"absolute right-0 top-0 z-10 inline-block h-full w-1 hover:bg-red-400 cursor-col-resize "+(e.column.getIsResizing()?"shadow":"")})))})))}))),l.createElement("div",Object.assign({},{className:u}),0===b.length?l.createElement(m,null):l.createElement(l.Fragment,null,b.map((function(e){return l.createElement("div",Object.assign({},{key:e.id,className:"flex group border-b last:border-b-0 hover:bg-gray-100"}),e.getVisibleCells().map((function(e){return l.createElement("div",Object.assign({},{key:e.id,className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500 truncate",style:{width:e.column.getSize()}}),a.flexRender(e.column.columnDef.cell,e.getContext()))})))}))))))}; //# sourceMappingURL=react-table.cjs.production.min.js.map