import { jsx as _jsx } from "react/jsx-runtime";
import { forwardRef } from "react";
import { icon } from "./styles.js";
/**
 * **Server Component**
 *
 * The `SVGIcon` component is used to render inline SVG icons or SVG icons in a
 * sprite map as an icon.
 */ export const SVGIcon = /*#__PURE__*/ forwardRef(function SVGIcon(props, ref) {
    const { "aria-hidden": ariaHidden = true, focusable = "false", use, xmlns = use ? "http://www.w3.org/2000/svg" : undefined, viewBox = "0 0 24 24", dense = false, className, theme, inline, children: propChildren, ...remaining } = props;
    let children = propChildren;
    if (!children && use) {
        children = /*#__PURE__*/ _jsx("use", {
            xlinkHref: use
        });
    }
    return /*#__PURE__*/ _jsx("svg", {
        ...remaining,
        "aria-hidden": ariaHidden,
        ref: ref,
        className: icon({
            type: "svg",
            dense,
            theme,
            inline,
            className
        }),
        focusable: focusable,
        xmlns: xmlns,
        viewBox: viewBox,
        children: children
    });
});

//# sourceMappingURL=SVGIcon.js.map