{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "theme",
  "type": "registry:lib",
  "title": "House Theme",
  "description": "Mantine theme with house defaults for Button, Card, Paper and Modal.",
  "dependencies": [
    "@mantine/core@^9",
    "@mantine/hooks@^9"
  ],
  "files": [
    {
      "path": "registry/lib/theme.ts",
      "type": "registry:lib",
      "content": "import { Button, Card, createTheme, Modal, Paper } from \"@mantine/core\";\n\n/**\n * House Mantine theme.\n *\n * This is the \"opinions\" layer — it belongs in the registry because every app\n * that consumes it is expected to edit it. Mantine itself stays a normal npm\n * dependency underneath.\n */\nexport const theme = createTheme({\n  primaryColor: \"indigo\",\n  defaultRadius: \"md\",\n  fontFamily: \"Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif\",\n  headings: {\n    fontWeight: \"600\",\n  },\n  components: {\n    Button: Button.extend({\n      defaultProps: {\n        variant: \"filled\",\n      },\n    }),\n    Card: Card.extend({\n      defaultProps: {\n        withBorder: true,\n        radius: \"md\",\n        padding: \"lg\",\n      },\n    }),\n    Paper: Paper.extend({\n      defaultProps: {\n        radius: \"md\",\n      },\n    }),\n    Modal: Modal.extend({\n      defaultProps: {\n        centered: true,\n        overlayProps: { backgroundOpacity: 0.55, blur: 3 },\n      },\n    }),\n  },\n});\n"
    }
  ],
  "meta": {
    "mantine": {
      "requires": ">=9",
      "provider": "MantineProvider",
      "usage": {
        "path": "registry/lib/theme.usage.tsx",
        "content": "import { Button, Card, MantineProvider, Stack, Text, TextInput } from \"@mantine/core\";\nimport { theme } from \"@/lib/theme\";\n\nexport function ThemedSignupCard() {\n  return (\n    <MantineProvider theme={theme}>\n      <Card maw={360}>\n        <Stack>\n          <Text fw={600} size=\"lg\">\n            Create an account\n          </Text>\n          <TextInput label=\"Email\" placeholder=\"you@example.com\" />\n          <Button onClick={() => console.log(\"submitted\")}>Sign up</Button>\n        </Stack>\n      </Card>\n    </MantineProvider>\n  );\n}\n"
      }
    }
  }
}
