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.
<x-toggle> that failed contrast on the achromatic Tonal theme (signal / signal-dark): the primary/secondary rail sat at 1.3:1 against the unchecked rail, the thumb at 1.1–1.4:1. The fix routes toggle fill through the same ink rule already used by progress/upload (v0.23.2), producing ≥4.5:1 by construction. For a PM this converts "WCAG compliance" from a per-sprint negotiation into a property of the design system — useful when scoping an enterprise/RFP accessibility requirement or a VPAT.neutral deliberately keeps base-content), ships before/after comparison pages and fixtures (scripts/compare-page/specs/signal-toggle.json), and records rejected alternatives. That is the artifact set you'd otherwise have to fund internally over several quarters.Tonal, achromatic) in two modes. Any roadmap item that adds a theme, a brand palette, or a white-label offering must budget for this class of regression — the release is direct evidence that theme count is a multiplicative QA cost.SEMVER.md with recorded change counts is what makes the "auto-update patches" policy defensible — and what you should cite when security/legal asks how visual drift is governed.Adopt when:
SEMVER.md change accounting, linked rejected alternatives, and a fill-rule precedent (v0.23.2) applied consistently. That is a strong signal for long-term maintainability.Look elsewhere when:
base-content exceptions for neutral) that you would be fighting rather than inheriting.To executives: We evaluated a Laravel UI component library and its latest release. The headline is governance, not features: when the maintainers found that a checked toggle was effectively invisible on one theme (contrast as low as 1.1:1, far below the 4.5:1 accessibility floor), they fixed it, published before/after evidence, recorded the behavior change and its blast radius in a semver log, and documented the alternatives they rejected. That is the discipline we would otherwise have to build and staff internally. The trade-off to accept knowingly: this was a patch release that changed on-screen defaults, so adopting it means committing to render-level regression testing on upgrade.
To engineering: This is a Blade/Tailwind component set with a consistent fill rule — state indicators (toggle, progress, upload) paint bg-ink-<color> under a base-100 thumb so contrast holds by construction across themes and both modes. v0.25.2 applied that rule to <x-toggle>, with one deliberate carve-out (neutral retains base-content). Expect visual diffs on primary/secondary toggles in Tonal themes and on warm hues (ember/pop yellow → olive); where ink equals color — most saturated primaries on light themes — nothing moves. Fixtures and the comparison spec are in scripts/compare-page/specs/signal-toggle.json, so we can wire this into our existing visual-diff job rather than eyeballing it. Recommendation: adopt behind a pinned version, add a snapshot test for every theme we ship, and treat theme additions as QA-scoped work.
How can I help you explore Laravel packages today?