{
  "name": "cards-runway",
  "type": "registry:component",
  "title": "Cards Runway",
  "description": "A horizontal runway of cards that animates as you scroll",
  "dependencies": [
    "gsap"
  ],
  "registryDependencies": [],
  "exportName": "CardsRunway",
  "exportKind": "default",
  "tier": "pro",
  "version": "1.2.2",
  "changelog": [
    {
      "version": "1.2.2",
      "date": "2026-07-30",
      "summary": "Removed cardWidth, pauseOnHover, and start from the public API. The runway now uses a constant card width and fixed ScrollTrigger start/end while keeping speed, gap, and perspective controls.",
      "breaking": false
    },
    {
      "version": "1.2.1",
      "date": "2026-07-30",
      "summary": "Removed data/cards content props, wired speed, gap, perspective, and pauseOnHover, and changed desktop travel to measure the rendered card width so wide cards scroll fully.",
      "breaking": false
    },
    {
      "version": "1.2.0",
      "date": "2026-07-28",
      "summary": "Added data, accentColor, cardColor, and cardWidth as public props with a working remixer panel. The originally suggested props (cards, speed, gap, perspective, pauseOnHover) didn't match this component's real API, so they were replaced with the props CardsRunway actually accepts.",
      "breaking": false
    },
    {
      "version": "1.1.1",
      "date": "2026-07-23",
      "summary": "Desktop pin/scrub threshold raised from >1024px to >=1280px to match the max-[1025px] CSS breakpoint; previously the 1025-1279px range ran the desktop timeline against the collapsed mobile layout.",
      "breaking": false
    },
    {
      "version": "1.1.0",
      "date": "2026-07-22",
      "summary": "Added prefers-reduced-motion support: cards render in place instead of animating up from a y offset",
      "breaking": false
    },
    {
      "version": "1.0.0",
      "date": "2026-06-04",
      "summary": "Initial release",
      "breaking": false
    }
  ],
  "props": [
    {
      "name": "accentColor",
      "type": "color",
      "default": "#ff5f00",
      "description": "Accent color used by the runway card bars.",
      "remixer": {
        "control": "color",
        "group": "style",
        "groupTitle": "Style"
      }
    },
    {
      "name": "cardColor",
      "type": "color",
      "default": "#161616",
      "description": "Background color of each card.",
      "remixer": {
        "control": "color",
        "group": "style",
        "groupTitle": "Style"
      }
    },
    {
      "name": "speed",
      "type": "number",
      "default": 1,
      "description": "Playback speed multiplier for the runway motion.",
      "remixer": {
        "control": "range",
        "group": "motion",
        "groupTitle": "Motion",
        "min": 0.2,
        "max": 3,
        "step": 0.05
      }
    },
    {
      "name": "gap",
      "type": "number",
      "default": 48,
      "description": "Spacing between runway cards in pixels.",
      "remixer": {
        "control": "range",
        "group": "style",
        "groupTitle": "Style",
        "min": 0,
        "max": 160,
        "step": 1
      }
    },
    {
      "name": "perspective",
      "type": "number",
      "default": 900,
      "description": "Perspective depth applied to the runway track.",
      "remixer": {
        "control": "range",
        "group": "motion",
        "groupTitle": "Motion",
        "min": 0,
        "max": 2000,
        "step": 25
      }
    }
  ],
  "remixer": {
    "enabled": true,
    "defaultOpenGroupId": "style",
    "layout": {
      "buttonClassName": "right-4! top-25!",
      "panelClassName": "right-0! top-[132px]! h-[calc(100%-132px)]! w-[344px]!"
    },
    "copyCode": {
      "includeOnlyPublicProps": true
    }
  },
  "files": [
    {
      "path": "index.tsx",
      "type": "registry:component",
      "target": "src/components/effects/cards-runway/index.tsx"
    },
    {
      "path": "CardsRunway.tsx",
      "type": "registry:component",
      "target": "src/components/effects/cards-runway/CardsRunway.tsx"
    }
  ]
}