PHPackages                             valentin-morice/filament-sketchpad - 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. valentin-morice/filament-sketchpad

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

valentin-morice/filament-sketchpad
==================================

A simple package that provides you with a sketchpad field in Filament

2.0.0(1w ago)174621MITBladePHP ^8.2

Since Aug 24Pushed 1y ago2 watchersCompare

[ Source](https://github.com/valentin-morice/filament-sketchpad)[ Packagist](https://packagist.org/packages/valentin-morice/filament-sketchpad)[ Docs](https://github.com/valentin-morice/filament-sketchpad)[ RSS](/packages/valentin-morice-filament-sketchpad/feed)WikiDiscussions main Synced yesterday

READMEChangelog (3)Dependencies (18)Versions (5)Used By (0)

filament-sketchpad
==================

[](#filament-sketchpad)

[![Screenshot from 2024-08-24 15-37-49](https://private-user-images.githubusercontent.com/100000204/361146958-28b0c2ab-b296-4e60-92d5-45f78c92894c.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI3MzAyNjEsIm5iZiI6MTc4MjcyOTk2MSwicGF0aCI6Ii8xMDAwMDAyMDQvMzYxMTQ2OTU4LTI4YjBjMmFiLWIyOTYtNGU2MC05MmQ1LTQ1Zjc4YzkyODk0Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNjI5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDYyOVQxMDQ2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lYWU4OTllODE3YjZiMGQ2MDFiNGE4OWQ1MzhmMzY3MWQ4NTNiY2IwMDdiMDYyNDU3ZDhhZDY1MWNlNTRhOGQzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.o7fkXyx2rPPlNFpN7fNqpMQlahDchJIhbRUHBzcFFGc)](https://private-user-images.githubusercontent.com/100000204/361146958-28b0c2ab-b296-4e60-92d5-45f78c92894c.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI3MzAyNjEsIm5iZiI6MTc4MjcyOTk2MSwicGF0aCI6Ii8xMDAwMDAyMDQvMzYxMTQ2OTU4LTI4YjBjMmFiLWIyOTYtNGU2MC05MmQ1LTQ1Zjc4YzkyODk0Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNjI5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDYyOVQxMDQ2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lYWU4OTllODE3YjZiMGQ2MDFiNGE4OWQ1MzhmMzY3MWQ4NTNiY2IwMDdiMDYyNDU3ZDhhZDY1MWNlNTRhOGQzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.o7fkXyx2rPPlNFpN7fNqpMQlahDchJIhbRUHBzcFFGc)

A simple package that provides you with a sketchpad field in Filament.

Compatibility
-------------

[](#compatibility)

Filamentfilament-sketchpad5.x2.x (this version)3.x1.xInstallation
------------

[](#installation)

You can install the package via composer:

```
composer require valentin-morice/filament-sketchpad
```

Usage
-----

[](#usage)

The filament-sketchpad plugin works as any other Filament schema component. Make sure the column on which it is called is cast to `array` (or `json`).

```
use ValentinMorice\FilamentSketchpad\Sketchpad;
use Filament\Schemas\Schema;

public static function form(Schema $schema): Schema
    {
        return $schema
            ->components([
                Sketchpad::make('example'),
            ]);
    }

// An infolist component is also available.
use ValentinMorice\FilamentSketchpad\SketchpadInfolist;

public static function infolist(Schema $schema): Schema
    {
        return $schema
            ->components([
                SketchpadInfolist::make('example'),
            ]);
    }
```

### Set history configuration

[](#set-history-configuration)

```
// Provide full or partial configuration.
// Keys 'undo' and 'redo' are mandatory.

$config = [
    'undo' => [
         'label' => 'Undo',
         'icon' => 'heroicon-o-arrow-left',
         'color' => 'gray',
    ],
    'redo' => [
            'label' => 'Redo',
            'icon' => 'heroicon-o-arrow-right',
            'color' => 'gray',
    ],
];

FilamentSketchpad::make('example')->history(array |Closure $config);
```

### Set controls configuration

[](#set-controls-configuration)

```
// Provide full or partial configuration.
// Keys 'clear' and 'reset' are mandatory.

$config = [
    'clear' => [
            'label' => 'Clear',
            'icon' => 'heroicon-o-document',
            'color' => 'gray',
    ],
    'reset' => [
            'label' => 'Reset',
            'icon' => 'heroicon-o-trash',
            'color' => 'gray',
    ],
];

FilamentSketchpad::make('example')->controls(array |Closure $config);
```

### Set download configuration

[](#set-download-configuration)

```
// Provide full or partial configuration.
$config = [
            'label' => 'Download',
            'icon' => 'heroicon-m-arrow-down-tray',
            'color' => 'gray',
            'filename' => 'my-sketch', // saved as my-sketch.png
          ];

FilamentSketchpad::make('example')->download(array |Closure $config);
```

### Minimal mode

[](#minimal-mode)

Display only icons instead of buttons.

```
FilamentSketchpad::make('example')->minimal(bool|Closure $bool = true);
```

### Set the height

[](#set-the-height)

```
FilamentSketchpad::make('example')->height(int 400|Closure); // in px
```

NOTE: All standard injected utilities are available in your closures.

Translations
------------

[](#translations)

All button labels and the read-only empty state respect Laravel's active locale. English (`en`) and French (`fr`) ship with the package. To customise or add a locale, publish the translations and edit the file:

```
php artisan vendor:publish --tag=filament-sketchpad-translations
```

This creates `lang/vendor/filament-sketchpad/{locale}/sketchpad.php`, exposing the `undo`, `redo`, `clear`, `reset`, `download` and `empty` keys.

Thanks to  for the JS.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance67

Regular maintenance activity

Popularity24

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity55

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

Total

3

Last Release

7d ago

Major Versions

1.1.0 → 2.0.02026-06-27

PHP version history (2 changes)1.0.0PHP ^8.1

2.0.0PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/100000204?v=4)[Valentin Morice](/maintainers/valentin-morice)[@valentin-morice](https://github.com/valentin-morice)

---

Top Contributors

[![valentin-morice](https://avatars.githubusercontent.com/u/100000204?v=4)](https://github.com/valentin-morice "valentin-morice (4 commits)")

---

Tags

laravelvalentin-moricefilament-sketchpad

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/valentin-morice-filament-sketchpad/health.svg)

```
[![Health](https://phpackages.com/badges/valentin-morice-filament-sketchpad/health.svg)](https://phpackages.com/packages/valentin-morice-filament-sketchpad)
```

###  Alternatives

[filament/filament

A collection of full-stack components for accelerated Laravel app development.

3829.6M3.7k](/packages/filament-filament)[codewithdennis/filament-select-tree

The multi-level select field enables you to make single selections from a predefined list of options that are organized into multiple levels or depths.

329530.5k29](/packages/codewithdennis-filament-select-tree)[filament/actions

Easily add beautiful action modals to any Livewire component.

1327.7M79](/packages/filament-actions)[codebar-ag/laravel-filament-json-field

A Laravel Filament JSON Field integration with CodeMirror support

1126.6k](/packages/codebar-ag-laravel-filament-json-field)[relaticle/flowforge

Flowforge is a lightweight Kanban board package for Filament that works with existing Eloquent models.

413106.5k6](/packages/relaticle-flowforge)[valentin-morice/filament-json-column

A simple package to view and edit your JSON columns in Filament

60517.2k](/packages/valentin-morice-filament-json-column)

PHPackages © 2026

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