web/app/components/ui/alert.tsxblame
View source
4dfd09b1const variantStyles = {
4dfd09b2 error: {
4dfd09b3 backgroundColor: "var(--error-bg)",
4dfd09b4 border: "1px solid var(--error-border)",
4dfd09b5 color: "var(--error-text)",
4dfd09b6 },
4dfd09b7 warning: {
4dfd09b8 backgroundColor: "var(--status-closed-bg)",
4dfd09b9 border: "1px solid var(--status-closed-border)",
4dfd09b10 color: "var(--status-closed-text)",
4dfd09b11 },
4dfd09b12 info: {
4dfd09b13 backgroundColor: "var(--accent-subtle)",
4dfd09b14 border: "1px solid var(--accent)",
4dfd09b15 color: "var(--accent)",
4dfd09b16 },
4dfd09b17 success: {
4dfd09b18 backgroundColor: "var(--status-open-bg)",
4dfd09b19 border: "1px solid var(--status-open-border)",
4dfd09b20 color: "var(--status-open-text)",
4dfd09b21 },
4dfd09b22} as const;
4dfd09b23
4dfd09b24export interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
4dfd09b25 variant?: keyof typeof variantStyles;
4dfd09b26}
4dfd09b27
4dfd09b28export function Alert({
4dfd09b29 variant = "error",
4dfd09b30 className = "",
4dfd09b31 style,
4dfd09b32 children,
4dfd09b33 ...props
4dfd09b34}: AlertProps) {
4dfd09b35 return (
4dfd09b36 <div
4dfd09b37 className={`text-sm px-3 py-2 ${className}`}
4dfd09b38 style={{ ...variantStyles[variant], ...style }}
4dfd09b39 {...props}
4dfd09b40 >
4dfd09b41 {children}
4dfd09b42 </div>
4dfd09b43 );
4dfd09b44}