UNPKG

tw-table

Version:

table designed with tailwind and tanstack-table.

3 lines (2 loc) 29.8 kB
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),r=e(t),a=e(require("clsx")),o=require("@tanstack/react-table");!function(e,t){void 0===t&&(t={});var r=t.insertAt;if("undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}('*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.15 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-2{bottom:.5rem}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.z-\\[9999\\]{z-index:9999}.col-span-4{grid-column:span 4/span 4}.col-span-8{grid-column:span 8/span 8}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2\\.5{margin-top:.625rem}.block{display:block}.flex{display:flex}.\\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-14{height:3.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-32{height:8rem}.h-\\[40px\\]{height:40px}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-3{width:.75rem}.w-5\\/6{width:83.333333%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-48{min-width:12rem}.min-w-full{min-width:100%}.max-w-48{max-width:12rem}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.text-wrap{text-wrap:wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-none{border-style:none}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pl-8{padding-left:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.before\\:float-left:before{content:var(--tw-content);float:left}.before\\:font-bold:before{content:var(--tw-content);font-weight:700}.before\\:content-\\[attr\\(data-label\\)\\]:before{--tw-content:attr(data-label);content:var(--tw-content)}.hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.focus\\:border-sky-500:focus{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity,1))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-gray-200:disabled{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\\:static{position:static}.sm\\:mb-0{margin-bottom:0}.sm\\:mr-2{margin-right:.5rem}.sm\\:mt-0{margin-top:0}.sm\\:table-cell{display:table-cell}.sm\\:table-row{display:table-row}.sm\\:hidden{display:none}.sm\\:rounded-lg{border-radius:.5rem}.sm\\:border-none{border-style:none}.sm\\:pl-3\\.5{padding-left:.875rem}.sm\\:text-left{text-align:left}.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\\:before\\:float-none:before{content:var(--tw-content);float:none}.sm\\:before\\:font-normal:before{content:var(--tw-content);font-weight:400}.sm\\:before\\:content-\\[\\\'\\\'\\]:before{--tw-content:"";content:var(--tw-content)}}.dark\\:divide-gray-600:where(.dark,.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity,1))}.dark\\:border-gray-600:where(.dark,.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\\:bg-gray-600:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\\:bg-gray-700:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\\:bg-gray-800:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\\:bg-gray-900:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\\:text-gray-300:where(.dark,.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\\:hover\\:bg-gray-700:hover:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\\:hover\\:bg-gray-900:hover:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\\:disabled\\:bg-gray-500:disabled:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}',{insertAt:"top"});var n="border-b flex justify-between items-center text-right before:content-[attr(data-label)] before:float-left before:font-bold pl-8",l={card:"border-none h-px m-negative-1 overflow-hidden p-0 absolute w-px",scroll:"border-none"},i={card:"border block mt-2.5",scroll:""},c={card:n,scroll:"border-b"},s={card:"absolute left-2",scroll:"mr-2"},d={card:"border-none h-px m-negative-1 overflow-hidden p-0 absolute w-px sm:static",scroll:""},g={card:"border block mt-2.5 sm:border-none sm:table-row sm:mt-0",scroll:""},m={card:n+" sm:table-cell sm:text-left sm:before:content-[''] sm:before:float-none sm:before:font-normal sm:pl-3.5",scroll:""},p={card:"absolute left-2 sm:static sm:mr-2",scroll:""},u=function(e){var t=e.row,n=e.responsivenessType,l=e.viewType;return r.createElement("tr",{className:a("border-gray-200 dark:border-gray-600",t.getCanSelect()&&t.getIsSelected()&&"bg-gray-100 dark:bg-gray-600",n&&!l&&g[n],l&&i[l])},t.getVisibleCells().map((function(e,i){return r.createElement("td",{key:e.id,"data-label":e.column.columnDef.header,className:a("px-3.5 py-2 min-w-48 text-wrap border-gray-300 dark:border-gray-600",n&&!l&&m[n],l&&c[l])},0===i&&t.getCanSelect()&&r.createElement("input",{type:"checkbox",className:a(n&&!l&&p[n],l&&s[l]),checked:t.getIsSelected(),onChange:t.getToggleSelectedHandler()}),o.flexRender(e.column.columnDef.cell,e.getContext()))})))};function w(){return(w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(null,arguments)}function b(e,t){if(null==e)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;r[a]=e[a]}return r}var h=["id","type","placeholder","defaultValue","required","onChange","isLoading","onKeyDown","autoFocus"],f=t.forwardRef((function(e,a){var o=e.id,n=e.type,l=e.placeholder,i=e.defaultValue,c=void 0===i?"":i,s=e.required,d=void 0!==s&&s,g=e.onChange,m=e.isLoading,p=void 0!==m&&m,u=e.onKeyDown,w=e.autoFocus,f=void 0!==w&&w,v=b(e,h),y=t.useRef(null),x=a||y,k=t.useState(c),E=k[0],N=k[1];return t.useEffect((function(){N(c)}),[c]),r.createElement("input",p?{className:"block w-full px-3 py-2 border-2 border-gray-300 rounded-md skeleton",disabled:!0}:Object.assign({id:o,name:o,type:n,placeholder:l,autoComplete:o,value:E,required:d,onChange:function(e){N(e.target.value),g&&g(e)},onKeyDown:function(e){u&&u(e)},ref:x,autoFocus:f},v,{className:"bg-gray-100 dark:bg-gray-700 block w-full px-3 py-2 placeholder-gray-400 rounded-md shadow-sm focus:outline-none focus:ring-sky-500 focus:border-sky-500 sm:text-sm"}))}));function v(e){var t,a,o=e.column,n=o.getFilterValue(),l=(null!=(t=o.columnDef.meta)?t:{}).filterVariant;return console.log("columnFilterValue",n),"range"===l?r.createElement("div",null,r.createElement("p",null,"not implemented")):"select"===l?r.createElement("select",{onChange:function(e){return o.setFilterValue(e.target.value)},value:null==n?void 0:n.toString()},r.createElement("option",{value:""},"not implemented")):r.createElement(f,{onChange:function(e){o.setFilterValue(e.target.value)},placeholder:o.columnDef.header+"...",type:"text",value:null!=(a=null==n?void 0:n.toString())?a:"",autoFocus:!0})}var y=function(e){return r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:e.className},r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 19.5 8.25 12l7.5-7.5"}))},x=function(e){return r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:e.className},r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"}))},k=function(e){return r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:e.className},r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5"}))},E=function(e){return r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:e.className},r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"}))},N=function(e){return r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:e.className},r.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"}))},C=function(e){return r.createElement("svg",{className:e.className,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",fill:"currentColor",strokeWidth:1.5,stroke:"currentColor"},r.createElement("path",{d:"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"}))},S=["name"],z=function(e){var t=e.name,a=b(e,S);return{"chevron-left":r.createElement(y,Object.assign({},a)),"chevron-right":r.createElement(x,Object.assign({},a)),"chevron-up":r.createElement(k,Object.assign({},a)),"chevron-down":r.createElement(E,Object.assign({},a)),"magnifying-glass":r.createElement(N,Object.assign({},a)),dash:r.createElement(C,Object.assign({},a))}[t]},F=function(e){var n=e.headerGroup,l=e.enableMultiRowSelection,i=e.isAllRowsSelected,c=e.toggleAllRowsSelectedHandler,s=t.useState(null),d=s[0],g=s[1];return r.createElement(r.Fragment,null,r.createElement("tr",{key:n.id,className:a("w-full")},n.headers.map((function(e,t){var a;return r.createElement("th",{key:e.id,className:"px-3.5 py-2 text-left min-w-48 max-w-48 h-14 dark:bg-gray-800 dark:text-gray-300",onBlur:function(){e.column.getFilterValue()||g(null)},scope:"col",title:null==(a=e.column.columnDef.header)?void 0:a.toString()},d!==e.id&&r.createElement("div",{className:"flex justify-between items-center"},0===t&&l&&c&&r.createElement("div",{className:"flex items-center mr-2"},r.createElement("input",{type:"checkbox",className:"mr-2",checked:i||!1,onChange:c})),r.createElement("div",{className:"truncate mr-2"},o.flexRender(e.column.columnDef.header,e.getContext())),r.createElement("div",{className:"flex space-x-2"},e.column.getCanFilter()&&r.createElement("button",{className:"p-2 rounded-full shadow-md hover:bg-gray-100 dark:hover:bg-gray-900",onClick:function(){return e.column.getCanFilter()&&g(e.id)}},r.createElement(z,{name:"magnifying-glass",className:"h-3 w-3"})),e.column.getCanSort()&&r.createElement("div",{className:"flex flex-col"},r.createElement("button",{className:"p-2 rounded-full shadow-md hover:bg-gray-100 dark:hover:bg-gray-900",onClick:function(){return e.column.toggleSorting()}},!1===e.column.getIsSorted()?r.createElement(z,{name:"dash",className:"h-3 w-3"}):"desc"===e.column.getIsSorted()?r.createElement(z,{name:"chevron-down",className:"h-3 w-3"}):r.createElement(z,{name:"chevron-up",className:"h-3 w-3"}))))),d===e.id&&e.column.getCanFilter()&&r.createElement(v,{column:e.column}))}))))},R="px-3 py-1 border border-transparent rounded-full bg-gray-50 dark:bg-gray-600 hover:bg-gray-100 dark:hover:bg-gray-700 disabled:bg-gray-200 dark:disabled:bg-gray-500 disabled:cursor-not-allowed",j=function(e){var t=e.table;return r.createElement(r.Fragment,null,r.createElement("button",{className:"flex "+R,onClick:function(){return t.firstPage()},disabled:!t.getCanPreviousPage()},r.createElement(z,{name:"chevron-left",className:"h-3 w-3"}),r.createElement(z,{name:"chevron-left",className:"h-3 w-3"})),r.createElement("button",{className:""+R,onClick:function(){return t.previousPage()},disabled:!t.getCanPreviousPage()},r.createElement(z,{name:"chevron-left",className:"h-3 w-3"})),r.createElement("button",{className:""+R,onClick:function(){return t.nextPage()},disabled:!t.getCanNextPage()},r.createElement(z,{name:"chevron-right",className:"h-3 w-3"})),r.createElement("button",{className:"flex "+R,onClick:function(){return t.lastPage()},disabled:!t.getCanNextPage()},r.createElement(z,{name:"chevron-right",className:"h-3 w-3"}),r.createElement(z,{name:"chevron-right",className:"h-3 w-3"})))},M={empty:"Empty",sort:{by:"Sort by",dir:"Sort direction",desc:"Desc",asc:"Asc"},search:{label:"Search",placeholder:"Search..."},pagination:{previous:"Previous",next:"Next",page:"Page",of:"of",show:"Show",showing:"Showing",rows:"rows"}},L=t.createContext({texts:M}),P=function(){return t.useContext(L)},A=function(e){return r.createElement(L.Provider,{value:{texts:e.texts}},e.children)},T=function(e){var t=e.table,a=P();return r.createElement("div",{className:"space-x-2"},r.createElement("span",null,a.texts.pagination.show),r.createElement("select",{value:t.getState().pagination.pageSize,onChange:function(e){t.setPageSize(Number(e.target.value))},className:"bg-white dark:bg-gray-700 rounded px-2 py-1 text-sm outline-none"},[10,20,30,40,50].map((function(e){return r.createElement("option",{key:e,value:e},e)}))))},O=function(e){var t=e.table,a=P().texts;return r.createElement("div",{className:"flex justify-between"},r.createElement("div",{className:"text-sm"},a.pagination.showing," ",t.getRowModel().rows.length.toLocaleString()," ",a.pagination.of," ",t.getRowCount().toLocaleString()," ",a.pagination.rows),r.createElement("div",null,r.createElement("span",{className:"flex items-center gap-1 text-sm"},r.createElement("div",null,a.pagination.page),r.createElement("strong",null,t.getState().pagination.pageIndex+1," ",a.pagination.of," ",t.getPageCount().toLocaleString()))))},V=function(e){var t=e.table;return r.createElement("div",{className:"py-2"},r.createElement("div",{className:"flex items-center justify-between gap-4 mb-4"},r.createElement("div",{className:"flex items-center gap-2"},r.createElement(j,{table:t})),r.createElement(T,{table:t})),r.createElement(O,{table:t}))},D=["label","id","options"],I=function(e){var t=e.label,a=e.id,o=e.options,n=b(e,D);return r.createElement("div",null,t&&r.createElement("label",{htmlFor:a,className:"block text-sm font-medium truncate"},t),r.createElement("select",Object.assign({id:a,name:a,autoComplete:a,className:"bg-gray-100 dark:bg-gray-700 w-full focus:ring-sky-500 focus:border-sky-500 h-full px-2 py-2 sm:text-sm rounded-md outline-none appearance-none"},n),o.map((function(e){return r.createElement("option",{key:e.value,value:e.value},e.label)}))))},B=["id","label","options","placeholder","onChange"];function H(e){var a=e.id,o=e.label,n=e.options,l=e.placeholder,i=e.onChange,c=b(e,B),s=t.useState(null),d=s[0],g=s[1],m=t.useState(""),p=m[0],u=m[1],w=0===n.length;return t.useEffect((function(){d&&i(d,p)}),[p,d,g]),t.useEffect((function(){w||d||g(n[0].value)}),[n]),r.createElement("div",null,r.createElement("label",{htmlFor:a,className:"block text-sm font-medium"},o),r.createElement("div",{className:"mt-1 relative rounded-md shadow-sm grid grid-cols-12 gap-2"},r.createElement("div",{className:"col-span-4"},r.createElement(I,{id:a,options:n,onChange:function(e){g(e.target.value)}})),r.createElement("div",{className:"col-span-8"},r.createElement(f,Object.assign({type:"text",name:a,id:a,placeholder:l,onChange:function(e){return u(e.target.value)}},c)))))}function q(e){return null!==e&&"object"==typeof e}var W=function(e){var t=e.table,a=e.forceHidden,o=void 0!==a&&a,n=e.forceShow,l=void 0!==n&&n,i=P().texts,c=t.getHeaderGroups().map((function(e){return e})).flatMap((function(e){return e.headers})),s=c.filter((function(e){return e.column.getCanFilter()})),d=c.filter((function(e){return e.column.getCanSort()}));return r.createElement("div",{className:"w-full block "+(l?"block":o?"hidden":"sm:hidden")+" space-y-2 my-2"},r.createElement("div",{className:"w-full"},r.createElement(H,{id:"search",label:i.search.label,placeholder:i.search.placeholder,options:s.map((function(e){return{value:e.id,label:e.column.columnDef.header}})),onChange:function(e,r){var a,o=s.find((function(t){return t.id===e}));if(o){t.setColumnFilters([]);var n=(a=r,!isNaN(parseFloat(a))&&isFinite(parseFloat(a))?Number(r):r);o.column.setFilterValue(n)}}})),r.createElement("div",{className:"w-full grid grid-cols-12 gap-2"},r.createElement("div",{className:"col-span-4"},r.createElement(I,{id:"sort_direction",label:i.sort.dir,options:[{value:"asc",label:i.sort.asc},{value:"desc",label:i.sort.desc}],onChange:function(e){t.setSorting((function(t){return t.map((function(t){return{id:t.id?t.id:d[0].id,desc:"desc"===e.target.value}}))}))}})),r.createElement("div",{className:"col-span-8"},r.createElement(I,{id:"sort",label:i.sort.by,options:[{value:"None",label:"None"}].concat(d.map((function(e){return{value:e.id,label:e.column.columnDef.header}}))),onChange:function(e){t.setSorting((function(t){return[{id:e.target.value,desc:!!t.length&&t[0].desc}]}))}}))))},G=function(e){return r.createElement("tr",{className:"flex flex-col w-full mb-5 flex-no wrap sm:table-row sm:mb-0"},Array.from(Array(e.colsLength).keys()).map((function(e,t){return r.createElement("td",{key:t,className:"h-[40px] px-1 py-2 whitespace-nowrap text-sm text-gray-900 border-y border-slate-200 text-center"},r.createElement("p",{className:"h-2.5 bg-gray-200 rounded-full w-5/6 animate-pulse"}))})))};exports.TwTable=function(e){var t=e.columns,n=e.data,i=e.responsivenessType,c=void 0===i?"card":i,s=e.serverSide,g=void 0!==s&&s,m=e.pagination,p=e.setPagination,b=e.rowCount,h=void 0===b?0:b,f=e.columnFilters,v=e.setColumnFilters,y=e.rowSelection,x=e.setRowSelection,k=e.enableMultiRowSelection,E=e.sorting,N=e.setSorting,C=e.texts,S=void 0===C?M:C,z=e.isLoading,R=void 0!==z&&z,j=e.viewType,L=e.columnVisibility,P=r.useState([]),T=P[0],O=P[1],D=r.useState([]),I=D[0],B=D[1],H=r.useState({pageIndex:0,pageSize:10}),K=H[0],_=H[1],U=function e(t,r){var a=w({},t);for(var o in r)a[o]=q(r[o])&&q(t[o])?e(t[o],r[o]):r[o];return a}(M,S),Z=o.useReactTable({columns:t,data:n,filterFns:{},onColumnFiltersChange:g&&v||O,getCoreRowModel:o.getCoreRowModel(),getFilteredRowModel:g?void 0:o.getFilteredRowModel(),getSortedRowModel:g?void 0:o.getSortedRowModel(),getPaginationRowModel:g?void 0:o.getPaginationRowModel(),onSortingChange:g&&N||B,onPaginationChange:g&&p||_,onRowSelectionChange:x,state:{sorting:g&&E||I,pagination:g&&m||K,columnFilters:g&&f||T,rowSelection:y,columnVisibility:L},rowCount:g?h:void 0,enableSortingRemoval:!1,manualPagination:g,enableRowSelection:!!y,enableMultiRowSelection:k,defaultColumn:{filterFn:function(e,t,r){var a=e.getValue(t);return"number"==typeof a?function(e,t,r){var a=e.getValue(t);return null==r||""===r||String(a).includes(r)}(e,t,r):String(a).toLowerCase().includes(String(r).toLowerCase())}}});return r.createElement(A,{texts:U},r.createElement("div",{className:"flex flex-col flex-end bg-white dark:bg-gray-900 text-black dark:text-gray-300"},r.createElement("div",{className:"overflow-x-auto"},r.createElement("div",{className:"shadow overflow-x-auto sm:rounded-lg"},r.createElement(W,{table:Z,forceHidden:j&&"scroll"===j||!1,forceShow:j&&"card"===j||!1}),r.createElement("table",{className:"min-w-full divide-y divide-gray-200 dark:divide-gray-600 relative"},r.createElement("thead",{className:a("bg-gray-50 border",c&&!j&&d[c],j&&l[j])},Z.getHeaderGroups().map((function(e){return r.createElement(F,{key:e.id,headerGroup:e,enableMultiRowSelection:k,isAllRowsSelected:y&&Z.getIsAllRowsSelected(),toggleAllRowsSelectedHandler:y&&Z.getToggleAllRowsSelectedHandler()})}))),r.createElement("tbody",null,R?r.createElement(r.Fragment,null,Array.from(Array((null==m?void 0:m.pageSize)||K.pageSize).keys()).map((function(e,a){return r.createElement(G,{colsLength:t.length,key:a})}))):0===Z.getRowModel().rows.length?r.createElement("tr",{className:"text-center h-32"},r.createElement("td",{colSpan:12},U.empty)):Z.getRowModel().rows.map((function(e){return r.createElement(u,{key:e.id,row:e,viewType:j,responsivenessType:c})})))))),r.createElement(V,{table:Z})))}; //# sourceMappingURL=tw-table.cjs.production.min.js.map