daikazu/filament-size-visualizer-field
Adds an interactive visual preview to size inputs in Filament forms, so users can see dimensions, font sizes, or spacing as they edit instead of guessing from a number. Drop it into any resource or form to replace plain numeric fields with a clearer, WYSIWYG-style size control.
wire:ignore), async image-load races, and Alpine-managed listeners — all of which this release explicitly hardens. Building is only justified if the visualization must live outside Filament or must differ substantially in interaction model.tailwind.config.js and postcss.config.js are removed in favour of @tailwindcss/cli. If our app's build pipeline or design-system conventions still assume a v3-style config, this package's asset build becomes a small integration project, not a drop-in.Adopt when all of the following hold:
wire:ignore semantics and the documented resize-size-visualizer / dispose-size-visualizer events.Look elsewhere when:
For executives (one paragraph): This is a small, focused UI component that turns raw size numbers into a visual comparison inside our admin/product tooling. The new v2.0.0 release is a platform alignment release: it moves the package onto our target stack (PHP 8.3, Laravel 13, Filament v5, Tailwind v4) and fixes a set of real rendering bugs. It is not a "nice new feature" upgrade we can take casually — it is coupled to our Laravel 13 / Filament v5 migration, so the cost is one coordinated upgrade rather than a version bump. Recommendation: keep v1 pinned until the platform migration is scheduled, then adopt v2 as part of that work. Risk is low in absolute terms because the component is narrow, but we should treat it as a single-maintainer dependency and avoid spreading it beyond the size-visualization use case.
For engineering (what actually changed and what it costs us): v2.0.0 is a breaking major. It requires PHP 8.3+, Laravel 13, and Filament v5 and drops Laravel 10/11/12 and Filament v3. The asset build moves to the Tailwind v4 @tailwindcss/cli toolchain, with tailwind.config.js and postcss.config.js removed — check our build assumptions before merging. Two unused methods (dynamicObjectSize() / getDynamicObjectSize()) are removed; they were never wired into rendering, so no behavioural loss. On the positive side, the release lands fabric.js v7 compatibility (FabricImage/FabricText imports, setDimensions(), the x-load directive that was preventing the component from loading at all), corrects origin/anchor behaviour for fabric v6+ by scaling from the bottom-left of the grid, fixes a coin async race on initial load and toggle, and adds wire:ignore so the canvas survives Livewire updates. It also adds smooth ease-out transitions by splitting rendering into a static grid layer and an animated object layer, coerces entangled state before geometry math, contain-fits images within the size box, moves window listeners under Alpine to prevent SPA navigation leaks, and documents the resize-size-visualizer / dispose-size-visualizer events. Net: the fixes are worth having, but they arrive only with the platform jump.
Ask: approve pinning v1 in the current cycle; add "adopt size-visualizer v2" as a deliverable inside the Laravel 13 / Filament v5 migration epic, with a smoke test covering initial canvas load, Livewire re-render, resize/dispose events, and SPA navigation.
How can I help you explore Laravel packages today?