{
  "$schema": "../schemas/component-contract.schema.json",
  "id": "progress",
  "version": "2.0.0",
  "name": "Progress",
  "category": "feedback",
  "appStatus": "implemented",
  "intent": "リニアプログレスバー。aria-valuenow/min/max必須。",
  "docPath": "components/progress.md",
  "anatomy": ["track", "fill", "label?", "percentage?"],
  "variants": {
    "primary": {
      "description": "標準的な進捗表示",
      "tokenRefs": {
        "track-bg": "color.semantic.light.border-default",
        "fill-bg": "color.primary.500",
        "radius": "radius.full"
      },
      "tailwind": "bg-slate-200 rounded-full h-2"
    },
    "success": {
      "description": "完了・成功系の進捗表示",
      "tokenRefs": {
        "track-bg": "color.semantic.light.border-default",
        "fill-bg": "color.status.success.base",
        "radius": "radius.full"
      },
      "tailwind": "bg-slate-200 rounded-full h-2"
    },
    "indeterminate": {
      "description": "完了時間が不明な不確定進捗表示",
      "tokenRefs": {
        "track-bg": "color.semantic.light.border-default",
        "fill-bg": "color.primary.500",
        "radius": "radius.full"
      },
      "tailwind": "bg-slate-200 rounded-full h-2 overflow-hidden"
    }
  },
  "sizes": {},
  "states": [
    "default",
    "determinate",
    "indeterminate",
    "complete"
  ],
  "a11y": {
    "role": "progressbar",
    "required": [
      "aria-valuenow",
      "aria-valuemin=\"0\"",
      "aria-valuemax=\"100\"",
      "aria-label"
    ],
    "keyboard": [],
    "focusRing": "N/A"
  },
  "rules": [
    {
      "id": "MOTION_REDUCED_MOTION_REQUIRED",
      "severity": "error"
    }
  ],
  "htmlSample": "<div class=\"bg-slate-200 rounded-full h-2\" role=\"progressbar\" aria-valuenow=\"65\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-label=\"進捗\"><div class=\"bg-primary-500 rounded-full h-2\" style=\"width:65%\"></div></div>"
}
