> = ({
+ className,
+ children,
+ ...props
+}) => {
const { error, formMessageId } = useFormField();
const body = error ? String(error?.message) : children;
@@ -152,7 +148,6 @@ const FormMessage = React.forwardRef<
return (
);
-});
+};
FormMessage.displayName = 'FormMessage';
export {
diff --git a/packages/ui/src/shadcn/input-otp.tsx b/packages/ui/src/shadcn/input-otp.tsx
index ee2479bd5..e63f927dd 100644
--- a/packages/ui/src/shadcn/input-otp.tsx
+++ b/packages/ui/src/shadcn/input-otp.tsx
@@ -7,12 +7,12 @@ import { OTPInput, OTPInputContext } from 'input-otp';
import { cn } from '../lib/utils';
-const InputOTP = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, containerClassName, ...props }, ref) => (
+const InputOTP: React.FC> = ({
+ className,
+ containerClassName,
+ ...props
+}) => (
-));
+);
InputOTP.displayName = 'InputOTP';
-const InputOTPGroup = React.forwardRef<
- React.ElementRef<'div'>,
- React.ComponentPropsWithoutRef<'div'>
->(({ className, ...props }, ref) => (
-
-));
+const InputOTPGroup: React.FC> = ({
+ className,
+ ...props
+}) => ;
+
InputOTPGroup.displayName = 'InputOTPGroup';
-const InputOTPSlot = React.forwardRef<
- React.ElementRef<'div'>,
- React.ComponentPropsWithoutRef<'div'> & { index: number }
->(({ index, className, ...props }, ref) => {
+const InputOTPSlot: React.FC<
+ React.ComponentPropsWithRef<'div'> & { index: number }
+> = ({ index, className, ...props }) => {
const inputOTPContext = React.useContext(OTPInputContext);
const slot = inputOTPContext.slots[index];
@@ -46,7 +44,6 @@ const InputOTPSlot = React.forwardRef<
return (
);
-});
+};
InputOTPSlot.displayName = 'InputOTPSlot';
-const InputOTPSeparator = React.forwardRef<
- React.ElementRef<'div'>,
- React.ComponentPropsWithoutRef<'div'>
->(({ ...props }, ref) => (
-
+const InputOTPSeparator: React.FC
> = ({
+ ...props
+}) => (
+
-));
+);
InputOTPSeparator.displayName = 'InputOTPSeparator';
export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };
diff --git a/packages/ui/src/shadcn/input.tsx b/packages/ui/src/shadcn/input.tsx
index de68d15a0..a9c711815 100644
--- a/packages/ui/src/shadcn/input.tsx
+++ b/packages/ui/src/shadcn/input.tsx
@@ -4,21 +4,23 @@ import { cn } from '../lib/utils';
export type InputProps = React.InputHTMLAttributes;
-const Input = React.forwardRef(
- ({ className, type = 'text', ...props }, ref) => {
- return (
-
- );
- },
-);
+const Input: React.FC = ({
+ className,
+ type = 'text',
+ ...props
+}) => {
+ return (
+
+ );
+};
+
Input.displayName = 'Input';
export { Input };
diff --git a/packages/ui/src/shadcn/label.tsx b/packages/ui/src/shadcn/label.tsx
index 4dff81ca2..6af89f6c6 100644
--- a/packages/ui/src/shadcn/label.tsx
+++ b/packages/ui/src/shadcn/label.tsx
@@ -11,17 +11,12 @@ const labelVariants = cva(
'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',
);
-const Label = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef &
+const Label: React.FC<
+ React.ComponentPropsWithRef &
VariantProps
->(({ className, ...props }, ref) => (
-
-));
+> = ({ className, ...props }) => (
+
+);
Label.displayName = LabelPrimitive.Root.displayName;
export { Label };
diff --git a/packages/ui/src/shadcn/navigation-menu.tsx b/packages/ui/src/shadcn/navigation-menu.tsx
index 4fe37806b..819d76dad 100644
--- a/packages/ui/src/shadcn/navigation-menu.tsx
+++ b/packages/ui/src/shadcn/navigation-menu.tsx
@@ -8,12 +8,10 @@ import { cva } from 'class-variance-authority';
import { cn } from '../lib/utils';
-const NavigationMenu = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
+const NavigationMenu: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, children, ...props }) => (
-));
+);
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
-const NavigationMenuList = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
+const NavigationMenuList: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, ...props }) => (
-));
+);
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
const NavigationMenuItem = NavigationMenuPrimitive.Item;
@@ -47,12 +43,10 @@ const navigationMenuTriggerStyle = cva(
'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50',
);
-const NavigationMenuTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
+const NavigationMenuTrigger: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, children, ...props }) => (
@@ -62,50 +56,44 @@ const NavigationMenuTrigger = React.forwardRef<
aria-hidden="true"
/>
-));
+);
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
-const NavigationMenuContent = React.forwardRef<
- React.ElementRef,
+const NavigationMenuContent: React.FC<
React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
+> = ({ className, ...props }) => (
-));
+);
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
const NavigationMenuLink = NavigationMenuPrimitive.Link;
-const NavigationMenuViewport = React.forwardRef<
- React.ElementRef,
+const NavigationMenuViewport: React.FC<
React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
+> = ({ className, ...props }) => (
-));
+);
NavigationMenuViewport.displayName =
NavigationMenuPrimitive.Viewport.displayName;
-const NavigationMenuIndicator = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
+const NavigationMenuIndicator: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, ...props }) => (
-));
+);
NavigationMenuIndicator.displayName =
NavigationMenuPrimitive.Indicator.displayName;
diff --git a/packages/ui/src/shadcn/popover.tsx b/packages/ui/src/shadcn/popover.tsx
index 3cebc5423..dc4530bd9 100644
--- a/packages/ui/src/shadcn/popover.tsx
+++ b/packages/ui/src/shadcn/popover.tsx
@@ -12,13 +12,11 @@ const PopoverTrigger = PopoverPrimitive.Trigger;
const PopoverAnchor = PopoverPrimitive.Anchor;
-const PopoverContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (
+const PopoverContent: React.FC<
+ React.ComponentProps
+> = ({ className, align = 'center', sideOffset = 4, ...props }) => (
-));
+);
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
diff --git a/packages/ui/src/shadcn/progress.tsx b/packages/ui/src/shadcn/progress.tsx
new file mode 100644
index 000000000..2e09f4f21
--- /dev/null
+++ b/packages/ui/src/shadcn/progress.tsx
@@ -0,0 +1,28 @@
+'use client';
+
+import * as React from 'react';
+
+import * as ProgressPrimitive from '@radix-ui/react-progress';
+
+import { cn } from '../lib/utils';
+
+const Progress: React.FC<
+ React.ComponentProps
+> = ({ className, value, ...props }) => (
+
+
+
+);
+
+Progress.displayName = ProgressPrimitive.Root.displayName;
+
+export { Progress };
diff --git a/packages/ui/src/shadcn/radio-group.tsx b/packages/ui/src/shadcn/radio-group.tsx
index 37e42bc97..8028e67f2 100644
--- a/packages/ui/src/shadcn/radio-group.tsx
+++ b/packages/ui/src/shadcn/radio-group.tsx
@@ -7,27 +7,23 @@ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
import { cn } from '../lib/utils';
-const RadioGroup = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => {
+const RadioGroup: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, ...props }) => {
return (
);
-});
+};
RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
-const RadioGroupItem = React.forwardRef<
- React.ElementRef,
+const RadioGroupItem: React.FC<
React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => {
+> = ({ className, ...props }) => {
return (
);
-});
+};
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
const RadioGroupItemLabel = (
diff --git a/packages/ui/src/shadcn/scroll-area.tsx b/packages/ui/src/shadcn/scroll-area.tsx
index 24ef95d04..d4a7caeec 100644
--- a/packages/ui/src/shadcn/scroll-area.tsx
+++ b/packages/ui/src/shadcn/scroll-area.tsx
@@ -6,12 +6,10 @@ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
import { cn } from '../lib/utils';
-const ScrollArea = React.forwardRef<
- React.ElementRef,
+const ScrollArea: React.FC<
React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
+> = ({ className, children, ...props }) => (
@@ -21,15 +19,13 @@ const ScrollArea = React.forwardRef<
-));
+);
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
-const ScrollBar = React.forwardRef<
- React.ElementRef,
+const ScrollBar: React.FC<
React.ComponentPropsWithoutRef
->(({ className, orientation = 'vertical', ...props }, ref) => (
+> = ({ className, orientation = 'vertical', ...props }) => (
-));
+);
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
export { ScrollArea, ScrollBar };
diff --git a/packages/ui/src/shadcn/select.tsx b/packages/ui/src/shadcn/select.tsx
index 3091f2b3e..1840994bd 100644
--- a/packages/ui/src/shadcn/select.tsx
+++ b/packages/ui/src/shadcn/select.tsx
@@ -18,12 +18,10 @@ const SelectGroup = SelectPrimitive.Group;
const SelectValue = SelectPrimitive.Value;
-const SelectTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
+const SelectTrigger: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, children, ...props }) => (
span]:line-clamp-1',
className,
@@ -35,15 +33,13 @@ const SelectTrigger = React.forwardRef<
-));
+);
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
-const SelectScrollUpButton = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
+const SelectScrollUpButton: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, ...props }) => (
-));
+);
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
-const SelectScrollDownButton = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
+const SelectScrollDownButton: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, ...props }) => (
-));
+);
SelectScrollDownButton.displayName =
SelectPrimitive.ScrollDownButton.displayName;
-const SelectContent = React.forwardRef<
- React.ElementRef,
+const SelectContent: React.FC<
React.ComponentPropsWithoutRef
->(({ className, children, position = 'popper', ...props }, ref) => (
+> = ({ className, children, position = 'popper', ...props }) => (
-));
+);
SelectContent.displayName = SelectPrimitive.Content.displayName;
-const SelectLabel = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
+const SelectLabel: React.FC<
+ React.ComponentPropsWithRef
+> = ({ className, ...props }) => (
-));
+);
SelectLabel.displayName = SelectPrimitive.Label.displayName;
-const SelectItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
+const SelectItem: React.FC<
+ React.ComponentPropsWithRef