everzel/nova-charcounted-fields

Text and textarea fields with a character counter.

dev-main 2023-05-11 17:30 UTC

This package is not auto-updated.

Last update: 2024-10-25 22:15:58 UTC


README

Text and textarea fields with a character counter for Laravel Nova.

Installation

Add the GitHub URL to your repositories list in composer.json:

"repositories": [
  {
    "type": "vcs",
    "url": "git@github.com:optimistdigital/nova-charcounted-fields.git"
  }
]

You can require this package using composer:

composer require everzel/nova-charcounted-fields

Usage

You can add the field with a resolver as follows:

use Everzel\CharcountedFields\TextCounted;
use Everzel\CharcountedFields\TextareaCounted;

TextCounted::make('Meta title')

Image of character counter

You can use the text and textarea fields with charactercounters on you Nova model. The max number of characters aren't enforced, but just encouraged with warning colors and the counter. (You could enforce the max number of characters with Nova's built in rules and with a maxlength extra attribute).

TextCounted::make('Meta title')
    ->maxChars(60)
    ->warningAt(50)
    ->withMeta(['extraAttributes' => ['maxlength' => '65']]),

TextareaCounted::make('Meta description')
    ->maxChars(160)
    ->warningAt(150)
    ->rows(3),

The maxChars and warningAt are both optional. The color of the counter will change when the max or warningAt limit is reached. Image of character counter with indication