{
	"$schema": "https://shadcn-svelte.com/schema/registry-item.json",
	"name": "response",
	"title": "Response",
	"type": "registry:ui",
	"description": "A streaming markdown response renderer with code, math, and mermaid support.",
	"dependencies": [
		"svelte-streamdown"
	],
	"devDependencies": [
		"svelte-streamdown@^3.0.1"
	],
	"files": [
		{
			"content": "<script lang=\"ts\">\n\timport { cn } from \"$UTILS$.js\";\n\timport { Streamdown, type StreamdownProps } from \"svelte-streamdown\";\n\timport Code from \"svelte-streamdown/code\";\n\timport Mermaid from \"svelte-streamdown/mermaid\";\n\timport Math from \"svelte-streamdown/math\";\n\n\tlet {\n\t\tclass: className,\n\t\t...restProps\n\t}: StreamdownProps & {\n\t\t/**\n\t\t * Extra classes merged onto the root `Streamdown` container. Top and\n\t\t * bottom margins are stripped from the first and last children.\n\t\t */\n\t\tclass?: string;\n\t} = $props();\n</script>\n\n<!--\n\tStreamdown's root <div> only forwards `class` — it doesn't spread unknown\n\tattrs — so we can't pin data-slot on it directly. Wrap in a display:contents\n\thost so CSS/automation can target [data-slot=\"response\"] without adding a\n\tlayout box. (display:contents a11y bugs were fixed across modern browsers\n\tin 2022; role/labels on the Streamdown content are unaffected.)\n-->\n<div data-slot=\"response\" class=\"contents\">\n\t<Streamdown\n\t\tbaseTheme=\"shadcn\"\n\t\tcomponents={{ code: Code, mermaid: Mermaid, math: Math }}\n\t\tclass={cn(\"size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0\", className)}\n\t\t{...restProps}\n\t/>\n</div>\n",
			"type": "registry:ui",
			"target": "response/response.svelte"
		},
		{
			"content": "export { default as Response } from \"./response.svelte\";\n",
			"type": "registry:ui",
			"target": "response/index.ts"
		}
	]
}