tanstack-shadcn-table
Version:
A powerful, feature-rich React table component built on top of TanStack Table v8 with shadcn/ui styling. Optimized bundle size with 55% reduction through peer dependencies.
1 lines • 55.9 kB
JavaScript
"use strict";Object.defineProperty(exports,"l",{value:!0});const e=require("react/jsx-runtime"),t=require("react"),n=require("@tanstack/react-table"),l=require("@tanstack/match-sorter-utils"),a=require("lucide-react"),r=require("@radix-ui/react-checkbox"),o=require("@radix-ui/react-dropdown-menu"),s=require("@radix-ui/react-slot"),i=require("class-variance-authority"),c=require("clsx"),d=require("tailwind-merge"),u=require("@radix-ui/react-select");function m(e){if(e&&e.l)return e;const t=Object.create(null);if(e)for(const n in e)if("default"!==n){const l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}return t.default=e,Object.freeze(t)}const f=m(t),h=function(){return t&&"object"==typeof t&&"default"in t?t:{default:t}}(),g=m(r),p=m(o),b=m(u);function x(...e){return d.twMerge(c.clsx(e))}function v(e,t,n){const l=t.split(/[.[\]]/).filter(Boolean).reduce((e,t)=>e?.[t],e);return void 0!==l?l:n}const y=f.forwardRef(({className:t,type:n,...l},a)=>e.jsx("input",{type:n,className:x("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:a,...l}));function w(e){return"string"!=typeof e?"":e.replace(/['";\\]/g,"").replace(/<[^>]*>/g,"").slice(0,1e3).trim()}function N(e,t){if(null==e)return e;switch(t){case"text":case"custom":return"string"==typeof e?w(e):"";case"select":case"multi-select":return Array.isArray(e)?e.map(e=>"string"==typeof e?w(e):""):"string"==typeof e?w(e):"";case"range":if(Array.isArray(e))return e.map(e=>{const t=+e;return isNaN(t)?null:Math.max(-1e6,Math.min(1e6,t))});const t=+e;return isNaN(t)?null:Math.max(-1e6,Math.min(1e6,t));case"boolean":return"boolean"==typeof e?e:!!e;case"date":case"date-range":if(Array.isArray(e))return e.map(e=>{const t=new Date(e);return isNaN(t.getTime())?null:t.toISOString().split("T")[0]});const n=new Date(e);return isNaN(n.getTime())?null:n.toISOString().split("T")[0];default:return"string"==typeof e?w(e):e}}function C(e,n,l){const a=t.useRef(null),r=t.useRef(l),o=t.useRef(void 0);t.useEffect(()=>{r.current=l},[l]),t.useEffect(()=>(a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{o.current!==e&&(o.current=e,r.current(e))},n),()=>{a.current&&clearTimeout(a.current)}),[e,n])}function S(e=10,n=1e3){const l=t.useRef([]);return t.useCallback(()=>{const t=Date.now();return l.current=l.current.filter(e=>n>t-e),l.current.length<e&&(l.current.push(t),!0)},[e,n])}function z({value:n,onChange:l,debounce:a=500,type:r="text",maxLength:o=1e3,...s}){const[i,c]=t.useState(n),d=S(),u=t.useRef(n),m=t.useRef(l);t.useEffect(()=>{m.current=l},[l]),t.useEffect(()=>{if("number"===r){const e=+n;u.current=isNaN(e)||null==n||""===n?void 0:e}else u.current=n;c(n)},[n,r]),C(i,a,t.useCallback(e=>{if(!d())return;let t=e;if("text"===r||"search"===r)t="string"==typeof e?w(e):e+"";else if("number"===r){const n=+e;t=isNaN(n)||null==e||""===e?void 0:Math.max(-1e6,Math.min(1e6,n))}t!==u.current&&(u.current=t,m.current(t))},[r,d]));const f=t.useCallback(e=>{const t=e.target.value;t.length>o||("number"!==r||""===t||/^-?\d*\.?\d*$/.test(t))&&c(t)},[o,r]),h=t.useMemo(()=>s.autoComplete||"off",[s.autoComplete]);return e.jsx(y,{...s,type:r,maxLength:o,value:i,onChange:f,autoComplete:h,spellCheck:!1})}y.displayName="Input";const k=f.forwardRef(({className:t,...n},l)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:l,className:x("w-full caption-bottom text-sm",t),...n})}));k.displayName="Table";const T=f.forwardRef(({className:t,...n},l)=>e.jsx("thead",{ref:l,className:x("[&_tr]:border-b",t),...n}));T.displayName="TableHeader";const F=f.forwardRef(({className:t,...n},l)=>e.jsx("tbody",{ref:l,className:x("[&_tr:last-child]:border-0",t),...n}));F.displayName="TableBody";const A=f.forwardRef(({className:t,...n},l)=>e.jsx("tfoot",{ref:l,className:x("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",t),...n}));A.displayName="TableFooter";const R=f.forwardRef(({className:t,...n},l)=>e.jsx("tr",{ref:l,className:x("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...n}));R.displayName="TableRow";const P=f.forwardRef(({className:t,...n},l)=>e.jsx("th",{ref:l,className:x("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...n}));P.displayName="TableHead";const M=f.forwardRef(({className:t,...n},l)=>e.jsx("td",{ref:l,className:x("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...n}));M.displayName="TableCell",f.forwardRef(({className:t,...n},l)=>e.jsx("caption",{ref:l,className:x("mt-4 text-sm text-muted-foreground",t),...n})).displayName="TableCaption";const D=(e,t,n,a)=>{const r=l.rankItem(e.getValue(t),n);return a({itemRank:r}),r.passed},H=(e,t,a)=>{let r=0;return e.columnFiltersMeta[a]&&(r=l.compareItems(e.columnFiltersMeta[a]?.itemRank,t.columnFiltersMeta[a]?.itemRank)),0===r?n.sortingFns.alphanumeric(e,t,a):r};function L(e,n,l){const[a,r]=t.useState(l||e),o=void 0!==e,s=o?e:a,i=t.useCallback(e=>{const t="function"==typeof e?e(s):e;o?n?.(t):r(t)},[o,s,n]);return[s,i]}const O=i.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),j=f.forwardRef(({className:t,variant:n,size:l,asChild:a=!1,...r},o)=>{const i=a?s.Slot:"button";return e.jsx(i,{className:x(O({variant:n,size:l,className:t})),ref:o,...r})});function E({header:t,className:n}){const{column:l}=t,a=l.getIsResizing();return l.getCanResize()?e.jsx("div",{className:x("absolute right-0 top-0 h-full w-1 cursor-col-resize select-none touch-none bg-transparent hover:bg-blue-500 active:bg-blue-600 focus:bg-blue-500 focus:outline-none",a&&"bg-blue-500",n),onMouseDown:t.getResizeHandler(),onTouchStart:t.getResizeHandler(),role:"separator","aria-label":`Resize ${t.column.id} column`,"aria-orientation":"vertical",tabIndex:0,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||e.preventDefault()},style:{transform:"translateX(50%)"},children:e.jsx("div",{className:"h-full w-full"})}):null}function q({header:t,TableHeadComponent:l=P,colClassName:r="",enableColumnResizing:o=!1}){return e.jsx(l,{colSpan:t.colSpan,style:{width:t.getSize(),minWidth:t.column.columnDef.minSize||100,maxWidth:t.column.columnDef.maxSize||"none"},onClick:()=>{t.column.getCanSort()&&t.column.columnDef.enableSorting&&t.column.toggleSorting()},className:x(t.column.columnDef.headerClassName,t.column.columnDef.className,r,!!t.column.columnDef.enableSorting&&"cursor-pointer select-none","relative",o&&"group"),children:t.isPlaceholder?null:e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex items-center justify-between gap-2 w-full",children:e.jsxs("div",{className:"flex items-center gap-1 flex-1 min-w-0",children:[e.jsx("span",{className:"truncate",children:n.flexRender(t.column.columnDef.header,t.getContext())}),(!!t.column.columnDef.enableSorting&&{asc:e.jsx(a.SortAsc,{className:"inline size-4 flex-shrink-0"}),desc:e.jsx(a.SortDesc,{className:"inline size-4 flex-shrink-0"})}[t.column.getIsSorted()])??e.jsx(a.ArrowDownUp,{className:"inline size-4 flex-shrink-0"})]})}),o&&e.jsx(E,{header:t})]})})}function B({header:t,TableHeadComponent:l=P,colClassName:r="",enableColumnResizing:o=!1,useSortableHook:s,CSSUtil:i}){const c="selection"===t.column.id,{attributes:d,isDragging:u,listeners:m,setNodeRef:f,transform:h}=s({id:t.column.id,disabled:c}),g={opacity:u?.8:1,position:"relative",transform:c?void 0:i.Translate.toString(h),transition:c?void 0:u?"none":"transform 0.05s ease-out",zIndex:u?1:0,width:t.getSize(),minWidth:t.column.columnDef.minSize||100,maxWidth:t.column.columnDef.maxSize||"none"};return e.jsx(l,{colSpan:t.colSpan,ref:f,style:g,onClick:()=>{t.column.getCanSort()&&t.column.columnDef.enableSorting&&t.column.toggleSorting()},className:x(t.column.columnDef.headerClassName,t.column.columnDef.className,r,!!t.column.columnDef.enableSorting&&"cursor-pointer select-none","relative",o&&"group"),children:t.isPlaceholder?null:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 w-full",children:[e.jsxs("div",{className:"flex items-center gap-1 flex-1 min-w-0",children:[e.jsx("span",{className:"truncate",children:n.flexRender(t.column.columnDef.header,t.getContext())}),(!!t.column.columnDef.enableSorting&&{asc:e.jsx(a.SortAsc,{className:"inline size-4 flex-shrink-0"}),desc:e.jsx(a.SortDesc,{className:"inline size-4 flex-shrink-0"})}[t.column.getIsSorted()])??e.jsx(a.ArrowDownUp,{className:"inline size-4 flex-shrink-0"})]}),"selection"!==t.column.id&&(t.column.columnDef.reorderable??!0)&&e.jsxs(j,{variant:"ghost",className:"size-6 p-0 flex-shrink-0",...d,...m,children:[e.jsx("span",{className:"sr-only",children:"Drag to reorder"}),e.jsx(a.MenuIcon,{className:"size-4"})]})]}),o&&e.jsx(E,{header:t})]})})}function V({header:t,TableHeadComponent:n=P,colClassName:l="",reorderable:a=!1,enableColumnResizing:r=!1}){const[o,s]=h.default.useState(null),[i,c]=h.default.useState(null),[d,u]=h.default.useState(!1);h.default.useEffect(()=>{a&&!d&&Promise.all([Promise.resolve().then(function(){return m(require("@dnd-kit/sortable"))}).then(e=>e.useSortable),Promise.resolve().then(function(){return m(require("@dnd-kit/utilities"))}).then(e=>e.CSS)]).then(([e,t])=>{s(()=>e),c(()=>t),u(!0)})},[a,d]);const f="selection"===t.column.id;return a&&d&&!f?e.jsx(B,{header:t,TableHeadComponent:n,colClassName:l,enableColumnResizing:r,useSortableHook:o,CSSUtil:i,reorderable:a}):e.jsx(q,{header:t,TableHeadComponent:n,colClassName:l,enableColumnResizing:r})}function _(n){return n.reorderable?e.jsx(t.Suspense,{fallback:e.jsx(q,{...n}),children:e.jsx(V,{...n})}):e.jsx(q,{...n})}function W({cell:t,colClassName:l="",TableCellComponent:a=M,useSortableHook:r,CSSUtil:o}){const s="selection"===t.column.id,{isDragging:i,setNodeRef:c,transform:d}=r({id:t.column.id,disabled:s}),u={opacity:i?.8:1,position:"relative",transform:s?void 0:o.Translate.toString(d),transition:s?void 0:i?"none":"transform 0.05s ease-out",zIndex:i?1:0,width:t.column.getSize(),minWidth:t.column.columnDef.minSize||100,maxWidth:t.column.columnDef.maxSize||"none"};return e.jsx(a,{style:u,ref:c,className:x(t.column.columnDef.className,l),children:e.jsx("div",{className:"truncate",children:n.flexRender(t.column.columnDef.cell,t.getContext())})})}function I({cell:t,colClassName:l="",TableCellComponent:a=M,reorderable:r=!1}){const[o,s]=h.default.useState(null),[i,c]=h.default.useState(null),[d,u]=h.default.useState(!1);h.default.useEffect(()=>{r&&!d&&Promise.all([Promise.resolve().then(function(){return m(require("@dnd-kit/sortable"))}).then(e=>e.useSortable),Promise.resolve().then(function(){return m(require("@dnd-kit/utilities"))}).then(e=>e.CSS)]).then(([e,t])=>{s(()=>e),c(()=>t),u(!0)})},[r,d]);const f="selection"===t.column.id;return r&&d&&!f?e.jsx(W,{cell:t,colClassName:l,TableCellComponent:a,useSortableHook:o,CSSUtil:i}):e.jsx(a,{style:{width:t.column.getSize(),minWidth:t.column.columnDef.minSize||100,maxWidth:t.column.columnDef.maxSize||"none"},className:x(t.column.columnDef.className,l),children:e.jsx("div",{className:"truncate",children:n.flexRender(t.column.columnDef.cell,t.getContext())})})}j.displayName="Button",t.lazy(()=>Promise.resolve().then(function(){return m(require("@dnd-kit/sortable"))}).then(e=>({default:e.useSortable}))),t.lazy(()=>Promise.resolve().then(function(){return m(require("@dnd-kit/utilities"))}).then(e=>({default:e.CSS})));const $=t.lazy(()=>Promise.resolve().then(function(){return m(require("@dnd-kit/core"))}).then(e=>({default:e.DndContext}))),Z=t.lazy(()=>Promise.resolve().then(function(){return m(require("@dnd-kit/sortable"))}).then(e=>({default:e.SortableContext})));function G({children:n,onDragEnd:l,onDragStart:a,sensors:r,collisionDetection:o,modifiers:s}){return e.jsx(t.Suspense,{fallback:e.jsx("div",{children:n}),children:e.jsx($,{collisionDetection:o,modifiers:s,onDragEnd:l,onDragStart:a,sensors:r,children:n})})}function U({children:n,items:l,strategy:a}){return e.jsx(t.Suspense,{fallback:e.jsx("div",{children:n}),children:e.jsx(Z,{items:l,strategy:a,children:n})})}const Y=t.lazy(()=>Promise.resolve().then(function(){return m(require("@dnd-kit/core"))}).then(e=>({default:({onSensorsReady:t})=>{const n=e.useSensors(e.useSensor(e.MouseSensor,{}),e.useSensor(e.TouchSensor,{}),e.useSensor(e.KeyboardSensor,{})),l=h.default.useRef(!1),a=h.default.useRef(t);return h.default.useEffect(()=>{a.current=t},[t]),h.default.useEffect(()=>{!l.current&&n.length>0&&(l.current=!0,a.current(n))},[n.length]),null}}))),X=f.forwardRef(({className:t,...n},l)=>e.jsx(g.Root,{ref:l,className:x("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",t),...n,children:e.jsx(g.Indicator,{className:x("flex items-center justify-center text-current"),children:e.jsx(a.Check,{className:"h-4 w-4"})})}));function K(e,t){return{pageIndex:Math.max(0,Math.min(1e4,Math.floor(+e||0))),pageSize:Math.max(1,Math.min(1e3,Math.floor(+t||10)))}}function J(e){return Array.isArray(e)?e.slice(0,10).map(e=>{if(!e||"object"!=typeof e)return null;const t="string"==typeof e.id?"string"!=typeof(n=e.id)?"":n.replace(/['";\\]/g,"").replace(/<[^>]*>/g,"").slice(0,1e3).trim():"";var n;const l=!!e.desc;return t?{id:t,desc:l}:null}).filter(Boolean):[]}X.displayName=g.Root.displayName;class Q{requests=new Map;maxRequests;windowMs;constructor(e=100,t=6e4){this.maxRequests=e,this.windowMs=t}isAllowed(e){const t=Date.now(),n=(this.requests.get(e)||[]).filter(e=>t-e<this.windowMs);return n.length<this.maxRequests&&(n.push(t),this.requests.set(e,n),!0)}reset(e){e?this.requests.delete(e):this.requests.clear()}}function ee(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>t[n]?.toString()||e)}function te(e,t,n){const l=t.split(".");let a=e;for(const e of l)if(a=a?.[e],void 0===a)return void 0,t;return"string"!=typeof a?(void 0,t):n?ee(a,n):a}function ne(e){return(t,n)=>te(e,t,n)}const le={pagination:{previous:"Previous",next:"Next",first:"First",last:"Last",page:"Page",of:"of",rowsPerPage:"Rows per page",goToPage:"Go to page",totalRecords:"Total: {total} records",showingXtoYofZ:"Showing {from} to {to} of {total} entries",noData:"No data available"},filters:{search:"Search",searchAllColumns:"Search all columns...",showFilter:"Show Filter",hideFilter:"Hide Filter",clearFilter:"Clear filter",clearAllFilters:"Clear all filters",filterBy:"Filter by {column}",all:"All",true:"True",false:"False",min:"Min",max:"Max",from:"From",to:"To",selectOption:"Select option",noOptionsFound:"No options found",selectedCount:"{count} selected",clearFilters:"Clear filters",noResultsFound:"No results found."},sorting:{sortAscending:"Sort ascending",sortDescending:"Sort descending",clearSort:"Clear sort",sortBy:"Sort by {column}"},columns:{hide:"Hide",show:"Show",toggleVisibility:"Toggle column visibility",resetColumns:"Reset columns",reorderColumns:"Reorder columns",resizeColumn:"Resize column"},selection:{selectAll:"Select all",selectRow:"Select row",deselectAll:"Deselect all",selectedCount:"{count} selected",selectAllOnPage:"Select all on this page",selectAllRows:"Select all rows"},status:{loading:"Loading...",error:"An error occurred",noResults:"No results found",retry:"Retry",loadMore:"Load more"},security:{rateLimitExceeded:"Rate limit exceeded. Please try again later.",invalidInput:"Invalid input detected",fileSizeExceeded:"File size exceeds limit",fileTypeNotAllowed:"File type not allowed",inputTooLong:"Input is too long"},accessibility:{sortColumn:"Sort column {column}",filterColumn:"Filter column {column}",selectAllRows:"Select all rows",selectRow:"Select row {row}",columnHeader:"Column header {column}",tableCaption:"Data table with {rows} rows and {columns} columns",resizeHandle:"Resize column {column}",dragHandle:"Drag to reorder column {column}"}},ae={pagination:{previous:"Önceki",next:"Sonraki",first:"İlk",last:"Son",page:"Sayfa",of:"/",rowsPerPage:"Sayfa başına satır",goToPage:"Sayfaya git",totalRecords:"Toplam: {total} kayıt",showingXtoYofZ:"{total} kayıttan {from}-{to} arası gösteriliyor",noData:"Veri bulunamadı"},filters:{search:"Ara",searchAllColumns:"Tüm sütunlarda ara...",showFilter:"Filtreyi Göster",hideFilter:"Filtreyi Gizle",clearFilter:"Filtreyi temizle",clearAllFilters:"Tüm filtreleri temizle",filterBy:"{column} sütununa göre filtrele",all:"Tümü",true:"Doğru",false:"Yanlış",min:"Min",max:"Maks",from:"Başlangıç",to:"Bitiş",selectOption:"Seçenek seçin",noOptionsFound:"Seçenek bulunamadı",selectedCount:"{count} Seçildi",clearFilters:"Filtreleri Temizle",noResultsFound:"Sonuç bulunamadı."},sorting:{sortAscending:"Artan sıralama",sortDescending:"Azalan sıralama",clearSort:"Sıralamayı temizle",sortBy:"{column} sütununa göre sırala"},columns:{hide:"Gizle",show:"Göster",toggleVisibility:"Sütun görünürlüğünü değiştir",resetColumns:"Sütunları sıfırla",reorderColumns:"Sütunları yeniden sırala",resizeColumn:"Sütun boyutunu değiştir"},selection:{selectAll:"Tümünü seç",selectRow:"Satırı seç",deselectAll:"Seçimi kaldır",selectedCount:"{count} seçildi",selectAllOnPage:"Bu sayfadakilerin tümünü seç",selectAllRows:"Tüm satırları seç"},status:{loading:"Yükleniyor...",error:"Bir hata oluştu",noResults:"Sonuç bulunamadı",retry:"Tekrar dene",loadMore:"Daha fazla yükle"},security:{rateLimitExceeded:"İstek sınırı aşıldı. Lütfen daha sonra tekrar deneyin.",invalidInput:"Geçersiz girdi tespit edildi",fileSizeExceeded:"Dosya boyutu sınırı aşıldı",fileTypeNotAllowed:"Dosya türüne izin verilmiyor",inputTooLong:"Girdi çok uzun"},accessibility:{sortColumn:"{column} sütununu sırala",filterColumn:"{column} sütununu filtrele",selectAllRows:"Tüm satırları seç",selectRow:"{row} satırını seç",columnHeader:"{column} sütun başlığı",tableCaption:"{rows} satır ve {columns} sütunlu veri tablosu",resizeHandle:"{column} sütununu yeniden boyutlandır",dragHandle:"{column} sütununu yeniden sıralamak için sürükle"}},re={pagination:{previous:"Anterior",next:"Siguiente",first:"Primero",last:"Último",page:"Página",of:"de",rowsPerPage:"Filas por página",goToPage:"Ir a la página",totalRecords:"Total: {total} registros",showingXtoYofZ:"Mostrando {from} a {to} de {total} entradas",noData:"No hay datos disponibles"},filters:{search:"Buscar",searchAllColumns:"Buscar en todas las columnas...",showFilter:"Mostrar Filtro",hideFilter:"Ocultar Filtro",clearFilter:"Limpiar filtro",clearAllFilters:"Limpiar todos los filtros",filterBy:"Filtrar por {column}",all:"Todos",true:"Verdadero",false:"Falso",min:"Mín",max:"Máx",from:"Desde",to:"Hasta",selectOption:"Seleccionar opción",noOptionsFound:"No se encontraron opciones",selectedCount:"{count} seleccionados",clearFilters:"Limpiar filtros",noResultsFound:"No se encontraron resultados."},sorting:{sortAscending:"Ordenar ascendente",sortDescending:"Ordenar descendente",clearSort:"Limpiar ordenación",sortBy:"Ordenar por {column}"},columns:{hide:"Ocultar",show:"Mostrar",toggleVisibility:"Alternar visibilidad de columna",resetColumns:"Restablecer columnas",reorderColumns:"Reordenar columnas",resizeColumn:"Redimensionar columna"},selection:{selectAll:"Seleccionar todo",selectRow:"Seleccionar fila",deselectAll:"Deseleccionar todo",selectedCount:"{count} seleccionados",selectAllOnPage:"Seleccionar todos en esta página",selectAllRows:"Seleccionar todas las filas"},status:{loading:"Cargando...",error:"Ocurrió un error",noResults:"No se encontraron resultados",retry:"Reintentar",loadMore:"Cargar más"},security:{rateLimitExceeded:"Límite de velocidad excedido. Inténtelo de nuevo más tarde.",invalidInput:"Entrada inválida detectada",fileSizeExceeded:"El tamaño del archivo excede el límite",fileTypeNotAllowed:"Tipo de archivo no permitido",inputTooLong:"La entrada es demasiado larga"},accessibility:{sortColumn:"Ordenar columna {column}",filterColumn:"Filtrar columna {column}",selectAllRows:"Seleccionar todas las filas",selectRow:"Seleccionar fila {row}",columnHeader:"Encabezado de columna {column}",tableCaption:"Tabla de datos con {rows} filas y {columns} columnas",resizeHandle:"Redimensionar columna {column}",dragHandle:"Arrastrar para reordenar columna {column}"}},oe={pagination:{previous:"Précédent",next:"Suivant",first:"Premier",last:"Dernier",page:"Page",of:"sur",rowsPerPage:"Lignes par page",goToPage:"Aller à la page",totalRecords:"Total : {total} enregistrements",showingXtoYofZ:"Affichage de {from} à {to} sur {total} entrées",noData:"Aucune donnée disponible"},filters:{search:"Rechercher",searchAllColumns:"Rechercher dans toutes les colonnes...",showFilter:"Afficher le filtre",hideFilter:"Masquer le filtre",clearFilter:"Effacer le filtre",clearAllFilters:"Effacer tous les filtres",filterBy:"Filtrer par {column}",all:"Tous",true:"Vrai",false:"Faux",min:"Min",max:"Max",from:"De",to:"À",selectOption:"Sélectionner une option",noOptionsFound:"Aucune option trouvée",selectedCount:"{count} sélectionnés",clearFilters:"Effacer les filtres",noResultsFound:"Aucun résultat trouvé."},sorting:{sortAscending:"Tri croissant",sortDescending:"Tri décroissant",clearSort:"Effacer le tri",sortBy:"Trier par {column}"},columns:{hide:"Masquer",show:"Afficher",toggleVisibility:"Basculer la visibilité de la colonne",resetColumns:"Réinitialiser les colonnes",reorderColumns:"Réorganiser les colonnes",resizeColumn:"Redimensionner la colonne"},selection:{selectAll:"Tout sélectionner",selectRow:"Sélectionner la ligne",deselectAll:"Tout désélectionner",selectedCount:"{count} sélectionnés",selectAllOnPage:"Sélectionner tout sur cette page",selectAllRows:"Sélectionner toutes les lignes"},status:{loading:"Chargement...",error:"Une erreur s'est produite",noResults:"Aucun résultat trouvé",retry:"Réessayer",loadMore:"Charger plus"},security:{rateLimitExceeded:"Limite de débit dépassée. Veuillez réessayer plus tard.",invalidInput:"Entrée invalide détectée",fileSizeExceeded:"La taille du fichier dépasse la limite",fileTypeNotAllowed:"Type de fichier non autorisé",inputTooLong:"L'entrée est trop longue"},accessibility:{sortColumn:"Trier la colonne {column}",filterColumn:"Filtrer la colonne {column}",selectAllRows:"Sélectionner toutes les lignes",selectRow:"Sélectionner la ligne {row}",columnHeader:"En-tête de colonne {column}",tableCaption:"Tableau de données avec {rows} lignes et {columns} colonnes",resizeHandle:"Redimensionner la colonne {column}",dragHandle:"Glisser pour réorganiser la colonne {column}"}},se={pagination:{previous:"Zurück",next:"Weiter",first:"Erste",last:"Letzte",page:"Seite",of:"von",rowsPerPage:"Zeilen pro Seite",goToPage:"Gehe zu Seite",totalRecords:"Gesamt: {total} Datensätze",showingXtoYofZ:"Zeige {from} bis {to} von {total} Einträgen",noData:"Keine Daten verfügbar"},filters:{search:"Suchen",searchAllColumns:"In allen Spalten suchen...",showFilter:"Filter anzeigen",hideFilter:"Filter ausblenden",clearFilter:"Filter löschen",clearAllFilters:"Alle Filter löschen",filterBy:"Nach {column} filtern",all:"Alle",true:"Wahr",false:"Falsch",min:"Min",max:"Max",from:"Von",to:"Bis",selectOption:"Option auswählen",noOptionsFound:"Keine Optionen gefunden",selectedCount:"{count} ausgewählt",clearFilters:"Filter löschen",noResultsFound:"Keine Ergebnisse gefunden."},sorting:{sortAscending:"Aufsteigend sortieren",sortDescending:"Absteigend sortieren",clearSort:"Sortierung löschen",sortBy:"Nach {column} sortieren"},columns:{hide:"Ausblenden",show:"Anzeigen",toggleVisibility:"Spaltensichtbarkeit umschalten",resetColumns:"Spalten zurücksetzen",reorderColumns:"Spalten neu anordnen",resizeColumn:"Spaltengröße ändern"},selection:{selectAll:"Alle auswählen",selectRow:"Zeile auswählen",deselectAll:"Auswahl aufheben",selectedCount:"{count} ausgewählt",selectAllOnPage:"Alle auf dieser Seite auswählen",selectAllRows:"Alle Zeilen auswählen"},status:{loading:"Laden...",error:"Ein Fehler ist aufgetreten",noResults:"Keine Ergebnisse gefunden",retry:"Wiederholen",loadMore:"Mehr laden"},security:{rateLimitExceeded:"Ratenlimit überschritten. Bitte versuchen Sie es später erneut.",invalidInput:"Ungültige Eingabe erkannt",fileSizeExceeded:"Dateigröße überschreitet das Limit",fileTypeNotAllowed:"Dateityp nicht erlaubt",inputTooLong:"Eingabe ist zu lang"},accessibility:{sortColumn:"Spalte {column} sortieren",filterColumn:"Spalte {column} filtern",selectAllRows:"Alle Zeilen auswählen",selectRow:"Zeile {row} auswählen",columnHeader:"Spaltenüberschrift {column}",tableCaption:"Datentabelle mit {rows} Zeilen und {columns} Spalten",resizeHandle:"Spalte {column} in der Größe ändern",dragHandle:"Ziehen, um Spalte {column} neu anzuordnen"}},ie={en:{name:"English",translations:le},tr:{name:"Türkçe",translations:ae},es:{name:"Español",translations:re},fr:{name:"Français",translations:oe},de:{name:"Deutsch",translations:se}},ce=t.lazy(()=>Promise.resolve().then(function(){return ke}).then(e=>({default:e.default}))),de=t.lazy(()=>Promise.resolve().then(function(){return Te}).then(e=>({default:e.default}))),ue=t.lazy(()=>Promise.resolve().then(function(){return Fe}).then(t=>({default:({table:n,pagination:l,translations:a,t:r})=>{const o=t.default,s=t.GoToPage,i=t.PageSize;return e.jsx("div",{className:"flex items-center justify-between py-4",children:e.jsx("div",{className:"flex flex-wrap items-center justify-between gap-4 px-2 text-sm",children:(l.layout||["total","pageSize","goto","buttons"]).map(t=>{switch(t){case"total":return e.jsx("span",{children:(l.totalLabel||r("pagination.totalRecords",{total:n.getFilteredRowModel().rows.length}))?.replace("{total}",n.getFilteredRowModel().rows.length+"")},"total");case"pageSize":return!!l.pageSizeOptions&&e.jsx(i,{pagination:l,onSetPageSize:e=>{n.setPageSize(e)},pageSize:n.getState().pagination.pageSize,label:l.pageSizeLabel,translations:a},"pageSize");case"goto":return e.jsx(s,{label:l.goToPageLabel,currentPage:n.getState().pagination.pageIndex,onSetPage:e=>n.setPageIndex(e),totalPages:n.getPageCount(),translations:a},"goto");case"buttons":const t=o;return e.jsx(t,{canNextPage:n.getCanNextPage(),canPreviousPage:n.getCanPreviousPage(),currentPage:n.getState().pagination.pageIndex,onNext:()=>n.nextPage(),onPrevious:()=>n.previousPage(),onSetPage:e=>n.setPageIndex(e),totalPages:n.getPageCount(),className:l.className,maxVisiblePages:l.maxVisiblePages,mode:l.mode,translations:a},"buttons");default:return null}})})})}})));function me({header:l,colClassName:a="",TableHeadComponent:r,translations:o,isTableDragging:s=!1,useSortableHook:i,CSSUtil:c}){const{isDragging:d,setNodeRef:u,transform:m}=i({id:l.column.id}),f={opacity:d?.8:1,position:"relative",transform:c.Translate.toString(m),transition:d||s?"none":"transform 0.05s ease-out",zIndex:d?1:0,width:l.getSize(),minWidth:l.column.columnDef.minSize||100,maxWidth:l.column.columnDef.maxSize||"none"};return e.jsx(r,{colSpan:l.colSpan,ref:u,style:f,className:x(l.column.columnDef.headerClassName,l.column.columnDef.className,a),children:e.jsx("div",{className:"w-full",children:n.flexRender(!l.isPlaceholder&&l.column.getCanFilter()?e.jsx(t.Suspense,{fallback:e.jsx("div",{className:"h-9 w-full"}),children:e.jsx(ce,{column:l.column,translations:o})}):null,l.getContext())})},l.column.id)}function fe({header:l,colClassName:a="",TableHeadComponent:r,translations:o,isTableDragging:s=!1,reorderable:i=!1}){const[c,d]=h.default.useState(null),[u,f]=h.default.useState(null),[g,p]=h.default.useState(!1);return h.default.useEffect(()=>{i&&!g&&Promise.all([Promise.resolve().then(function(){return m(require("@dnd-kit/sortable"))}).then(e=>e.useSortable),Promise.resolve().then(function(){return m(require("@dnd-kit/utilities"))}).then(e=>e.CSS)]).then(([e,t])=>{d(()=>e),f(()=>t),p(!0)})},[i,g]),i&&g&&c&&u?e.jsx(me,{header:l,colClassName:a,TableHeadComponent:r,translations:o,isTableDragging:s,useSortableHook:c,CSSUtil:u}):e.jsx(r,{colSpan:l.colSpan,style:{width:l.getSize(),minWidth:l.column.columnDef.minSize||100,maxWidth:l.column.columnDef.maxSize||"none"},className:x(l.column.columnDef.headerClassName,l.column.columnDef.className,a),children:e.jsx("div",{className:"w-full",children:n.flexRender(!l.isPlaceholder&&l.column.getCanFilter()?e.jsx(t.Suspense,{fallback:e.jsx("div",{className:"h-9 w-full"}),children:e.jsx(ce,{column:l.column,translations:o})}):null,l.getContext())})},l.column.id)}const he=p.Root,ge=p.Trigger;f.forwardRef(({className:t,inset:n,children:l,...r},o)=>e.jsxs(p.SubTrigger,{ref:o,className:x("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",n&&"pl-8",t),...r,children:[l,e.jsx(a.ChevronRight,{className:"ml-auto"})]})).displayName=p.SubTrigger.displayName,f.forwardRef(({className:t,...n},l)=>e.jsx(p.SubContent,{ref:l,className:x("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",t),...n})).displayName=p.SubContent.displayName;const pe=f.forwardRef(({className:t,sideOffset:n=4,...l},a)=>e.jsx(p.Portal,{children:e.jsx(p.Content,{ref:a,sideOffset:n,className:x("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",t),...l})}));pe.displayName=p.Content.displayName,f.forwardRef(({className:t,inset:n,...l},a)=>e.jsx(p.Item,{ref:a,className:x("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",n&&"pl-8",t),...l})).displayName=p.Item.displayName;const be=f.forwardRef(({className:t,children:n,checked:l,...r},o)=>e.jsxs(p.CheckboxItem,{ref:o,className:x("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:l,...r,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(p.ItemIndicator,{children:e.jsx(a.Check,{className:"h-4 w-4"})})}),n]}));be.displayName=p.CheckboxItem.displayName,f.forwardRef(({className:t,children:n,...l},r)=>e.jsxs(p.RadioItem,{ref:r,className:x("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...l,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(p.ItemIndicator,{children:e.jsx(a.Circle,{className:"h-2 w-2 fill-current"})})}),n]})).displayName=p.RadioItem.displayName,f.forwardRef(({className:t,inset:n,...l},a)=>e.jsx(p.Label,{ref:a,className:x("px-2 py-1.5 text-sm font-semibold",n&&"pl-8",t),...l})).displayName=p.Label.displayName,f.forwardRef(({className:t,...n},l)=>e.jsx(p.Separator,{ref:l,className:x("-mx-1 my-1 h-px bg-muted",t),...n})).displayName=p.Separator.displayName;const xe=b.Root,ve=b.Value,ye=f.forwardRef(({className:t,children:n,...l},r)=>e.jsxs(b.Trigger,{ref:r,className:x("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...l,children:[n,e.jsx(b.Icon,{asChild:!0,children:e.jsx(a.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));ye.displayName=b.Trigger.displayName;const we=f.forwardRef(({className:t,...n},l)=>e.jsx(b.ScrollUpButton,{ref:l,className:x("flex cursor-default items-center justify-center py-1",t),...n,children:e.jsx(a.ChevronUp,{className:"h-4 w-4"})}));we.displayName=b.ScrollUpButton.displayName;const Ne=f.forwardRef(({className:t,...n},l)=>e.jsx(b.ScrollDownButton,{ref:l,className:x("flex cursor-default items-center justify-center py-1",t),...n,children:e.jsx(a.ChevronDown,{className:"h-4 w-4"})}));Ne.displayName=b.ScrollDownButton.displayName;const Ce=f.forwardRef(({className:t,children:n,position:l="popper",...a},r)=>e.jsx(b.Portal,{children:e.jsxs(b.Content,{ref:r,className:x("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===l&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:l,...a,children:[e.jsx(we,{}),e.jsx(b.Viewport,{className:x("p-1","popper"===l&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),e.jsx(Ne,{})]})}));Ce.displayName=b.Content.displayName,f.forwardRef(({className:t,...n},l)=>e.jsx(b.Label,{ref:l,className:x("px-2 py-1.5 text-sm font-semibold",t),...n})).displayName=b.Label.displayName;const Se=f.forwardRef(({className:t,children:n,...l},r)=>e.jsxs(b.Item,{ref:r,className:x("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...l,children:[e.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(b.ItemIndicator,{children:e.jsx(a.Check,{className:"h-4 w-4"})})}),e.jsx(b.ItemText,{children:n})]}));function ze({column:t,translations:n=le}){const l=ne(n),a=t.getFilterValue(),r=t.columnDef?.filter,o=h.default.useMemo(()=>"range"===r?.type?[]:Array.from(t.getFacetedUniqueValues().keys()).sort().slice(0,5e3).map(e=>"string"==typeof e?w(e):e),[t.getFacetedUniqueValues(),r?.type]);if(!r?.field)return null;const s=h.default.useMemo(()=>r?.type?N(a,r.type):a,[a,r?.type]);if("range"===r?.type){const{minPlaceholder:n=l("filters.min"),maxPlaceholder:a=l("filters.max"),showLimit:o=!1,minLimit:i,maxLimit:c}=r??{},d="number"==typeof i?Math.max(-1e6,Math.min(1e6,i)):i,u="number"==typeof c?Math.max(-1e6,Math.min(1e6,c)):c;return e.jsxs("div",{className:"flex space-x-1 w-full",children:[e.jsx(z,{type:"number",min:"faceted"===d?+(t.getFacetedMinMaxValues()?.[0]??""):d,max:"faceted"===u?+(t.getFacetedMinMaxValues()?.[1]??""):u,value:s?.[0]??"",onChange:e=>{const n=""===e||null==e?void 0:+e;void 0!==n&&(isNaN(n)||-1e6>n||n>1e6)||t.setFilterValue(e=>{if(void 0!==n||void 0!==e?.[1])return[n,e?.[1]]})},placeholder:`${w(n)} ${o?"faceted"===d?void 0!==t.getFacetedMinMaxValues()?.[0]?`(${t.getFacetedMinMaxValues()?.[0]})`:"":`(${d})`:""}`,className:"flex-1 min-w-16 h-8"}),e.jsx(z,{type:"number",min:"faceted"===d?+(t.getFacetedMinMaxValues()?.[0]??""):d,max:"faceted"===u?+(t.getFacetedMinMaxValues()?.[1]??""):u,value:s?.[1]??"",onChange:e=>{const n=""===e||null==e?void 0:+e;void 0!==n&&(isNaN(n)||-1e6>n||n>1e6)||t.setFilterValue(e=>{if(void 0!==n||void 0!==e?.[0])return[e?.[0],n]})},placeholder:`${w(a)} ${o?"faceted"===u?void 0!==t.getFacetedMinMaxValues()?.[1]?`(${t.getFacetedMinMaxValues()?.[1]})`:"":`(${u})`:""}`,className:"flex-1 min-w-16 h-8"})]})}if("select"===r?.type){const{options:n,optionLabel:a="label",optionValue:i="value",allLabel:c=l("filters.all")}=r??{},d=(n??o).slice(0,1e3);return e.jsxs(xe,{value:s??"all",onValueChange:e=>{const n=w(e);t.setFilterValue("all"===n?"":n)},children:[e.jsx(ye,{className:"h-8 w-full",children:e.jsx(ve,{placeholder:w(c)})}),e.jsxs(Ce,{children:[e.jsx(Se,{value:"all",children:w(c)}),d.map((t,n)=>{const l=w("object"==typeof t?t[i]+"":t+""),r=w("object"==typeof t?t[a]+"":t+"");return e.jsx(Se,{value:l,children:r},`${l}-${n}`)})]})]})}if("boolean"===r?.type){const{trueLabel:n=l("filters.true"),falseLabel:a=l("filters.false"),allLabel:o=l("filters.all")}=r??{};return e.jsxs(xe,{value:s??"all",onValueChange:e=>{["all","true","false"].includes(e)&&t.setFilterValue("all"===e?"":e)},children:[e.jsx(ye,{className:"h-8 w-full",children:e.jsx(ve,{placeholder:w(o)})}),e.jsxs(Ce,{children:[e.jsx(Se,{value:"all",children:w(o)}),e.jsx(Se,{value:"true",children:w(n)}),e.jsx(Se,{value:"false",children:w(a)})]})]})}if("text"===r?.type)return e.jsxs(e.Fragment,{children:[r?.showList&&e.jsx("datalist",{id:t.id+"list",children:o.slice(0,100).map((t,n)=>e.jsx("option",{value:t},`${t}-${n}`))}),e.jsx(z,{className:x("w-full h-8",r?.className),onChange:e=>{const n=w(e+"");t.setFilterValue(n)},placeholder:`${w(r?.field)} ${r?.showTotal?`(${Math.min(t.getFacetedUniqueValues().size,9999)})`:""}`,type:"text",value:s??"",list:r?.showList?t.id+"list":void 0,maxLength:1e3})]});if("custom"===r?.type){const{component:n,...l}=r;return e.jsx(n,{column:t,...l})}return null}Se.displayName=b.Item.displayName,f.forwardRef(({className:t,...n},l)=>e.jsx(b.Separator,{ref:l,className:x("-mx-1 my-1 h-px bg-muted",t),...n})).displayName=b.Separator.displayName;const ke=Object.freeze({__proto__:null,default:ze}),Te=Object.freeze({__proto__:null,default:function({table:t,label:l}){return e.jsxs(he,{children:[e.jsx(ge,{asChild:!0,children:e.jsx(j,{variant:"outline",className:"ml-auto",children:l||"Columns"})}),e.jsx(pe,{align:"end",children:t.getAllColumns().filter(e=>e.getCanHide()).map(l=>e.jsx(be,{className:"capitalize",checked:l.getIsVisible(),onCheckedChange:e=>l.toggleVisibility(!!e),children:n.isFunction(l.columnDef.header)?n.flexRender(l.columnDef.header,t.getHeaderGroups().find(e=>e.headers.some(e=>e.id===l.id))?.headers.find(e=>e.id===l.id).getContext()):l.columnDef.header||l.id},l.id))})]})}}),Fe=Object.freeze({__proto__:null,default:function({onNext:n,onPrevious:l,onSetPage:r,canNextPage:o,canPreviousPage:s,totalPages:i=0,currentPage:c=0,className:d,mode:u="default",maxVisiblePages:m=7,translations:f=le}){const h=ne(f),g=t.useCallback(()=>{const e=[];switch(u){case"advanced":if(i>m){const t=Math.floor((m-3)/2),n=c>=i-(m-3-t)-1;if(t+1>c){for(let t=0;m-2>t;t++)e.push(t);e.push(-1),e.push(i-1)}else if(n){e.push(0),e.push(-1);for(let t=i-(m-2);i>t;t++)e.push(t)}else{e.push(0),e.push(-1);const t=m-4,n=c-Math.floor(t/2);for(let l=0;t>l;l++)e.push(n+l);e.push(-2),e.push(i-1)}}else for(let t=0;i>t;t++)e.push(t);break;case"default":if(i>m)if(i-m+1>c){const t=Math.max(0,c);for(let n=t;t+m-1>n;n++)e.push(n);e.push(-1),e.push(i-1)}else for(let t=i-m;i>t;t++)e.push(t);else for(let t=0;i>t;t++)e.push(t);break;case"compact":if(i>m){let t=Math.max(0,c-Math.floor(m/2)),n=Math.min(i-1,t+m-1);n===i-1&&(t=Math.max(0,n-m+1));for(let l=t;n>=l;l++)e.push(l)}else for(let t=0;i>t;t++)e.push(t)}return e},[i,c,u,m]);return e.jsxs("div",{className:x("flex items-center gap-1",d),children:[e.jsx(j,{variant:"ghost",size:"icon",onClick:()=>r(0),disabled:!s,"aria-label":h("pagination.first"),children:e.jsx(a.ChevronsLeftIcon,{className:"h-4 w-4"})}),e.jsx(j,{variant:"ghost",size:"icon",onClick:()=>l(),disabled:!s,"aria-label":h("pagination.previous"),children:e.jsx(a.ChevronLeftIcon,{className:"h-4 w-4"})}),g().map((t,n)=>-1===t||-2===t?e.jsx("span",{className:"size-9 flex items-center justify-center text-gray-500",children:e.jsx(a.Ellipsis,{className:"h-4 w-4"})},n):e.jsx(j,{variant:c===t?"default":"ghost",size:"icon",onClick:()=>r(t),children:t+1},n)),e.jsx(j,{variant:"ghost",size:"icon",onClick:()=>n(),disabled:!o,"aria-label":h("pagination.next"),children:e.jsx(a.ChevronRightIcon,{className:"h-4 w-4"})}),e.jsx(j,{variant:"ghost",size:"icon",onClick:()=>r(i-1),disabled:!o||0===i,"aria-label":h("pagination.last"),children:e.jsx(a.ChevronsRightIcon,{className:"h-4 w-4"})})]})},GoToPage:function({currentPage:t,onSetPage:n,totalPages:l,className:a,label:r,translations:o=le}){const s=ne(o);return e.jsxs("div",{className:x("flex items-center gap-2",a),children:[r&&e.jsx("span",{className:"text-sm text-gray-700",children:r||s("pagination.goToPage")}),e.jsx(z,{type:"number",min:1,max:l,value:t+1,onChange:e=>{n(e?+e-1:0)},className:"w-16 h-8 border border-gray-300 rounded-md px-2",placeholder:s("pagination.page")}),e.jsxs("span",{className:"text-sm text-gray-700",children:[s("pagination.of")," ",l]})]})},PageSize:function({pageSize:t,className:n,onSetPageSize:l,pagination:a,label:r,translations:o=le}){const s=ne(o);return e.jsxs("div",{className:x("flex items-center gap-2",n),children:[r&&e.jsx("span",{className:"text-sm truncate text-gray-700",children:r||s("pagination.rowsPerPage")}),e.jsxs(xe,{value:t.toString(),onValueChange:e=>{const t=parseInt(e,10);!isNaN(t)&&t>0&&l(t)},children:[e.jsx(ye,{children:e.jsx("span",{className:"text-sm text-gray-700",children:t})}),e.jsx(Ce,{children:a.pageSizeOptions?.map(t=>e.jsx(Se,{value:t.toString(),children:t},t))})]})]})}});exports.CSP_DIRECTIVES={"default-src":"'self'","script-src":"'self' 'unsafe-inline'","style-src":"'self' 'unsafe-inline'","img-src":"'self' data: https:","font-src":"'self' data:","connect-src":"'self'","frame-src":"'none'","object-src":"'none'","base-uri":"'self'","form-action":"'self'"},exports.ColumnResizeHandle=E,exports.DataTable=function({tableOptions:l,className:a="",TableComponent:r=k,TableHeaderComponent:o=T,TableHeadComponent:s=P,TableRowComponent:i=R,TableCellComponent:c=M,TableBodyComponent:d=F,TableFooterComponent:u=A}){if(!l.data||!Array.isArray(l.data))return void 0,e.jsx("div",{children:"No data provided"});if(!l.columns||!Array.isArray(l.columns))return void 0,e.jsx("div",{children:"No columns provided"});l.data.length>1e5,0;const f=t.useMemo(()=>new Q(10,1e3),[]),g=t.useMemo(()=>ne(l.translations||le),[l.translations]),p=t.useMemo(()=>[...l.rowSelection?[{id:"selection",header:({table:t})=>e.jsx(X,{checked:t.getIsAllPageRowsSelected()||t.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:e=>t.toggleAllPageRowsSelected(!!e),"aria-label":g("selection.selectAll")}),className:"!w-8 flex-none",cell:({row:t})=>e.jsx(X,{checked:t.getIsSelected(),onCheckedChange:e=>{t.toggleSelected(!!e)},"aria-label":g("selection.selectRow")}),enableSorting:!1,enableHiding:!1,enableResizing:!1,reorderable:!1,size:40,minSize:40,maxSize:40}]:[],...l.columns||[]],[l.columns,l.rowSelection,g]),b=t.useMemo(()=>l.data,[l.data]),y=t.useCallback((e,t,n)=>{if(!n)return!0;const l=ge.getColumn(t),a=l?.columnDef;if(!a)return!0;const r=a.filter;if(!r)return!0;const o=v(e.original,r.field,null);if(null===o)return!0;if(Array.isArray(n)){if(!(2!==n.length||"number"!=typeof n[0]&&null!==n[0]&&""!==n[0]||"number"!=typeof n[1]&&null!==n[1]&&""!==n[1])){const[e,t]=n,l=+o;return!(null!==e&&""!==e&&e>l||null!==t&&""!==t&&l>t)}if(0===n.length)return!0;const e=o+"";return n.includes(e)}return"string"!=typeof n||""===n||("boolean"===r?.type?o+""===n:"select"===r?.type?o===n:(o+"").toLowerCase().includes(n.toLowerCase()))},[]),[N,C]=L(l.columnFilters,l.onColumnFiltersChange,[]),[S,O]=L(l.sorting,l.onSortingChange,[]),[E,q]=L(l.paginationState,l.onPaginationChange,{pageIndex:0,pageSize:l.pagination?.pageSize||10}),[B,V]=L(l.columnVisibility,l.onColumnVisibilityChange,{}),[W,$]=L(l.columnOrder,l.onColumnOrderChange,l.columns.map(e=>e.id).filter(e=>"selection"!==e)),[Z,ee]=L(l.globalFilter?.globalFilter,l.globalFilter?.onGlobalFilterChange,""),[te,ae]=L(l.rowSelection,l.onRowSelectionChange,{}),[re,oe]=L(l.columnSizing,l.onColumnSizingChange,{}),[se,ie]=L(l.showFilter,l.onShowFilterChange,!1),[me,he]=t.useState(!1);t.useEffect(()=>{if(l.lazy){const{onLazyLoad:e}=l;if(e){if(!f.isAllowed("lazy-load"))return void 0,void 0;const t=K(E.pageIndex,E.pageSize),n=J(S),l="string"==typeof Z?w(Z):"",a=N.map(e=>({...e,value:"string"==typeof e.value?w(e.value):e.value}));e({first:t.pageIndex*t.pageSize,rows:t.pageSize,filters:a,globalFilter:l,page:t.pageIndex,sorting:n})}}},[N,Z,E,S,l.lazy,f]);const ge=n.useReactTable({data:b,columns:p,state:{columnFilters:l.columnFilters??N,globalFilter:Z,sorting:S,columnVisibility:B,columnOrder:l.rowSelection?["selection",...W]:W,pagination:E,rowSelection:te,columnSizing:re},rowCount:l.pagination?.totalRecords||b.length,manualPagination:!!l.lazy,filterFns:{fuzzy:D},sortingFns:{fuzzy:H},manualFiltering:l.lazy,manualSorting:l.lazy,globalFilterFn:"fuzzy",enableRowSelection:e=>l.enableRowSelectionFn?l.enableRowSelectionFn(e):void 0!==l.rowSelection,enableColumnResizing:l.enableColumnResizing??!0,columnResizeMode:l.columnResizeMode??"onEnd",columnResizeDirection:l.columnResizeDirection??"ltr",defaultColumn:{filterFn:y,size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER,...l.defaultColumn},onGlobalFilterChange:ee,onColumnFiltersChange:C,onSortingChange:O,onPaginationChange:q,onColumnVisibilityChange:V,onColumnOrderChange:$,onRowSelectionChange:ae,onColumnSizingChange:oe,getCoreRowModel:n.getCoreRowModel(),getFilteredRowModel:n.getFilteredRowModel(),getSortedRowModel:n.getSortedRowModel(),getPaginationRowModel:n.getPaginationRowModel(),getFacetedRowModel:n.getFacetedRowModel(),getFacetedUniqueValues:n.getFacetedUniqueValues(),getFacetedMinMaxValues:n.getFacetedMinMaxValues(),initialState:{columnVisibility:l.columnVisibility??{},columnFilters:l.columnFilters??[],sorting:l.sorting??[],globalFilter:"",columnSizing:l.columnSizing??{}}}),pe=l.reorderable??!1,be=t.useMemo(()=>pe?(ge.getState().columnOrder||[]).filter(e=>"selection"!==e):[],[ge.getState().columnOrder,pe]),[xe,ve]=h.default.useState(null),[ye,we]=h.default.useState(!pe);h.default.useEffect(()=>{pe&&!ye&&(async()=>{const[{closestCenter:e},{restrictToHorizontalAxis:t},{arrayMove:n,horizontalListSortingStrategy:l}]=await Promise.all([Promise.resolve().then(function(){return m(require("@dnd-kit/core"))}),Promise.resolve().then(function(){return m(require("@dnd-kit/modifiers"))}),Promise.resolve().then(function(){return m(require("@dnd-kit/sortable"))})]);return{closestCenter:e,restrictToHorizontalAxis:t,arrayMove:n,horizontalListSortingStrategy:l}})().then(e=>{ve(e),we(!0)})},[pe,ye]);const[Ne,Ce]=h.default.useState([]),Se=t.useCallback(e=>{Ce(e)},[]),ze=t.useCallback(e=>{if(!xe)return;const{active:t,over:n}=e;if(he(!1),t&&n&&t.id!==n.id){if("selection"===t.id)return;const e=(ge.getState().columnOrder||[]).filter(e=>"selection"!==e),l=e.indexOf(t.id),a=e.indexOf(n.id);if(-1===l||-1===a)return void 0,void 0;const r=xe.arrayMove(e,l,a);$(r)}},[$,ge,xe]),ke=t.useCallback(()=>{he(!0)},[]),Te=t.useRef(null),Fe=e.jsxs("div",{className:"opal-datatable flex flex-col gap-2 "+a,children:[e.jsxs("div",{className:"flex flex-row gap-2 justify-between",children:[e.jsxs("div",{className:"flex flex-row gap-2",children:[l.globalFilter?.show&&e.jsx(z,{value:Z??"",onChange:e=>{const t="string"==typeof e?w(e):e+"";ge.setGlobalFilter(t)},className:"",placeholder:g("filters.searchAllColumns"),maxLength:500,type:"search"}),l.filter&&l.showFilterButton&&e.jsx(j,{onClick:()=>ie(!se),children:g(se?"filters.hideFilter":"filters.showFilter")})]}),e.jsx("div",{className:"flex flex-row gap-2",children:l.columnVisibility&&e.jsx(t.Suspense,{fallback:e.jsx("div",{className:"h-9 w-9"}),children:e.jsx(de,{table:ge})})})]}),e.jsxs("div",{className:"flex flex-col",ref:Te,children:[pe&&ye&&xe?e.jsx(U,{items:be,strategy:xe.horizontalListSortingStrategy,children:e.jsxs(r,{children:[e.jsxs(o,{children:[ge.getHeaderGroups().map(t=>e.jsx(e.Fragment,{children:e.jsx(i,{className:x(l.rowClassName),children:t.headers.map(t=>e.jsx(_,{header:t,colClassName:l.colClassName,TableHeadComponent:s,reorderable:"selection"!==t.column.id&&pe,enableColumnResizing:l.enableColumnResizing},t.column.id))},"header_"+t.id)})),se&&e.jsx(i,{className:x(l.filterRowClassName,l.rowClassName),children:ge.getHeaderGroups().map(a=>a.headers.map(a=>"selection"===a.column.id?e.jsx(s,{colSpan:a.colSpan,style:{width:a.get