@primer/react
Version:
An implementation of GitHub's Primer Design System using React
204 lines (197 loc) • 4.08 kB
JavaScript
import { c } from 'react-compiler-runtime';
import { clsx } from 'clsx';
import React from 'react';
import styles from './SubNav.module.css.js';
import { jsx, jsxs } from 'react/jsx-runtime';
const SubNav = /*#__PURE__*/React.forwardRef(function SubNav(t0, forwardRef) {
const $ = c(20);
let actions;
let children;
let className;
let label;
let rest;
if ($[0] !== t0) {
({
actions,
className,
children,
label,
...rest
} = t0);
$[0] = t0;
$[1] = actions;
$[2] = children;
$[3] = className;
$[4] = label;
$[5] = rest;
} else {
actions = $[1];
children = $[2];
className = $[3];
label = $[4];
rest = $[5];
}
let t1;
if ($[6] !== className) {
t1 = clsx(className, "SubNav", styles.SubNav);
$[6] = className;
$[7] = t1;
} else {
t1 = $[7];
}
let t2;
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
t2 = clsx("SubNav-body", styles.Body);
$[8] = t2;
} else {
t2 = $[8];
}
let t3;
if ($[9] !== children) {
t3 = /*#__PURE__*/jsx("div", {
className: t2,
children: children
});
$[9] = children;
$[10] = t3;
} else {
t3 = $[10];
}
let t4;
if ($[11] !== actions) {
t4 = actions && /*#__PURE__*/jsx("div", {
className: clsx("SubNav-actions", styles.Actions),
children: actions
});
$[11] = actions;
$[12] = t4;
} else {
t4 = $[12];
}
let t5;
if ($[13] !== forwardRef || $[14] !== label || $[15] !== rest || $[16] !== t1 || $[17] !== t3 || $[18] !== t4) {
t5 = /*#__PURE__*/jsxs("nav", {
ref: forwardRef,
className: t1,
"aria-label": label,
...rest,
children: [t3, t4]
});
$[13] = forwardRef;
$[14] = label;
$[15] = rest;
$[16] = t1;
$[17] = t3;
$[18] = t4;
$[19] = t5;
} else {
t5 = $[19];
}
return t5;
});
SubNav.displayName = 'SubNav';
// SubNav.Links
const SubNavLinks = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
const $ = c(11);
let children;
let className;
let rest;
if ($[0] !== t0) {
({
children,
className,
...rest
} = t0);
$[0] = t0;
$[1] = children;
$[2] = className;
$[3] = rest;
} else {
children = $[1];
className = $[2];
rest = $[3];
}
let t1;
if ($[4] !== className) {
t1 = clsx(className, styles.Links);
$[4] = className;
$[5] = t1;
} else {
t1 = $[5];
}
let t2;
if ($[6] !== children || $[7] !== forwardRef || $[8] !== rest || $[9] !== t1) {
t2 = /*#__PURE__*/jsx("div", {
ref: forwardRef,
className: t1,
...rest,
children: children
});
$[6] = children;
$[7] = forwardRef;
$[8] = rest;
$[9] = t1;
$[10] = t2;
} else {
t2 = $[10];
}
return t2;
});
SubNavLinks.displayName = 'SubNav.Links';
// SubNav.Link
const SubNavLink = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
const $ = c(11);
let children;
let className;
let rest;
if ($[0] !== t0) {
({
children,
className,
...rest
} = t0);
$[0] = t0;
$[1] = children;
$[2] = className;
$[3] = rest;
} else {
children = $[1];
className = $[2];
rest = $[3];
}
let t1;
if ($[4] !== className) {
t1 = clsx(className, styles.Link);
$[4] = className;
$[5] = t1;
} else {
t1 = $[5];
}
let t2;
if ($[6] !== children || $[7] !== forwardRef || $[8] !== rest || $[9] !== t1) {
t2 = /*#__PURE__*/jsx("a", {
ref: forwardRef,
className: t1,
"data-selected": rest.selected,
"aria-current": rest.selected,
...rest,
children: children
});
$[6] = children;
$[7] = forwardRef;
$[8] = rest;
$[9] = t1;
$[10] = t2;
} else {
t2 = $[10];
}
return t2;
});
SubNavLink.displayName = 'SubNav.Link';
var SubNav_default = Object.assign(SubNav, {
Link: SubNavLink,
Links: SubNavLinks,
__SLOT__: Symbol('SubNav')
});
SubNavLink.__SLOT__ = Symbol('SubNav.Link');
export { SubNav_default as default };