Build with Craftled UI
A craft-led, shadcn-native component library. Every item stands on shadcn primitives via registryDependencies. Install via the shadcn CLI — the code lands in your repo, you own it.
bunx shadcn@latest add https://ui.craftled.com/r/chart-area-gradient.json
All components
32 componentsButton
shadcn's Button primitive — variants (default/secondary/outline/ghost/link/destructive) and sizes (sm/default/lg/icon), with Craftled styling: border + ring + drop shadow for default/destructive, elevated shadow + ring on outline.
@craftled/buttonVariants
Sizes
With icons
Icon-only
State
Card
shadcn's latest Card primitive — Card + CardHeader + CardTitle + CardDescription + CardAction + CardContent + CardFooter. Uses container queries on the header so CardAction auto-positions to the right when present. data-slot=* on every sub-component for downstream styling hooks.
@craftled/cardBasic
Email subscribers
Last 30 days
12,839
+428 vs previous period
With action
Best Writing
9 unread articles
Weekly digest from the network. Catch up on what shipped this week.
Compact stat
Impressions
204,318
Clicks
12,540
With link footer
Publishing Network
Reach knowledge workers across 9 curated B2B publications.
Input
Form input with Craftled treatment: ring-1 ring-foreground/10 + shadow-sm at rest, multi-layer focus ring (border-foreground/35 + ring-ring/25 at 3px), branded selection color, aria-invalid styling.
@craftled/inputBasic
With label
Inline form
With icon
States
File
Label
Accessible form label built on @radix-ui/react-label. Auto-dims when paired with a disabled peer or inside a disabled group.
@craftled/labelBasic
With required indicator
Pairs with Input
Stacked field group
Disabled
Separator
Horizontal or vertical divider built on @radix-ui/react-separator. Uses data-orientation to switch axis; decorative by default so screen readers skip it.
@craftled/separatorSkeleton
Loading placeholder. animate-pulse + bg-accent + rounded-md baked in. Compose any shape by sizing it with width/height/rounded utilities.
@craftled/skeletonSingle line
Stacked text
Avatar + text row
Card placeholder
Stat grid
Dialog
Modal dialog built on @radix-ui/react-dialog. Includes overlay, content, header, footer, title, description, and an opt-out closable X. data-slot=* hooks on every sub-component for styling integration.
@craftled/dialogWith form
Destructive confirmation
Dropdown Menu
Full dropdown menu surface built on @radix-ui/react-dropdown-menu: items, checkbox items, radio groups, labels, separators, shortcuts, and nested sub-menus. Includes a destructive item variant.
@craftled/dropdown-menuAccount menu
Checkbox items
Radio group
Tabs
Accessible tabs built on @radix-ui/react-tabs. TabsList wraps TabsTrigger pills; active triggers get a bg-background lift with shadow.
@craftled/tabsAccount + Password
Account
Update your account profile. Saved on click.
Tooltip
Tooltip built on @radix-ui/react-tooltip. Includes TooltipProvider so you can drop a single root once and use Tooltip + TooltipTrigger + TooltipContent anywhere. Comes with an arrow indicator.
@craftled/tooltipSingle
Toolbar
Sides
Area Chart — Gradient
A gradient-filled area chart built on shadcn's chart primitive. Pass time-series data, get a polished result.
@craftled/chart-area-gradientStems Chart
Ambient time-series chart — each data point is a colored dot with a translucent vertical stem dropping to the baseline. Built on shadcn's chart primitive + Recharts (BarChart with a custom shape). Color flows through ChartConfig; gradient background, aspect ratio, dot radius, and stem opacity/width all customizable.
@craftled/chart-stemsFinance Dashboard
A two-pane finance card: stacked bar chart on the left, KPI rail with icon tiles and a CTA on the right.
@craftled/dashboard-financeCampaign Performance
Network delivery, last 7 months
Report
Monthly Avg. 28.5k delivery
- Impressions204,318
- Clicks12,540
- Conversions1,847
Net Worth Dashboard
Balance card with a sparkline trend and an accounts list. Each account shows a percent-change pill (green up / red down) and the current amount.
@craftled/dashboard-net-worth2.29%
$16,825
total earnings
Publications
3m revenue change- BBest Writing2 hours ago1.97%$6,281
- PPynions4 hours ago0.22%$3,360
- AAI Turnpoint2 hours ago1.81%$2,906
Do/Don't Carousel
Editable LinkedIn-style comparison slide with a stop-doing-this / start-doing-this rhythm. Pass sections, get colored prompt rows.
@craftled/carousel-do-dontClick any text to edit. ⌘B for bold, Esc to commit.
Gradient CTA Card
Dark CTA card with a checked bullet list and a full-width gradient action button. Drop in a title, bullets, and label.
@craftled/cta-gradientStart advertising with Epigraph today
- Reach founders, designers, devs, and marketers
- Launch campaigns in minutes—not weeks
- Ad credits that never expire
Newsletter CTA
Newsletter signup with a headline, email input + subscribe button, and a decorative slot on the right. Form supports onSubmit handler or native action URL.
@craftled/cta-newsletterReceive the latest Epigraph Insider updates.
Ebook / Report CTA
Dark CTA with an eyebrow tag, headline, description, inline email form, and a decoration slot for the book/report mockup. Accent prop picks the tag + button color from a palette.
@craftled/cta-ebookIndustry research
The state of B2B publishing, 2026.
See how 8,000+ operators monetize newsletters, which channels actually move pipeline, and what works in 2026.
App Stack CTA
Dark CTA with isometric 3D stack of app icons. Each layer is { bg, content } so logos can be swapped per stack. Uses CSS perspective + rotateX/Z for the iso tilt — no library needed.
@craftled/cta-app-stackFeatured Event Promo
Promo card for a webinar, summit, podcast, or any event. Brand + event-type pills, a headline, and N participant photos. Pattern overlay is a slot — pass any SVG/React node; bg color is a className.
@craftled/featured-eventEpigraph InsiderWebinar
How Sarah Chen built Marketful from zero to 50k subscribers
Integrations Orbit
Dashed circle with N app icons orbiting around a centered headline. Icons auto-distribute (override each angle if needed). All slots are ReactNode; uses shadcn theme tokens so light + dark auto-adapt.
@craftled/featured-integrationsB
M
U
X
P
A
Network
Reach every
audience.
audience.
Epigraph distributes your message across our owned-and-operated B2B publications. No retargeting. No spray.
B
M
U
X
P
A
Network
Reach every
audience.
audience.
Epigraph distributes your message across our owned-and-operated B2B publications. No retargeting. No spray.
Halftone Photo Card
Real CMYK halftone shader (via @paper-design/shaders-react) applied to any image. WebGL renders the printing-press look — channel-by-channel ink colors, dot size/softness, grain overlay, three dot styles (dots/ink/sharp).
@craftled/featured-halftoneAutumn Vibes
Dithering Photo Card
Image dithering shader (via @paper-design/shaders-react) — supports random + Bayer 2x2/4x4/8x8 patterns, custom 2-3 color palettes, configurable color steps, and an originalColors mode that samples directly from the image.
@craftled/featured-ditheringImage dithering
Halftone Dots Photo Card
Single-color halftone dot shader (via @paper-design/shaders-react) — square or hex grids, four dot styles (classic / gooey / holes / soft), grain controls, and an originalColors mode for sampled palettes.
@craftled/featured-halftone-dotsHalftone dots
Fluted Glass Photo Card
Fluted glass shader (via @paper-design/shaders-react) — streaked, ribbed distortions over an image with five grid shapes (lines/linesIrregular/wave/zigzag/pattern) and five distortion shapes (prism/lens/contour/cascade/flat). Looks like looking through textured architectural glass.
@craftled/featured-fluted-glassFluted glass
Grain Gradient Card
Generative grain-gradient shader (via @paper-design/shaders-react) — no image input, just colors + shape. Seven shapes (wave/dots/truchet/corners/ripple/blob/sphere), up to 7 colors, animated by default. Great for hero backgrounds and OG images.
@craftled/featured-grain-gradientGrain gradient
Color Panels Card
Pseudo-3D color panels shader (via @paper-design/shaders-react) — semi-transparent slabs rotating around a central axis. Up to 7 colors, density/angle/length/fade/blur/gradient controls. Generative, animated by default.
@craftled/featured-color-panelsColor panels
Mesh Gradient Card
Static mesh gradient shader (via @paper-design/shaders-react) — up to 10 color spots blended with two-direction sine wave distortion. Adjustable blend sharpness, grain, and positions seed. Generative, static by default (speed=0).
@craftled/featured-mesh-gradientMesh gradient
Logo Spotlight Card
Centered logo on a mesh gradient background, wrapped in a translucent glassy halo (backdrop-blur + ring). Composes the Mesh Gradient Card as the background — all mesh props pass through; logo is any ReactNode (img, svg, monogram).
@craftled/featured-logo-spotlightB
Best Writing
Featured Story
Customer-story card (Stripe Customers style): brand-tinted image, customer logo, headline, and a Read story CTA. brandColor drives the duotone tint and bottom gradient; subtle hover animations on image zoom and CTA arrow.
@craftled/featured-storyAnnotated Figure
Wrap any object as children and pin labeled callouts to specific points via { x, y, side } percentages. Dashed stems extend out to the figure edges.
@craftled/annotated-figureE
Epigraph Insider
BestThe weekly B2B publishing newsletter
Summary
2.4k readers
What is Epigraph Insider?
The weekly newsletter for operators in B2B publishing — interviews, growth breakdowns, and launches from across the nine-publication Epigraph Media network.
Video Testimonial
Portrait-aspect testimonial card with a poster image, brand chip, play button, pull-quote, author, and client logo. All logos are React slots.
@craftled/testimonial-video