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

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

eom-plus/nova-signature
=======================

Digital signature Nova field.

1.5.3(2y ago)32.4k↓67.9%2[2 issues](https://github.com/operativeit/nova-signature/issues)MITVuePHP ^7.3|^8.0|^9.0|^10.0

Since Sep 11Pushed 2y ago1 watchersCompare

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

READMEChangelog (3)Dependencies (2)Versions (9)Used By (0)

Laravel Nova 4 Signature
========================

[](#laravel-nova-4-signature)

This [Nova](https://nova.laravel.com/) field lets you save a signature as a field for your resource. It's based on the work of [lab404/nova-signature](https://packagist.org/packages/lab404/nova-signature) that works only with Nova 3 as fare as I know.

[![signature 1](https://private-user-images.githubusercontent.com/188766/276770788-0d46c72d-987d-4d3c-a0cf-5edcdd18efb8.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODA2MzEyODAsIm5iZiI6MTc4MDYzMDk4MCwicGF0aCI6Ii8xODg3NjYvMjc2NzcwNzg4LTBkNDZjNzJkLTk4N2QtNGQzYy1hMGNmLTVlZGNkZDE4ZWZiOC5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNjA1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDYwNVQwMzQzMDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iYTk1YjJjMTdhNGQxN2Q5ZjQ3NjZmYTEzNWI5MTc2MDkwZjhhZjVmZmIzZGVjMGZiOWY1ZmZiY2IzMDI2Yzk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.gfT1IiD7t_Wum9yWMcGocic07RY3LiEB3SfGzoPg7uI)](https://private-user-images.githubusercontent.com/188766/276770788-0d46c72d-987d-4d3c-a0cf-5edcdd18efb8.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODA2MzEyODAsIm5iZiI6MTc4MDYzMDk4MCwicGF0aCI6Ii8xODg3NjYvMjc2NzcwNzg4LTBkNDZjNzJkLTk4N2QtNGQzYy1hMGNmLTVlZGNkZDE4ZWZiOC5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNjA1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDYwNVQwMzQzMDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iYTk1YjJjMTdhNGQxN2Q5ZjQ3NjZmYTEzNWI5MTc2MDkwZjhhZjVmZmIzZGVjMGZiOWY1ZmZiY2IzMDI2Yzk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.gfT1IiD7t_Wum9yWMcGocic07RY3LiEB3SfGzoPg7uI)

[![Latest Version on Packagist](https://camo.githubusercontent.com/0e764010e90dc08d6be737499d142379c2a2cf401daf3aef34fac9280e9d386b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f706572617469766569742f6e6f76612d7369676e61747572652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/operativeit/nova-signature)[![Total Downloads](https://camo.githubusercontent.com/b0f202be0aadd035779332838bc4ccbbfef9418546d7ff8ff7db7d20bbf84540/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f706572617469766569742f6e6f76612d7369676e61747572652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/operativeit/nova-signature)[![GitHub forks](https://camo.githubusercontent.com/25414fd3e3c0f959bcda5cbf15dbb364a12f8b2156b9d650adcb1e69971aeb51/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6f706572617469766569742f6e6f76612d7369676e6174757265)](https://camo.githubusercontent.com/25414fd3e3c0f959bcda5cbf15dbb364a12f8b2156b9d650adcb1e69971aeb51/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6f706572617469766569742f6e6f76612d7369676e6174757265)[![GitHub issues](https://camo.githubusercontent.com/a61b396e308ec0bc63f0a28c30bed097692fc254f6fc7f46807bd1131b985547/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6f706572617469766569742f6e6f76612d7369676e6174757265)](https://camo.githubusercontent.com/a61b396e308ec0bc63f0a28c30bed097692fc254f6fc7f46807bd1131b985547/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6f706572617469766569742f6e6f76612d7369676e6174757265)[![License](https://camo.githubusercontent.com/e1c7a4cfbbec10d8b997b2140b41a16871b2810a3da7a6272d894952bf6ef2b0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6f706572617469766569742f6e6f76612d7369676e6174757265)](https://github.com/operativeit/nova-signature/blob/master/LICENSE.md)

Behind the scenes [WangShayne/vue3-signature](https://github.com/WangShayne/vue3-signature) is used.

Note that vue3-signature doesn't expose all signature pad components so to get it working with our component it was required to patch library to propagate "begin" and "end" event to parent component as I was unable to use a watcher as in the previous version [WangShayne/vue3-signature](https://github.com/WangShayne/vue3-signature).

Here our patched fork [operativeit/vue3-signature](https://github.com/operativeit/vue3-signature).

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

[](#installation)

`composer require eom-plus/nova-signature`

Usage
-----

[](#usage)

In your nova resource make the field `EomPlus\NovaSignature\Signature`. This field fits perfectly with a `TEXT` column as it store data in base64 format and can be used both for resources and actions.

```
use EomPlus\NovaSignature\Signature;

// ...

public function fields()
{
    return [
        // ...
        Signature::make('Signature'),
        // ...
    ];
}
```

Configuration
-------------

[](#configuration)

Showed example values are the default ones.

```
Signature::make('Signature')
    ->color('black') // (string) Any css compatible value: "red", "rgb(0, 0, 0)", ...
    ->bgColor('white') // (string) Same as 'color'
    ->width('100%') // (string) Any css compatible value: "100%", "200px", ...
    ->height('250px') // (string) Same as 'width'
    ->asSvg() // Save image as SVG format, you can use asJpg() to save as JPEG instead. By default format is PNG.
```

### Validation

[](#validation)

You can use the `signature` validation rules to check if the signature is valid. We also provide the `validSignature` method that adds `nullable` and `signature` rules.

```
// With validSignature()
Signature::make('Signature')
    ->validSignature() // 'nullable' and 'signature' rules

// Your own rules
Signature::make('Signature')
    ->rules('signature', ...)
```

\### Translations

Currenlty we have include french, spanish and english translations. If you want to add more language you publish translations with the following command

```
php artisan vendor:publish --provider=EomPlus\NovaSignature\FieldServiceProvider --tags=translations

```

If you add more languages don't hesitate to send us a PR.

⭐️ 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-signature/blob/master/LICENSE.md) for more information.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance7

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity66

Established project with proven stability

 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 ~16 days

Total

8

Last Release

909d ago

PHP version history (2 changes)1.0PHP ^7.3|^8.0

1.4PHP ^7.3|^8.0|^9.0|^10.0

### 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 (24 commits)")

---

Tags

laravelsignaturefieldnova

### Embed Badge

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

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

###  Alternatives

[optimistdigital/nova-sortable

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

2852.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.

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

A multiple select field for Laravel Nova.

3453.7M8](/packages/optimistdigital-nova-multiselect-field)[outl1ne/nova-simple-repeatable

A Laravel Nova simple repeatable rows field.

74404.9k](/packages/outl1ne-nova-simple-repeatable)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17878.9k](/packages/markwalet-nova-modal-response)[outl1ne/nova-page-manager

Page(s) and region(s) manager for Laravel Nova.

17947.0k](/packages/outl1ne-nova-page-manager)

PHPackages © 2026

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