const imgLine75Stroke = "https://www.figma.com/api/mcp/asset/9abb782c-eaaa-4c7f-99cd-39680ba29a25"; const imgUnion = "https://www.figma.com/api/mcp/asset/4a9c60ad-203d-4d7c-949d-b83cba1841bd"; const img = "https://www.figma.com/api/mcp/asset/d5e3bc4c-3185-4b23-8e4f-0efeaf3378cd"; const imgUnion1 = "https://www.figma.com/api/mcp/asset/a4181017-68bf-46f8-922d-e07921b39619"; type StepItemProps = { className?: string; direction?: "horizontal" | "vertical"; state?: "pending" | "active" | "completed"; style?: "number" | "icon"; }; export default function StepItem({ className, direction = "horizontal", state = "completed", style = "number" }: StepItemProps) { const isActive = state === "active"; const isHorizontalAndActive = direction === "horizontal" && state === "active"; const isHorizontalAndIconAndActive = direction === "horizontal" && style === "icon" && state === "active"; const isHorizontalAndIconAndCompleted = direction === "horizontal" && style === "icon" && state === "completed"; const isHorizontalAndIconAndPending = direction === "horizontal" && style === "icon" && state === "pending"; const isHorizontalAndNumberAndActive = direction === "horizontal" && style === "number" && state === "active"; const isHorizontalAndNumberAndPending = direction === "horizontal" && style === "number" && state === "pending"; const isHorizontalAndPending = direction === "horizontal" && state === "pending"; const isPending = state === "pending"; const isVerticalAndNumber = direction === "vertical" && style === "number"; const isVerticalAndNumberAndActive = direction === "vertical" && style === "number" && state === "active"; const isVerticalAndNumberAndCompleted = direction === "vertical" && style === "number" && state === "completed"; const isVerticalAndNumberAndPending = direction === "vertical" && style === "number" && state === "pending"; return (
{direction === "vertical" && style === "number" && ["active", "pending"].includes(state) && (

{isPending ? "3" : isActive ? "2" : ""}

)} {isVerticalAndNumberAndCompleted && (
)}
{style === "number" && (
{direction === "horizontal" && ["active", "pending"].includes(state) && (

{isPending ? "3" : isActive ? "2" : ""}

)} {direction === "horizontal" && state === "completed" && (
)}
)} {direction === "horizontal" && style === "number" &&
} {isHorizontalAndIconAndCompleted && ( <>
)} {isHorizontalAndIconAndActive && ( <>
)} {isHorizontalAndIconAndPending && ( <>
)}

Step Title

); }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/14 body: Font(family: "Roboto", style: Regular, size: 14, weight: 400, lineHeight: 1.5, letterSpacing: 0), Roboto/16 pop title: Font(family: "Roboto", style: SemiBold, size: 16, weight: 600, lineHeight: 1.5, 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. ## Step/Item **Node ID:** 4943:7310 Step item. direction(horizontal/vertical) × style(number/icon) × state(pending/active/completed). Combine multiple instances side by side to build a full Step bar.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: . Image assets are stored on a remote server for 7 days and can be fetched using the provided URLs until they expire.