ngiraud/nova-header-field
A Laravel Nova field that adds a clean header or section title inside resource forms and detail views, making long layouts easier to scan and organize without custom HTML.
Architecture fit
Header extends Laravel\Nova\Fields\Field) plus a Vue component. This is the canonical Nova extension pattern, so conceptually it slots into any fields() method with no service provider wiring beyond package discovery.help() text, or custom layouts).Heading field and Panel grouping. A TPM should treat this as a "build vs. buy vs. already-have" decision, not an obvious dependency.Integration feasibility
nova.mix/npm run dev conventions. Nova 3/4/5 changed asset compilation, field component resolution, and in some versions the Vue major. Expect the published JS to be the failure point, not the PHP class.->onlyOnForms()/->exceptOnForms() semantics are inherited), the blast radius of a broken render is cosmetic — a section label disappears; no data loss, no migration, no schema coupling.Technical risk
Heading) achieves the same outcome with an owner, tests, and an upgrade path.Key questions for the team
Heading/Panel that satisfies the UX goal? If yes, this package is redundant — stop here.App\Nova\Fields\Header) rather than requiring the upstream package?HasMany/BelongsToMany subforms? Nova renders those through different component contexts, and a 2018 component may not survive them.Stack fit
Migration path
Heading field or Panel covers the requirement. If it does, adopt that and record the decision — zero maintenance burden, no fork to own.composer require as-is. Acceptable only as a spike to evaluate rendering, not as a production dependency for a multi-year application.Compatibility
Nova::script/component registration), renders in create, update, and detail contexts, and survives nova:publish/production asset build (npm run prod).php: ^7.1 and block a PHP 8.2+ upgrade path or force --ignore-platform-reqs).Heading field namespace/component name — component collisions in Nova are silent and confusing.Sequencing
Heading/Panel cannot solve it. Likely this ends the evaluation.app/Nova/Fields, add a PHPUnit/Nova test asserting field component and meta, wire into the Nova asset build in CI.Maintenance
Support
Scaling
Failure modes
Heading, causing one to shadow the other unpredictably.Ramp-up
Heading/Panel, or, if the styling truly differs, fork the ~50 lines into the application and own it. The package is functionally sound and architecturally elegant, but at seven years stale with no adopters, the maintenance cost it transfers to us exceeds the effort of reimplementing it.How can I help you explore Laravel packages today?