UNPKG

mt-flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

47 lines (46 loc) 2.84 kB
import { jsx as _jsx } from "react/jsx-runtime"; import * as React from "react"; import { cn } from "@/lib/utils"; const Table = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { className: "w-full overflow-auto", children: _jsx("table", { ref: ref, className: cn("w-full caption-bottom text-sm", className), ...props }) }))); Table.displayName = "Table"; const TableHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("thead", { ref: ref, className: cn("[&_tr]:border-b", className), ...props }))); TableHeader.displayName = "TableHeader"; const TableBody = React.forwardRef(({ className, ...props }, ref) => (_jsx("tbody", { ref: ref, className: cn("[&_tr:last-child]:border-0", className), ...props }))); TableBody.displayName = "TableBody"; const TableFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("tfoot", { ref: ref, className: cn("bg-primary font-medium text-primary-foreground", className), ...props }))); TableFooter.displayName = "TableFooter"; const TableRow = React.forwardRef(({ className, ...props }, ref) => (_jsx("tr", { ref: ref, className: cn("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", className), ...props }))); TableRow.displayName = "TableRow"; //添加一个可拖放行: // const DraggableRow2 = React.forwardRef< // HTMLTableRowElement, // React.HTMLAttributes<HTMLTableRowElement> // >(({ className, ...props }, ref) => { // const [, dropRef] = useDrop({ // accept: 'row', // drop: (draggedRow: Row<T>) => reorderRow(draggedRow.index, row.index), // }) // const [{ isDragging }, dragRef, previewRef] = useDrag({ // collect: monitor => ({ // isDragging: monitor.isDragging(), // }), // item: () => row, // type: 'row', // }) // return <tr // ref={ref} // className={cn( // "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", // className // )} // {...props} // /> // }) // TableRow.displayName = "DraggableRow2" const TableHead = React.forwardRef(({ className, ...props }, ref) => (_jsx("th", { ref: ref, className: cn("h-8 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", className), ...props }))); TableHead.displayName = "TableHead"; const TableCell = React.forwardRef(({ className, ...props }, ref) => (_jsx("td", { ref: ref, className: cn("p-0 align-middle [&:has([role=checkbox])]:pr-0", className), ...props }))); TableCell.displayName = "TableCell"; const TableCaption = React.forwardRef(({ className, ...props }, ref) => (_jsx("caption", { ref: ref, className: cn("mt-2 text-sm text-muted-foreground", className), ...props }))); TableCaption.displayName = "TableCaption"; export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };