/**
 * 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,
	);
}
