"use client"; import { memo } from "react"; import { cls } from "@/lib/utils"; export type LegalContentItem = | { type: "paragraph"; text: string } | { type: "list"; items: string[] } | { type: "numbered-list"; items: string[] }; export interface LegalContentSection { heading: string; content: LegalContentItem[]; } interface LegalSectionProps { layout: "page" | "section"; title: string; subtitle?: string; sections: LegalContentSection[]; className?: string; titleClassName?: string; subtitleClassName?: string; sectionClassName?: string; headingClassName?: string; contentClassName?: string; listClassName?: string; } const LegalSection = ({ layout, title, subtitle, sections, className = "", titleClassName = "", subtitleClassName = "", sectionClassName = "", headingClassName = "", contentClassName = "", listClassName = "", }: LegalSectionProps) => { return (

{title}

{subtitle && (

{subtitle}

)}
{sections.map((section) => (

{section.heading}

{section.content.map((item, i) => { if (item.type === "paragraph") { return (

{item.text}

); } const ListTag = item.type === "numbered-list" ? "ol" : "ul"; return ( {item.items.map((li, j) => (
  • {li}
  • ))}
    ); })}
    ))}
    ); }; LegalSection.displayName = "LegalSection"; export default memo(LegalSection);