Looking to hire Laravel developers? Try LaraJobs

alertas maintained by mylaraveltools

Description
Alertas modales y toasts estilo SweetAlert para Laravel — My Laravel Tools
Last update
2026/06/20 11:52 (dev-main)
License
Links
Downloads
0

Comments
comments powered by Disqus

Alertas — My Laravel Tools

Parte del ecosistema My Laravel Tools (mylaraveltools/*). Alertas modales y toasts estilo SweetAlert para Laravel. Sin dependencias JavaScript externas — usa Alpine.js (incluido con Livewire 3).

composer require mylaraveltools/alertas

Requisitos

  • PHP 8.2+
  • Laravel 11, 12 o 13
  • Alpine.js en el layout (Livewire 3 lo incluye)

Instalación

composer require mylaraveltools/alertas
php artisan alertas:install

Repositorio local (desarrollo):

{
  "repositories": [
    { "type": "path", "url": "../alertas-library" }
  ],
  "require": {
    "mylaraveltools/alertas": "@dev"
  }
}

Layout

Añade el contenedor antes de </body>:

@alertas

o:

<x-alertas::contenedor />

Uso

Controlador (redirect con flash)

use MyLaravelTools\Alertas\Facades\Alertas;

Alertas::exito('Guardado', 'Los cambios se aplicaron.');

return redirect()->back();

Atajos: Alertas::error(), Alertas::aviso(), Alertas::info(), Alertas::toast('Mensaje', 'exito').

Livewire

use MyLaravelTools\Alertas\Livewire\Concerns\DispatchaAlertas;
use MyLaravelTools\Alertas\Livewire\Concerns\EscuchaConfirmacionAlertas;

class MiComponente extends Component
{
    use DispatchaAlertas, EscuchaConfirmacionAlertas;

    public function guardar(): void
    {
        // ...
        $this->alertaExito('Guardado');
    }

    public function pedirBorrado(int $id): void
    {
        $this->alertaConfirmar('¿Eliminar?', 'No se puede deshacer', 'borrar', ['id' => $id]);
    }

    public function borrar(array $datos): void
    {
        // $datos['id']
        $this->alertaExito('Eliminado');
    }
}

JavaScript

Tras cargar la página, window.Alertas está disponible:

// Modal simple
await Alertas.exito('¡Hecho!', 'Registro guardado')

// Confirmación (Promise)
const ok = await Alertas.confirmar('¿Continuar?', 'Esta acción no se puede deshacer')
if (ok) { /* ... */ }

// Prompt con entrada
const nombre = await Alertas.prompt('Tu nombre', 'Introduce tu nombre', 'Ej: Ana')

// Toast
Alertas.toast('Copiado al portapapeles', 'info')

// API completa (alias en inglés compatibles)
Alertas.fire({ title: 'Hola', text: 'Mundo', icon: 'success', toast: true })

Configuración

Publicada en config/alertas.php:

Clave Descripción
botones.confirmar / cancelar Textos por defecto
toast.posicion top-start, top-end, bottom-start, bottom-end
toast.duracion ms antes de cerrar toast
tema claro, oscuro, auto
colores.* Variables CSS por tipo de alerta

Tipos de icono

exito · error · aviso · info · pregunta

Alias en inglés: success, warning, question.

Licencia

MIT — Alberto Gallardo Morales