UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

98 lines (97 loc) 2.83 kB
import Link from "./Link/Link.js"; import SideNav_module_css_default from "./SideNav.module.css.js"; import { c } from "react-compiler-runtime"; import { clsx } from "clsx"; import { jsx } from "react/jsx-runtime"; //#region src/SideNav.tsx function SideNav(t0) { const $ = c(10); const { as: t1, variant: t2, className, bordered, children, "aria-label": ariaLabel } = t0; const Component = t1 === void 0 ? "nav" : t1; const variantClassName = (t2 === void 0 ? "normal" : t2) === "lightweight" ? "lightweight" : "normal"; const t3 = SideNav_module_css_default[`SideNavVariant--${variantClassName}`]; const t4 = `variant-${variantClassName}`; let t5; if ($[0] !== bordered || $[1] !== className || $[2] !== t3 || $[3] !== t4) { t5 = clsx(SideNav_module_css_default.SideNav, t3, "sidenav", t4, className, { [SideNav_module_css_default.SideNavBordered]: bordered }); $[0] = bordered; $[1] = className; $[2] = t3; $[3] = t4; $[4] = t5; } else t5 = $[4]; const newClassName = t5; let t6; if ($[5] !== Component || $[6] !== ariaLabel || $[7] !== children || $[8] !== newClassName) { t6 = /*#__PURE__*/ jsx(Component, { className: newClassName, "aria-label": ariaLabel, "data-component": "SideNav", children }); $[5] = Component; $[6] = ariaLabel; $[7] = children; $[8] = newClassName; $[9] = t6; } else t6 = $[9]; return t6; } const SideNavLink = (t0) => { const $ = c(15); let children; let className; let rest; let selected; let to; let variant; if ($[0] !== t0) { ({selected, to, variant, className, children, ...rest} = t0); $[0] = t0; $[1] = children; $[2] = className; $[3] = rest; $[4] = selected; $[5] = to; $[6] = variant; } else { children = $[1]; className = $[2]; rest = $[3]; selected = $[4]; to = $[5]; variant = $[6]; } const isReactRouter = typeof to === "string"; const t1 = variant === "full"; let t2; if ($[7] !== className || $[8] !== t1) { t2 = clsx(SideNav_module_css_default.SideNavLink, className, { [SideNav_module_css_default.SideNavLinkFull]: t1 }); $[7] = className; $[8] = t1; $[9] = t2; } else t2 = $[9]; const newClassName = t2; const t3 = isReactRouter || selected ? "page" : void 0; let t4; if ($[10] !== children || $[11] !== newClassName || $[12] !== rest || $[13] !== t3) { t4 = /*#__PURE__*/ jsx(Link, { "aria-current": t3, className: newClassName, ...rest, "data-component": "SideNav.Link", children }); $[10] = children; $[11] = newClassName; $[12] = rest; $[13] = t3; $[14] = t4; } else t4 = $[14]; return t4; }; SideNavLink.displayName = "SideNav.Link"; /** @deprecated Use [NavList](https://primer.style/react/NavList) instead */ var SideNav_default = Object.assign(SideNav, { Link: SideNavLink }); //#endregion export { SideNav_default as default };