For managing toast notifications globally in your application, use the CLToastProvider.
Usage
Default
Use the title
and message
props to set the content of the toast notification.
vue
<script setup lang="ts">
import { ref } from 'vue';
import { CLButton, CLToast } from '@codeandfunction/callaloo'
const showToast = ref(false);
const handleDismiss = () => {
showToast.value = false;
};
const showToastHandler = () => {
showToast.value = true;
};
</script>
<template>
<CLButton :on-click="showToastHandler">Show Toast</CLButton>
<CLToast
v-if="showToast"
title="Notification"
message="This is a toast notification."
:on-dismiss="handleDismiss" />
</template>
Colors
Use the color
prop to customize the component's color.
vue
Variants
Use the variant
prop to customize the component's appearance.
vue
With Icon
Use the icon
prop to display an icon in the toast notification.
vue
<script setup lang="ts">
import { ref } from 'vue';
import { CLButton, CLColors, CLIconNames, CLToast } from '@codeandfunction/callaloo'
const showToast = ref(false);
const toastIcon = ref(CLIconNames.CheckCircle);
const toastColor = ref(CLColors.Success);
const handleDismiss = () => {
showToast.value = false;
};
</script>
<template>
<CLButton :on-click="() => { showToast = true; }">Show Success Toast</CLButton>
<CLToast
v-if="showToast"
:color="toastColor"
:icon="toastIcon"
title="Success"
message="Operation completed successfully!"
:on-dismiss="handleDismiss" />
</template>
With Action
Use the action-label
and on-action
props to add an action button to the toast.
vue
<script setup lang="ts">
import { ref } from 'vue';
import { CLButton, CLColors, CLToast } from '@codeandfunction/callaloo'
const showToast = ref(false);
const handleDismiss = () => {
showToast.value = false;
};
const handleAction = () => {
alert('Action clicked!');
};
</script>
<template>
<CLButton :on-click="() => { showToast = true; }">Show Toast</CLButton>
<CLToast
v-if="showToast"
:color="CLColors.Primary"
title="New message"
message="You have a new message."
action-label="View"
:on-action="handleAction"
:on-dismiss="handleDismiss" />
</template>
Auto Dismiss
Use the dismiss-timer
prop to automatically dismiss the toast after a specified number of seconds. Set to 0
to disable auto-dismiss.
vue
<script setup lang="ts">
import { ref } from 'vue';
import { CLButton, CLToast } from '@codeandfunction/callaloo'
const showToast = ref(false);
const handleDismiss = () => {
showToast.value = false;
};
</script>
<template>
<CLButton :on-click="() => { showToast = true; }">Show Toast</CLButton>
<CLToast
v-if="showToast"
:dismiss-timer="5"
title="Auto-dismiss"
message="This toast will automatically dismiss in 5 seconds."
:on-dismiss="handleDismiss" />
</template>
Border Radius
Use the border-radius
prop to customize the border radius of the toast.
vue