type ProgressProps = {
  className?: string;
  size?: "M" | "S";
  status?: "default" | "success" | "error" | "warning";
  theme?: "dark" | "light";
};

export default function Progress({ className, size = "M", status = "default", theme = "dark" }: ProgressProps) {
  const isDarkAndDefaultAndS = theme === "dark" && status === "default" && size === "S";
  const isDarkAndErrorAndM = theme === "dark" && status === "error" && size === "M";
  const isDarkAndErrorAndS = theme === "dark" && status === "error" && size === "S";
  const isDarkAndSuccessAndM = theme === "dark" && status === "success" && size === "M";
  const isDarkAndSuccessAndS = theme === "dark" && status === "success" && size === "S";
  const isDarkAndWarningAndM = theme === "dark" && status === "warning" && size === "M";
  const isDarkAndWarningAndS = theme === "dark" && status === "warning" && size === "S";
  const isLightAndDefaultAndM = theme === "light" && status === "default" && size === "M";
  const isLightAndDefaultAndS = theme === "light" && status === "default" && size === "S";
  const isLightAndErrorAndM = theme === "light" && status === "error" && size === "M";
  const isLightAndErrorAndS = theme === "light" && status === "error" && size === "S";
  const isLightAndSuccessAndM = theme === "light" && status === "success" && size === "M";
  const isLightAndSuccessAndS = theme === "light" && status === "success" && size === "S";
  const isLightAndWarningAndM = theme === "light" && status === "warning" && size === "M";
  const isLightAndWarningAndS = theme === "light" && status === "warning" && size === "S";
  return (
    <div className={className || "bg-[rgba(0,0,0,0)] content-stretch flex gap-[8px] items-center relative w-[240px]"} id={isLightAndWarningAndS ? "node-4915_7281" : isLightAndWarningAndM ? "node-4915_7275" : isDarkAndWarningAndS ? "node-4915_7233" : isDarkAndWarningAndM ? "node-4915_7227" : isLightAndErrorAndS ? "node-4915_7269" : isLightAndErrorAndM ? "node-4915_7263" : isDarkAndErrorAndS ? "node-4915_7221" : isDarkAndErrorAndM ? "node-4915_7215" : isLightAndSuccessAndS ? "node-4915_7257" : isLightAndSuccessAndM ? "node-4915_7251" : isDarkAndSuccessAndS ? "node-4915_7209" : isDarkAndSuccessAndM ? "node-4915_7203" : isLightAndDefaultAndS ? "node-4915_7245" : isLightAndDefaultAndM ? "node-4915_7239" : isDarkAndDefaultAndS ? "node-4915_7197" : "node-4915_7191"}>
      <div className={`${String.raw`content-stretch flex flex-[1_0_0] items-start min-w-px overflow-clip relative rounded-[var(--radius\/xxl,20px)] `}${theme === "light" && size === "S" ? String.raw`bg-[var(--ux\/grey\/grey-4-\#dbdbdb,#dbdbdb)] h-[4px]` : theme === "light" && size === "M" ? String.raw`bg-[var(--ux\/grey\/grey-4-\#dbdbdb,#dbdbdb)] h-[8px]` : theme === "dark" && size === "S" ? String.raw`bg-[var(--color-type\/background\/layer_3,#262626)] h-[4px]` : String.raw`bg-[var(--color-type\/background\/layer_3,#262626)] h-[8px]`}`} id={isLightAndWarningAndS ? "node-4915_7285" : isLightAndWarningAndM ? "node-4915_7279" : isDarkAndWarningAndS ? "node-4915_7237" : isDarkAndWarningAndM ? "node-4915_7231" : isLightAndErrorAndS ? "node-4915_7273" : isLightAndErrorAndM ? "node-4915_7267" : isDarkAndErrorAndS ? "node-4915_7225" : isDarkAndErrorAndM ? "node-4915_7219" : isLightAndSuccessAndS ? "node-4915_7261" : isLightAndSuccessAndM ? "node-4915_7255" : isDarkAndSuccessAndS ? "node-4915_7213" : isDarkAndSuccessAndM ? "node-4915_7207" : isLightAndDefaultAndS ? "node-4915_7249" : isLightAndDefaultAndM ? "node-4915_7243" : isDarkAndDefaultAndS ? "node-4915_7201" : "node-4915_7195"} data-name="Frame">
        <div className={`${String.raw`h-full relative rounded-[var(--radius\/xxl,20px)] shrink-0 w-[120px] `}${status === "warning" ? String.raw`bg-[var(--ux\/orange\/default,#f68512)]` : status === "error" ? String.raw`bg-[var(--ux\/red\/default,#ea4233)]` : String.raw`bg-[var(--ux\/brand\/brand,#2fb54e)]`}`} id={isLightAndWarningAndS ? "node-4915_7286" : isLightAndWarningAndM ? "node-4915_7280" : isDarkAndWarningAndS ? "node-4915_7238" : isDarkAndWarningAndM ? "node-4915_7232" : isLightAndErrorAndS ? "node-4915_7274" : isLightAndErrorAndM ? "node-4915_7268" : isDarkAndErrorAndS ? "node-4915_7226" : isDarkAndErrorAndM ? "node-4915_7220" : isLightAndSuccessAndS ? "node-4915_7262" : isLightAndSuccessAndM ? "node-4915_7256" : isDarkAndSuccessAndS ? "node-4915_7214" : isDarkAndSuccessAndM ? "node-4915_7208" : isLightAndDefaultAndS ? "node-4915_7250" : isLightAndDefaultAndM ? "node-4915_7244" : isDarkAndDefaultAndS ? "node-4915_7202" : "node-4915_7196"} data-name="Frame" />
      </div>
      <p className="font-['Roboto:Regular',sans-serif] font-normal leading-[16px] relative shrink-0 text-[12px] text-[color:var(--color-type\/text\/text_2,#ccc)] text-right w-[32px]" id={isLightAndWarningAndS ? "node-4929_7197" : isLightAndWarningAndM ? "node-4929_7196" : isDarkAndWarningAndS ? "node-4929_7195" : isDarkAndWarningAndM ? "node-4929_7194" : isLightAndErrorAndS ? "node-4929_7193" : isLightAndErrorAndM ? "node-4929_7192" : isDarkAndErrorAndS ? "node-4929_7191" : isDarkAndErrorAndM ? "node-4929_7190" : isLightAndSuccessAndS ? "node-4929_7189" : isLightAndSuccessAndM ? "node-4929_7188" : isDarkAndSuccessAndS ? "node-4929_7187" : isDarkAndSuccessAndM ? "node-4929_7186" : isLightAndDefaultAndS ? "node-4929_7185" : isLightAndDefaultAndM ? "node-4929_7184" : isDarkAndDefaultAndS ? "node-4929_7183" : "node-4929_7182"} style={{ fontVariationSettings: "'wdth' 100" }}>
        60%
      </p>
    </div>
  );
}SUPER CRITICAL: The generated React+Tailwind code MUST be converted to match the target project's technology stack and styling system.
1. Analyze the target codebase to identify: technology stack, styling approach, component patterns, and design tokens
2. Convert React syntax to the target framework/library
3. Transform all Tailwind classes to the target styling system while preserving exact visual design
4. Follow the project's existing patterns and conventions
DO NOT install any Tailwind as a dependency unless the user instructs you to do so.
Node ids have been added to the code as data attributes, e.g. `data-node-id="1:2"`.These styles are contained in the design: Roboto/12 tips: Font(family: "Roboto", style: Regular, size: 12, weight: 400, lineHeight: 16, letterSpacing: 0).Component descriptions: The following components have usage descriptions or documentation links defined in Figma. These descriptions provide important context about the intended usage, best practices, and any constraints for each component. Follow these guidelines when implementing or using these components.

## Progress
**Node ID:** 4915:7287

Progress bar — theme(dark/light) × status(default/success/error/warning) × size(M/S). All colors bound to TVU Design System variables.Images and SVGs will be stored as constants, e.g. const image = 'https://www.figma.com/api/mcp/asset/550e8400-e29b-41d4-a716-446655440000'. These constants will be used in the code as the source for the image, ex: <img src={image} />. Image assets are stored on a remote server for 7 days and can be fetched using the provided URLs until they expire.