UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

100 lines (99 loc) 2.4 kB
import TokenBase_module_css_default from "./TokenBase.module.css.js"; import { defaultTokenSize } from "./constants.js"; import { isTokenInteractive } from "./utils.js"; import { c } from "react-compiler-runtime"; import { clsx } from "clsx"; import { jsx } from "react/jsx-runtime"; import React from "react"; //#region src/Token/TokenBase.tsx const TokenBase = /*#__PURE__*/ React.forwardRef((t0, forwardedRef) => { const $ = c(25); let Component; let T0; let id; let rest; let size; let t1; let t2; let t3; if ($[0] !== t0) { const { onRemove, onKeyDown, id: t4, className, size: t5, isSelected: _isSelected, as: t6, ...t7 } = t0; id = t4; rest = t7; size = t5 === void 0 ? defaultTokenSize : t5; Component = t6 === void 0 ? "span" : t6; T0 = Component; if ($[9] !== onKeyDown || $[10] !== onRemove) { t1 = (event) => { onKeyDown && onKeyDown(event); if ((event.key === "Backspace" || event.key === "Delete") && onRemove) onRemove(); }; $[9] = onKeyDown; $[10] = onRemove; $[11] = t1; } else t1 = $[11]; if ($[12] !== className) { t2 = clsx(TokenBase_module_css_default.TokenBase, className); $[12] = className; $[13] = t2; } else t2 = $[13]; t3 = isTokenInteractive({ as: Component, onClick: rest.onClick, onFocus: rest.onFocus, tabIndex: rest.tabIndex, disabled: rest.disabled }); $[0] = t0; $[1] = Component; $[2] = T0; $[3] = id; $[4] = rest; $[5] = size; $[6] = t1; $[7] = t2; $[8] = t3; } else { Component = $[1]; T0 = $[2]; id = $[3]; rest = $[4]; size = $[5]; t1 = $[6]; t2 = $[7]; t3 = $[8]; } let t4; if ($[14] !== id) { var _id; t4 = (_id = id) === null || _id === void 0 ? void 0 : _id.toString(); $[14] = id; $[15] = t4; } else t4 = $[15]; const t5 = Component === "button" ? rest : Component === "a" ? rest : rest; const t6 = forwardedRef; let t7; if ($[16] !== T0 || $[17] !== size || $[18] !== t1 || $[19] !== t2 || $[20] !== t3 || $[21] !== t4 || $[22] !== t5 || $[23] !== t6) { t7 = /*#__PURE__*/ jsx(T0, { onKeyDown: t1, className: t2, "data-cursor-is-interactive": t3, "data-size": size, id: t4, ...t5, ref: t6 }); $[16] = T0; $[17] = size; $[18] = t1; $[19] = t2; $[20] = t3; $[21] = t4; $[22] = t5; $[23] = t6; $[24] = t7; } else t7 = $[24]; return t7; }); //#endregion export { TokenBase as default };