PHPackages                             eom-plus/nova-input-group - 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. eom-plus/nova-input-group

ActiveLibrary

eom-plus/nova-input-group
=========================

A Laravel Nova field.

1.0.4(3y ago)31.9k—0%1MITVuePHP ^7.3|^8.0

Since Jan 7Pushed 2y ago3 watchersCompare

[ Source](https://github.com/operativeit/nova-input-group)[ Packagist](https://packagist.org/packages/eom-plus/nova-input-group)[ GitHub Sponsors](https://github.com/operativeit)[ RSS](/packages/eom-plus-nova-input-group/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

Nova Input Group
================

[](#nova-input-group)

A Laravel Nova4 text field formatted as input group

[![Latest Version on Packagist](https://camo.githubusercontent.com/77afeec6d9315e75ae376005e8e2169131e17fa2498ff0460ef7159b19e77c62/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f706572617469766569742f6e6f76612d696e7075742d67726f75702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/operativeit/nova-input-group)[![Total Downloads](https://camo.githubusercontent.com/b61d43250104e3540dca6a418b4b1ade94990e724c34b82fe14a1f9ee8721f35/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f706572617469766569742f6e6f76612d696e7075742d67726f75702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/operativeit/nova-input-group)[![GitHub forks](https://camo.githubusercontent.com/706f08d1557764038e0d7538c3ecd8e5e624b00634dcee6c99e5d82a30af907c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6f706572617469766569742f6e6f76612d696e7075742d67726f7570)](https://camo.githubusercontent.com/706f08d1557764038e0d7538c3ecd8e5e624b00634dcee6c99e5d82a30af907c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6f706572617469766569742f6e6f76612d696e7075742d67726f7570)[![GitHub issues](https://camo.githubusercontent.com/064ab9a655f8f310807fe4a50fa944b7b7ce5cc13ae31955e603e11dbce17824/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6f706572617469766569742f6e6f76612d696e7075742d67726f7570)](https://camo.githubusercontent.com/064ab9a655f8f310807fe4a50fa944b7b7ce5cc13ae31955e603e11dbce17824/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6f706572617469766569742f6e6f76612d696e7075742d67726f7570)[![License](https://camo.githubusercontent.com/e1685f2a7123830efb33517b931e5fa21286ff6d428d90563160e3cc476dd431/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6f706572617469766569742f6e6f76612d696e7075742d67726f7570)](https://github.com/operativeit/nova-input-group/blob/master/LICENSE.md)

[![image](https://user-images.githubusercontent.com/188766/211157697-83991d68-f727-4bdb-aa2d-4c5e784007cb.png)](https://user-images.githubusercontent.com/188766/211157697-83991d68-f727-4bdb-aa2d-4c5e784007cb.png)

This custom field allow to append or prepend text and/or heroicon icon. Text can also be HTML. For HTML, a dedicated component is used intead of *v-html* directive. HTML markup is sanitazed previously sanitized using DOMPurify library to avoid vulnaribility. Note that when you HMTL you can also use Emojis icons.

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

[](#installation)

```
composer require eom-plus/nova-input-group
```

Usage
-----

[](#usage)

Import it in your resources and add the InputGroup to `fields` method. We have added various methods to add flexibility to the component. You can append , prepend or both at the same time.

```
...
use EomPlus\NovaInputGroup\InputGroup;

public function fields(Request $request)
{
    return [
        ID::make('ID', 'id')->sortable(),
        Text::make('Name', 'name'),
        InputGroup::make('Subdomain', 'subdomain')
           ->appendIcon('cube', 'after')
           ->append('@example.com')
           ->prependIcon('cube')
           ->prepend('test')
           ->prependExtraClasses('bg-green-500 text-white')
           ->asHtml()

    ];
}
...
```

But we have maintained the old method for backward compatibility with [Decency Input Group](https://github.com/decency-be/nova-input-group)

Example using legacy way

```
...
use EomPlus\NovaInputGroup\InputGroup;

public function fields(Request $request)
{
    return [
        ID::make('ID', 'id')->sortable(),
        Text::make('Name', 'name'),

        InputGroup::make('Subdomain', 'subdomain')
           ->position('after')
           ->text('@example.com'),

    ];
}
...
```

### Methods

[](#methods)

- `prepend(value)` Prepend text to input field
- `prependIcon(name, position)` Prepend heroicon to input field. You can choose between 'before' and 'after'. When not used, 'before' is used.
- `prependExtraClasses(value)` Prepend extra css classes to input field to change background or text color for example.
- `append(value)` Append text to input field
- `appendIcon(name, position)` Append heroicon to input field. You can choose between 'before' and 'after'. When not used, 'before' is used.
- `appendExtraClasses(value)` Append extra css classes to input field to change background or text color for example.
- `asHtml()` render value as HTML

#### Legacy methods for backwards compatibility (avoid to use them)

[](#legacy-methods-for-backwards-compatibility-avoid-to-use-them)

- `position(text)` You can choose between 'before' and 'after'. When not used, 'before' is used.
- `text(value)` The text to be displayed.

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

### TODO

[](#todo)

- Support other kind of field
- Testcases
- PS4 code compliance
- More examples
- Fix field length
- Add buttons and dropdown support

### Security and contributions.

[](#security-and-contributions)

If you discover any security related issues, please use the issue tracker. All PRs are welcome

Credits
-------

[](#credits)

- [Decency](https://github.com/decency-be)
- [Tim Diels](https://github.com/timdiels1)
- [All Contributors](../../contributors)

⭐️ Show Your Support
--------------------

[](#️-show-your-support)

Please give a ⭐️ if this project helped you!

### Other Packages You Might Like

[](#other-packages-you-might-like)

- [Nova Rating Field](https://github.com/operativeit/nova-rating-field) - A Star rating Nova 4 field to use in your Laravel Nova apps.
- [Nova Feedback Field](https://github.com/operativeit/nova-feedback-field) - An Emoji feedback Nova 4 field to use in your Laravel Nova apps.
- [Nova Input Group](https://github.com/operativeit/nova-input-group) - A Laravel Nova 4 text field formatted as input group
- [Nova Signature](https://github.com/operativeit/nova-signature) - A Laravel Nova 4 signature pad

Take a look to our Github repositories as we have a lot of forked nova components with fixes that are still not merge into main owner branch.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](https://github.com/operativeit/nova-input-group/blob/master/LICENSE.md) for more information.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

2

Last Release

1218d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6cf1cdc324d411dfc6db2f2e6ff9d017c704dc023a8d6d539e09123df73ecbf4?d=identicon)[scramatte](/maintainers/scramatte)

---

Top Contributors

[![scramatte](https://avatars.githubusercontent.com/u/188766?v=4)](https://github.com/scramatte "scramatte (15 commits)")

---

Tags

fieldinput-grouplaravelnovanova4laravelfieldnovainput-group

### Embed Badge

![Health badge](/badges/eom-plus-nova-input-group/health.svg)

```
[![Health](https://phpackages.com/badges/eom-plus-nova-input-group/health.svg)](https://phpackages.com/packages/eom-plus-nova-input-group)
```

###  Alternatives

[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[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)[sietse85/nova-button

(Nova 4+) A Laravel Nova package for adding buttons to your resources.

37347.3k](/packages/sietse85-nova-button)[stepanenko3/nova-json

Nova json field to spread a json column throughout multiple fields.

42249.7k](/packages/stepanenko3-nova-json)[optimistdigital/nova-notes-field

This Laravel Nova package adds a notes field to Nova's arsenal of fields.

52139.5k](/packages/optimistdigital-nova-notes-field)[digital-creative/nova-filepond

A Nova field for uploading File, Image and Video using filepond.

5568.0k1](/packages/digital-creative-nova-filepond)

PHPackages © 2026

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