import React from "react"; interface HeadingProps { children: React.ReactNode; className?: string; id?: string; } const getTextContent = (node: React.ReactNode): string => { if (typeof node === "string") return node; if (typeof node === "number") return String(node); if (React.isValidElement(node)) return getTextContent((node.props as any).children); if (Array.isArray(node)) return node.map(getTextContent).join(""); return ""; }; const charMap: Record = { "ä": "ae", "ö": "oe", "ü": "ue" }; const generateId = (children: React.ReactNode): string => { const text = getTextContent(children); return text .toLowerCase() .replace(/[äöü]/g, (c) => charMap[c] ?? c) .replace(/[^a-z0-9]+/g, "-") .replace(/^-|-$/g, ""); }; export const H1: React.FC = ({ children, className = "", id }) => (

{children}

); export const H2: React.FC = ({ children, className = "", id }) => { const generatedId = id || generateId(children); return (

{children}

); }; export const H3: React.FC = ({ children, className = "", id }) => (

{children}

);