Have a great time!
27.07.2025 14:14 β π 2 π 0 π¬ 1 π 0@jacksleight.com.bsky.social
Freelance full-stack developer. Love solving interesting problems, building sharp interfaces and working with Laravel, Statamic and Filament. jacksleight.dev
Have a great time!
27.07.2025 14:14 β π 2 π 0 π¬ 1 π 0Totally, Boost is too much.
20.07.2025 21:46 β π 1 π 0 π¬ 0 π 0Oh, youβre suggesting Quad (four snack size in one sitting)? Excellent idea! π«π«π«π«
20.07.2025 21:45 β π 1 π 0 π¬ 1 π 0Also, forget snack size, see if you can find a duo.
20.07.2025 19:04 β π 1 π 0 π¬ 1 π 0My #1 favourite chocolate bar. Literally bought one an hour ago. ππ
20.07.2025 19:01 β π 1 π 0 π¬ 1 π 0Got 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 π 0Now working without the trait and with renderless actions. I do love Livewire!
09.07.2025 13:18 β π 1 π 0 π¬ 0 π 0Computed 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.
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. ππ
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?
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.
Of course! π―
10.05.2025 18:08 β π 0 π 0 π¬ 0 π 0Unified 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 π 0Tagged @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...
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 π 0Next up is custom control panel CSS for individual attribute values.
27.03.2025 18:03 β π 6 π 0 π¬ 1 π 0Working 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 π 0So you're saying my code is perfect? That's what you're saying? Great!
13.03.2025 18:14 β π 1 π 0 π¬ 0 π 0"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 π 0And 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
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
* 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
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
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 π 0Yep! π And itβs free if you already have a desktop licence.
20.02.2025 08:31 β π 1 π 0 π¬ 0 π 0For 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 π 0Slightly 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.
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.
Apparently! I try to keep it quiet.
08.01.2025 14:55 β π 1 π 0 π¬ 0 π 0