import type { ReactNode } from "react"; import { ArrowDown } from "lucide-react"; import { Container } from "@/components/layout/container"; import { HeroMotionBackdrop } from "@/components/layout/hero-motion-backdrop"; import { cn } from "@/lib/utils"; type HeroTone = "default" | "accent" | "soft"; type HeroLineAlign = "start" | "center" | "end"; type HeroTitleLine = { text: string; tone?: HeroTone; align?: HeroLineAlign; }; type HeroShellProps = { children: ReactNode; className?: string; compactBackdrop?: boolean; containerClassName?: string; contentClassName?: string; showBridges?: boolean; size?: "default" | "narrow" | "wide"; variant?: "home" | "page"; }; type HeroTitleProps = { lines: HeroTitleLine[]; locale?: string; variant?: "home" | "page"; className?: string; }; type HeroScrollLinkProps = { href: string; label: string; className?: string; }; const toneClasses: Record = { default: "", accent: "hero-title-accent", soft: "hero-title-accent-soft", }; const lineAlignClasses: Record = { start: "self-start text-start", center: "self-center text-center", end: "self-end text-end", }; export function HeroShell({ children, className, compactBackdrop = false, containerClassName, contentClassName, showBridges = false, size = "default", variant = "home", }: HeroShellProps) { return (
{showBridges ?
: null} {showBridges ?
: null}
{children}
); } export function HeroTitle({ lines, locale = "en", variant = "home", className, }: HeroTitleProps) { const isArabic = locale === "ar"; return (

{lines.map((line, index) => ( {line.text} ))}

); } export function HeroScrollLink({ href, label, className, }: HeroScrollLinkProps) { return ( ); }