Jack Sleight's Avatar

Jack Sleight

@jacksleight.com.bsky.social

Freelance full-stack developer. Love solving interesting problems, building sharp interfaces and working with Laravel, Statamic and Filament. jacksleight.dev

119 Followers  |  175 Following  |  42 Posts  |  Joined: 24.08.2023  |  1.6446

Latest posts by jacksleight.com on Bluesky

Have a great time!

27.07.2025 14:14 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Totally, Boost is too much.

20.07.2025 21:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Oh, you’re suggesting Quad (four snack size in one sitting)? Excellent idea! 🍫🍫🍫🍫

20.07.2025 21:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Also, forget snack size, see if you can find a duo.

20.07.2025 19:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

My #1 favourite chocolate bar. Literally bought one an hour ago. πŸ‘πŸ‘

20.07.2025 19:01 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
GitHub - jacksleight/laravel-omni: Laravel package and Vite plugin for building universal single-file Blade and Livewire components. Laravel package and Vite plugin for building universal single-file Blade and Livewire components. - jacksleight/laravel-omni

Got that universal single-file Blade/Livewire component experiment working pretty nicely now. Here's the repo if anyone's interested: github.com/jacksleight/...

14.07.2025 13:01 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Now working without the trait and with renderless actions. I do love Livewire!

09.07.2025 13:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Computed Livewire properties aren't available client-side, but sometimes they'd be really useful. So I built a little utility to make that possible.

Under the hood this is just dispatching an event with the data on each update. You can of course do that yourself, but I like the simplicity of this.

09.07.2025 10:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I’m so glad I found your account, your own posts and the things you share are always so interesting!

Thanks for all the good reads. πŸ™‚πŸ‘

15.06.2025 08:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

A way to either override the PHP that component tags are compiled to or implement custom component tags without duplicating all that regex would be ace.

Within the templates I’m using a prepare strings callback to split out the various parts (using regex) maybe the parser could handle some of that?

18.05.2025 18:33 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I’ve been chipping away at this recently:
bsky.app/profile/jack...
bsky.app/profile/jack...

Still pretty rough and kinda hacky but it’s functional. A more official/robust way to do it would be ace. Would love your thoughts on it.

18.05.2025 08:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Of course! πŸ’―

10.05.2025 18:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Unified component experiment continues. Blade components now use an inline class for props, so the syntax can be identical to Livewire. Now upgrading a Blade component to Livewire is as simple as switching β€œBladeComponent” for β€œLivewireComponent” and adding the Livewire things.

07.05.2025 12:55 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Tagged @statamic.bsky.social Bard Texstyle v3.5. Includes a handful of small but hopefully useful features:

✳️ Heading styles that can apply to any level
πŸ«₯ Ability to hide parts of text content
🎨 CP CSS for specific attribute values
β˜‘οΈ A couple of other little extras

statamic.com/addons/jacks...

31.03.2025 12:30 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Finally (ish) is wildcard heading styles, so you can have a single heading style that can be applied to multiple heading levels.

28.03.2025 15:33 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Next up is custom control panel CSS for individual attribute values.

27.03.2025 18:03 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Working on some new features for Bard Texstyle 3.5. First one is the ability to hide parts of text content, useful if you need to temporarily remove something. Hidden content is completely excluded from the rendered HTML.

27.03.2025 17:16 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image

So you're saying my code is perfect? That's what you're saying? Great!

13.03.2025 18:14 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

"We hope you enjoyed your free trial of Twilio. Want to reactivate your app? Upgrade your account here to instantly reactivate."

13.03.2025 11:32 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image 08.03.2025 17:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

And because Livewire synthesizers are awesome you can wire:model attribute bag values. Not sure about the use cases for this (and the bag is locked by default), but it's still cool.
4/3

08.03.2025 17:17 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

If you don’t need Livewire just drop the `<?php` chunk and it’s a regular Blade component. If it’s full page just wrap the template in your layout. And the best thing is this only requires some very minimal hooks into to the blade compiler, a couple of helpers, and a Vite plugin.
3/3

07.03.2025 17:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Post image

* Every view is a Blade or Blade+Livewire (via Volt) component
* Non-Livewire components can be used as full pages
* Livewire components get an attribute bag and can have slots
* Layouts are included in exactly the same way in both types
* Scripts and styles can use imports/tailwind helpers etc
2/3

07.03.2025 17:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Happy Friday! I’ve been chipping away at an approach to writing Blade and Livewire components that smooths out the differences between the two, letting you write and use everything the same way, and also include scripts and styles that get bundled by Vite.
1/3

07.03.2025 17:19 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 1    πŸ“Œ 1
Preview
GitHub - jacksleight/laravel-raster: Rasterise views and components to images by simply adding a directive and fetching the URL. Rasterise views and components to images by simply adding a directive and fetching the URL. - jacksleight/laravel-raster

Be interested what you think of github.com/jacksleight/.... First package I’ve used PHPStan on, although it does still need tests!

22.02.2025 09:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yep! πŸ™‚ And it’s free if you already have a desktop licence.

20.02.2025 08:31 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

For iOS, TablePlus and Working Copy are pretty good and can be protected with FaceID or a passcode.

20.02.2025 08:27 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Slightly thrown by Tailwind 4 referring to JS based plugins as β€œlegacy”. The new CSS based config is awesome, but anything requiring logic or using helpers like `flattenColorPalette` still needs to be JS based.

Hope they don’t disappear one day.

23.01.2025 09:46 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Stumbled on a little CSS tip. If you need an absolute value you could use `abs`, but it’s limited availability right now.

However `hypot` is newly available and:

> If a single parameter is provided, the result is the absolute value of its input.

Or you can just use `max`, but it's more verbose.

21.01.2025 09:25 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Apparently! I try to keep it quiet.

08.01.2025 14:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@jacksleight.com is following 20 prominent accounts