UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

217 lines (214 loc) • 4.8 kB
import { c } from 'react-compiler-runtime'; import { forwardRef } from 'react'; import { isElement } from 'react-is'; import classes from './UnderlineTabbedInterface.module.css.js'; import { clsx } from 'clsx'; import { BoxWithFallback } from './BoxWithFallback.js'; import { jsx, jsxs } from 'react/jsx-runtime'; import CounterLabel from '../../CounterLabel/CounterLabel.js'; const GAP = 8; const UnderlineWrapper = /*#__PURE__*/forwardRef((t0, forwardedRef) => { 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(classes.UnderlineWrapper, className); $[4] = className; $[5] = t1; } else { t1 = $[5]; } let t2; if ($[6] !== children || $[7] !== forwardedRef || $[8] !== rest || $[9] !== t1) { t2 = /*#__PURE__*/jsx(BoxWithFallback, { className: t1, ref: forwardedRef, ...rest, children: children }); $[6] = children; $[7] = forwardedRef; $[8] = rest; $[9] = t1; $[10] = t2; } else { t2 = $[10]; } return t2; }); const UnderlineItemList = /*#__PURE__*/forwardRef((t0, forwardedRef) => { const $ = c(7); let children; let rest; if ($[0] !== t0) { ({ children, ...rest } = t0); $[0] = t0; $[1] = children; $[2] = rest; } else { children = $[1]; rest = $[2]; } let t1; if ($[3] !== children || $[4] !== forwardedRef || $[5] !== rest) { t1 = /*#__PURE__*/jsx("ul", { className: classes.UnderlineItemList, ref: forwardedRef, ...rest, children: children }); $[3] = children; $[4] = forwardedRef; $[5] = rest; $[6] = t1; } else { t1 = $[6]; } return t1; }); const LoadingCounter = () => { const $ = c(1); let t0; if ($[0] === Symbol.for("react.memo_cache_sentinel")) { t0 = /*#__PURE__*/jsx("span", { className: classes.LoadingCounter }); $[0] = t0; } else { t0 = $[0]; } return t0; }; const UnderlineItem = /*#__PURE__*/forwardRef((t0, forwardedRef) => { const $ = c(27); let Icon; let children; let className; let counter; let iconsVisible; let loadingCounters; let rest; let t1; if ($[0] !== t0) { ({ as: t1, children, counter, icon: Icon, iconsVisible, loadingCounters, className, ...rest } = t0); $[0] = t0; $[1] = Icon; $[2] = children; $[3] = className; $[4] = counter; $[5] = iconsVisible; $[6] = loadingCounters; $[7] = rest; $[8] = t1; } else { Icon = $[1]; children = $[2]; className = $[3]; counter = $[4]; iconsVisible = $[5]; loadingCounters = $[6]; rest = $[7]; t1 = $[8]; } const as = t1 === undefined ? "a" : t1; let t2; if ($[9] !== className) { t2 = clsx(classes.UnderlineItem, className); $[9] = className; $[10] = t2; } else { t2 = $[10]; } let t3; if ($[11] !== Icon || $[12] !== iconsVisible) { t3 = iconsVisible && Icon && /*#__PURE__*/jsx("span", { "data-component": "icon", children: isElement(Icon) ? Icon : /*#__PURE__*/jsx(Icon, {}) }); $[11] = Icon; $[12] = iconsVisible; $[13] = t3; } else { t3 = $[13]; } let t4; if ($[14] !== children) { t4 = children && /*#__PURE__*/jsx("span", { "data-component": "text", "data-content": children, children: children }); $[14] = children; $[15] = t4; } else { t4 = $[15]; } let t5; if ($[16] !== counter || $[17] !== loadingCounters) { t5 = counter !== undefined ? loadingCounters ? /*#__PURE__*/jsx("span", { "data-component": "counter", children: /*#__PURE__*/jsx(LoadingCounter, {}) }) : /*#__PURE__*/jsx("span", { "data-component": "counter", children: /*#__PURE__*/jsx(CounterLabel, { children: counter }) }) : null; $[16] = counter; $[17] = loadingCounters; $[18] = t5; } else { t5 = $[18]; } let t6; if ($[19] !== as || $[20] !== forwardedRef || $[21] !== rest || $[22] !== t2 || $[23] !== t3 || $[24] !== t4 || $[25] !== t5) { t6 = /*#__PURE__*/jsxs(BoxWithFallback, { ref: forwardedRef, as: as, className: t2, ...rest, children: [t3, t4, t5] }); $[19] = as; $[20] = forwardedRef; $[21] = rest; $[22] = t2; $[23] = t3; $[24] = t4; $[25] = t5; $[26] = t6; } else { t6 = $[26]; } return t6; }); export { GAP, LoadingCounter, UnderlineItem, UnderlineItemList, UnderlineWrapper };