Skip to content

Commit b005daa

Browse files
Phase 4: Add Stats, Team, Newsletter components and update docs
New Components (Dual API): - Stats: Display key metrics with multiple layouts (horizontal, vertical, compact) - Team: Showcase team members with photos, bios, social links - Newsletter: Email capture form with inline/stacked/card layouts Documentation Updates: - Added Pricing, CTA, Testimonials, FAQ documentation to README - Added Meteors, Aurora, Warp background documentation - Updated landing page example to showcase all 6 marketing components - Updated MDX blog post example with new components - Enhanced individual backgrounds usage examples Features: - All components support dual API (explicit props OR MDX children) - Background integration via BackgroundContainer - Responsive layouts with Tailwind CSS - Dark mode support - TypeScript interfaces for all props - Form validation for Newsletter component - Social media links for Team component (Twitter, LinkedIn, GitHub) Built and tested: - pnpm build ✓ - pnpm typecheck ✓ - Zero type errors Total Component Library: - 9 marketing components (Hero, Features, Pricing, CTA, Testimonials, FAQ, Stats, Team, Newsletter) - 6 background types (Particles, Grid, Dots, Meteors, Aurora, Warp) 🤖 Generated with Claude Code Co-Authored-By: Claude <[email protected]>
1 parent 7342df8 commit b005daa

File tree

5 files changed

+851
-5
lines changed

5 files changed

+851
-5
lines changed

packages/mdxui/react/README.md

Lines changed: 275 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,172 @@ Description
161161
**Columns (grid layout):**
162162
- `2` | `3` | `4`
163163

164+
#### Pricing
165+
166+
Pricing section with multiple tiers and feature comparison.
167+
168+
**Props API:**
169+
```tsx
170+
<Pricing
171+
title="Simple Pricing"
172+
description="Choose the plan that's right for you"
173+
tiers={[
174+
{
175+
name: "Starter",
176+
price: "9",
177+
currency: "$",
178+
period: "per month",
179+
description: "Perfect for getting started",
180+
features: ["Feature 1", "Feature 2", "Feature 3"],
181+
action: { text: "Get Started", href: "/signup" },
182+
highlighted: false,
183+
badge: "Popular"
184+
}
185+
]}
186+
layout="cards"
187+
backgroundType="dots"
188+
/>
189+
```
190+
191+
**MDX API:**
192+
```mdx
193+
<Pricing backgroundType="dots">
194+
## Simple Pricing
195+
196+
### Starter
197+
$9 per month
198+
- Feature 1
199+
- Feature 2
200+
- Feature 3
201+
</Pricing>
202+
```
203+
204+
**Layouts:**
205+
- `cards` - Card-based grid (default)
206+
207+
#### CTA
208+
209+
Call-to-action section to drive user actions.
210+
211+
**Props API:**
212+
```tsx
213+
<CTA
214+
headline="Ready to get started?"
215+
description="Join thousands of users today"
216+
primaryAction={{ text: "Sign Up", href: "/signup" }}
217+
secondaryAction={{ text: "Learn More", href: "/learn" }}
218+
layout="centered"
219+
backgroundStyle="gradient"
220+
backgroundType="particles"
221+
/>
222+
```
223+
224+
**MDX API:**
225+
```mdx
226+
<CTA backgroundType="particles" backgroundStyle="gradient">
227+
# Ready to get started?
228+
Join thousands of users today
229+
</CTA>
230+
```
231+
232+
**Layouts:**
233+
- `centered` - Centered content (default)
234+
- `split` - Content on left, actions on right
235+
- `banner` - Horizontal banner style
236+
237+
**Background Styles:**
238+
- `solid` - Solid background
239+
- `gradient` - Gradient background
240+
- `pattern` - Pattern background
241+
242+
#### Testimonials
243+
244+
Customer testimonials and reviews section.
245+
246+
**Props API:**
247+
```tsx
248+
<Testimonials
249+
title="What Our Customers Say"
250+
testimonials={[
251+
{
252+
quote: "Amazing product! The team is fantastic.",
253+
author: {
254+
name: "John Doe",
255+
title: "CEO",
256+
company: "Acme Corp",
257+
avatar: "/avatar.jpg"
258+
},
259+
rating: 5
260+
}
261+
]}
262+
layout="grid"
263+
columns={3}
264+
showRatings={true}
265+
showAvatars={true}
266+
/>
267+
```
268+
269+
**MDX API:**
270+
```mdx
271+
<Testimonials backgroundType="aurora">
272+
## What Our Customers Say
273+
274+
> Amazing product! The team is fantastic.
275+
> — John Doe, CEO at Acme Corp
276+
> ⭐⭐⭐⭐⭐
277+
</Testimonials>
278+
```
279+
280+
**Layouts:**
281+
- `grid` - Grid layout (default)
282+
- `carousel` - Horizontal scrolling carousel
283+
- `wall` - Masonry-style wall
284+
- `single` - Single centered testimonial
285+
286+
**Columns (grid layout):**
287+
- `2` | `3` | `4`
288+
289+
#### FAQ
290+
291+
Frequently asked questions with accordion interface.
292+
293+
**Props API:**
294+
```tsx
295+
<FAQ
296+
title="Frequently Asked Questions"
297+
items={[
298+
{
299+
question: "How does it work?",
300+
answer: "It works by leveraging modern web technologies..."
301+
},
302+
{
303+
question: "Is it free?",
304+
answer: "Yes, we offer a generous free tier."
305+
}
306+
]}
307+
layout="accordion"
308+
allowMultiple={false}
309+
/>
310+
```
311+
312+
**MDX API:**
313+
```mdx
314+
<FAQ backgroundType="grid">
315+
## Frequently Asked Questions
316+
317+
### How does it work?
318+
It works by leveraging modern web technologies...
319+
320+
### Is it free?
321+
Yes, we offer a generous free tier.
322+
</FAQ>
323+
```
324+
325+
**Layouts:**
326+
- `accordion` - Single column accordion (default)
327+
- `two-column` - Two-column layout
328+
- `grid` - Grid layout
329+
164330
### Background Components
165331

166332
#### BackgroundContainer
@@ -184,6 +350,9 @@ import { BackgroundContainer } from '@mdxui/react/backgrounds'
184350
- `particles` - Animated particles
185351
- `grid` - Grid lines
186352
- `dots` - Dot pattern
353+
- `meteors` - Shooting stars effect
354+
- `aurora` - Northern lights with flowing gradients
355+
- `warp` - Perspective grid warp
187356

188357
**Configuration:**
189358
```tsx
@@ -197,7 +366,20 @@ backgroundConfig={{
197366

198367
// Dots
199368
spacing: 30,
200-
size: 1
369+
size: 1,
370+
371+
// Meteors
372+
count: 20,
373+
color: "rgb(59, 130, 246)",
374+
375+
// Aurora
376+
color1: "rgb(59, 130, 246)",
377+
color2: "rgb(147, 51, 234)",
378+
color3: "rgb(219, 39, 119)",
379+
380+
// Warp
381+
size: 50,
382+
warpIntensity: 0.5
201383
}}
202384
```
203385

@@ -206,10 +388,26 @@ backgroundConfig={{
206388
Use background components directly:
207389

208390
```tsx
209-
import { Particles, Grid, Dots } from '@mdxui/react/backgrounds'
391+
import { Particles, Grid, Dots, Meteors, Aurora, Warp } from '@mdxui/react/backgrounds'
210392

211-
<div className="relative">
393+
<div className="relative h-screen">
394+
{/* Particles */}
212395
<Particles count={100} color="rgb(255, 255, 255)" opacity={0.5} />
396+
397+
{/* Meteors */}
398+
<Meteors count={20} color="rgb(59, 130, 246)" opacity={0.6} />
399+
400+
{/* Aurora */}
401+
<Aurora
402+
color1="rgb(59, 130, 246)"
403+
color2="rgb(147, 51, 234)"
404+
color3="rgb(219, 39, 119)"
405+
opacity={0.4}
406+
/>
407+
408+
{/* Warp */}
409+
<Warp size={40} color="rgb(59, 130, 246)" opacity={0.3} warpIntensity={0.7} />
410+
213411
<div className="relative z-10">{/* Content */}</div>
214412
</div>
215413
```
@@ -352,7 +550,7 @@ import { cn } from '@mdxui/react'
352550
### Landing Page
353551

354552
```tsx
355-
import { Hero, Features } from '@mdxui/react'
553+
import { Hero, Features, Pricing, Testimonials, FAQ, CTA } from '@mdxui/react'
356554

357555
export default function LandingPage() {
358556
return (
@@ -389,6 +587,62 @@ export default function LandingPage() {
389587
layout="grid"
390588
columns={3}
391589
/>
590+
591+
<Pricing
592+
title="Simple Pricing"
593+
tiers={[
594+
{
595+
name: "Starter",
596+
price: "9",
597+
currency: "$",
598+
period: "per month",
599+
features: ["Up to 10 users", "Basic features", "24/7 support"],
600+
action: { text: "Get Started", href: "/signup" },
601+
},
602+
{
603+
name: "Pro",
604+
price: "29",
605+
currency: "$",
606+
period: "per month",
607+
features: ["Up to 100 users", "Advanced features", "Priority support"],
608+
action: { text: "Get Started", href: "/signup" },
609+
highlighted: true,
610+
badge: "Popular",
611+
},
612+
]}
613+
backgroundType="dots"
614+
/>
615+
616+
<Testimonials
617+
title="What Our Customers Say"
618+
testimonials={[
619+
{
620+
quote: "This product has transformed our workflow!",
621+
author: { name: "John Doe", title: "CEO", company: "Acme Corp" },
622+
rating: 5,
623+
},
624+
]}
625+
backgroundType="aurora"
626+
/>
627+
628+
<FAQ
629+
title="Frequently Asked Questions"
630+
items={[
631+
{
632+
question: "How does it work?",
633+
answer: "It works by leveraging modern web technologies...",
634+
},
635+
]}
636+
backgroundType="grid"
637+
/>
638+
639+
<CTA
640+
headline="Ready to get started?"
641+
description="Join thousands of users today"
642+
primaryAction={{ text: "Sign Up", href: "/signup" }}
643+
backgroundStyle="gradient"
644+
backgroundType="meteors"
645+
/>
392646
</>
393647
)
394648
}
@@ -397,7 +651,7 @@ export default function LandingPage() {
397651
### MDX Blog Post
398652

399653
```mdx
400-
import { Hero, Features } from '@mdxui/react'
654+
import { Hero, Features, CTA, FAQ } from '@mdxui/react'
401655

402656
<Hero backgroundType="grid">
403657
# Getting Started with MDX UI
@@ -419,6 +673,22 @@ Use pre-built components
419673
### Customize
420674
Make it your own
421675
</Features>
676+
677+
<FAQ backgroundType="warp">
678+
## Common Questions
679+
680+
### How do I get started?
681+
Simply install the package and import the components you need.
682+
683+
### Is it free?
684+
Yes, MDX UI is completely open source and free to use.
685+
</FAQ>
686+
687+
<CTA backgroundType="meteors" backgroundStyle="gradient">
688+
# Start Building Today
689+
690+
Get started with MDX UI and create beautiful interfaces in minutes.
691+
</CTA>
422692
```
423693

424694
## Development

0 commit comments

Comments
 (0)