gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/components/ui/table.tsx · v0.4.1
Source
1 88bd1b0 Mrdn 2y ago import * as React from "react"
2 88bd1b0 Mrdn 2y ago
3 88bd1b0 Mrdn 2y ago import { cn } from "@marzneshin/utils"
4 88bd1b0 Mrdn 2y ago
5 88bd1b0 Mrdn 2y ago const Table = React.forwardRef<
6 88bd1b0 Mrdn 2y ago HTMLTableElement,
7 88bd1b0 Mrdn 2y ago React.HTMLAttributes<HTMLTableElement>
8 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
9 88bd1b0 Mrdn 2y ago <div className="relative w-full overflow-auto">
10 88bd1b0 Mrdn 2y ago <table
11 88bd1b0 Mrdn 2y ago ref={ref}
12 88bd1b0 Mrdn 2y ago className={cn("w-full caption-bottom text-sm", className)}
13 88bd1b0 Mrdn 2y ago {...props}
14 88bd1b0 Mrdn 2y ago />
15 88bd1b0 Mrdn 2y ago </div>
16 88bd1b0 Mrdn 2y ago ))
17 88bd1b0 Mrdn 2y ago Table.displayName = "Table"
18 88bd1b0 Mrdn 2y ago
19 88bd1b0 Mrdn 2y ago const TableHeader = React.forwardRef<
20 88bd1b0 Mrdn 2y ago HTMLTableSectionElement,
21 88bd1b0 Mrdn 2y ago React.HTMLAttributes<HTMLTableSectionElement>
22 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
23 88bd1b0 Mrdn 2y ago <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />
24 88bd1b0 Mrdn 2y ago ))
25 88bd1b0 Mrdn 2y ago TableHeader.displayName = "TableHeader"
26 88bd1b0 Mrdn 2y ago
27 88bd1b0 Mrdn 2y ago const TableBody = React.forwardRef<
28 88bd1b0 Mrdn 2y ago HTMLTableSectionElement,
29 88bd1b0 Mrdn 2y ago React.HTMLAttributes<HTMLTableSectionElement>
30 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
31 88bd1b0 Mrdn 2y ago <tbody
32 88bd1b0 Mrdn 2y ago ref={ref}
33 88bd1b0 Mrdn 2y ago className={cn("[&_tr:last-child]:border-0", className)}
34 88bd1b0 Mrdn 2y ago {...props}
35 88bd1b0 Mrdn 2y ago />
36 88bd1b0 Mrdn 2y ago ))
37 88bd1b0 Mrdn 2y ago TableBody.displayName = "TableBody"
38 88bd1b0 Mrdn 2y ago
39 88bd1b0 Mrdn 2y ago const TableFooter = React.forwardRef<
40 88bd1b0 Mrdn 2y ago HTMLTableSectionElement,
41 88bd1b0 Mrdn 2y ago React.HTMLAttributes<HTMLTableSectionElement>
42 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
43 88bd1b0 Mrdn 2y ago <tfoot
44 88bd1b0 Mrdn 2y ago ref={ref}
45 88bd1b0 Mrdn 2y ago className={cn(
46 88bd1b0 Mrdn 2y ago "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
47 88bd1b0 Mrdn 2y ago className
48 88bd1b0 Mrdn 2y ago )}
49 88bd1b0 Mrdn 2y ago {...props}
50 88bd1b0 Mrdn 2y ago />
51 88bd1b0 Mrdn 2y ago ))
52 88bd1b0 Mrdn 2y ago TableFooter.displayName = "TableFooter"
53 88bd1b0 Mrdn 2y ago
54 88bd1b0 Mrdn 2y ago const TableRow = React.forwardRef<
55 88bd1b0 Mrdn 2y ago HTMLTableRowElement,
56 88bd1b0 Mrdn 2y ago React.HTMLAttributes<HTMLTableRowElement>
57 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
58 88bd1b0 Mrdn 2y ago <tr
59 88bd1b0 Mrdn 2y ago ref={ref}
60 88bd1b0 Mrdn 2y ago className={cn(
61 88bd1b0 Mrdn 2y ago "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
62 88bd1b0 Mrdn 2y ago className
63 88bd1b0 Mrdn 2y ago )}
64 88bd1b0 Mrdn 2y ago {...props}
65 88bd1b0 Mrdn 2y ago />
66 88bd1b0 Mrdn 2y ago ))
67 88bd1b0 Mrdn 2y ago TableRow.displayName = "TableRow"
68 88bd1b0 Mrdn 2y ago
69 88bd1b0 Mrdn 2y ago const TableHead = React.forwardRef<
70 88bd1b0 Mrdn 2y ago HTMLTableCellElement,
71 88bd1b0 Mrdn 2y ago React.ThHTMLAttributes<HTMLTableCellElement>
72 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
73 88bd1b0 Mrdn 2y ago <th
74 88bd1b0 Mrdn 2y ago ref={ref}
75 88bd1b0 Mrdn 2y ago className={cn(
76 88bd1b0 Mrdn 2y ago "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
77 88bd1b0 Mrdn 2y ago className
78 88bd1b0 Mrdn 2y ago )}
79 88bd1b0 Mrdn 2y ago {...props}
80 88bd1b0 Mrdn 2y ago />
81 88bd1b0 Mrdn 2y ago ))
82 88bd1b0 Mrdn 2y ago TableHead.displayName = "TableHead"
83 88bd1b0 Mrdn 2y ago
84 88bd1b0 Mrdn 2y ago const TableCell = React.forwardRef<
85 88bd1b0 Mrdn 2y ago HTMLTableCellElement,
86 88bd1b0 Mrdn 2y ago React.TdHTMLAttributes<HTMLTableCellElement>
87 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
88 88bd1b0 Mrdn 2y ago <td
89 88bd1b0 Mrdn 2y ago ref={ref}
90 88bd1b0 Mrdn 2y ago className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
91 88bd1b0 Mrdn 2y ago {...props}
92 88bd1b0 Mrdn 2y ago />
93 88bd1b0 Mrdn 2y ago ))
94 88bd1b0 Mrdn 2y ago TableCell.displayName = "TableCell"
95 88bd1b0 Mrdn 2y ago
96 88bd1b0 Mrdn 2y ago const TableCaption = React.forwardRef<
97 88bd1b0 Mrdn 2y ago HTMLTableCaptionElement,
98 88bd1b0 Mrdn 2y ago React.HTMLAttributes<HTMLTableCaptionElement>
99 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
100 88bd1b0 Mrdn 2y ago <caption
101 88bd1b0 Mrdn 2y ago ref={ref}
102 88bd1b0 Mrdn 2y ago className={cn("mt-4 text-sm text-muted-foreground", className)}
103 88bd1b0 Mrdn 2y ago {...props}
104 88bd1b0 Mrdn 2y ago />
105 88bd1b0 Mrdn 2y ago ))
106 88bd1b0 Mrdn 2y ago TableCaption.displayName = "TableCaption"
107 88bd1b0 Mrdn 2y ago
108 88bd1b0 Mrdn 2y ago export {
109 88bd1b0 Mrdn 2y ago Table,
110 88bd1b0 Mrdn 2y ago TableHeader,
111 88bd1b0 Mrdn 2y ago TableBody,
112 88bd1b0 Mrdn 2y ago TableFooter,
113 88bd1b0 Mrdn 2y ago TableHead,
114 88bd1b0 Mrdn 2y ago TableRow,
115 88bd1b0 Mrdn 2y ago TableCell,
116 88bd1b0 Mrdn 2y ago TableCaption,
117 88bd1b0 Mrdn 2y ago }