"use client"; import TextBox from "@/components/Textbox"; import MediaContent from "@/components/shared/MediaContent"; import { cls } from "@/lib/utils"; import type { LucideIcon } from "lucide-react"; import type { ButtonConfig } from "@/types/button"; const RADIAL_MASK_GRADIENT = "radial-gradient(circle, black 20%, transparent 70%)"; interface HeroOverlayProps { title: string; description: string; tag?: string; tagIcon?: LucideIcon; buttons?: ButtonConfig[]; imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: string; textPosition?: "center" | "bottom-left"; showDimOverlay?: boolean; showBlur?: boolean; ariaLabel?: string; className?: string; containerClassName?: string; textBoxClassName?: string; titleClassName?: string; descriptionClassName?: string; tagClassName?: string; buttonContainerClassName?: string; buttonClassName?: string; buttonTextClassName?: string; mediaWrapperClassName?: string; imageClassName?: string; blurClassName?: string; dimOverlayClassName?: string; } const HeroOverlay = ({ title, description, tag, tagIcon, buttons, imageSrc, videoSrc, imageAlt = "", videoAriaLabel = "Hero video", textPosition = "bottom-left", showDimOverlay = false, showBlur = true, ariaLabel = "Hero section", className = "", containerClassName = "", textBoxClassName = "", titleClassName = "", descriptionClassName = "", tagClassName = "", buttonContainerClassName = "", buttonClassName = "", buttonTextClassName = "", mediaWrapperClassName = "", imageClassName = "", blurClassName = "", dimOverlayClassName = "", }: HeroOverlayProps) => { return (
{showDimOverlay && (
)}
{showBlur && (
); }; HeroOverlay.displayName = "HeroOverlay"; export default HeroOverlay;