'use client' import * as ProgressPrimitive from '@radix-ui/react-progress' import { forwardRef } from 'react' import { tv } from 'tailwind-variants' import type { Merge } from 'type-fest' const progress = tv({ slots: { root: 'relative overflow-hidden h-2 rounded-full bg-bg--muted', indicator: 'transition-all h-full bg-fg-brand rounded-full', }, }) const Progress = forwardRef< React.ElementRef, Merge< React.ComponentPropsWithoutRef, { indicatorProps?: React.ComponentProps } > >(({ indicatorProps, value, ...props }, ref) => { const { root, indicator } = progress() return ( ) }) Progress.displayName = ProgressPrimitive.Root.displayName export default Progress export { progress, ProgressPrimitive }