Skip to content

Commit 0615c6c

Browse files
committed
Add forward refs.
1 parent a8fb014 commit 0615c6c

File tree

3 files changed

+12
-16
lines changed

3 files changed

+12
-16
lines changed

src/custom/theme-selector.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export const useTheme = () => {
1313
return { theme, setMode: (_mode: typeof theme['mode']) => setTheme(_mode) }
1414
}
1515

16-
export const ThemeSelector = ({theme, setMode}: ReturnType<typeof useTheme>) => {
16+
export const ThemeSelector = React.forwardRef<HTMLButtonElement, ReturnType<typeof useTheme>>(({theme, setMode}, ref) => {
1717

1818
const stateMap = {
1919
"light": {
@@ -31,9 +31,9 @@ export const ThemeSelector = ({theme, setMode}: ReturnType<typeof useTheme>) =>
3131
if (theme.mode === "dark") setMode('light')
3232
if (theme.mode === "light") setMode("system")
3333
if (theme.mode === "system") setMode("dark")
34-
}}>
34+
}} ref={ref}>
3535
{stateMap[theme.mode].icon}
3636
</Button>
3737
)
38-
39-
};
38+
39+
})

src/shadcn/ui/badge.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ export interface BadgeProps
2727
extends React.HTMLAttributes<HTMLDivElement>,
2828
VariantProps<typeof badgeVariants> {}
2929

30-
function Badge({ className, variant, ...props }: BadgeProps) {
30+
const Badge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & BadgeProps>(({ className, variant, ...props }, ref ) => {
3131
return (
32-
<div className={cn(badgeVariants({ variant }), className)} {...props} />
32+
<div className={cn(badgeVariants({ variant }), className)} {...props} ref={ref}/>
3333
)
34-
}
34+
})
3535

3636
export { Badge, badgeVariants }

src/shadcn/ui/skeleton.tsx

+5-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
1+
import React from "react"
12
import { cn } from "src/utils"
23

3-
function Skeleton({
4-
className,
5-
...props
6-
}: React.HTMLAttributes<HTMLDivElement>) {
7-
return (
8-
<div
4+
const Skeleton = React.forwardRef<HTMLDivElement, React.ComponentProps<"div">>(({className, ...props}, ref) => {
5+
return <div
96
className={cn("animate-pulse rounded-md bg-primary/10", className)}
107
aria-busy="true"
118
role="progressbar"
129
aria-valuemin={0}
1310
aria-valuemax={100}
1411
aria-valuetext="Please wait..."
1512
{...props}
13+
ref={ref}
1614
/>
17-
)
18-
}
19-
15+
})
2016
export { Skeleton }

0 commit comments

Comments
 (0)