0.1.0 • Published 2 months ago

surge-toast v0.1.0

Weekly downloads
-
License
-
Repository
github
Last release
2 months ago

Surge Toast

A headless toast package for use in Vue-Inertia-Laravel projects. For seamless integration, use the Surge Toast composer package in Laravel.

Installation

npm install surge-toast

If you want to use the Laravel flash message integration, you can install the Laravel package as well. For documentation, see the package here.

composer require surge/toast

And then in the app.js or app.ts file of your project, use the plugin:

import { toast } from "surge-toast"

//...

app.use(toast)

Within a, preferably, layout file define your Toast component and access the useToast hook.

<template>
    <!-- ... -->
    <Toast v-for="toast in toasts" :key="toast.id" :toast="toast" />
</template>

<script setup>
import { Toast } from '@/Components/Toast'
import { useToast } from "surge-toast"

const { toasts } = useToast()
</script>

Usage

The package comes with a Laravel plugin that can be used to automatically render toast messages from the server on your frontend. This is handled automatically through intercepting the Inertia JS events, and sending via the event bus.

You can also call the toasts manually using the useToast hook.

Examples Coming Soon

The examples/ directory contains three examples for using the package.

  • A generic Tailwind toast component with Vue transitions
  • A generic Tailwind toast component with HeadlessUI control
  • shadcn-vue sonner component

You can copy these examples directly and modify as desired. If you are going to handle the logic yourself, ensure the key when performing a v-for loop is set to be toast.id or index to ensure smooth rendering in the VDom.

License

The MIT License (MIT). Please see License File for more information.

0.1.0

2 months ago