/**
 * Copyright (c) 2025 xwra
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

import { ComponentChildren, h } from "preact";

interface TitleProps {
  level?: 1 | 2 | 3 | 4 | 5 | 6;
  children: ComponentChildren;
  [key: string]: any;
}

export default function Title({
  level = 1,
  children,
  class: className,
  ...props
}: TitleProps) {
  const Heading = `h${Math.min(Math.max(level, 1), 6)}`;
  return h(
    Heading,
    {
      class: `title title-${level} ${className || ""}`,
      ...props,
    },
    children,
  );
}
