gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/common/components/ui/table.tsx · v0.7.2
Source
1 88bd1b0 Mrdn 2y ago import * as React from "react"
2 88bd1b0 Mrdn 2y ago
3 d636f3f Dawsh 2y ago import { cn } from "@marzneshin/common/utils"
4 88bd1b0 Mrdn 2y ago
5 88bd1b0 Mrdn 2y ago const Table = React.forwardRef<
6 d636f3f Dawsh 2y ago HTMLTableElement,
7 d636f3f Dawsh 2y ago React.HTMLAttributes<HTMLTableElement>
8 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
9 d636f3f Dawsh 2y ago <div className="relative w-full overflow-auto">
10 d636f3f Dawsh 2y ago <table
11 d636f3f Dawsh 2y ago ref={ref}
12 d636f3f Dawsh 2y ago className={cn("w-full caption-bottom text-sm", className)}
13 d636f3f Dawsh 2y ago {...props}
14 d636f3f Dawsh 2y ago />
15 d636f3f Dawsh 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 d636f3f Dawsh 2y ago HTMLTableSectionElement,
21 d636f3f Dawsh 2y ago React.HTMLAttributes<HTMLTableSectionElement>
22 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
23 d636f3f Dawsh 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 d636f3f Dawsh 2y ago HTMLTableSectionElement,
29 d636f3f Dawsh 2y ago React.HTMLAttributes<HTMLTableSectionElement>
30 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
31 d636f3f Dawsh 2y ago <tbody
32 d636f3f Dawsh 2y ago ref={ref}
33 d636f3f Dawsh 2y ago className={cn("[&_tr:last-child]:border-0", className)}
34 d636f3f Dawsh 2y ago {...props}
35 d636f3f Dawsh 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 d636f3f Dawsh 2y ago HTMLTableSectionElement,
41 d636f3f Dawsh 2y ago React.HTMLAttributes<HTMLTableSectionElement>
42 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
43 d636f3f Dawsh 2y ago <tfoot
44 d636f3f Dawsh 2y ago ref={ref}
45 d636f3f Dawsh 2y ago className={cn(
46 d636f3f Dawsh 2y ago "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
47 d636f3f Dawsh 2y ago className
48 d636f3f Dawsh 2y ago )}
49 d636f3f Dawsh 2y ago {...props}
50 d636f3f Dawsh 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 d636f3f Dawsh 2y ago HTMLTableRowElement,
56 d636f3f Dawsh 2y ago React.HTMLAttributes<HTMLTableRowElement>
57 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
58 d636f3f Dawsh 2y ago <tr
59 d636f3f Dawsh 2y ago ref={ref}
60 d636f3f Dawsh 2y ago className={cn(
61 d636f3f Dawsh 2y ago "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
62 d636f3f Dawsh 2y ago className
63 d636f3f Dawsh 2y ago )}
64 d636f3f Dawsh 2y ago {...props}
65 d636f3f Dawsh 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 d636f3f Dawsh 2y ago HTMLTableCellElement,
71 d636f3f Dawsh 2y ago React.ThHTMLAttributes<HTMLTableCellElement>
72 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
73 d636f3f Dawsh 2y ago <th
74 d636f3f Dawsh 2y ago ref={ref}
75 d636f3f Dawsh 2y ago className={cn(
76 d636f3f Dawsh 2y ago "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
77 d636f3f Dawsh 2y ago className
78 d636f3f Dawsh 2y ago )}
79 d636f3f Dawsh 2y ago {...props}
80 d636f3f Dawsh 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 d636f3f Dawsh 2y ago HTMLTableCellElement,
86 d636f3f Dawsh 2y ago React.TdHTMLAttributes<HTMLTableCellElement>
87 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
88 d636f3f Dawsh 2y ago <td
89 d636f3f Dawsh 2y ago ref={ref}
90 d636f3f Dawsh 2y ago className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
91 d636f3f Dawsh 2y ago {...props}
92 d636f3f Dawsh 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 d636f3f Dawsh 2y ago HTMLTableCaptionElement,
98 d636f3f Dawsh 2y ago React.HTMLAttributes<HTMLTableCaptionElement>
99 88bd1b0 Mrdn 2y ago >(({ className, ...props }, ref) => (
100 d636f3f Dawsh 2y ago <caption
101 d636f3f Dawsh 2y ago ref={ref}
102 d636f3f Dawsh 2y ago className={cn("mt-4 text-sm text-muted-foreground", className)}
103 d636f3f Dawsh 2y ago {...props}
104 d636f3f Dawsh 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 d636f3f Dawsh 2y ago Table,
110 d636f3f Dawsh 2y ago TableHeader,
111 d636f3f Dawsh 2y ago TableBody,
112 d636f3f Dawsh 2y ago TableFooter,
113 d636f3f Dawsh 2y ago TableHead,
114 d636f3f Dawsh 2y ago TableRow,
115 d636f3f Dawsh 2y ago TableCell,
116 d636f3f Dawsh 2y ago TableCaption,
117 88bd1b0 Mrdn 2y ago }