Note
Read-only mirror. See CONTRIBUTING.md for how to propose changes.
- 22 marketing section roles — hero, pricing, footer, newsletter, and landing page shells
- Native-first (
nat) — composes core atoms; optional Stimulus only on flyout menu - Registry-aligned —
blocks.marketing.*fragment ids - Explicit opt-in tier — never pulled in by
symfinity/ux-blocks-full - Optional motion props — hero, stats, logo cloud, CTA, and bento stagger variants
| Token | In this package |
|---|---|
nat |
Default for all section roles |
stl |
Optional on FlyoutMenuMarketing when extended dropdown is installed |
| Role | Twig | Interaction | Fragment | Status |
|---|---|---|---|---|
| hero | Hero | nat | blocks.marketing.hero |
shipped |
| feature-section | FeatureSection | nat | blocks.marketing.feature-section |
shipped |
| cta-band | CtaBand | nat | blocks.marketing.cta-band |
shipped |
| pricing-section | PricingSection | nat | blocks.marketing.pricing-section |
shipped |
| landing-page | LandingPage | nat | blocks.marketing.landing-page |
shipped |
| testimonials | Testimonials | nat | blocks.marketing.testimonials |
shipped |
| newsletter | Newsletter | nat | blocks.marketing.newsletter |
shipped |
| footer | Footer | nat | blocks.marketing.footer |
shipped |
| stats-band | StatsBand | nat | blocks.marketing.stats-band |
shipped |
| logo-cloud | LogoCloud | nat | blocks.marketing.logo-cloud |
shipped |
| faq | Faq | nat | blocks.marketing.faq |
shipped |
| team | Team | nat | blocks.marketing.team |
shipped |
| content-section | ContentSection | nat | blocks.marketing.content-section |
shipped |
| bento-grid | BentoGrid | nat | blocks.marketing.bento-grid |
shipped |
| banner | Banner | nat | blocks.marketing.banner |
shipped |
| header-marketing | HeaderMarketing | nat | blocks.marketing.header-marketing |
shipped |
| flyout-menu-marketing | FlyoutMenuMarketing | nat, stl | blocks.marketing.flyout-menu-marketing |
shipped |
| error-page-404 | ErrorPage404 | nat | blocks.marketing.error-page-404 |
shipped |
| comparison-section | ComparisonSection | nat | blocks.marketing.comparison-section |
shipped |
| integrations-section | IntegrationsSection | nat | blocks.marketing.integrations-section |
shipped |
| cookie-consent | CookieConsent | nat | blocks.marketing.cookie-consent |
shipped |
| status-band | StatusBand | nat | blocks.marketing.status-band |
shipped |
Highlights: full landing page compound; comparison and integrations sections; cookie consent banner.
Handbook: docs/components.md.
Add the symfinity/recipes Flex endpoint to your project's composer.json (see recipes README) — recipes are not in Symfony's official recipe repository yet.
Explicit opt-in — add only when you ship landing or campaign pages.
composer require symfinity/ux-blocks-marketingSee Installation.
<twig:Hero
headline="Ship faster"
subheadline="Composable sections for Symfony apps."
primaryActionLabel="Get started"
primaryActionHref="/signup"
/>
<twig:CtaBand motion="fade-up" />See Quick start for the full walkthrough.
- Quick start — minimal setup path
- Installation — Flex, dependencies, verify
- Configuration — bundle and app options
- Components — role index and examples
- Usage — day-to-day patterns
- Upgrade — version migrations
- PHP 8.2 or higher
- Symfony 7.4 or 8.x
symfinity/ux-blocks-core^0.1