LaravelPackages.net
Acme Inc.
Toggle sidebar
davidpiesse/nova-toggle

A Boolean Toggle Switch Field

1.131.362
86
4.0
About davidpiesse/nova-toggle

davidpiesse/nova-toggle is a Laravel package for a boolean toggle switch field. It currently has 86 GitHub stars and 1.131.362 downloads on Packagist (latest version 4.0). Install it with composer require davidpiesse/nova-toggle. Discover more Laravel packages by davidpiesse or browse all Laravel packages to compare alternatives.

Last updated

Toggle Field

A drop in replacement for the default Boolean field

Toggle In Action

Installation

Same as most other Nova Packages

composer require davidpiesse/nova-toggle

Usage

The Toggle has all the same options as the Boolean field so you can set the values to be stored in the Model.

use Davidpiesse\NovaToggle\Toggle;
Toggle::make('Active')
    ->trueValue('On')
    ->falseValue('Off')

In addition you can set visual parameters

Labels

You can show both, or each state label

Toggle::make('Active')
    ->showLabels() //Both labels
    ->showOnlyTrueLabel() //True label only
    ->showOnlyFalseLabel() //False label only

To set the text you can use either or both of the following. You must also set the visibility of the labels as described above.

Toggle::make('Active')
    ->showLabels()
    ->trueLabel('Tru Dat')
    ->falseLabel('Nah Dawg')

The defaults are 'True' and 'False'

Size

You can set the width and height. Setting the width will auto scale the height, but you can override this with ->height(). Defaults are 60 (px) and 26 (px)

Toggle::make('Active')
    ->width(80)
    ->height(45) //To override scaling

Colors

You can set wither or both of the background colours for the Toggle. By default True is the Nova 'Success Green' [ var(--success) ] and false is a Grey 60 [ var(--60) ]

Toggle::make('Active')
    ->trueColor('pink')
    ->falseColor('#fcfcfc')

Speed

You can set the animation speed in ms with

Toggle::make('Active')
    ->speed(500)

The default is 300ms

Toggle on index

You can activate the toggle on index as well with

Toggle::make('Active')
    ->editableIndex()
Comments