
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
@foundrykit/blocks
Advanced tools
A collection of pre-built page sections and content blocks for rapid website development. These blocks provide complete, customizable sections that can be easily integrated into any page layout.
A collection of pre-built page sections and content blocks for rapid website development. These blocks provide complete, customizable sections that can be easily integrated into any page layout.
pnpm add @foundrykit/blocks
import { HeroMinimal, Testimonials, Pricing } from '@foundrykit/blocks';
function HomePage() {
return (
<div>
<HeroMinimal
title='Build amazing websites'
subtitle='Create beautiful, responsive websites with our component library'
ctaText='Get Started'
ctaHref='/signup'
/>
<Testimonials
testimonials={[
{
name: 'John Doe',
role: 'CEO',
company: 'Tech Corp',
content:
'Amazing product that saved us months of development time.',
},
]}
/>
<Pricing
plans={[
{
name: 'Starter',
price: '$9',
features: ['Feature 1', 'Feature 2'],
},
]}
/>
</div>
);
}
import { HeroMinimal } from '@foundrykit/blocks';
function CustomHero() {
return (
<HeroMinimal
title='Custom Title'
subtitle='Custom subtitle text'
ctaText='Custom Button'
ctaHref='/custom-link'
className='bg-gradient-to-r from-blue-500 to-purple-600'
titleClassName='text-4xl font-bold text-white'
subtitleClassName='text-xl text-gray-200'
/>
);
}
Each block can be configured through its config file:
import { Testimonials } from '@foundrykit/blocks'
// Use default configuration
<Testimonials testimonials={data} />
// Override with custom configuration
<Testimonials
testimonials={data}
autoPlay={false}
showDots={true}
className="my-custom-styles"
/>
Each block is organized as follows:
block/
├── config.ts # Block configuration and variants
├── index.tsx # Main block component
├── variants-grid.tsx # Block variants for documentation
└── README.md # Block-specific documentation
Blocks support dynamic content through props:
import { Testimonials } from '@foundrykit/blocks';
function DynamicTestimonials({ testimonials }) {
return (
<Testimonials
testimonials={testimonials}
title='What our customers say'
subtitle='Real feedback from real users'
/>
);
}
Blocks are designed to work with headless CMS systems:
import { HeroMinimal } from '@foundrykit/blocks';
function CMSHero({ cmsData }) {
return (
<HeroMinimal
title={cmsData.title}
subtitle={cmsData.subtitle}
ctaText={cmsData.ctaText}
ctaHref={cmsData.ctaLink}
backgroundImage={cmsData.backgroundImage}
/>
);
}
Blocks automatically use your theme tokens:
import { Pricing } from '@foundrykit/blocks';
// Automatically uses theme colors and spacing
<Pricing plans={plans} className='bg-background text-foreground' />;
Override default styles with custom classes:
import { Testimonials } from '@foundrykit/blocks';
import { cn } from '@foundrykit/utils';
function StyledTestimonials({ className, ...props }) {
return (
<Testimonials
className={cn(
'bg-gradient-to-br from-blue-50 to-indigo-100',
'rounded-xl border border-blue-200',
className
)}
{...props}
/>
);
}
All blocks are mobile-first and responsive:
import { HeroMinimal } from '@foundrykit/blocks';
// Automatically responsive
<HeroMinimal
title='Responsive Title'
subtitle='This block looks great on all devices'
className='
px-4 py-8
text-center md:px-8 md:py-12
md:text-left lg:px-16 lg:py-20
'
/>;
Blocks include comprehensive accessibility features:
When adding new blocks:
MIT
FAQs
A collection of pre-built page sections and content blocks for rapid website development. These blocks provide complete, customizable sections that can be easily integrated into any page layout.
The npm package @foundrykit/blocks receives a total of 119 weekly downloads. As such, @foundrykit/blocks popularity was classified as not popular.
We found that @foundrykit/blocks demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.