{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "content-composer-fixtures",
  "title": "Content Composer — fixtures",
  "author": "ilinxa",
  "description": "Content Composer plus the dummy-data fixtures used by the docs-site demo.",
  "registryDependencies": [
    "@ilinxa/content-composer"
  ],
  "files": [
    {
      "path": "src/registry/components/media/content-composer/dummy-data.ts",
      "content": "import type { AuthorEntity } from \"./parts/field-author-picker\";\nimport type { BodySlotValue, NewsCardItem } from \"./types\";\n\n/**\n * Re-edit fixtures (shipped via `content-composer-fixtures`). Functions\n * (the demo uploader + author loader) live in `demo.tsx`, not here — fixtures\n * are data only.\n */\n\nexport const SAMPLE_AUTHORS: AuthorEntity[] = [\n  { id: \"u-1\", name: \"Dana Reyes\" },\n  { id: \"u-2\", name: \"Sam Okonkwo\" },\n  { id: \"u-3\", name: \"Mira Lindqvist\" },\n  { id: \"u-4\", name: \"Theo Vance\" },\n];\n\n/**\n * A published article to drive the re-edit round-trip. Its engagement counts\n * (`likeCount` / `commentCount` / `views`) are intentionally present so the demo\n * shows the adapter's OMIT rule: on re-publish, `toContentItem` never re-emits\n * them, so the page's PATCH/merge preserves the real numbers.\n */\nexport const SAMPLE_NEWS_ITEM: NewsCardItem = {\n  id: \"news-42\",\n  title: \"City council approves the riverside transit corridor\",\n  image: \"https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=1280&h=720&fit=crop&q=80\",\n  excerpt: \"After a two-year review, the corridor breaks ground this spring.\",\n  category: \"Local\",\n  slug: \"riverside-transit-corridor\",\n  status: \"published\",\n  visibility: \"public\",\n  readTime: 4,\n  language: \"en\",\n  topics: [\"transit\", \"infrastructure\"],\n  tags: [\"riverside\", \"council\"],\n  authorEntity: { id: \"u-1\", name: \"Dana Reyes\" },\n  isFeatured: true,\n  likeCount: 128,\n  commentCount: 24,\n  views: 5400,\n  publishedAt: \"2026-05-20T09:00:00.000Z\",\n};\n\n/** The persisted article body (NOT on NewsCardItem) — fed via `initialBody`. */\nexport const SAMPLE_NEWS_BODY: BodySlotValue = {\n  kind: \"richtext\",\n  value: [\n    {\n      type: \"p\",\n      children: [\n        {\n          text: \"The council voted 7–2 in favour of the corridor after a packed public session.\",\n        },\n      ],\n    },\n    {\n      type: \"p\",\n      children: [\n        { text: \"Construction is expected to begin in April, with the first segment opening late next year.\" },\n      ],\n    },\n  ],\n};\n",
      "type": "registry:component",
      "target": "components/content-composer/dummy-data.ts"
    }
  ],
  "categories": [
    "media",
    "fixtures"
  ],
  "type": "registry:block"
}