var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
};
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import * as React from "react";
import { cn } from "@utils";
import { badgeVariants } from "./badgeVariants";
/**
 * Badge component for displaying small counts, labels, or statuses
 */
export const Badge = React.forwardRef((_a, ref) => {
    var { className, label, prefixIcon, suffixIcon, variant = "filled", size = "md", color = "primary" } = _a, props = __rest(_a, ["className", "label", "prefixIcon", "suffixIcon", "variant", "size", "color"]);
    return (_jsxs("div", Object.assign({ ref: ref, className: cn(badgeVariants({ variant, size, color }), className) }, props, { children: [prefixIcon && _jsx("span", { className: "mr-1 inline-flex", children: prefixIcon }), label && _jsx("span", { children: label }), suffixIcon && _jsx("span", { className: "ml-1 inline-flex", children: suffixIcon })] })));
});
Badge.displayName = "Badge";
//# sourceMappingURL=badge.js.map