alert.tsx 889 B

1234567891011121314151617181920212223242526272829
  1. "use client";
  2. import type { ComponentRenderProps } from "./types";
  3. import { baseClass, getCustomClass } from "./utils";
  4. export function Alert({ element }: ComponentRenderProps) {
  5. const { props } = element;
  6. const customClass = getCustomClass(props);
  7. const alertType = props.type as string;
  8. const alertClass =
  9. alertType === "success"
  10. ? "bg-green-50 border-green-200"
  11. : alertType === "warning"
  12. ? "bg-yellow-50 border-yellow-200"
  13. : alertType === "error"
  14. ? "bg-red-50 border-red-200"
  15. : "bg-blue-50 border-blue-200";
  16. return (
  17. <div
  18. className={`p-2 rounded border ${alertClass} ${baseClass} ${customClass}`}
  19. >
  20. <div className="text-xs font-medium">{props.title as string}</div>
  21. {props.message ? (
  22. <div className="text-[10px] mt-0.5">{props.message as string}</div>
  23. ) : null}
  24. </div>
  25. );
  26. }