sparrowhawk-labs/pinion-ui
Pinion UI is a Laravel package offering reusable Blade UI components for building clean, consistent interfaces directly in your templates. It reduces repetitive markup and speeds development with ready-made, customizable components.
This release only changes rendering, not the public API — there is nothing new to wire up. If you are picking the package up fresh:
composer require sparrowhawk-labs/pinion-ui, publish the config/theme assets, and make sure your Tailwind entry includes the package preset so the ink-*, base-100 and <color> tokens resolve.SEMVER.md before CHANGELOG.md. It records intentional default flips (this release logs the toggle counts), which is the fastest way to know whether an upgrade will move pixels in your app.scripts/compare-page/specs/ — the specs (e.g. signal-toggle.json) are executable expectations for what each component should look like per theme/color/variant. They double as documentation of the intended contrast story.<x-toggle wire:model="notifications" color="primary" variant="solid" />. Add stateLabel only if you want ON/OFF text; that text is now base-100 on every color.color as semantic, not literal. Pass primary / warning / neutral and let the package map it to an ink fill. Do not hand-roll bg-<color> on a toggle — that is exactly the pattern this release removed.solid for the headline setting in a section, wire for dense lists, soft for inline/secondary toggles. All three now agree on the checked fill rule.signal, signal-dark) are where this fix matters most; saturated light themes will look nearly identical to before. Decide the theme per surface (app shell vs. marketing page) and stop overriding per component.wire:model bindings keep working; only the rendered classes shift.bg-ink-<color> deliberately — a CSS override layered on top will silently lose to whatever the component renders.ember/pop light warning yellow reads olive, pop light primary yellow reads dark. If brand yellow is load-bearing for you, verify it before shipping.neutral is the exception — it still uses base-content (carried over from v0.25.1). Don't "normalize" it yourself; you will diverge from the fixtures.stateLabel ON text is now base-100 for all colors, replacing <color>-content. Any custom selector you wrote against *-content on the label will stop matching.base-100. Ink is ≥ 4.5:1 against base-100 by construction. If you restyle base-100 in your theme, that guarantee is void — re-check toggles on the achromatic themes first, since that is where the failure mode lives (previously 1.1–1.4:1 thumb-against-rail).base-100 thumb. Nesting it inside a same-colored card erases the state.bg-ink-* vs. a stale bg-*, confirm the theme actually applied (Tonal vs. saturated), then check SEMVER.md for a flip you missed, then diff against the spec JSON.^0.25 will hand you visual changes. Read SEMVER.md on every bump.How can I help you explore Laravel packages today?