PHPackages                             formfeed-uk/nova-theming-classes - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. formfeed-uk/nova-theming-classes

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

formfeed-uk/nova-theming-classes
================================

A Laravel Nova package to add theming classes to components.

1.1.0(3y ago)12100.4k—5.9%4[2 PRs](https://github.com/Formfeed-UK/nova-theming-classes/pulls)MITJavaScriptPHP ^7.4|^8

Since May 25Pushed 2y ago2 watchersCompare

[ Source](https://github.com/Formfeed-UK/nova-theming-classes)[ Packagist](https://packagist.org/packages/formfeed-uk/nova-theming-classes)[ Docs](https://github.com/formfeed-uk/nova-theming-classes)[ RSS](/packages/formfeed-uk-nova-theming-classes/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (6)Used By (0)

Nova 4 Theming Classes
======================

[](#nova-4-theming-classes)

This [Laravel Nova](https://nova.laravel.com/) package adds the theming classes functionality back to Nova 4 which was previously supplied by `Nova::enableThemingClasses()` in Nova 3

Requirements
------------

[](#requirements)

- `php: >=8.0`
- `laravel/nova: ^4.0`

Features
--------

[](#features)

This package restores the missing Theming Classes from Nova 3 back into Nova 4.

It should work for all Nova components and any components from third party packages.

Classes are applied on Component Mount and Component Update (for dependsOn compatability) via a global mixin.

The component names, field names, resource names, panel names, and Nova Flexible Content layout group names are added kebab cased with an optional prefix.

If you have other packages with custom properties that do not work in the default configuration (such as the Nova Flexible Content layout group names) submit a Pull Request or an Issue. (Pull requests will be actioned faster)

Installation
------------

[](#installation)

Install the package in to a Laravel app that uses [Nova](https://nova.laravel.com) via composer:

```
composer require formfeed-uk/nova-theming-classes
```

Usage
-----

[](#usage)

### General

[](#general)

No additional configuration is required, the package will by default start working as soon as it is installed with all options enabled by default.

The theming classes are by default prefixed by the following:

- Components: component-
- Fields: field-
- Resources: resource-
- Nova Flexible Content Layout Groups: flex-group-
- Panels: panel-

This can be changed in the configuration options (see below)

### Configuration Options

[](#configuration-options)

By default all theming options are enabled with the above default prefixes.

To configure which theming classes are displayed and their prefix, add the following to your `config/nova.php`

Note that the final delimiter in prefixes must be applied manually if required (to allow for empty string prefixes, or alternative prefix delimiters)

```
// config/nova.php

return [

...

    'theming' => [
         'component' => true|false, // Enable/Disable the component classes
         'field' => true|false, // Enable/Disable the field name classes
         'resource' => true|false, // Enable/Disable the resource name classes
         'flex_group' => true|false, // Enable/Disable the Nova Flexible Content Layout Groups classes
         'panel' => true|false, // Enable/Disable the panel name classes
         'prefix'=> [
            'component' => 'alternative-component-', // Component prefix
            'field' => 'alternative-field-', // Field prefix
            'resource' => 'alternative-resource-', // Resource prefix
            'flex_group' => 'alternative-flex-group-', // Nova Flexible Content Layout Group prefix
            'panel' => 'alternative-panel-', // Component prefix
         ]
    ]

...

]
```

License
-------

[](#license)

Nova Theming Classes is open-sourced software licensed under the [MIT license](LICENSE.md).

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity40

Moderate usage in the ecosystem

Community15

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 76.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~42 days

Total

5

Last Release

1286d ago

Major Versions

0.1.0 → 1.0.02022-05-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/6116a0834c68177c53e80259399de5ad6cbfc8e49e2c945343f1cacf8accd14a?d=identicon)[ianrobertsFF](/maintainers/ianrobertsFF)

---

Top Contributors

[![ianrobertsFF](https://avatars.githubusercontent.com/u/91917328?v=4)](https://github.com/ianrobertsFF "ianrobertsFF (13 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![mathiasmadsen](https://avatars.githubusercontent.com/u/3418529?v=4)](https://github.com/mathiasmadsen "mathiasmadsen (1 commits)")[![mihai-stancu](https://avatars.githubusercontent.com/u/1294142?v=4)](https://github.com/mihai-stancu "mihai-stancu (1 commits)")

---

Tags

laravelnovanova4theminglaravelcssnovathemingnova-4

### Embed Badge

![Health badge](/badges/formfeed-uk-nova-theming-classes/health.svg)

```
[![Health](https://phpackages.com/badges/formfeed-uk-nova-theming-classes/health.svg)](https://phpackages.com/packages/formfeed-uk-nova-theming-classes)
```

###  Alternatives

[optimistdigital/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2872.1M6](/packages/optimistdigital-nova-sortable)[outl1ne/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2861.8M9](/packages/outl1ne-nova-sortable)[optimistdigital/nova-multiselect-field

A multiple select field for Laravel Nova.

3403.5M7](/packages/optimistdigital-nova-multiselect-field)[vyuldashev/nova-money-field

A Laravel Nova field for Money.

73784.4k1](/packages/vyuldashev-nova-money-field)[alexwenzel/nova-dependency-container

A Laravel Nova 4 form container for grouping fields that depend on other field values.

461.0M2](/packages/alexwenzel-nova-dependency-container)[sbine/route-viewer

A Laravel Nova tool to view your registered routes.

57215.9k](/packages/sbine-route-viewer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
