PHPackages                             crumbls/layup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. crumbls/layup

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

crumbls/layup
=============

A visual page builder plugin for Filament 5 — Divi-style grid layouts with extensible widgets.

v1.5.0(3d ago)592.7k↑1253.3%8[1 issues](https://github.com/Crumbls/layup/issues)[1 PRs](https://github.com/Crumbls/layup/pulls)1MITPHPPHP ^8.3CI passing

Since Feb 24Pushed 1mo ago6 watchersCompare

[ Source](https://github.com/Crumbls/layup)[ Packagist](https://packagist.org/packages/crumbls/layup)[ Docs](https://github.com/crumbls/layup)[ GitHub Sponsors](https://github.com/Crumbls)[ RSS](/packages/crumbls-layup/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (30)Versions (30)Used By (1)

Layup
=====

[](#layup)

A Filament form field that turns any JSON column into a visual content editor. Drop `LayupBuilder::make('content')` into any Filament form and your editors get a Divi-style canvas with rows, columns, and 96 extensible widgets. Layup ships with a Pages resource as a turnkey example, but the field is the product -- pair it with the `HasLayupContent` trait on any Eloquent model.

**[Documentation](https://crumbls.com/documentation/layup)** -- full documentation available online.

**[Live Sandbox](https://sandbox.crumbls.com)** -- try the editor without installing anything.

[![Layup Showcase](layup-showcase.jpg)](layup-showcase.jpg)

Features
--------

[](#features)

- **Flex-based 12-column grid** with responsive breakpoints (sm/md/lg/xl)
- **Visual span picker** -- click-to-set column widths per breakpoint
- **Drag &amp; drop** -- reorder widgets and rows
- **Undo/Redo** -- Ctrl+Z / Ctrl+Shift+Z with full history stack
- **Widget picker modal** -- searchable, categorized, grid layout
- **Three-tab form schema** -- Content / Design / Advanced on every component
- **Full Design tab** -- text color, alignment, font size, border, border radius, box shadow, opacity, background color, padding, margin
- **Responsive visibility** -- show/hide per breakpoint on any element
- **Entrance animations** -- fade in, slide up/down/left/right, zoom in (via Alpine x-intersect)
- **Frontend rendering** -- configurable routes, layouts, and SEO meta (OG, Twitter Cards, canonical, JSON-LD, breadcrumbs, robots, article timestamps)
- **Tailwind safelist** -- automatic class collection for dynamic content
- **Page templates** -- 5 built-in templates (blank, landing, about, contact, pricing) + save your own
- **Content revisions** -- auto-save on content change, configurable max, restore from history
- **Export / Import** -- pages as JSON files
- **Widget lifecycle hooks** -- `onSave`, `onCreate`, `onDelete`, `onDuplicate` with optional context
- **Content validation** -- structural + widget type validation
- **Form Field Packs** -- reusable field groups for image, link, and color patterns
- **`prepareForRender()` hook** -- transform widget data before rendering
- **Widget validation rules** -- self-declaring validation via `getValidationRules()`
- **Widget deprecation** -- graceful sunset path with `isDeprecated()`
- **`WidgetData` value object** -- typed accessors for Blade views
- **Widget debug command** -- `layup:debug-widget` for instant widget introspection
- **Render isolation** -- broken widgets no longer crash entire pages
- **Widget search tags** -- additional terms for the builder's widget picker
- **Widget asset declaration** -- declare JS/CSS dependencies per widget
- **Widget auto-discovery** -- scans `App\Layup\Widgets` for custom widgets
- **Global theme system** -- CSS custom properties for colors, fonts, and border radius with Filament panel inheritance
- **Dark mode theme support** -- automatic color lightening with manual overrides
- **Configurable model** -- swap the Page model per dashboard
- **`HasLayupContent` trait** -- add Layup rendering to any Eloquent model
- **`` component** -- render individual widgets in any Blade template
- **Testing helpers** -- factory states and assertions for custom widget development
- **Developer tooling** -- `layup:doctor`, `layup:list-widgets`, `layup:search` commands
- **Publishable stubs** -- customize `make-widget` scaffolding templates
- **Dual-render widgets** -- Blade (default) or Livewire per widget, opt-in via `BaseLivewireWidget`
- **Nested pages** -- parent → child page trees with breadcrumb-aware URL paths
- **Scheduled publishing** -- pages flip from `scheduled` to `published` automatically at their `published_at` time
- **1,168 tests, 3,649 assertions**

### Built-in Widgets (96)

[](#built-in-widgets-96)

CategoryWidgets**Content** (58)Text, Heading, Page Title, Rich Text, Blurb, Icon, Icon Box, Icon List, Badge, Card, Alert, List, Blockquote, Banner, Section Heading, Accordion, Toggle, Tabs, Feature List, Feature Grid, Testimonial, Testimonial Carousel, Testimonial Grid, Testimonial Slider, Breadcrumbs, Person, Step Process, Team Grid, Logo Grid, Logo Slider, Avatar Group, Price, Metric, Social Proof, Image Text, Text Columns, Timeline, Animated Heading, Bar Counter, Highlight Box, Number Counter, Star Rating, Gradient Text, Typewriter, Quote Carousel, Marquee, Table of Contents, Stat Card, Changelog, Menu, Notification Bar, Table, Comparison Table, Skill Bar, Progress Circle, Post List, Hero, FAQ (with JSON-LD)**Media** (13)Image (with hover effects), Gallery (with lightbox + captions), Video, Video Playlist, Audio, Slider, Masonry, Lottie, Map, Before/After, Image Card, Hotspot, Image Hotspot**Interactive** (18)Button (hover colors), Call to Action, CTA Banner, Countdown, Pricing Table, Pricing Toggle, Social Follow, Search, Contact Form, Login, Newsletter, Modal, Flip Card, Cookie Consent, Content Toggle, Share Buttons, File Download, Back to Top**Layout** (4)Spacer, Divider, Separator, Anchor**Advanced** (3)HTML, Code Block, EmbedRequirements
------------

[](#requirements)

- PHP 8.3+
- Laravel 12+
- Filament 5
- Livewire 4

Documentation &amp; Installation
--------------------------------

[](#documentation--installation)

Full documentation is available at **[crumbls.com/documentation/layup](https://crumbls.com/documentation/layup)**.

- [Getting Started](https://crumbls.com/documentation/layup/getting-started) -- creating pages, adding widgets, publishing
- [Widgets](https://crumbls.com/documentation/layup/widgets) -- all 95 built-in widgets by category
- [Configuration](https://crumbls.com/documentation/layup/configuration) -- every config option
- [Grid System](https://crumbls.com/documentation/layup/grid-system) -- 12-column grid, breakpoints, responsive behavior
- [Advanced](https://crumbls.com/documentation/layup/advanced) -- custom widgets, theme system, frontend rendering, testing, templates, revisions, Tailwind safelist
- [API Reference](https://crumbls.com/documentation/layup/api-reference) -- Widget contract, models, service provider, support classes

Contributing
------------

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, code style, and testing guidelines. For widget development, see [AGENTS.md](AGENTS.md) for a detailed reference.

Vision &amp; Roadmap
--------------------

[](#vision--roadmap)

See [VISION.md](VISION.md) for where Layup is headed and how you can help shape it.

License
-------

[](#license)

MIT -- see [LICENSE.md](LICENSE.md)

###  Health Score

56

—

FairBetter than 97% of packages

Maintenance95

Actively maintained with recent releases

Popularity36

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 94.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~6 days

Recently: every ~18 days

Total

20

Last Release

3d ago

Major Versions

0.0.2 → 1.0.02026-03-06

PHP version history (2 changes)0.0.1PHP ^8.2

v1.1.1PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3020753?v=4)[Chase C. Miller](/maintainers/chasecmiller)[@chasecmiller](https://github.com/chasecmiller)

---

Top Contributors

[![chasecmiller](https://avatars.githubusercontent.com/u/3020753?v=4)](https://github.com/chasecmiller "chasecmiller (203 commits)")[![TheGodlyLuzer](https://avatars.githubusercontent.com/u/71211303?v=4)](https://github.com/TheGodlyLuzer "TheGodlyLuzer (6 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (3 commits)")[![DGINXREAL](https://avatars.githubusercontent.com/u/47042042?v=4)](https://github.com/DGINXREAL "DGINXREAL (2 commits)")[![Ercogx](https://avatars.githubusercontent.com/u/22002063?v=4)](https://github.com/Ercogx "Ercogx (1 commits)")

###  Code Quality

TestsPest

Static AnalysisRector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/crumbls-layup/health.svg)

```
[![Health](https://phpackages.com/badges/crumbls-layup/health.svg)](https://phpackages.com/packages/crumbls-layup)
```

###  Alternatives

[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3891.8k](/packages/codewithdennis-larament)[ercogx/laravel-filament-starter-kit

This is a Filament v5 Starter Kit for Laravel 13, designed to accelerate the development of Filament-powered applications.

461.7k](/packages/ercogx-laravel-filament-starter-kit)[tanthammar/filament-extras

Filament macros, pages, fields, columns and other helpers

535.1k](/packages/tanthammar-filament-extras)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
