87 lines
1.9 KiB
JavaScript
87 lines
1.9 KiB
JavaScript
import { jsx } from "react/jsx-runtime";
|
|
import { c as cn } from "./index-CY6fYws-.js";
|
|
function Table({ className, ...props }) {
|
|
return /* @__PURE__ */ jsx(
|
|
"div",
|
|
{
|
|
"data-slot": "table-container",
|
|
className: "relative w-full overflow-x-auto",
|
|
children: /* @__PURE__ */ jsx(
|
|
"table",
|
|
{
|
|
"data-slot": "table",
|
|
className: cn("w-full caption-bottom text-sm", className),
|
|
...props
|
|
}
|
|
)
|
|
}
|
|
);
|
|
}
|
|
function TableHeader({ className, ...props }) {
|
|
return /* @__PURE__ */ jsx(
|
|
"thead",
|
|
{
|
|
"data-slot": "table-header",
|
|
className: cn("[&_tr]:border-b", className),
|
|
...props
|
|
}
|
|
);
|
|
}
|
|
function TableBody({ className, ...props }) {
|
|
return /* @__PURE__ */ jsx(
|
|
"tbody",
|
|
{
|
|
"data-slot": "table-body",
|
|
className: cn("[&_tr:last-child]:border-0", className),
|
|
...props
|
|
}
|
|
);
|
|
}
|
|
function TableRow({ className, ...props }) {
|
|
return /* @__PURE__ */ jsx(
|
|
"tr",
|
|
{
|
|
"data-slot": "table-row",
|
|
className: cn(
|
|
"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
|
|
className
|
|
),
|
|
...props
|
|
}
|
|
);
|
|
}
|
|
function TableHead({ className, ...props }) {
|
|
return /* @__PURE__ */ jsx(
|
|
"th",
|
|
{
|
|
"data-slot": "table-head",
|
|
className: cn(
|
|
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
className
|
|
),
|
|
...props
|
|
}
|
|
);
|
|
}
|
|
function TableCell({ className, ...props }) {
|
|
return /* @__PURE__ */ jsx(
|
|
"td",
|
|
{
|
|
"data-slot": "table-cell",
|
|
className: cn(
|
|
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
className
|
|
),
|
|
...props
|
|
}
|
|
);
|
|
}
|
|
export {
|
|
Table as T,
|
|
TableHeader as a,
|
|
TableRow as b,
|
|
TableHead as c,
|
|
TableBody as d,
|
|
TableCell as e
|
|
};
|