@primer/react-brand
Version:
Primer Brand is a GitHub's design system for creating React-based marketing websites and digital experiences.
49 lines (48 loc) • 2.02 kB
JavaScript
import e from "../node_modules/clsx/dist/clsx.js";
import { BiColorGradients as t, Colors as n, TriColorGradients as r } from "../constants.js";
import { useAnimation as i } from "../animation/useAnimation.js";
import { Text as a } from "../Text/Text.js";
import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes-BB1L_8rS.css';/* empty css */
import o from "./Label.module.js";
import s, { forwardRef as c, useMemo as l } from "react";
import { jsx as u, jsxs as d } from "react/jsx-runtime";
//#region src/Label/Label.tsx
var f = [...t, ...r], p = [...n, ...f], m = [
"small",
"medium",
"large"
], h = p[0], g = m[1], _ = {
root: "Label",
get leadingVisual() {
return `${this.root}-leading-visual`;
}
}, v = c(({ animate: t, className: n, size: r = g, color: c = h, children: p, "data-testid": m, leadingVisual: v, style: y, ...b }, x) => {
let { classes: S, styles: C } = i(t), w = l(() => f.find((e) => e === c), [c]);
return /* @__PURE__ */ d("span", {
ref: x,
className: e(S, o.Label, o[`Label--color-${c}`], o[`Label--size-${r}`], w && o["Label--gradient"], n),
"data-testid": m || _.root,
style: {
...C,
...y
},
...b,
children: [v && /* @__PURE__ */ u("span", {
className: o["Label__leading-visual"],
"data-testid": _.leadingVisual,
"aria-hidden": "true",
children: typeof v == "function" ? /* @__PURE__ */ u(v, {}) : s.isValidElement(v) && s.cloneElement(v, { className: e(o["Label__icon-visual"]) })
}), /* @__PURE__ */ u("span", {
className: e(o.Label__text),
children: /* @__PURE__ */ u(a, {
as: "span",
size: r === "large" ? "200" : "100",
className: e(o.Label__label),
children: p
})
})]
});
}), y = Object.assign(v, { testIds: _ });
//#endregion
export { y as Label, p as LabelColors, m as LabelSizes, h as defaultLabelColor, g as defaultLabelSize };
//# sourceMappingURL=Label.js.map