{"version":3,"sources":["../src/patterns/checklist/checklist.tsx","../src/patterns/step-wizard/step-wizard.tsx","../src/patterns/deploy-pipeline/deploy-pipeline.tsx","../src/patterns/timeline/timeline.tsx","../src/patterns/activity-feed/activity-feed.tsx","../src/patterns/accordion-status/index.tsx","../src/patterns/steps-with-progress/index.tsx","../src/patterns/workspace-setup/index.tsx"],"names":["jsx","useState","cn","jsxs"],"mappings":"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","file":"chunk-GECGY3KZ.cjs","sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { cn } from '../../utils/cn'\nimport type { ChecklistProps, ChecklistStep } from './types'\n\nfunction StatusIcon({ status }: { status: ChecklistStep['status'] }) {\n  if (status === 'completed') {\n    return (\n      <div className=\"flex items-center justify-center w-6 h-6 rounded-full bg-primary/20 border border-primary/40\">\n        <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"3\" className=\"text-primary\">\n          <polyline points=\"20 6 9 17 4 12\" />\n        </svg>\n      </div>\n    )\n  }\n  if (status === 'in_progress') {\n    return (\n      <div className=\"flex items-center justify-center w-6 h-6 rounded-full border-2 border-primary animate-pulse\">\n        <div className=\"w-2 h-2 rounded-full bg-primary\" />\n      </div>\n    )\n  }\n  if (status === 'skipped') {\n    return <div className=\"flex items-center justify-center w-6 h-6 rounded-full border-2 border-border border-dashed opacity-40\" />\n  }\n  return <div className=\"flex items-center justify-center w-6 h-6 rounded-full border-2 border-border\" />\n}\n\nexport function Checklist({ title, steps, onStepComplete, onAllComplete, dismissable, onDismiss, className }: ChecklistProps) {\n  const [expandedId, setExpandedId] = useState<string | null>(null)\n  const completed = steps.filter(s => s.status === 'completed').length\n\n  return (\n    <div className={cn('rounded-xl border border-border bg-card', className)}>\n      {/* Header */}\n      <div className=\"flex items-center justify-between px-5 py-4 border-b border-border\">\n        <div>\n          <h3 className=\"text-sm font-semibold text-foreground\">{title}</h3>\n          <p className=\"text-xs text-muted-foreground mt-0.5\">{completed} / {steps.length} completed</p>\n        </div>\n        <div className=\"flex items-center gap-3\">\n          {/* Progress ring */}\n          <svg width=\"32\" height=\"32\" viewBox=\"0 0 36 36\">\n            <circle cx=\"18\" cy=\"18\" r=\"15\" fill=\"none\" stroke=\"hsl(var(--border))\" strokeWidth=\"3\" />\n            <circle\n              cx=\"18\" cy=\"18\" r=\"15\" fill=\"none\" stroke=\"hsl(var(--primary))\" strokeWidth=\"3\"\n              strokeDasharray={`${(completed / steps.length) * 94.25} 94.25`}\n              strokeLinecap=\"round\" transform=\"rotate(-90 18 18)\"\n              style={{ transition: 'stroke-dasharray 0.5s ease' }}\n            />\n          </svg>\n          {dismissable && onDismiss && (\n            <button onClick={onDismiss} className=\"text-muted-foreground hover:text-foreground transition-colors\">\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\"><path d=\"M18 6L6 18M6 6l12 12\" /></svg>\n            </button>\n          )}\n        </div>\n      </div>\n\n      {/* Steps */}\n      <div className=\"divide-y divide-border\">\n        {steps.map(step => {\n          const isExpanded = expandedId === step.id\n          return (\n            <div key={step.id}>\n              <button\n                onClick={() => setExpandedId(isExpanded ? null : step.id)}\n                className=\"flex items-center gap-3 w-full px-5 py-3 text-left hover:bg-muted/30 transition-colors\"\n              >\n                <StatusIcon status={step.status} />\n                <div className=\"flex-1 min-w-0\">\n                  <span className={cn('text-sm font-medium', step.status === 'completed' ? 'text-muted-foreground line-through' : 'text-foreground')}>\n                    {step.label}\n                  </span>\n                  {step.description && !isExpanded && (\n                    <p className=\"text-xs text-muted-foreground truncate\">{step.description}</p>\n                  )}\n                </div>\n                {(step.children || step.description) && (\n                  <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\"\n                    className={cn('text-muted-foreground transition-transform', isExpanded && 'rotate-180')}>\n                    <polyline points=\"6 9 12 15 18 9\" />\n                  </svg>\n                )}\n              </button>\n              {isExpanded && (\n                <div className=\"px-5 pb-4 pl-14\">\n                  {step.description && <p className=\"text-sm text-muted-foreground mb-3\">{step.description}</p>}\n                  {step.children}\n                  {step.status !== 'completed' && onStepComplete && (\n                    <button\n                      onClick={() => {\n                        onStepComplete(step.id)\n                        if (completed + 1 === steps.length && onAllComplete) onAllComplete()\n                      }}\n                      className=\"mt-3 px-4 py-1.5 text-xs font-semibold rounded-lg bg-primary text-primary-foreground hover:bg-primary/90 transition-colors\"\n                    >\n                      Mark Complete\n                    </button>\n                  )}\n                </div>\n              )}\n            </div>\n          )\n        })}\n      </div>\n    </div>\n  )\n}\n","'use client'\n\nimport { cn } from '../../utils/cn'\nimport type { StepWizardProps } from './types'\n\nexport function StepWizard({ steps, currentStep, onStepClick, orientation = 'horizontal', className }: StepWizardProps) {\n  const progress = steps.filter(s => s.status === 'completed').length / steps.length * 100\n\n  if (orientation === 'vertical') {\n    return (\n      <div className={cn('space-y-0', className)}>\n        {steps.map((step, i) => (\n          <div key={step.id} className=\"flex gap-4\">\n            {/* Connector + dot */}\n            <div className=\"flex flex-col items-center\">\n              <button\n                onClick={() => onStepClick?.(i)}\n                disabled={!onStepClick}\n                className={cn(\n                  'flex items-center justify-center w-8 h-8 rounded-full border-2 text-xs font-bold transition-all shrink-0',\n                  step.status === 'completed' && 'bg-primary/20 border-primary text-primary',\n                  step.status === 'active' && 'bg-primary border-primary text-primary-foreground',\n                  step.status === 'error' && 'bg-destructive/20 border-destructive text-destructive',\n                  step.status === 'pending' && 'border-border text-muted-foreground',\n                )}\n              >\n                {step.status === 'completed' ? (\n                  <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"3\"><polyline points=\"20 6 9 17 4 12\" /></svg>\n                ) : step.status === 'error' ? '!' : i + 1}\n              </button>\n              {i < steps.length - 1 && (\n                <div className={cn('w-0.5 h-12 my-1', step.status === 'completed' ? 'bg-primary/40' : 'bg-border')} />\n              )}\n            </div>\n            {/* Content */}\n            <div className=\"pb-8 pt-1\">\n              <h4 className={cn('text-sm font-semibold', step.status === 'active' ? 'text-foreground' : 'text-muted-foreground')}>\n                {step.label}\n              </h4>\n              {step.description && <p className=\"text-xs text-muted-foreground mt-0.5\">{step.description}</p>}\n            </div>\n          </div>\n        ))}\n      </div>\n    )\n  }\n\n  return (\n    <div className={cn('space-y-4', className)}>\n      {/* Progress bar */}\n      <div className=\"h-1 rounded-full bg-border overflow-hidden\">\n        <div className=\"h-full rounded-full bg-primary transition-all duration-500 ease-out\" style={{ width: `${progress}%` }} />\n      </div>\n\n      {/* Steps row */}\n      <div className=\"flex items-center justify-between\">\n        {steps.map((step, i) => (\n          <div key={step.id} className=\"flex items-center gap-2 flex-1\">\n            <button\n              onClick={() => onStepClick?.(i)}\n              disabled={!onStepClick}\n              className={cn(\n                'flex items-center justify-center w-8 h-8 rounded-full border-2 text-xs font-bold transition-all shrink-0',\n                step.status === 'completed' && 'bg-primary/20 border-primary text-primary',\n                step.status === 'active' && 'bg-primary border-primary text-primary-foreground',\n                step.status === 'error' && 'bg-destructive/20 border-destructive text-destructive',\n                step.status === 'pending' && 'border-border text-muted-foreground',\n              )}\n            >\n              {step.status === 'completed' ? (\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"3\"><polyline points=\"20 6 9 17 4 12\" /></svg>\n              ) : step.status === 'error' ? '!' : i + 1}\n            </button>\n            <span className={cn('text-xs font-medium hidden sm:block', step.status === 'active' ? 'text-foreground' : 'text-muted-foreground')}>\n              {step.label}\n            </span>\n            {i < steps.length - 1 && <div className={cn('flex-1 h-px mx-2', step.status === 'completed' ? 'bg-primary/40' : 'bg-border')} />}\n          </div>\n        ))}\n      </div>\n    </div>\n  )\n}\n","'use client'\n\nimport { useState } from 'react'\nimport { cn } from '../../utils/cn'\nimport type { DeployPipelineProps, PipelineStep, PipelineLog } from './types'\n\nfunction StepIcon({ status }: { status: PipelineStep['status'] }) {\n  if (status === 'success') return <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"3\" className=\"text-primary\"><polyline points=\"20 6 9 17 4 12\" /></svg>\n  if (status === 'error') return <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" className=\"text-destructive\"><path d=\"M18 6L6 18M6 6l12 12\" /></svg>\n  if (status === 'running') return <div className=\"w-4 h-4 rounded-full border-2 border-primary border-t-transparent animate-spin\" />\n  if (status === 'skipped') return <div className=\"w-4 h-4 rounded-full border-2 border-border border-dashed opacity-40\" />\n  return <div className=\"w-4 h-4 rounded-full border-2 border-border\" />\n}\n\nfunction LogLine({ log }: { log: PipelineLog }) {\n  const color = {\n    info: 'text-muted-foreground', warn: 'text-amber-400', error: 'text-destructive', success: 'text-primary',\n  }[log.level]\n  return (\n    <div className=\"flex gap-2 text-[11px] font-mono\">\n      <span className=\"text-muted-foreground/50 shrink-0\">{log.timestamp}</span>\n      <span className={color}>{log.message}</span>\n    </div>\n  )\n}\n\nexport function DeployPipeline({ steps, title, onRetry, className }: DeployPipelineProps) {\n  const [expandedId, setExpandedId] = useState<string | null>(null)\n  const totalDone = steps.filter(s => s.status === 'success' || s.status === 'skipped').length\n  const overallProgress = steps.length > 0 ? (totalDone / steps.length) * 100 : 0\n\n  return (\n    <div className={cn('rounded-xl border border-border bg-card', className)}>\n      {/* Header */}\n      <div className=\"flex items-center justify-between px-5 py-4 border-b border-border\">\n        <div>\n          <h3 className=\"text-sm font-semibold text-foreground\">{title || 'Pipeline'}</h3>\n          <p className=\"text-xs text-muted-foreground mt-0.5\">{totalDone} / {steps.length} steps complete</p>\n        </div>\n        <span className={cn('text-xs font-bold px-2 py-1 rounded-md',\n          overallProgress === 100 ? 'bg-primary/15 text-primary' :\n          steps.some(s => s.status === 'error') ? 'bg-destructive/15 text-destructive' :\n          'bg-muted text-muted-foreground'\n        )}>\n          {overallProgress === 100 ? 'Complete' : steps.some(s => s.status === 'running') ? 'Running...' : steps.some(s => s.status === 'error') ? 'Failed' : 'Queued'}\n        </span>\n      </div>\n\n      {/* Overall progress */}\n      <div className=\"h-1 bg-border\">\n        <div className={cn('h-full transition-all duration-700 ease-out',\n          steps.some(s => s.status === 'error') ? 'bg-destructive' : 'bg-primary'\n        )} style={{ width: `${overallProgress}%` }} />\n      </div>\n\n      {/* Steps */}\n      <div className=\"divide-y divide-border\">\n        {steps.map(step => {\n          const isExpanded = expandedId === step.id\n          const hasLogs = step.logs && step.logs.length > 0\n          return (\n            <div key={step.id}>\n              <button\n                onClick={() => setExpandedId(isExpanded ? null : step.id)}\n                className=\"flex items-center gap-3 w-full px-5 py-3 text-left hover:bg-muted/20 transition-colors\"\n              >\n                <StepIcon status={step.status} />\n                <div className=\"flex-1 min-w-0\">\n                  <div className=\"flex items-center gap-2\">\n                    <span className={cn('text-sm font-medium', step.status === 'success' ? 'text-muted-foreground' : 'text-foreground')}>\n                      {step.label}\n                    </span>\n                    {step.duration && <span className=\"text-[10px] text-muted-foreground/60 font-mono\">{step.duration}</span>}\n                  </div>\n                  {/* Step progress bar */}\n                  {step.status === 'running' && step.progress !== undefined && (\n                    <div className=\"h-1 mt-1.5 rounded-full bg-border overflow-hidden\">\n                      <div className=\"h-full rounded-full bg-primary transition-all duration-300\" style={{ width: `${step.progress}%` }} />\n                    </div>\n                  )}\n                </div>\n                {step.status === 'error' && onRetry && (\n                  <button\n                    onClick={(e) => { e.stopPropagation(); onRetry(step.id) }}\n                    className=\"px-2 py-1 text-[10px] font-semibold rounded-md bg-destructive/10 border border-destructive/20 text-destructive hover:bg-destructive/20 transition-colors\"\n                  >\n                    Retry\n                  </button>\n                )}\n                {hasLogs && (\n                  <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\"\n                    className={cn('text-muted-foreground/50 transition-transform', isExpanded && 'rotate-180')}>\n                    <polyline points=\"6 9 12 15 18 9\" />\n                  </svg>\n                )}\n              </button>\n              {isExpanded && hasLogs && (\n                <div className=\"px-5 pb-3 pl-12 space-y-0.5 bg-muted/10\">\n                  {step.logs!.map((log, i) => <LogLine key={i} log={log} />)}\n                </div>\n              )}\n            </div>\n          )\n        })}\n      </div>\n    </div>\n  )\n}\n","'use client'\n\nimport { cn } from '../../utils/cn'\nimport type { TimelineProps, TimelineNode } from './types'\n\nfunction NodeDot({ status }: { status: TimelineNode['status'] }) {\n  return (\n    <div className={cn(\n      'flex items-center justify-center w-6 h-6 rounded-full border-2 shrink-0 z-10',\n      status === 'completed' && 'bg-primary/20 border-primary',\n      status === 'active' && 'bg-primary border-primary',\n      status === 'error' && 'bg-destructive/20 border-destructive',\n      status === 'pending' && 'bg-card border-border',\n    )}>\n      {status === 'completed' && <svg width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"3\" className=\"text-primary\"><polyline points=\"20 6 9 17 4 12\" /></svg>}\n      {status === 'active' && <div className=\"w-2 h-2 rounded-full bg-primary-foreground animate-pulse\" />}\n      {status === 'error' && <span className=\"text-[9px] font-bold text-destructive\">!</span>}\n    </div>\n  )\n}\n\nexport function Timeline({ nodes, className }: TimelineProps) {\n  return (\n    <div className={cn('space-y-0', className)}>\n      {nodes.map((node, i) => (\n        <div key={node.id} className=\"flex gap-4 relative\">\n          {/* Vertical line */}\n          {i < nodes.length - 1 && (\n            <div className={cn(\n              'absolute left-3 top-8 w-0.5 h-[calc(100%-8px)]',\n              node.status === 'completed' ? 'bg-primary/30' : 'bg-border',\n            )} />\n          )}\n          <NodeDot status={node.status} />\n          <div className={cn('pb-8 pt-0.5', i === nodes.length - 1 && 'pb-0')}>\n            <h4 className={cn('text-sm font-semibold', node.status === 'pending' ? 'text-muted-foreground' : 'text-foreground')}>\n              {node.label}\n            </h4>\n            {node.description && <p className=\"text-xs text-muted-foreground mt-0.5\">{node.description}</p>}\n            {node.timestamp && <span className=\"text-[10px] text-muted-foreground/50 font-mono mt-1 block\">{node.timestamp}</span>}\n          </div>\n        </div>\n      ))}\n    </div>\n  )\n}\n","'use client'\n\nimport { cn } from '../../utils/cn'\nimport type { ActivityFeedProps } from './types'\n\nexport function ActivityFeed({ items, maxItems, title, className }: ActivityFeedProps) {\n  const display = maxItems ? items.slice(0, maxItems) : items\n\n  return (\n    <div className={cn('rounded-xl border border-border bg-card', className)}>\n      {title && (\n        <div className=\"px-5 py-3 border-b border-border\">\n          <h3 className=\"text-sm font-semibold text-foreground\">{title}</h3>\n        </div>\n      )}\n      <div className=\"divide-y divide-border\">\n        {display.map((item, i) => (\n          <div key={item.id} className=\"flex gap-3 px-5 py-3\">\n            {/* Avatar */}\n            <div\n              className=\"flex items-center justify-center w-8 h-8 rounded-full text-xs font-bold shrink-0\"\n              style={{ background: item.actor.color || 'hsl(var(--primary) / 0.15)', color: item.actor.color ? '#fff' : 'hsl(var(--primary))' }}\n            >\n              {item.actor.avatar ? (\n                <img src={item.actor.avatar} alt=\"\" className=\"w-full h-full rounded-full object-cover\" />\n              ) : (\n                item.actor.name.charAt(0).toUpperCase()\n              )}\n            </div>\n            {/* Content */}\n            <div className=\"flex-1 min-w-0\">\n              <p className=\"text-sm\">\n                <span className=\"font-semibold text-foreground\">{item.actor.name}</span>\n                <span className=\"text-muted-foreground\"> {item.action}</span>\n                {item.target && <span className=\"font-medium text-foreground\"> {item.target}</span>}\n              </p>\n              <span className=\"text-[10px] text-muted-foreground/60 font-mono\">{item.timestamp}</span>\n            </div>\n            {/* Connector dot */}\n            {i < display.length - 1 && (\n              <div className=\"absolute left-[2.35rem] mt-10 w-0.5 h-4 bg-border\" />\n            )}\n          </div>\n        ))}\n        {items.length === 0 && (\n          <div className=\"px-5 py-8 text-center text-sm text-muted-foreground\">No activity yet</div>\n        )}\n      </div>\n    </div>\n  )\n}\n","'use client'\n\nimport { useState } from 'react'\nimport { cn } from '../../utils/cn'\n\nexport interface AccordionSection {\n  id: string\n  label: string\n  description?: string\n  status: 'pending' | 'active' | 'completed' | 'error'\n  children?: React.ReactNode\n}\n\nexport interface AccordionStatusProps {\n  sections: AccordionSection[]\n  className?: string\n}\n\nexport function AccordionStatus({ sections, className }: AccordionStatusProps) {\n  const [openId, setOpenId] = useState<string | null>(sections.find(s => s.status === 'active')?.id || null)\n\n  return (\n    <div className={cn('rounded-xl border border-border bg-card divide-y divide-border', className)}>\n      {sections.map(section => {\n        const isOpen = openId === section.id\n        return (\n          <div key={section.id}>\n            <button\n              onClick={() => setOpenId(isOpen ? null : section.id)}\n              className=\"flex items-center gap-3 w-full px-5 py-4 text-left hover:bg-muted/20 transition-colors\"\n            >\n              <div className={cn(\n                'flex items-center justify-center w-6 h-6 rounded-full border-2 shrink-0',\n                section.status === 'completed' && 'bg-primary/20 border-primary',\n                section.status === 'active' && 'bg-primary border-primary',\n                section.status === 'error' && 'bg-destructive/20 border-destructive',\n                section.status === 'pending' && 'border-border',\n              )}>\n                {section.status === 'completed' && <svg width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"3\" className=\"text-primary\"><polyline points=\"20 6 9 17 4 12\" /></svg>}\n                {section.status === 'active' && <div className=\"w-2 h-2 rounded-full bg-primary-foreground\" />}\n              </div>\n              <div className=\"flex-1\">\n                <span className={cn('text-sm font-semibold', section.status === 'pending' ? 'text-muted-foreground' : 'text-foreground')}>{section.label}</span>\n                {section.description && !isOpen && <p className=\"text-xs text-muted-foreground truncate\">{section.description}</p>}\n              </div>\n              <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\"\n                className={cn('text-muted-foreground transition-transform', isOpen && 'rotate-180')}>\n                <polyline points=\"6 9 12 15 18 9\" />\n              </svg>\n            </button>\n            {isOpen && (\n              <div className=\"px-5 pb-4 pl-14\">\n                {section.description && <p className=\"text-sm text-muted-foreground mb-3\">{section.description}</p>}\n                {section.children}\n              </div>\n            )}\n          </div>\n        )\n      })}\n    </div>\n  )\n}\n","'use client'\n\nimport { cn } from '../../utils/cn'\n\nexport interface ProgressStep {\n  id: string\n  label: string\n  description?: string\n  status: 'pending' | 'active' | 'completed'\n}\n\nexport interface StepsWithProgressProps {\n  steps: ProgressStep[]\n  title?: string\n  helpText?: string\n  className?: string\n  onStepClick?: (id: string) => void\n}\n\nexport function StepsWithProgress({ steps, title, helpText, className, onStepClick }: StepsWithProgressProps) {\n  const completed = steps.filter(s => s.status === 'completed').length\n  const progress = steps.length > 0 ? (completed / steps.length) * 100 : 0\n\n  return (\n    <div className={cn('rounded-xl border border-border bg-card', className)}>\n      {/* Header + progress bar */}\n      <div className=\"px-5 py-4 border-b border-border\">\n        {title && <h3 className=\"text-sm font-semibold text-foreground mb-3\">{title}</h3>}\n        <div className=\"flex items-center gap-3\">\n          <div className=\"flex-1 h-2 rounded-full bg-border overflow-hidden\">\n            <div className=\"h-full rounded-full bg-primary transition-all duration-500\" style={{ width: `${progress}%` }} />\n          </div>\n          <span className=\"text-xs font-mono text-muted-foreground\">{completed}/{steps.length}</span>\n        </div>\n      </div>\n\n      {/* Steps list */}\n      <div className=\"divide-y divide-border\">\n        {steps.map((step, i) => (\n          <button\n            key={step.id}\n            onClick={() => onStepClick?.(step.id)}\n            disabled={!onStepClick}\n            className=\"flex items-center gap-3 w-full px-5 py-3 text-left hover:bg-muted/20 transition-colors\"\n          >\n            <div className={cn(\n              'flex items-center justify-center w-7 h-7 rounded-full text-xs font-bold shrink-0',\n              step.status === 'completed' && 'bg-primary/20 text-primary',\n              step.status === 'active' && 'bg-primary text-primary-foreground',\n              step.status === 'pending' && 'bg-muted text-muted-foreground',\n            )}>\n              {step.status === 'completed' ? (\n                <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"3\"><polyline points=\"20 6 9 17 4 12\" /></svg>\n              ) : i + 1}\n            </div>\n            <div>\n              <span className={cn('text-sm font-medium', step.status === 'pending' ? 'text-muted-foreground' : 'text-foreground')}>{step.label}</span>\n              {step.description && <p className=\"text-xs text-muted-foreground\">{step.description}</p>}\n            </div>\n          </button>\n        ))}\n      </div>\n\n      {/* Help footer */}\n      {helpText && (\n        <div className=\"px-5 py-3 border-t border-border\">\n          <p className=\"text-xs text-muted-foreground\">{helpText}</p>\n        </div>\n      )}\n    </div>\n  )\n}\n","'use client'\n\nimport { cn } from '../../utils/cn'\n\nexport interface SetupStep {\n  id: string\n  label: string\n  description: string\n  status: 'pending' | 'active' | 'completed'\n  action?: { label: string; onClick: () => void }\n  icon?: React.ReactNode\n}\n\nexport interface WorkspaceSetupProps {\n  title?: string\n  steps: SetupStep[]\n  className?: string\n}\n\nexport function WorkspaceSetup({ title, steps, className }: WorkspaceSetupProps) {\n  const completed = steps.filter(s => s.status === 'completed').length\n  const progress = steps.length > 0 ? (completed / steps.length) * 100 : 0\n\n  return (\n    <div className={cn('rounded-xl border border-border bg-card', className)}>\n      {/* Header */}\n      <div className=\"px-5 py-4 border-b border-border\">\n        <div className=\"flex items-center justify-between mb-3\">\n          <h3 className=\"text-sm font-semibold text-foreground\">{title || 'Setup'}</h3>\n          <span className=\"text-xs text-muted-foreground\">{completed} of {steps.length} complete</span>\n        </div>\n        <div className=\"h-1.5 rounded-full bg-border overflow-hidden\">\n          <div className=\"h-full rounded-full bg-primary transition-all duration-500\" style={{ width: `${progress}%` }} />\n        </div>\n      </div>\n\n      {/* Step cards */}\n      <div className=\"p-4 space-y-3\">\n        {steps.map((step, i) => (\n          <div\n            key={step.id}\n            className={cn(\n              'rounded-lg border p-4 transition-all',\n              step.status === 'active' && 'border-primary/30 bg-primary/5',\n              step.status === 'completed' && 'border-border bg-muted/20 opacity-60',\n              step.status === 'pending' && 'border-border bg-card',\n            )}\n          >\n            <div className=\"flex items-start gap-3\">\n              {/* Number badge */}\n              <div className={cn(\n                'flex items-center justify-center w-7 h-7 rounded-lg text-xs font-bold shrink-0 mt-0.5',\n                step.status === 'completed' && 'bg-primary/20 text-primary',\n                step.status === 'active' && 'bg-primary text-primary-foreground',\n                step.status === 'pending' && 'bg-muted text-muted-foreground',\n              )}>\n                {step.status === 'completed' ? (\n                  <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"3\"><polyline points=\"20 6 9 17 4 12\" /></svg>\n                ) : i + 1}\n              </div>\n              <div className=\"flex-1\">\n                <h4 className={cn('text-sm font-semibold', step.status === 'pending' ? 'text-muted-foreground' : 'text-foreground')}>\n                  {step.label}\n                </h4>\n                <p className=\"text-xs text-muted-foreground mt-0.5\">{step.description}</p>\n                {step.status === 'active' && step.action && (\n                  <button\n                    onClick={step.action.onClick}\n                    className=\"mt-3 px-4 py-1.5 text-xs font-semibold rounded-lg bg-primary text-primary-foreground hover:bg-primary/90 transition-colors\"\n                  >\n                    {step.action.label}\n                  </button>\n                )}\n              </div>\n            </div>\n          </div>\n        ))}\n      </div>\n    </div>\n  )\n}\n"]}