{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "surface-context", "title": "Surface Context", "description": "React context that carries the current semantic substrate role through nested and portaled content.", "registryDependencies": [ "https://zeron-ui.vercel.app/r/surface-classes.json" ], "files": [ { "path": "src/system/surface-context.tsx", "content": "\"use client\";\n\nimport { createContext, useContext, type ReactNode } from \"react\";\nimport type { SurfaceRole } from \"@/lib/surface-classes\";\nexport { resolveSurface } from \"@/lib/surface-classes\";\n\nconst SurfaceContext = createContext(\"base\");\n\nexport function useSurface(): SurfaceRole {\n return useContext(SurfaceContext);\n}\n\nexport function SurfaceProvider({\n role,\n children,\n}: {\n role: SurfaceRole;\n children: ReactNode;\n}) {\n return (\n {children}\n );\n}\n", "type": "registry:lib", "target": "lib/surface-context.tsx" } ], "type": "registry:lib" }