UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

205 lines (204 loc) • 5.09 kB
import CounterLabel from "../../CounterLabel/CounterLabel.js"; import UnderlineTabbedInterface_module_css_default from "./UnderlineTabbedInterface.module.css.js"; import { c } from "react-compiler-runtime"; import { clsx } from "clsx"; import { jsx, jsxs } from "react/jsx-runtime"; import React, { forwardRef } from "react"; import { isElement } from "react-is"; //#region src/internal/components/UnderlineTabbedInterface.tsx function getTextContent(children) { if (typeof children === "string" || typeof children === "number") return String(children); if (Array.isArray(children)) return children.map(getTextContent).join(""); return ""; } const UnderlineWrapper = /*#__PURE__*/ forwardRef((props, ref) => { const $ = c(13); let children; let className; let rest; let t0; if ($[0] !== props) { ({children, className, as: t0, ...rest} = props); $[0] = props; $[1] = children; $[2] = className; $[3] = rest; $[4] = t0; } else { children = $[1]; className = $[2]; rest = $[3]; t0 = $[4]; } const Component = t0 === void 0 ? "div" : t0; let t1; if ($[5] !== className) { t1 = clsx(UnderlineTabbedInterface_module_css_default.UnderlineWrapper, className); $[5] = className; $[6] = t1; } else t1 = $[6]; const t2 = ref; let t3; if ($[7] !== Component || $[8] !== children || $[9] !== rest || $[10] !== t1 || $[11] !== t2) { t3 = /*#__PURE__*/ jsx(Component, { className: t1, ref: t2, ...rest, children }); $[7] = Component; $[8] = children; $[9] = rest; $[10] = t1; $[11] = t2; $[12] = t3; } else t3 = $[12]; return t3; }); const UnderlineItemList = /*#__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(className, UnderlineTabbedInterface_module_css_default.UnderlineItemList); $[4] = className; $[5] = t1; } else t1 = $[5]; let t2; if ($[6] !== children || $[7] !== forwardedRef || $[8] !== rest || $[9] !== t1) { t2 = /*#__PURE__*/ jsx("ul", { className: t1, ref: forwardedRef, ...rest, children }); $[6] = children; $[7] = forwardedRef; $[8] = rest; $[9] = t1; $[10] = t2; } else t2 = $[10]; return t2; }); const LoadingCounter = () => { const $ = c(1); let t0; if ($[0] === Symbol.for("react.memo_cache_sentinel")) { t0 = /*#__PURE__*/ jsx("span", { className: UnderlineTabbedInterface_module_css_default.LoadingCounter }); $[0] = t0; } else t0 = $[0]; return t0; }; const UnderlineItem = /*#__PURE__*/ React.forwardRef((props, ref) => { const $ = c(28); let Icon; let children; let className; let counter; let loadingCounters; let rest; let t0; if ($[0] !== props) { ({as: t0, children, counter, icon: Icon, loadingCounters, className, ...rest} = props); $[0] = props; $[1] = Icon; $[2] = children; $[3] = className; $[4] = counter; $[5] = loadingCounters; $[6] = rest; $[7] = t0; } else { Icon = $[1]; children = $[2]; className = $[3]; counter = $[4]; loadingCounters = $[5]; rest = $[6]; t0 = $[7]; } const Component = t0 === void 0 ? "a" : t0; let t1; if ($[8] !== children) { t1 = getTextContent(children); $[8] = children; $[9] = t1; } else t1 = $[9]; const textContent = t1; let t2; if ($[10] !== className) { t2 = clsx(UnderlineTabbedInterface_module_css_default.UnderlineItem, className); $[10] = className; $[11] = t2; } else t2 = $[11]; let t3; if ($[12] !== Icon) { t3 = Icon && /*#__PURE__*/ jsx("span", { "data-component": "icon", children: isElement(Icon) ? Icon : /*#__PURE__*/ jsx(Icon, {}) }); $[12] = Icon; $[13] = t3; } else t3 = $[13]; let t4; if ($[14] !== children || $[15] !== textContent) { t4 = children && /*#__PURE__*/ jsx("span", { "data-component": "text", "data-content": textContent || void 0, children }); $[14] = children; $[15] = textContent; $[16] = t4; } else t4 = $[16]; let t5; if ($[17] !== counter || $[18] !== loadingCounters) { t5 = counter !== void 0 ? loadingCounters ? /*#__PURE__*/ jsx("span", { "data-component": "counter", children: /*#__PURE__*/ jsx(LoadingCounter, {}) }) : /*#__PURE__*/ jsx("span", { "data-component": "counter", children: /*#__PURE__*/ jsx(CounterLabel, { children: counter }) }) : null; $[17] = counter; $[18] = loadingCounters; $[19] = t5; } else t5 = $[19]; let t6; if ($[20] !== Component || $[21] !== ref || $[22] !== rest || $[23] !== t2 || $[24] !== t3 || $[25] !== t4 || $[26] !== t5) { t6 = /*#__PURE__*/ jsxs(Component, { ...rest, ref, className: t2, children: [ t3, t4, t5 ] }); $[20] = Component; $[21] = ref; $[22] = rest; $[23] = t2; $[24] = t3; $[25] = t4; $[26] = t5; $[27] = t6; } else t6 = $[27]; return t6; }); //#endregion export { LoadingCounter, UnderlineItem, UnderlineItemList, UnderlineWrapper };