/** * Copyright (c) 2025 misties * SPDX-License-Identifier: AGPL-3.0-or-later */ import { ComponentChildren, h } from "preact"; import { LinkIcon } from "./Icon.tsx"; interface PolygonBoxProps { as?: keyof HTMLElementTagNameMap; children?: ComponentChildren; [key: string]: any; } export default function Box( { as: Tag = "span", class: className, children, ...props }: PolygonBoxProps, ) { const content = Tag === "a" ? [children, h(LinkIcon, { size: 16, class: "link-icon" })] : children; return h(Tag, { class: `box ${className || ""}`, ...props }, content); }