UNPKG

@zenithui/toast

Version:

A modern, lightweight toast notification system for React applications. ZenithUI Toast provides a simple and customizable way to display notifications, alerts, and messages to users with smooth animations and flexible styling options.

79 lines (78 loc) 2.5 kB
function reverseToasts(toasts) { const ret = []; for(let i = toasts.length - 1; i >= 0; i--)ret.push(toasts[i]); return ret; } function getPositionClass(position) { switch(position){ case "top-left": return "zenithui-top-left"; case "top-right": return "zenithui-top-right"; case "bottom-left": return "zenithui-bottom-left"; case "bottom-right": return "zenithui-bottom-right"; case "top-center": return "zenithui-top-center"; case "bottom-center": return "zenithui-bottom-center"; default: return "zenithui-top-right"; } } function getToastTheme(type) { switch(type){ case "success": return "zenithui-toast-success"; case "info": return "zenithui-toast-info"; case "error": return "zenithui-toast-error"; case "warning": return "zenithui-toast-warning"; default: return "zenithui-toast-success"; } } function getToastAnimation(animation, position, isEnter) { switch(animation){ case "enter-with-icon": case "fade": return getFadeAnimation(position, isEnter); case "slide": return getSlideAnimation(position, isEnter); default: break; } } function getFadeAnimation(position, isEnter) { switch(position){ case "top-left": case "top-right": case "top-center": return isEnter ? "zenithui-fade-in-top" : "zenithui-fade-out-top"; case "bottom-center": case "bottom-left": case "bottom-right": default: return isEnter ? "zenithui-fade-in-bottom" : "zenithui-fade-out-bottom"; } } function getSlideAnimation(position, isEnter) { switch(position){ case "top-left": case "bottom-left": return isEnter ? "zenithui-slide-in-left" : "zenithui-slide-out-left"; case "top-right": case "bottom-right": return isEnter ? "zenithui-slide-in-right" : "zenithui-slide-out-right"; case "top-center": return isEnter ? "zenithui-fade-in-top" : "zenithui-fade-out-top"; case "bottom-center": return isEnter ? "zenithui-fade-in-bottom" : "zenithui-fade-out-bottom"; default: return ""; } } export { getPositionClass, getToastAnimation, getToastTheme, reverseToasts };