Loading video...

Video Failed to Load

Go Home

🥵 Coming soon: Build Filament components with React / Vue / Svelte / your JavaScript framework of choice?! I started with just form fields to prove the concept as these can have complex interactions, it won't be difficult to allow widgets etc. to be build like this too!

31,680 views • 18 days ago •via X (Twitter)

33 Comments

Dan Harrin 🦒's profile picture
Dan Harrin 🦒18 days ago

These can interact with the rest of your Filament form too! Use `$get()` and `$set()` to read and update other fields, pass dynamic configuration from PHP which updates the props passed to the component automatically, or call methods on your field class using `#[Exposed]`.

Dan Harrin 🦒's profile picture
Dan Harrin 🦒18 days ago

The components are loaded on demand as ES modules when the field initializes, so you don't need to load React on every page just because one field uses it. Filament doesn't ship any of these frameworks itself, and plain JavaScript works too!

Dan Harrin 🦒's profile picture
Dan Harrin 🦒18 days ago

I've added generators for all of these too: `php artisan make:filament-form-field Counter --react` Also `--vue`, `--svelte`, or `--js`, with `--ts` if you want TypeScript. What would you build with this? Any existing JS components you've wanted to bring into Filament?

Aidan Laycock's profile picture
Aidan Laycock18 days ago

This looks absolutely amazing @danjharrin 🙌 Could an extreme version of this allow the use of ShadCN UI for example to replace all of the default filament components? On a slight aside, I could see this as a major unlock for JS/TS devs engaging with Filament.

Dan Harrin 🦒's profile picture
Dan Harrin 🦒18 days ago

An extreme version would allow you to replace all of the default form fields using ShadCN form fields. But I would suggest that you are selective about which ones you outright replace. Reskin components with (theme) CSS to make them look identical to ShadCN where possible.

Aidan Laycock's profile picture
Aidan Laycock18 days ago

That makes sense, thank you! Really looking forward to this release. 🎉

ᕦ( ͡° ͜ʖ ͡°)ᕤ's profile picture
ᕦ( ͡° ͜ʖ ͡°)ᕤ18 days ago

Inertia + tsx would be the dream framework

Dennis 🏕's profile picture
Dennis 🏕18 days ago

Pure magic!

Stanley Ojadovwa's profile picture
Stanley Ojadovwa18 days ago

Looking forward to this

ᴚƎ⅁N∀HƆ ƎW∀⅁🪴's profile picture
ᴚƎ⅁N∀HƆ ƎW∀⅁🪴18 days ago

Dan you've been working hard recently. All i would say is that you're doing a mighty work of art for @laravel community🔥🔥

Punyapal Shah's profile picture
Punyapal Shah18 days ago

Is it inspired from minglejs?

Dan Harrin 🦒's profile picture
Dan Harrin 🦒18 days ago

I think it solves a similar sort of problem, but the implementation is original and built for Filament schema components specifically rather than being a general Livewire solution.

Punyapal Shah's profile picture
Punyapal Shah18 days ago

Oh 😯 intresting I was working on package for Laravel client side validation almost ready added filament support via extra attributes. Let's see how this make my life easy/hard to finish that project up!

Emovon Uwadia's profile picture
Emovon Uwadia18 days ago

We are finally getting there. Who says we can't have the best of both worlds? I have been using react in Filament for special custom pages using Minglejs.

JustSteveKing's profile picture
JustSteveKing18 days ago

This is awesome

Mauricio Mou's profile picture
Mauricio Mou18 days ago

Amazing work Dan! This is fire! 🔥

InspireCMS's profile picture
InspireCMS18 days ago

awesome

Justas Raudonius's profile picture
Justas Raudonius18 days ago

This is awesomeeeeeee! I was debating Filament vs Inertia+Vue for an internal CRM rewrite and given this I'm so glad I chose Filament.

Dan Harrin 🦒's profile picture
Dan Harrin 🦒18 days ago

I am working on something else you might like then 👀

Justas Raudonius's profile picture
Justas Raudonius18 days ago

👀👀

Shaheen Fawzy's profile picture
Shaheen Fawzy17 days ago

Feeling filament is just getting better and better everyday, thank you for your efforts

Julian Schramm's profile picture
Julian Schramm18 days ago

So cool! I can already see some real use cases for this😄

Bezhan Salleh 🚀's profile picture
Bezhan Salleh 🚀18 days ago

@filamentphp 💛

Shamim's profile picture
Shamim16 days ago

This is huge!!!

Peter Fox's profile picture
Peter Fox17 days ago

Really useful for putting in things like custom code editors without reinventing the wheel to do it

Hammad Zafar's profile picture
Hammad Zafar17 days ago

That's the way to go @danjharrin , Can't wait to see Filament Apps powered by React/Vue/Swelte.

Debjit B.'s profile picture
Debjit B.18 days ago

Well its look like laravel + inertia + react now!

Arthur Minasyan 🐦‍🔥's profile picture
Arthur Minasyan 🐦‍🔥18 days ago

@filamentphp 🚀

Emovon Uwadia's profile picture
Emovon Uwadia18 days ago

Please add support for building Custom pages with react/vue.

Shaharyar Ahmed's profile picture
Shaharyar Ahmed18 days ago

It's just awesome, i can't wait to be able to use it

Peach Peace Treaty's profile picture
Peach Peace Treaty17 days ago

Instead of just form fields, cant we make full pages with js/ts/svelete/react etc I have a page in my filament application that needs alot of things client side, i have to use blade, livewire(lil bit), but its getting out of hand, having jsx would be awesome in such cases

fajar sp's profile picture
fajar sp18 days ago

many dev leaving livewire as in the past has big security issues many dev change to inertia as we can switch easily between frontend stack

Matt Clinton's profile picture
Matt Clinton18 days ago

@filamentphp This is huge! We’ve got some use cases for this atm and I’ve been reluctant to use/rely on that mingle library

Related Videos