PHPackages                             meghdadfadaee/nova-row-actions - 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. meghdadfadaee/nova-row-actions

ActiveLibrary

meghdadfadaee/nova-row-actions
==============================

Display arbitrary Laravel Nova actions as accessible index-row buttons.

1.0.0(today)02↑2900%MITPHPPHP ^8.1

Since Jul 30Pushed todayCompare

[ Source](https://github.com/MeghdadFadaee/nova-row-actions)[ Packagist](https://packagist.org/packages/meghdadfadaee/nova-row-actions)[ RSS](/packages/meghdadfadaee-nova-row-actions/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (5)Versions (2)Used By (0)

Nova Row Actions
================

[](#nova-row-actions)

displays ordinary Laravel Nova actions as visible, accessible buttons in resource index rows. It uses Nova's standard action endpoint, authorization, confirmation forms, response handling, and table refresh flow.

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10.48+, 11.44+, 12.1+, or 13
- Laravel Nova 5.8.3+

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

[](#installation)

Install the package with Composer. Laravel package discovery registers its service provider and compiled Nova assets automatically.

```
composer require meghdadfadaee/nova-row-actions
```

Usage
-----

[](#usage)

Add the field to a Nova resource and keep each represented action registered in the resource's `actions()` method. The latter is required because Nova's standard action endpoint only executes actions registered by the resource.

```
use Illuminate\Database\Eloquent\Model;
use MeghdadFadaee\NovaRowActions\RowActions;

public function fields(NovaRequest $request): array
{
    return [
        RowActions::make('Actions')
            ->add(
                Approve::make(),
                icon: 'check',
                iconType: 'solid',
                color: 'success',
                activeWhen: fn (Model $model) => $model->approved,
                disabledWhen: fn (Model $model) => $model->approved,
                confirm: false,
            )
            ->add(
                Reject::make(),
                icon: 'x-mark',
                color: 'danger',
                tooltip: 'Reject this record',
                visibleWhen: fn (Model $model) => ! $model->archived,
                order: 20,
                confirm: true,
            ),
    ];
}

public function actions(NovaRequest $request): array
{
    return [
        Approve::make()->exceptInline(),
        Reject::make()->exceptInline(),
    ];
}
```

`exceptInline()` leaves actions available in Nova's bulk selector and detail view while removing them from the row ellipsis.

### Actions with form fields

[](#actions-with-form-fields)

Actions that define fields use Nova's native action modal automatically. Leave `confirm` unset so the action's own confirmation strategy, fields, validation, file uploads, and dependent-field behavior are preserved.

```
RowActions::make('Actions')
    ->add(
        Reject::make(),
        icon: 'x-mark',
        color: 'danger',
    );
```

Do not set `confirm: false` on a field-bearing action unless it is intentionally safe to execute with the fields' default values. That option maps directly to Nova's `withoutConfirmation` behavior and bypasses the entire action modal.

Button options
--------------

[](#button-options)

`add()` accepts the following named arguments:

- `icon`: a Nova icon name, such as `check` or `x-mark`.
- `iconType`: Heroicons `outline`, `solid`, `mini`, or `micro`; defaults to `outline`.
- `color`: `default`, `primary`, `success`, `danger`, `warning`, or `info`.
- `variant`: `outline`, `solid`, or `ghost`.
- `label`: button/accessibility label; defaults to the action name.
- `tooltip`: tooltip text; defaults to the resolved label.
- `activeWhen`: boolean or row callback controlling the pressed/active state.
- `disabledWhen`: boolean or row callback controlling disabled state.
- `visibleWhen`: boolean or row callback controlling server-side visibility.
- `order`: numeric order; insertion order is used by default.
- `confirm`: `true` to force confirmation, `false` to skip it, or `null` to preserve the Nova action's own confirmation strategy.
- `showLabel`: display text beside the icon; labels remain available to screen readers when this is false.

Callbacks receive `(Model $model, NovaRequest $request, Action $action)` and may declare only the leading arguments they need.

### Icons

[](#icons)

Icons are rendered by Nova's `Icon` component from `laravel-nova-ui`, so the package supports Heroicons v2.1.5+ while always using the exact Heroicons release bundled by the installed Nova version. Use kebab-case names, including:

`check`, `x-mark`, `plus`, `minus`, `pencil-square`, `trash`, `eye`, `bolt`, `arrow-path`, `arrow-down-tray`, `paper-airplane`, `play`, `pause`, `lock-closed`, `lock-open`, `star`, `heart`, `bell`, `envelope`, `user`, `users`, `cog-6-tooth`, `document`, `document-check`, `clipboard`, `magnifying-glass`, and `exclamation-triangle`.

The package deliberately does not install a second Heroicons copy; importing Nova's UI component avoids version conflicts. For reference, Nova 5.8.3 in the test application declares and locks `@heroicons/vue` 2.2.0, whose icon API is compatible with the supported 2.1.5 baseline.

Notes and limitations
---------------------

[](#notes-and-limitations)

- Actions must be normal resource actions registered by `actions()`. Pivot-only actions and lens-specific endpoints are not supported by the field.
- Relationship indexes are supported through Nova's `viaResource`, `viaResourceId`, and `viaRelationship` action parameters.
- Nova action fields, validation errors, downloads, events, response modals, redirects, visits, danger messages, notifications, and progress state are delegated to Nova 5.8.3's native action composable.
- The package ships compiled production assets; Node is only needed when modifying the Vue or CSS sources.

Development
-----------

[](#development)

```
npm ci
npm test
npm run production
composer validate --strict
```

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance100

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

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

Unknown

Total

1

Last Release

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/adef73eb79a4d12b5f03a09fbd4820a50dfced15114730383b04c3dbd7f8de51?d=identicon)[MeghdadFadaee](/maintainers/MeghdadFadaee)

---

Top Contributors

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

---

Tags

laravelnova

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/meghdadfadaee-nova-row-actions/health.svg)

```
[![Health](https://phpackages.com/badges/meghdadfadaee-nova-row-actions/health.svg)](https://phpackages.com/packages/meghdadfadaee-nova-row-actions)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M348](/packages/psalm-plugin-laravel)[laravel/nova-log-viewer

A Laravel Nova tool for viewing your application logs.

137354.5k1](/packages/laravel-nova-log-viewer)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17878.9k](/packages/markwalet-nova-modal-response)[api-platform/laravel

API Platform support for Laravel

58174.6k17](/packages/api-platform-laravel)

PHPackages © 2026

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