@primer/react
Version:
An implementation of GitHub's Primer Design System using React
124 lines (121 loc) • 2.59 kB
JavaScript
import { c } from 'react-compiler-runtime';
import { isResponsiveValue } from '../hooks/useResponsiveValue.js';
import { DEFAULT_AVATAR_SIZE } from '../Avatar/Avatar.js';
import { SkeletonBox } from '../Skeleton/SkeletonBox.js';
import classes from './SkeletonAvatar.module.css.js';
import { clsx } from 'clsx';
import { jsx } from 'react/jsx-runtime';
function SkeletonAvatar(t0) {
const $ = c(26);
let className;
let rest;
let square;
let style;
let t1;
if ($[0] !== t0) {
({
size: t1,
square,
className,
style,
...rest
} = t0);
$[0] = t0;
$[1] = className;
$[2] = rest;
$[3] = square;
$[4] = style;
$[5] = t1;
} else {
className = $[1];
rest = $[2];
square = $[3];
style = $[4];
t1 = $[5];
}
const size = t1 === undefined ? DEFAULT_AVATAR_SIZE : t1;
let t2;
if ($[6] !== size) {
t2 = isResponsiveValue(size);
$[6] = size;
$[7] = t2;
} else {
t2 = $[7];
}
const responsive = t2;
let cssSizeVars;
if ($[8] !== responsive || $[9] !== size) {
cssSizeVars = {};
if (responsive) {
let t3;
if ($[11] !== size) {
t3 = Object.entries(size);
$[11] = size;
$[12] = t3;
} else {
t3 = $[12];
}
for (const [key, value] of t3) {
cssSizeVars[`--avatarSize-${key}`] = `${value}px`;
}
} else {
cssSizeVars["--avatarSize-regular"] = `${size}px`;
}
$[8] = responsive;
$[9] = size;
$[10] = cssSizeVars;
} else {
cssSizeVars = $[10];
}
let t3;
if ($[13] !== className) {
t3 = clsx(className, classes.SkeletonAvatar);
$[13] = className;
$[14] = t3;
} else {
t3 = $[14];
}
const t4 = responsive ? "" : undefined;
const t5 = square ? "" : undefined;
let t6;
if ($[15] !== style) {
t6 = style || {};
$[15] = style;
$[16] = t6;
} else {
t6 = $[16];
}
let t7;
if ($[17] !== cssSizeVars || $[18] !== t6) {
t7 = {
...t6,
...cssSizeVars
};
$[17] = cssSizeVars;
$[18] = t6;
$[19] = t7;
} else {
t7 = $[19];
}
let t8;
if ($[20] !== rest || $[21] !== t3 || $[22] !== t4 || $[23] !== t5 || $[24] !== t7) {
t8 = /*#__PURE__*/jsx(SkeletonBox, {
className: t3,
...rest,
"data-component": "SkeletonAvatar",
"data-responsive": t4,
"data-square": t5,
style: t7
});
$[20] = rest;
$[21] = t3;
$[22] = t4;
$[23] = t5;
$[24] = t7;
$[25] = t8;
} else {
t8 = $[25];
}
return t8;
}
export { SkeletonAvatar };