{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "astro-steps",
  "title": "Steps Block (Astro)",
  "description": "Numbered process steps.",
  "dependencies": [
    "@contentbit/core",
    "@contentbit/blocks",
    "@contentbit/astro"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "src/astro/steps.astro",
      "content": "---\nimport type { StepsData } from '@contentbit/blocks'\nimport type { ValidatedBlockNode } from '@contentbit/core'\nimport type { AstroBlockContext } from '@contentbit/astro'\n\ninterface Props {\n  node: ValidatedBlockNode<unknown>\n  ctx: AstroBlockContext\n}\n\nconst { node, ctx } = Astro.props\nconst data = node.data as StepsData\nconst last = data.items.length - 1\nconst items = await Promise.all(\n  data.items.map(async (item) => ({\n    html: await ctx.renderMarkdown(item.text),\n  })),\n)\n---\n\n<ol data-cb-styled class=\"my-6 list-none p-0\">\n  {\n    items.map((item, i) => (\n      <li class=\"relative flex gap-4 pb-7 last:pb-0\">\n        {i < last ? <span class=\"bg-border absolute top-7 bottom-1 left-[13px] w-px\" aria-hidden=\"true\" /> : null}\n        <span class=\"bg-card text-foreground z-10 flex size-7 shrink-0 items-center justify-center rounded-full border font-mono text-xs font-semibold shadow-sm\">\n          {i + 1}\n        </span>\n        <div class=\"min-w-0 pt-1 text-sm leading-relaxed [&>p]:m-0 [&>p+p]:mt-2\" set:html={item.html} />\n      </li>\n    ))\n  }\n</ol>\n",
      "type": "registry:component",
      "target": "components/content-blocks/steps.astro"
    }
  ],
  "type": "registry:component"
}