@primer/react
Version:
An implementation of GitHub's Primer Design System using React
98 lines (95 loc) • 2 kB
JavaScript
import { c } from 'react-compiler-runtime';
import isNumeric from '../utils/isNumeric.js';
import styles from './CircleBadge.module.css.js';
import { clsx } from 'clsx';
import { jsx } from 'react/jsx-runtime';
import Octicon from '../Octicon/Octicon.js';
const variantSizes = {
small: 56,
medium: 96,
large: 128
};
const sizeStyles = ({
size,
variant = 'medium'
}) => {
const calc = isNumeric(size) ? size : variantSizes[variant];
return {
width: calc,
height: calc
};
};
const CircleBadge = t0 => {
const $ = c(12);
let T0;
let t1;
let t2;
let t3;
let t4;
if ($[0] !== t0) {
const {
as: t5,
...props
} = t0;
const Component = t5 === undefined ? "div" : t5;
T0 = Component;
t1 = props;
t2 = clsx(styles.CircleBadge, props.className);
t3 = props.inline ? "" : undefined;
t4 = sizeStyles(props);
$[0] = t0;
$[1] = T0;
$[2] = t1;
$[3] = t2;
$[4] = t3;
$[5] = t4;
} else {
T0 = $[1];
t1 = $[2];
t2 = $[3];
t3 = $[4];
t4 = $[5];
}
let t5;
if ($[6] !== T0 || $[7] !== t1 || $[8] !== t2 || $[9] !== t3 || $[10] !== t4) {
t5 = /*#__PURE__*/jsx(T0, {
...t1,
className: t2,
"data-inline": t3,
style: t4
});
$[6] = T0;
$[7] = t1;
$[8] = t2;
$[9] = t3;
$[10] = t4;
$[11] = t5;
} else {
t5 = $[11];
}
return t5;
};
const CircleBadgeIcon = props => {
const $ = c(2);
let t0;
if ($[0] !== props) {
t0 = /*#__PURE__*/jsx(Octicon, {
className: styles.CircleBadgeIcon,
...props
});
$[0] = props;
$[1] = t0;
} else {
t0 = $[1];
}
return t0;
};
CircleBadgeIcon.displayName = 'CircleBadge.Icon';
/**
* @deprecated This component is deprecated.
* Replace component with specific icon imports from `@primer/octicons-react` and customized styling.
*/
var CircleBadge_default = Object.assign(CircleBadge, {
Icon: CircleBadgeIcon
});
export { CircleBadge_default as default };