@primer/react
Version:
An implementation of GitHub's Primer Design System using React
259 lines (254 loc) • 5.32 kB
JavaScript
import { c } from 'react-compiler-runtime';
import { clsx } from 'clsx';
import React from 'react';
import classes from './Timeline.module.css.js';
import { jsx } from 'react/jsx-runtime';
function resolveClipSidebar(clipSidebar) {
if (clipSidebar === true || clipSidebar === 'both') return 'both';
if (clipSidebar === 'start' || clipSidebar === 'end') return clipSidebar;
return undefined;
}
const Timeline = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
const $ = c(13);
let className;
let clipSidebar;
let props;
if ($[0] !== t0) {
({
clipSidebar,
className,
...props
} = t0);
$[0] = t0;
$[1] = className;
$[2] = clipSidebar;
$[3] = props;
} else {
className = $[1];
clipSidebar = $[2];
props = $[3];
}
let t1;
if ($[4] !== clipSidebar) {
t1 = resolveClipSidebar(clipSidebar);
$[4] = clipSidebar;
$[5] = t1;
} else {
t1 = $[5];
}
const resolvedClipSidebar = t1;
let t2;
if ($[6] !== className) {
t2 = clsx(className, classes.Timeline);
$[6] = className;
$[7] = t2;
} else {
t2 = $[7];
}
let t3;
if ($[8] !== forwardRef || $[9] !== props || $[10] !== resolvedClipSidebar || $[11] !== t2) {
t3 = /*#__PURE__*/jsx("div", {
...props,
className: t2,
ref: forwardRef,
"data-clip-sidebar": resolvedClipSidebar
});
$[8] = forwardRef;
$[9] = props;
$[10] = resolvedClipSidebar;
$[11] = t2;
$[12] = t3;
} else {
t3 = $[12];
}
return t3;
});
Timeline.displayName = 'Timeline';
/**
* @deprecated Use the `TimelineItemProps` type instead
*/
const TimelineItem = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
const $ = c(11);
let className;
let condensed;
let props;
if ($[0] !== t0) {
({
condensed,
className,
...props
} = t0);
$[0] = t0;
$[1] = className;
$[2] = condensed;
$[3] = props;
} else {
className = $[1];
condensed = $[2];
props = $[3];
}
let t1;
if ($[4] !== className) {
t1 = clsx(className, "Timeline-Item", classes.TimelineItem);
$[4] = className;
$[5] = t1;
} else {
t1 = $[5];
}
const t2 = condensed ? "" : undefined;
let t3;
if ($[6] !== forwardRef || $[7] !== props || $[8] !== t1 || $[9] !== t2) {
t3 = /*#__PURE__*/jsx("div", {
...props,
className: t1,
ref: forwardRef,
"data-condensed": t2
});
$[6] = forwardRef;
$[7] = props;
$[8] = t1;
$[9] = t2;
$[10] = t3;
} else {
t3 = $[10];
}
return t3;
});
TimelineItem.displayName = 'TimelineItem';
const TimelineBadge = t0 => {
const $ = c(10);
let className;
let props;
let variant;
if ($[0] !== t0) {
({
className,
variant,
...props
} = t0);
$[0] = t0;
$[1] = className;
$[2] = props;
$[3] = variant;
} else {
className = $[1];
props = $[2];
variant = $[3];
}
let t1;
if ($[4] !== className) {
t1 = clsx(className, classes.TimelineBadge);
$[4] = className;
$[5] = t1;
} else {
t1 = $[5];
}
let t2;
if ($[6] !== props || $[7] !== t1 || $[8] !== variant) {
t2 = /*#__PURE__*/jsx("div", {
className: classes.TimelineBadgeWrapper,
children: /*#__PURE__*/jsx("div", {
...props,
className: t1,
"data-variant": variant
})
});
$[6] = props;
$[7] = t1;
$[8] = variant;
$[9] = t2;
} else {
t2 = $[9];
}
return t2;
};
TimelineBadge.displayName = 'Timeline.Badge';
const TimelineBody = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
const $ = c(9);
let className;
let props;
if ($[0] !== t0) {
({
className,
...props
} = t0);
$[0] = t0;
$[1] = className;
$[2] = props;
} else {
className = $[1];
props = $[2];
}
let t1;
if ($[3] !== className) {
t1 = clsx(className, classes.TimelineBody);
$[3] = className;
$[4] = t1;
} else {
t1 = $[4];
}
let t2;
if ($[5] !== forwardRef || $[6] !== props || $[7] !== t1) {
t2 = /*#__PURE__*/jsx("div", {
...props,
className: t1,
ref: forwardRef
});
$[5] = forwardRef;
$[6] = props;
$[7] = t1;
$[8] = t2;
} else {
t2 = $[8];
}
return t2;
});
TimelineBody.displayName = 'TimelineBody';
const TimelineBreak = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
const $ = c(9);
let className;
let props;
if ($[0] !== t0) {
({
className,
...props
} = t0);
$[0] = t0;
$[1] = className;
$[2] = props;
} else {
className = $[1];
props = $[2];
}
let t1;
if ($[3] !== className) {
t1 = clsx(className, classes.TimelineBreak);
$[3] = className;
$[4] = t1;
} else {
t1 = $[4];
}
let t2;
if ($[5] !== forwardRef || $[6] !== props || $[7] !== t1) {
t2 = /*#__PURE__*/jsx("div", {
...props,
className: t1,
ref: forwardRef
});
$[5] = forwardRef;
$[6] = props;
$[7] = t1;
$[8] = t2;
} else {
t2 = $[8];
}
return t2;
});
TimelineBreak.displayName = 'TimelineBreak';
var Timeline_default = Object.assign(Timeline, {
Item: TimelineItem,
Badge: TimelineBadge,
Body: TimelineBody,
Break: TimelineBreak
});
export { Timeline_default as default };