@primer/react
Version:
An implementation of GitHub's Primer Design System using React
233 lines (220 loc) • 4.73 kB
JavaScript
import { c } from 'react-compiler-runtime';
import { jsx } from 'react/jsx-runtime';
import { PageLayout } from '../PageLayout/PageLayout.js';
const Root = props => {
const $ = c(3);
let t0;
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
t0 = {
header: Header,
footer: Footer
};
$[0] = t0;
} else {
t0 = $[0];
}
let t1;
if ($[1] !== props) {
t1 = /*#__PURE__*/jsx(PageLayout, {
containerWidth: "full",
padding: "none",
columnGap: "none",
rowGap: "none",
_slotsConfig: t0,
...props
});
$[1] = props;
$[2] = t1;
} else {
t1 = $[2];
}
return t1;
};
Root.displayName = 'SplitPageLayout';
// ----------------------------------------------------------------------------
// SplitPageLayout.Header
const Header = t0 => {
const $ = c(8);
let props;
let t1;
let t2;
if ($[0] !== t0) {
({
padding: t1,
divider: t2,
...props
} = t0);
$[0] = t0;
$[1] = props;
$[2] = t1;
$[3] = t2;
} else {
props = $[1];
t1 = $[2];
t2 = $[3];
}
const padding = t1 === undefined ? "normal" : t1;
const divider = t2 === undefined ? "line" : t2;
let t3;
if ($[4] !== divider || $[5] !== padding || $[6] !== props) {
t3 = /*#__PURE__*/jsx(PageLayout.Header, {
padding: padding,
divider: divider,
...props
});
$[4] = divider;
$[5] = padding;
$[6] = props;
$[7] = t3;
} else {
t3 = $[7];
}
return t3;
};
Header.displayName = 'SplitPageLayout.Header';
// ----------------------------------------------------------------------------
// SplitPageLayout.Content
const Content = t0 => {
const $ = c(8);
let props;
let t1;
let t2;
if ($[0] !== t0) {
({
width: t1,
padding: t2,
...props
} = t0);
$[0] = t0;
$[1] = props;
$[2] = t1;
$[3] = t2;
} else {
props = $[1];
t1 = $[2];
t2 = $[3];
}
const width = t1 === undefined ? "large" : t1;
const padding = t2 === undefined ? "normal" : t2;
let t3;
if ($[4] !== padding || $[5] !== props || $[6] !== width) {
t3 = /*#__PURE__*/jsx(PageLayout.Content, {
width: width,
padding: padding,
...props
});
$[4] = padding;
$[5] = props;
$[6] = width;
$[7] = t3;
} else {
t3 = $[7];
}
return t3;
};
Content.displayName = 'SplitPageLayout.Content';
// ----------------------------------------------------------------------------
// SplitPageLayout.Pane
const Pane = t0 => {
const $ = c(12);
let props;
let t1;
let t2;
let t3;
let t4;
if ($[0] !== t0) {
({
position: t1,
sticky: t2,
padding: t3,
divider: t4,
...props
} = t0);
$[0] = t0;
$[1] = props;
$[2] = t1;
$[3] = t2;
$[4] = t3;
$[5] = t4;
} else {
props = $[1];
t1 = $[2];
t2 = $[3];
t3 = $[4];
t4 = $[5];
}
const position = t1 === undefined ? "start" : t1;
const sticky = t2 === undefined ? true : t2;
const padding = t3 === undefined ? "normal" : t3;
const divider = t4 === undefined ? "line" : t4;
let t5;
if ($[6] !== divider || $[7] !== padding || $[8] !== position || $[9] !== props || $[10] !== sticky) {
t5 = /*#__PURE__*/jsx(PageLayout.Pane, {
position: position,
sticky: sticky,
padding: padding,
divider: divider,
...props
});
$[6] = divider;
$[7] = padding;
$[8] = position;
$[9] = props;
$[10] = sticky;
$[11] = t5;
} else {
t5 = $[11];
}
return t5;
};
Pane.displayName = 'SplitPageLayout.Pane';
// ----------------------------------------------------------------------------
// SplitPageLayout.Footer
const Footer = t0 => {
const $ = c(8);
let props;
let t1;
let t2;
if ($[0] !== t0) {
({
padding: t1,
divider: t2,
...props
} = t0);
$[0] = t0;
$[1] = props;
$[2] = t1;
$[3] = t2;
} else {
props = $[1];
t1 = $[2];
t2 = $[3];
}
const padding = t1 === undefined ? "normal" : t1;
const divider = t2 === undefined ? "line" : t2;
let t3;
if ($[4] !== divider || $[5] !== padding || $[6] !== props) {
t3 = /*#__PURE__*/jsx(PageLayout.Footer, {
padding: padding,
divider: divider,
...props
});
$[4] = divider;
$[5] = padding;
$[6] = props;
$[7] = t3;
} else {
t3 = $[7];
}
return t3;
};
Footer.displayName = 'SplitPageLayout.Footer';
// ----------------------------------------------------------------------------
// Export
const SplitPageLayout = Object.assign(Root, {
Header,
Content,
Pane,
Footer
});
export { Content, Footer, Header, Pane, Root, SplitPageLayout };