|
1 | 1 | import { ChevronRightIcon } from "@heroicons/react/24/solid"; |
2 | 2 | import { Link } from "@remix-run/react"; |
3 | 3 | import { ClipboardCheckIcon, ClipboardIcon } from "lucide-react"; |
4 | | -import React, { type ReactNode, forwardRef, useState, useContext, createContext } from "react"; |
| 4 | +import React, { type ReactNode, createContext, forwardRef, useContext, useState } from "react"; |
5 | 5 | import { useCopy } from "~/hooks/useCopy"; |
6 | 6 | import { cn } from "~/utils/cn"; |
7 | 7 | import { Popover, PopoverContent, PopoverVerticalEllipseTrigger } from "./Popover"; |
@@ -106,19 +106,20 @@ export const TableBody = forwardRef<HTMLTableSectionElement, TableBodyProps>( |
106 | 106 | } |
107 | 107 | ); |
108 | 108 |
|
109 | | -type TableRowProps = { |
| 109 | +type TableRowProps = JSX.IntrinsicElements["tr"] & { |
110 | 110 | className?: string; |
111 | 111 | children: ReactNode; |
112 | 112 | disabled?: boolean; |
113 | 113 | isSelected?: boolean; |
114 | 114 | }; |
115 | 115 |
|
116 | 116 | export const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>( |
117 | | - ({ className, disabled, isSelected, children }, ref) => { |
| 117 | + ({ className, disabled, isSelected, children, ...props }, ref) => { |
118 | 118 | const { variant } = useContext(TableContext); |
119 | 119 | return ( |
120 | 120 | <tr |
121 | 121 | ref={ref} |
| 122 | + {...props} |
122 | 123 | className={cn( |
123 | 124 | "group/table-row relative w-full outline-none after:absolute after:bottom-0 after:left-3 after:right-0 after:h-px after:bg-grid-dimmed", |
124 | 125 | isSelected && variants[variant].rowSelected, |
|
0 commit comments