Component Catalog

A comprehensive list of approved UI blocks for X-Files research entries. AI agents must strictly use these components to assemble MDX pages without writing custom CSS.

Layout Primitives

Basic containers and wrappers for constructing page layouts.

<Section>

A standard wide container with an optional title and description.

Section Content Simulated
Usage Snippet
<Section 
  title="Section Title" 
  description="Section description goes here."
>
  Content goes here
</Section>

<Card>

A styled container with borders, background, and optional hover effects.

Card Title

Card description

Usage Snippet
<Card className="p-6">
  <h3 className="font-bold text-lg mb-2">Card Title</h3>
  <p className="text-sm text-surface-500">
    Card description
  </p>
</Card>

<Grid>

A responsive grid wrapper supporting 1 to 4 columns.

Col 1
Col 2
Col 3
Usage Snippet
<Grid cols={3} gap="lg">
  <div>Column 1</div>
  <div>Column 2</div>
  <div>Column 3</div>
</Grid>

Research Blocks

Pre-configured content patterns to highlight insights and analysis.

<KpiGrid>

Display a row of key performance indicators with optional trend indicators.

Total Revenue

$4.2Mโ†‘12%

Active Users

14,200โˆ’0%

Churn Rate

2.4%โ†“0.3%

Acquisition Cost

$42
Usage Snippet
<KpiGrid items={[
  { label: 'Total Revenue', value: '$4.2M', trend: { direction: 'up', value: '12%' } },
  { label: 'Active Users', value: '14,200', trend: { direction: 'flat', value: '0%' } },
  { label: 'Churn Rate', value: '2.4%', trend: { direction: 'down', value: '0.3%' } },
  { label: 'Acquisition Cost', value: '$42' }
]} />

<InsightBullets>

A highlighted box with bullet points to draw attention to key takeaways.

Key Insights

  • Market growth is projected at 14% year-over-year globally.
  • Competitor expansion into APAC is accelerating.
  • Adoption among enterprise clients remains the strongest segment.
Usage Snippet
<InsightBullets items={[
  'Market growth is projected at 14% year-over-year globally.',
  'Competitor expansion into APAC is accelerating.',
  'Adoption among enterprise clients remains the strongest segment.'
]} />

<SWOT>

A standard 2x2 grid for Strengths, Weaknesses, Opportunities, and Threats.

Strengths

  • Strong brand recognition
  • Proprietary technology stack

Weaknesses

  • High operational costs
  • Limited geographic reach

Opportunities

  • Emerging markets expansion
  • Strategic partnerships

Threats

  • New nimble competitors
  • Changing regulatory
Usage Snippet
<SWOT
  strengths={['Strong brand recognition', 'Proprietary technology stack']}
  weaknesses={['High operational costs', 'Limited geographic reach']}
  opportunities={['Emerging markets expansion', 'Strategic partnerships']}
  threats={['New nimble competitors', 'Changing regulatory']}
/>

<CompanyCompareTable>

Cross-company comparison matrix with check and cross indicators.

FeatureX-FilesCompetitor ACompetitor B
Public API
SSO
Custom Workflows
On-Prem Option
Usage Snippet
<CompanyCompareTable
  featuresList={['Public API', 'SSO', 'Custom Workflows', 'On-Prem Option']}
  companies={[
    { name: 'X-Files', hasFeature: [true, true, true, false] },
    { name: 'Competitor A', hasFeature: [true, false, true, true] },
    { name: 'Competitor B', hasFeature: [false, true, false, false] }
  ]}
/>

<Recommendations>

Ranked recommendation list for action-oriented summaries.

1

Roll out research publishing workflow for all teams.

2

Set SLA alerts for failed external sync jobs.

3

Introduce weekly audit review for security events.

Usage Snippet
<Recommendations items={[
  'Roll out research publishing workflow for all teams.',
  'Set SLA alerts for failed external sync jobs.',
  'Introduce weekly audit review for security events.'
]} />

<Callout>

Contextual highlight for warnings, tips, or important notes.

Usage Snippet
<Callout tone="warning" title="Compliance Reminder">
  Public links should be created only after legal approval for external sharing.
</Callout>

<References>

Formatted bibliography section with optional external links.

References

  1. Q1 2026 Product Spec
  2. Security Incident Review - Feb 2026
Usage Snippet
<References items={[
  { text: 'Q1 2026 Product Spec', url: 'https://example.com/spec' },
  { text: 'Security Incident Review - Feb 2026' }
]} />

Interactive Containers

Containers that hide or organize content into tabs or expandable drawers.

<Tabs> & <TabPane>

Clickable tabs to organize content horizontally without leaving the page.

Overview

General overview content.

Usage Snippet
<Tabs labels={['Overview', 'Technical Details', 'Pricing']}>
  <TabPane>
    <h4>Overview</h4>
    <p>General overview content.</p>
  </TabPane>
  <TabPane>
    <h4>Technical Details</h4>
    <p>Deep dive into architecture.</p>
  </TabPane>
  <TabPane>
    <h4>Pricing</h4>
    <p>Pricing discussion.</p>
  </TabPane>
</Tabs>

<Accordion> & <AccordionItem>

Expandable native sections for FAQs or deep dives.

What are the regulatory risks?

Data residency laws mandate strict adherence to GDPR, limiting our current cloud deployment model across borders.

How does the new billing affect churn?

Early data suggests a 0.5% drop in structural churn due to more flexible payment methodologies introduced in Q4.

Usage Snippet
<Accordion>
  <AccordionItem title="What are the regulatory risks?">
    <p>Data residency laws mandate strict adherence...</p>
  </AccordionItem>
  <AccordionItem title="How does the new billing affect churn?">
    <p>Early data suggests a 0.5% drop in structural churn...</p>
  </AccordionItem>
</Accordion>

AstroWind UI Elements

Stylized lists, steps, and buttons matching the AstroWind aesthetic.

<Button>

A standard action button with primary, secondary, and ghost variants.

Usage Snippet
<div className="flex gap-4">
  <Button variant="primary">Primary Call to Action</Button>
  <Button variant="secondary">Secondary Link</Button>
  <Button variant="ghost">Ghost Button</Button>
</div>

<CheckmarkList>

An unordered list featuring a blue checkmark SVG inline.

  • Seamless authentication integration without a database.
  • MDX processing allowing rich, interactive components natively.
  • Highly responsive and lightweight CSS grid methodologies.
Usage Snippet
<CheckmarkList items={[
  'Seamless authentication integration without a database.',
  'MDX processing allowing rich, interactive components natively.',
  'Highly responsive and lightweight CSS grid methodologies.'
]} />

<NumberedBoxes>

A step-by-step layout with stylized numerals connecting each block.

1

Step 1: Ingestion

Data fed into ETL.

2

Step 2: Processing

Models apply tagging.

3

Step 3: Verification

Analysts review.

Usage Snippet
<NumberedBoxes items={[
  { title: 'Step 1: Ingestion', description: <p>Data fed into ETL.</p> },
  { title: 'Step 2: Processing', description: <p>Models apply tagging.</p> },
  { title: 'Step 3: Verification', description: <p>Analysts review.</p> }
]} />

Timelines

Roadmap and progress visualization.

<RoadmapTimeline>

A vertical timeline to show strategic initiatives or product roadmap milestones.

Beta Launch

Q1 2026completed

Initial rollout.

Global Availability

Q2 2026in progress

Opening platform globally.

AI Module

Q3 2026planned

Integrate LLM workflows.

Usage Snippet
<RoadmapTimeline items={[
  { quarter: 'Q1 2026', title: 'Beta Launch', status: 'completed', description: 'Initial rollout.' },
  { quarter: 'Q2 2026', title: 'Global Availability', status: 'in-progress', description: 'Opening platform globally.' },
  { quarter: 'Q3 2026', title: 'AI Module', status: 'planned', description: 'Integrate LLM workflows.' }
]} />

MDX Primitives

Low-level MDX helpers for feature cards, feature lists, and custom tables.

<FeatureGrid> & <Feature>

๐Ÿ” Role-Based Access

Granular permission policies for research entries.

๐Ÿงพ Audit Coverage

Tracks public-sharing and external API activity.
Usage Snippet
<FeatureGrid>
  <Feature title="Role-Based Access" icon="๐Ÿ”">Granular permission policies for research entries.</Feature>
  <Feature title="Audit Coverage" icon="๐Ÿงพ">Tracks public-sharing and external API activity.</Feature>
</FeatureGrid>

<FeatureList> & <Feature>

  • Real-Time Processing: Instant budget updates and claim processing
  • Automated Workflows: Reduced manual intervention for common processes
Usage Snippet
<FeatureList>
  <Feature>**Real-Time Processing**: Instant budget updates and claim processing</Feature>
  <Feature>**Automated Workflows**: Reduced manual intervention for common processes</Feature>
</FeatureList>

<ComparisonTable> + <Row> + <Cell>

MetricValue
Average response time320ms
Monthly active teams184
Usage Snippet
<ComparisonTable>
  <tbody>
    <Row><Cell><strong>Metric</strong></Cell><Cell><strong>Value</strong></Cell></Row>
    <Row><Cell>Average response time</Cell><Cell>320ms</Cell></Row>
    <Row><Cell>Monthly active teams</Cell><Cell>184</Cell></Row>
  </tbody>
</ComparisonTable>

Media Components

Responsive image and video blocks for visual storytelling in MDX pages.

<ImageGrid> (1 Image)

Single hero visual
Single-image horizontal arrangement
Usage Snippet
<ImageGrid images={[
  {
    src: 'https://picsum.photos/id/1041/1200/700',
    alt: 'Single hero visual',
    caption: 'Single-image horizontal arrangement'
  }
]} />

<ImageGrid> (2 Images)

Two-image layout left
Two-image layout right
Usage Snippet
<ImageGrid images={[
  { src: 'https://picsum.photos/id/1025/1200/700', alt: 'Two-image layout left' },
  { src: 'https://picsum.photos/id/1035/1200/700', alt: 'Two-image layout right' }
]} />

<ImageGrid> (3 Images)

Three-image layout one
Three-image layout two
Three-image layout three
Usage Snippet
<ImageGrid images={[
  { src: 'https://picsum.photos/id/1011/1200/700', alt: 'Three-image layout one' },
  { src: 'https://picsum.photos/id/1018/1200/700', alt: 'Three-image layout two' },
  { src: 'https://picsum.photos/id/1021/1200/700', alt: 'Three-image layout three' }
]} />

<YouTubeHero>

Platform Walkthrough

Hero-style embedded YouTube video with optional heading copy.

Usage Snippet
<YouTubeHero
  videoId="dQw4w9WgXcQ"
  title="Platform Walkthrough"
  description="Hero-style embedded YouTube video with optional heading copy."
/>

<YouTubeSplit> + Side Content

Demo + Notes

1

Show key feature outcomes while the demo plays.

2

Add concise implementation notes beside the video.

3

Keep side content scannable for mobile users.

Usage Snippet
<YouTubeSplit videoId="M7lc1UVf-VE" title="Demo + Notes">
  <Recommendations items={[
    'Show key feature outcomes while the demo plays.',
    'Add concise implementation notes beside the video.',
    'Keep side content scannable for mobile users.'
  ]} />
</YouTubeSplit>

Data & Charts

Tables and recharts-based charting components.

<DataTableCard>

Q2 Financial Overview

RegionRevenueGrowthMarket Share
North America$1.2B+8%42%
EMEA$800M+12%28%
APAC$650M+24%15%
Usage Snippet
<DataTableCard
  title="Q2 Financial Overview"
  columns={['Region', 'Revenue', 'Growth', 'Market Share']}
  data={[
    ['North America', '$1.2B', '+8%', '42%'],
    ['EMEA', '$800M', '+12%', '28%'],
    ['APAC', '$650M', '+24%', '15%']
  ]}
/>

<LineChartCard>

User Growth Trend

Usage Snippet
<LineChartCard
  title="User Growth Trend"
  xAxisKey="month"
  lines={[{ key: 'users', color: 'var(--color-primary-500)', name: 'Active Users' }]}
  data={[
    { month: 'Jan', users: 4000 },
    { month: 'Feb', users: 4500 },
    { month: 'Mar', users: 5100 },
    { month: 'Apr', users: 6200 },
    { month: 'May', users: 7000 }
  ]}
/>

<BarChartCard> (Standard)

Revenue by Region

Usage Snippet
<BarChartCard
  title="Revenue by Region"
  xAxisKey="region"
  bars={[{ key: 'revenue', color: 'var(--color-primary-500)', name: 'Revenue (M)' }]}
  data={[
    { region: 'NA', revenue: 120 },
    { region: 'EMEA', revenue: 80 },
    { region: 'APAC', revenue: 50 }
  ]}
/>

<BarChartCard> (Stacked)

Cost Breakdown per Region

Usage Snippet
<BarChartCard
  title="Cost Breakdown per Region"
  xAxisKey="region"
  bars={[
    { key: 'infrastructure', color: 'var(--color-primary-600)', name: 'Infrastructure', stackId: 'a' },
    { key: 'marketing', color: 'var(--color-primary-300)', name: 'Marketing', stackId: 'a' }
  ]}
  data={[
    { region: 'NA', infrastructure: 40, marketing: 25 },
    { region: 'EMEA', infrastructure: 30, marketing: 15 },
    { region: 'APAC', infrastructure: 20, marketing: 10 }
  ]}
/>

<PieChartCard>

Revenue Mix

Usage Snippet
<PieChartCard
  title="Revenue Mix"
  data={[
    { name: 'Enterprise', value: 55, color: 'var(--color-primary-600)' },
    { name: 'SMB', value: 30, color: 'var(--color-primary-400)' },
    { name: 'Starter', value: 15, color: 'var(--color-primary-200)' }
  ]}
/>

<RadarChartCard>

Capability Benchmark

Usage Snippet
<RadarChartCard
  title="Capability Benchmark"
  radarAxisKey="metric"
  radars={[
    { key: 'xfiles', color: 'var(--color-primary-600)', name: 'X-Files' },
    { key: 'market', color: 'var(--color-primary-300)', name: 'Market Avg' }
  ]}
  data={[
    { metric: 'Speed', xfiles: 92, market: 75 },
    { metric: 'Security', xfiles: 88, market: 72 },
    { metric: 'Scalability', xfiles: 85, market: 70 },
    { metric: 'UX', xfiles: 80, market: 74 }
  ]}
/>

MDX Page Examples (100% Coverage)

Three production-ready MDX examples. Together they cover all supported custom MDX components.

Example 1: Foundations

Slug: 07-mar-2026-mdx-components-example-foundations

Included components

Section, Card, Grid, KpiGrid, InsightBullets, SWOT, CompanyCompareTable, Recommendations, Tabs, TabPane, Accordion, AccordionItem, Button, CheckmarkList, NumberedBoxes, FeatureGrid, FeatureList, Feature, ComparisonTable, Row, Cell, RoadmapTimeline, References, Callout.

Usage Snippet
# MDX Components Example 1: Foundations

<Section title="Layout Primitives">
  <Grid cols={2}><Card>...</Card><Card>...</Card></Grid>
</Section>

<Section title="Core Insight Blocks">
  <KpiGrid ... />
  <InsightBullets ... />
  <SWOT ... />
  <CompanyCompareTable ... />
  <Recommendations ... />
</Section>

<Section title="Interactive Components">
  <Tabs labels={['Overview','Risk','Execution']}><TabPane>...</TabPane></Tabs>
  <Accordion><AccordionItem title="...">...</AccordionItem></Accordion>
</Section>

Example 2: Data and Media

Slug: 07-mar-2026-mdx-components-example-data-media

Included components

DataTableCard, LineChartCard, BarChartCard, PieChartCard, RadarChartCard, ImageGrid, YouTubeHero, YouTubeSplit, Recommendations.

Usage Snippet
# MDX Components Example 2: Data and Media

<Section title="Data Tables and Charts">
  <DataTableCard ... />
  <LineChartCard ... />
  <BarChartCard ... />
  <PieChartCard ... />
  <RadarChartCard ... />
</Section>

<Section title="Image and Video Blocks">
  <ImageGrid images={[...]} />
  <YouTubeHero videoId="..." />
  <YouTubeSplit videoId="..."><Recommendations ... /></YouTubeSplit>
</Section>

Example 3: Complete Coverage

Slug: 07-mar-2026-mdx-components-example-complete

Usage Snippet
# MDX Components Example 3: Complete Coverage

<Callout tone="success" title="Coverage">...</Callout>
<Section title="All Components in One Page">
  <Grid><Card>...</Card></Grid>
  <KpiGrid ... />
  <InsightBullets ... />
  <SWOT ... />
  <CompanyCompareTable ... />
  <Recommendations ... />
  <Tabs ... /><Accordion ... />
  <CheckmarkList ... /><NumberedBoxes ... />
  <FeatureGrid ... /><FeatureList ... />
  <ComparisonTable><Row><Cell>...</Cell></Row></ComparisonTable>
  <RoadmapTimeline ... />
  <DataTableCard ... /><LineChartCard ... /><BarChartCard ... />
  <PieChartCard ... /><RadarChartCard ... />
  <ImageGrid ... /><YouTubeHero ... /><YouTubeSplit ... />
  <References ... />
</Section>