goldnead/statamic-flow-canvas
A Statamic addon that adds an interactive flow canvas for visually arranging content and building node-based layouts in the control panel. Connect items, design structures, and manage flows directly in Statamic.
composer require the package, then publish its assets and config: php artisan vendor:publish --tag=<package>-config and --tag=<package>-assets (check the provider's publishes() for exact tags).vite.config.js (or import the published bundle in resources/js/app.js). As of v1.6.1 the seven core components ship plain CSS with fc- classes and scoped <style> blocks, so you no longer need to guarantee Tailwind scans the package for them — but the remaining components still use Tailwind utilities, so keep the package path in your content globs for now.Canvas wrapping NodeLibrary, ControlBar, and PropertiesSection, with a persisted graph passed in as JSON from an Eloquent model. Confirm the layout renders with your normal npm run build and no extra safelist entries..dark class; the new styles key off :global(.dark), not a media query.Canvas is the surface, NodeLibrary the palette, AdderNode/InsertableEdge the interaction affordances, ControlBar the toolbar, and PropertiesSection the inspector. Wire them through the package's event/props contract rather than reaching into the DOM.Canvas on page load. This is the pattern most day-to-day work converges on..dark and :root) instead of writing .fc-node-card { background: #fff } overrides. This survives package upgrades far better.fc- classes are for component internals.import() in Vite); it's a heavy interactive surface and rarely needed on every page.tests/js/plain-css.test.js guard with a smoke test that mounts the editor and asserts .fc- classes are present, so a future asset-publish mistake fails CI rather than production..flex, .bg-white, @apply on package markup), those seven components no longer carry them. Target the new .fc- classes or the CSS variables instead.:global(.dark) means dark styles only activate under a .dark ancestor. If your app uses prefers-color-scheme without toggling a class, those components will stay light. Add the class strategy or override the variables yourself.<style> blocks are scoped, so parent selectors won't cascade in. Use :deep() or, preferably, override the CSS variables the components read.content globs (or a safelist). Removing it prematurely will reintroduce the exact "missing layout" bug this release fixed — for the remaining components.vendor:publish --force (or your asset pipeline) plus a fresh npm run build and php artisan view:clear. Stale compiled CSS is the most common cause of "the fix didn't apply"..fc--prefixed classes alongside the package's, keeping specificity low, so future releases that adjust internal values don't collide with yours.How can I help you explore Laravel packages today?