Component Showcase
Demonstration of all available MDX components in the Cashew documentation site.
This page demonstrates all MDX components available for documentation authors. Components come from three sources: Fumadocs defaults (auto-registered), Fumadocs UI (registered in mdx-components.tsx), and custom components.
Cards
Cards are included via defaultMdxComponents. Use <Cards> as a container and <Card> for each item. Cards can link to other pages.
Getting Started
Set up your local development environment.
Architecture
Understand the monorepo structure.
Component Showcase
You are here ā explore available components.
Callouts
Callouts support type variants and optional titles.
This is an informational callout. Use it for helpful tips and additional context.
This is a warning callout. Use it for important caveats or potential issues.
This is an error callout. Use it for critical warnings or breaking changes.
Tabs
Use <Tabs> for language switching, role-specific instructions, or multi-option content.
pnpm install @cashew/docsnpm install @cashew/docsyarn add @cashew/docsTabs with the same groupId sync selections across the page:
pnpm dev:docsnpm run dev:docsyarn dev:docsSteps
Use <Steps> for numbered procedures, setup guides, and runbooks.
Clone the repository
git clone https://github.com/cashew-research/cashew-mono.gitInstall dependencies
pnpm installAccordion
Use <Accordions> for FAQ sections or collapsible details.
Files
Use <Files> to render project directory structures.
TypeTable
Use <TypeTable> to document configuration options, props, or API parameters with type information.
Prop
Type
Banner
Use <Banner> for site-wide announcements or notices at the top of a page.
š§ This documentation site is under active development. Content may be incomplete.
Images
Local Image (from public folder)
Store images in apps/docs/public/images/ and reference them with an absolute path. Use <ImageZoom> with explicit width and height (required by Next.js Image optimization):
ImageZoom Component
The <ImageZoom> component wraps images with a click-to-zoom overlay ā useful for screenshots and architecture visuals.
Click the image above to zoom in. Press Escape or click outside to close. Images in public/images/ are served as static assets ā no Next.js image config needed for local files.
Tables
Standard markdown tables render with proper styling via remark-gfm.
| Feature | Status | Notes |
|---|---|---|
| Sidebar navigation | ā Complete | Auto-generated from content directory |
| Search (Orama) | ā Complete | Built-in, zero external dependencies |
| MDX components | ā Complete | Tabs, Steps, Accordion, Files, ImageZoom |
| Content gating | ā Complete | 3-tier: public / user / internal |
| Mermaid diagrams | ā Complete | Client-side rendering, theme-aware |
Code Blocks
Fumadocs provides enhanced code blocks with syntax highlighting, line numbers, titles, and line highlighting.
Basic code block
const greeting = 'Hello, Cashew!';
console.log(greeting);With title
export type PermissionTier = 'public' | 'user' | 'internal';With line highlighting
async function getPermissionTier(): Promise<PermissionTier> {
const session = await auth(); // highlighted
if (!session?.user) return 'public';
const email = session.user.email;
return email.endsWith('@cashewresearch.com') ? 'internal' : 'user'; // highlighted
}Inline Formatting
Standard markdown inline formatting works as expected:
- Bold text for emphasis
- Italic text for secondary emphasis
inline codefor code referencesStrikethroughfor deprecated content- Links for navigation
- Keyboard shortcuts: press ā + K to search
Lists
Unordered list
- First item
- Second item
- Nested item
- Another nested item
- Third item
Ordered list
- First step
- Second step
- Sub-step A
- Sub-step B
- Third step
Task list
- Set up Fumadocs
- Configure Tailwind isolation
- Add content gating
- Write all documentation content
Blockquotes
Documentation is a love letter that you write to your future self. ā Damian Conway
Horizontal Rules
Use --- to create visual section breaks (like the ones between sections on this page).
Mermaid Diagrams
Use fenced mermaid code blocks to render diagrams. They support light and dark themes automatically.