{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "examples-content",
  "type": "registry:component",
  "title": "Example content",
  "description": "Sample content and placeholders shared by the Facade UI examples. Installed with any *-demo item.",
  "categories": [
    "example"
  ],
  "dependencies": [
    "lucide-react@^1.47.0"
  ],
  "registryDependencies": [
    "https://facadeui.dev/r/bento-grid.json",
    "https://facadeui.dev/r/faq-accordion.json",
    "https://facadeui.dev/r/feature-grid.json",
    "https://facadeui.dev/r/feature-rows.json",
    "https://facadeui.dev/r/logo-mark.json",
    "https://facadeui.dev/r/nav-top.json",
    "https://facadeui.dev/r/types.json",
    "https://facadeui.dev/r/usp-list.json"
  ],
  "files": [
    {
      "path": "content.tsx",
      "type": "registry:component",
      "target": "components/examples/content.tsx",
      "content": "/**\n * Sample content shared by the section demos.\n *\n * Kept out of the demo files so each one shows the shape of the API rather than\n * eighty lines of placeholder copy — which is what a reader is actually there to\n * see on a component page.\n */\n\nimport {\n  BlocksIcon,\n  BoltIcon,\n  ChartNoAxesColumnIcon,\n  GaugeIcon,\n  LayersIcon,\n  LockIcon,\n  PaletteIcon,\n  RocketIcon,\n  ShieldCheckIcon,\n  GlobeIcon,\n  AtSignIcon,\n  TerminalIcon,\n  WaypointsIcon,\n} from \"lucide-react\"\n\nimport type { CtaItem } from \"@/lib/types\"\nimport type { BentoItem } from \"@/components/sections/bento-grid\"\nimport type { FaqItem } from \"@/components/sections/faq-accordion\"\nimport type { FeatureItem } from \"@/components/sections/feature-grid\"\nimport type { FeatureRowItem } from \"@/components/sections/feature-rows\"\nimport type { NavItem } from \"@/components/sections/nav-top\"\nimport type { UspItem } from \"@/components/sections/usp-list\"\nimport type { LogoItem } from \"@/components/ui/logo-mark\"\n\nexport const ACTIONS: CtaItem[] = [\n  { label: \"Start building\", href: \"#start\" },\n  { label: \"Read the docs\", href: \"#docs\" },\n]\n\nexport const LOGOS: LogoItem[] = [\n  { name: \"Northwind\" },\n  { name: \"Contoso\" },\n  { name: \"Umbrella\" },\n  { name: \"Globex\" },\n  { name: \"Initech\" },\n]\n\nexport const USPS: UspItem[] = [\n  {\n    icon: BoltIcon,\n    title: \"Ships as source\",\n    description:\n      \"The CLI copies files into your project. Nothing to upgrade, nothing to fight.\",\n  },\n  {\n    icon: ShieldCheckIcon,\n    title: \"Accessible by default\",\n    description: \"WCAG 2.2 AA, with contrast and axe checks that run on every commit.\",\n  },\n  {\n    icon: PaletteIcon,\n    title: \"Inherits your theme\",\n    description:\n      \"shadcn token names, so a section looks like it belongs the moment it lands.\",\n  },\n]\n\nexport const FEATURES: FeatureItem[] = [\n  {\n    icon: LayersIcon,\n    title: \"Composable sections\",\n    description: \"Typed data plus slots. Pass items and children, not forty props.\",\n    href: \"#composable\",\n  },\n  {\n    icon: GaugeIcon,\n    title: \"Server components first\",\n    description: \"Only the drawer and the motion wrappers are client components.\",\n    href: \"#rsc\",\n  },\n  {\n    icon: LockIcon,\n    title: \"One primitive library\",\n    description: \"Base UI throughout. No Radix, and never both in the same tree.\",\n    href: \"#base-ui\",\n  },\n  {\n    icon: WaypointsIcon,\n    title: \"Framework neutral\",\n    description:\n      \"Nothing imports next/*. Hand it next/image and next/link if you want them.\",\n  },\n  {\n    icon: RocketIcon,\n    title: \"Motion, optional\",\n    description: \"Every section is static first. The motion variant wraps it.\",\n  },\n  {\n    icon: ChartNoAxesColumnIcon,\n    title: \"Verified, not asserted\",\n    description: \"Contrast, axe and a real shadcn install all run in CI.\",\n  },\n]\n\n/** Stands in for whatever the consumer passes into a `media` slot. */\nconst MediaPlaceholder = ({\n  label,\n  ratio = \"aspect-[4/3]\",\n}: {\n  label: string\n  ratio?: string\n}) => (\n  <div\n    className={`bg-muted text-muted-foreground flex w-full items-center justify-center rounded-xl border text-sm ${ratio}`}\n  >\n    {label}\n  </div>\n)\n\nexport const ROWS: FeatureRowItem[] = [\n  {\n    eyebrow: \"Install\",\n    title: \"One command per piece\",\n    description:\n      \"Add exactly the section you need. Its dependencies — npm packages and other registry items — come with it.\",\n    bullets: [\"Resolved from the real import graph\", \"Pinned to tested version ranges\"],\n    media: <MediaPlaceholder label=\"Install flow\" />,\n    href: \"#install\",\n    linkLabel: \"See the install guide\",\n  },\n  {\n    eyebrow: \"Own it\",\n    title: \"The source lands in your repo\",\n    description:\n      \"No wrapper package sitting between you and the markup. Change a class, delete a prop, rename the file.\",\n    bullets: [\"Readable, commented source\", \"Strict TypeScript throughout\"],\n    media: <MediaPlaceholder label=\"Your repository\" />,\n  },\n]\n\nexport const BENTO: BentoItem[] = [\n  {\n    icon: LayersIcon,\n    span: \"lg\",\n    title: \"Sections, not snippets\",\n    description:\n      \"Content-driven blocks that take typed data and slots, so a page is composition rather than copy-paste.\",\n    media: <MediaPlaceholder label=\"Section catalogue\" ratio=\"aspect-[16/7]\" />,\n  },\n  {\n    icon: ShieldCheckIcon,\n    span: \"sm\",\n    title: \"WCAG 2.2 AA\",\n    description: \"Checked in CI, not claimed in a README.\",\n  },\n  {\n    icon: PaletteIcon,\n    span: \"sm\",\n    title: \"Four palettes\",\n    description: \"Orange by default, then neutral, warm and vivid.\",\n  },\n  {\n    icon: GaugeIcon,\n    span: \"sm\",\n    title: \"RSC first\",\n    description: \"Client boundaries only where state lives.\",\n  },\n  {\n    icon: BoltIcon,\n    span: \"lg\",\n    title: \"Motion that knows when to stop\",\n    description:\n      \"Opacity and transform only, and nothing at all under prefers-reduced-motion.\",\n  },\n]\n\nexport const FAQS: FaqItem[] = [\n  {\n    question: \"Is Facade UI free?\",\n    answer: \"Yes. MIT licensed, with no paid tier and nothing held back.\",\n  },\n  {\n    question: \"Do I need Next.js?\",\n    answer:\n      \"No. Nothing in the registry imports from next/*. Sections take component types for images and links, so next/image and next/link are pluggable rather than assumed.\",\n  },\n  {\n    question: \"Can I use it in an existing shadcn project?\",\n    answer:\n      \"That is the design. Sections only reference shadcn's own token names, so they inherit your theme the moment they land.\",\n  },\n  {\n    question: \"What about Radix?\",\n    answer:\n      \"Facade UI uses Base UI for every interactive primitive. Mixing two primitive libraries in one tree doubles the bundle and the bugs, so the registry never does.\",\n  },\n]\n\nexport const NAV_ITEMS: NavItem[] = [\n  { label: \"Product\", href: \"#product\" },\n  {\n    label: \"Solutions\",\n    children: [\n      {\n        label: \"For startups\",\n        href: \"#startups\",\n        description: \"Ship a landing page this afternoon.\",\n      },\n      {\n        label: \"For agencies\",\n        href: \"#agencies\",\n        description: \"One theme, many client sites.\",\n      },\n      {\n        label: \"For platforms\",\n        href: \"#platforms\",\n        description: \"Docs, marketing and app in one system.\",\n      },\n    ],\n  },\n  { label: \"Pricing\", href: \"#pricing\" },\n  { label: \"Docs\", href: \"#docs\" },\n]\n\nexport const FOOTER_GROUPS = [\n  {\n    title: \"Product\",\n    links: [\n      { label: \"Sections\", href: \"#sections\" },\n      { label: \"Atoms\", href: \"#atoms\" },\n      { label: \"Templates\", href: \"#templates\" },\n      { label: \"Changelog\", href: \"#changelog\", badge: undefined },\n    ],\n  },\n  {\n    title: \"Docs\",\n    links: [\n      { label: \"Installation\", href: \"#installation\" },\n      { label: \"Theming\", href: \"#theming\" },\n      { label: \"Accessibility\", href: \"#accessibility\" },\n    ],\n  },\n  {\n    title: \"Community\",\n    links: [\n      { label: \"GitHub\", href: \"https://github.com\", external: true },\n      { label: \"Discussions\", href: \"https://github.com\", external: true },\n    ],\n  },\n]\n\nexport { MediaPlaceholder }\n\n// ------------------------------------------------------------------ phase 2\n\nexport const STATS = [\n  { value: \"99.98%\", label: \"Uptime\", description: \"Rolling 90 days\" },\n  { value: \"1.2K\", srValue: \"1200\", label: \"Teams onboarded\" },\n  { value: \"18ms\", label: \"Median response\" },\n  { value: \"216\", label: \"Accessibility checks\", description: \"Per commit\" },\n]\n\nexport const QUOTES = [\n  {\n    id: \"rosa\",\n    rating: 5 as const,\n    quote:\n      \"We replaced three hand-rolled landing pages in an afternoon. The sections dropped straight into our existing theme.\",\n    author: { name: \"Rosa Iqbal\", title: \"Head of Design, Northwind\" },\n  },\n  {\n    id: \"tomas\",\n    quote:\n      \"The accessibility work is already done, which is the part we always ran out of time for.\",\n    author: { name: \"Tomas Lindqvist\", title: \"Engineering lead, Contoso\" },\n  },\n  {\n    id: \"amara\",\n    rating: 5 as const,\n    quote:\n      \"Reading the source was the sell. It is the code I would have written on a good day, and now it is in our repo.\",\n    author: { name: \"Amara Okonkwo\", title: \"Staff engineer, Globex\" },\n  },\n  {\n    id: \"jonas\",\n    quote: \"One primitive library, one token layer. Our bundle went down, not up.\",\n    author: { name: \"Jonas Weber\", title: \"Frontend lead, Initech\" },\n  },\n]\n\nexport const PLANS = [\n  {\n    name: \"Starter\",\n    price: \"$0\",\n    srPrice: \"Free\",\n    period: \"/month\",\n    description: \"Everything you need to ship a landing page.\",\n    features: [\n      { label: \"All sections and atoms\" },\n      { label: \"Three theme presets\" },\n      { label: \"Priority support\", included: false },\n    ],\n    cta: { label: \"Start free\", href: \"#start\" },\n  },\n  {\n    featured: true,\n    name: \"Team\",\n    price: \"$29\",\n    srPrice: \"29 dollars\",\n    period: \"/month\",\n    description: \"For teams shipping more than one site.\",\n    features: [\n      { label: \"Everything in Starter\" },\n      { label: \"Shared theme tokens\", note: \"Sync across projects\" },\n      { label: \"Priority support\" },\n    ],\n    cta: { label: \"Start a trial\", href: \"#trial\" },\n    footnote: \"No card required for 14 days.\",\n  },\n  {\n    name: \"Enterprise\",\n    price: \"Custom\",\n    srPrice: \"Custom pricing\",\n    description: \"Procurement, SSO and an accessibility statement.\",\n    features: [\n      { label: \"Everything in Team\" },\n      { label: \"SSO and SCIM\" },\n      { label: \"VPAT on request\" },\n    ],\n    cta: { label: \"Talk to us\", href: \"#contact\" },\n  },\n]\n\nexport const COMPARISON_PLANS = [\n  {\n    name: \"Starter\",\n    price: \"$0\",\n    srPrice: \"Free\",\n    period: \"/mo\",\n    cta: { label: \"Start\", href: \"#start\" },\n  },\n  {\n    name: \"Team\",\n    price: \"$29\",\n    srPrice: \"29 dollars\",\n    period: \"/mo\",\n    featured: true,\n    cta: { label: \"Try it\", href: \"#trial\" },\n  },\n  {\n    name: \"Enterprise\",\n    price: \"Custom\",\n    srPrice: \"Custom pricing\",\n    cta: { label: \"Contact\", href: \"#contact\" },\n  },\n]\n\nexport const COMPARISON_GROUPS = [\n  {\n    title: \"Components\",\n    features: [\n      { label: \"Sections and atoms\", values: [true, true, true] },\n      { label: \"Templates\", values: [false, true, true] },\n      { label: \"Theme presets\", values: [\"3\", \"3 + custom\", \"Unlimited\"] },\n    ],\n  },\n  {\n    title: \"Collaboration\",\n    features: [\n      {\n        label: \"Shared tokens\",\n        values: [false, true, true],\n        note: \"Sync across projects\",\n      },\n      { label: \"Seats\", values: [\"1\", \"10\", \"Unlimited\"] },\n      { label: \"SSO and SCIM\", values: [false, false, true] },\n    ],\n  },\n  {\n    title: \"Support\",\n    features: [\n      { label: \"Community\", values: [true, true, true] },\n      { label: \"Priority email\", values: [false, true, true] },\n      { label: \"VPAT on request\", values: [false, false, true] },\n    ],\n  },\n]\n\nexport const POSTS = [\n  {\n    id: \"v01\",\n    title: \"Facade UI v0.1\",\n    href: \"#v01\",\n    description:\n      \"Twelve core sections, thirteen atoms, and a contrast check that runs on every commit.\",\n    tag: \"Release\",\n    dateTime: \"2026-09-21\",\n    dateLabel: \"21 September 2026\",\n  },\n  {\n    id: \"rsc\",\n    title: \"Why sections are server components\",\n    href: \"#rsc\",\n    description:\n      \"And the one place that breaks down: icon components cannot cross the boundary as props.\",\n    tag: \"Engineering\",\n    dateTime: \"2026-09-14\",\n    dateLabel: \"14 September 2026\",\n  },\n  {\n    id: \"contrast\",\n    title: \"Checking contrast from the tokens themselves\",\n    href: \"#contrast\",\n    description:\n      \"An accessibility statement nobody verifies is just a wish. Here is the script that verifies ours.\",\n    tag: \"Accessibility\",\n    dateTime: \"2026-09-02\",\n    dateLabel: \"2 September 2026\",\n  },\n]\n\nexport const STEPS = [\n  {\n    icon: TerminalIcon,\n    title: \"Run the command\",\n    description: \"One shadcn add per piece. Dependencies come with it.\",\n  },\n  {\n    icon: BlocksIcon,\n    title: \"Compose the page\",\n    description: \"Pass typed content and slots. No prop soup.\",\n  },\n  {\n    icon: PaletteIcon,\n    title: \"Apply your theme\",\n    description: \"Override the shadcn token names and everything follows.\",\n  },\n]\n\nexport const TABS = [\n  {\n    label: \"Install\",\n    title: \"One command per piece\",\n    description:\n      \"Add exactly the section you need. Its dependencies are resolved from the real import graph.\",\n    icon: TerminalIcon,\n    bullets: [\"npm packages and registry items alike\", \"Pinned to tested version ranges\"],\n    media: <MediaPlaceholder label=\"Install flow\" ratio=\"aspect-[16/10]\" />,\n  },\n  {\n    label: \"Compose\",\n    title: \"Sections take content, not configuration\",\n    description:\n      \"Typed data plus slots, so a page reads as composition rather than a wall of props.\",\n    icon: BlocksIcon,\n    bullets: [\"Slots for media, actions and children\", \"Heading level always explicit\"],\n    media: <MediaPlaceholder label=\"Composed page\" ratio=\"aspect-[16/10]\" />,\n  },\n  {\n    label: \"Theme\",\n    title: \"One block of tokens re-themes everything\",\n    description:\n      \"Sections reference only shadcn's token names, so your existing theme already fits.\",\n    icon: PaletteIcon,\n    bullets: [\"Four palettes, light and dark\", \"Contrast verified in CI\"],\n    media: <MediaPlaceholder label=\"Theme tokens\" ratio=\"aspect-[16/10]\" />,\n  },\n]\n\nexport const TEAM = [\n  {\n    name: \"Rosa Iqbal\",\n    role: \"Design systems\",\n    bio: \"Spent a decade making component libraries that people actually use.\",\n    social: [\n      { label: \"Mastodon\", href: \"https://example.com\", icon: AtSignIcon },\n      { label: \"her website\", href: \"https://example.com\", icon: GlobeIcon },\n    ],\n  },\n  {\n    name: \"Tomas Lindqvist\",\n    role: \"Accessibility\",\n    bio: \"Believes an accessibility statement nobody verifies is just a wish.\",\n    social: [{ label: \"Mastodon\", href: \"https://example.com\", icon: AtSignIcon }],\n  },\n  {\n    name: \"Amara Okonkwo\",\n    role: \"Engineering\",\n    bio: \"Writes the source you will be reading after you run the install command.\",\n    social: [{ label: \"their website\", href: \"https://example.com\", icon: GlobeIcon }],\n  },\n]\n"
    }
  ],
  "docs": "Sample data for the examples. Replace it with your own content."
}
