UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

300 lines (297 loc) • 6.93 kB
import { c } from 'react-compiler-runtime'; import { forwardRef } from 'react'; import TokenBase, { isTokenInteractive, defaultTokenSize } from './TokenBase.js'; import RemoveTokenButton from './_RemoveTokenButton.js'; import { parseToRgba, parseToHsla } from 'color2k'; import TokenTextContainer from './_TokenTextContainer.js'; import classes from './IssueLabelToken.module.css.js'; import { clsx } from 'clsx'; import { jsx, jsxs } from 'react/jsx-runtime'; const IssueLabelToken = /*#__PURE__*/forwardRef((props, forwardedRef) => { const $ = c(81); let as; let className; let hideRemoveButton; let href; let id; let isSelected; let onClick; let onRemove; let rest; let t0; let t1; let text; if ($[0] !== props) { ({ as, fillColor: t0, onRemove, id, isSelected, text, size: t1, hideRemoveButton, href, onClick, className, ...rest } = props); $[0] = props; $[1] = as; $[2] = className; $[3] = hideRemoveButton; $[4] = href; $[5] = id; $[6] = isSelected; $[7] = onClick; $[8] = onRemove; $[9] = rest; $[10] = t0; $[11] = t1; $[12] = text; } else { as = $[1]; className = $[2]; hideRemoveButton = $[3]; href = $[4]; id = $[5]; isSelected = $[6]; onClick = $[7]; onRemove = $[8]; rest = $[9]; t0 = $[10]; t1 = $[11]; text = $[12]; } const fillColor = t0 === undefined ? "#999" : t0; const size = t1 === undefined ? defaultTokenSize : t1; let t2; if ($[13] !== as || $[14] !== href || $[15] !== onClick) { t2 = { as, href, onClick }; $[13] = as; $[14] = href; $[15] = onClick; $[16] = t2; } else { t2 = $[16]; } const interactiveTokenProps = t2; let t3; if ($[17] !== hideRemoveButton || $[18] !== onRemove || $[19] !== props) { t3 = isTokenInteractive(props) && Boolean(onRemove) && !hideRemoveButton; $[17] = hideRemoveButton; $[18] = onRemove; $[19] = props; $[20] = t3; } else { t3 = $[20]; } const hasMultipleActionTargets = t3; let t4; if ($[21] !== onRemove) { t4 = e => { e.stopPropagation(); onRemove && onRemove(); }; $[21] = onRemove; $[22] = t4; } else { t4 = $[22]; } const onRemoveClick = t4; let t5; if ($[23] !== fillColor) { t5 = parseToRgba(fillColor); $[23] = fillColor; $[24] = t5; } else { t5 = $[24]; } const [r, g, b] = t5; let l; let s; let t10; let t6; let t7; let t8; let t9; if ($[25] !== b || $[26] !== fillColor || $[27] !== g || $[28] !== r) { const [h, t11, t12] = parseToHsla(fillColor); s = t11; l = t12; t8 = String(r); t9 = String(g); t10 = String(b); t6 = String; t7 = Math.round(h); $[25] = b; $[26] = fillColor; $[27] = g; $[28] = r; $[29] = l; $[30] = s; $[31] = t10; $[32] = t6; $[33] = t7; $[34] = t8; $[35] = t9; } else { l = $[29]; s = $[30]; t10 = $[31]; t6 = $[32]; t7 = $[33]; t8 = $[34]; t9 = $[35]; } const t11 = t6(t7); let t12; if ($[36] !== s) { t12 = Math.round(s * 100); $[36] = s; $[37] = t12; } else { t12 = $[37]; } const t13 = String(t12); let t14; if ($[38] !== l) { t14 = Math.round(l * 100); $[38] = l; $[39] = t14; } else { t14 = $[39]; } const t15 = String(t14); let t16; if ($[40] !== t10 || $[41] !== t11 || $[42] !== t13 || $[43] !== t15 || $[44] !== t8 || $[45] !== t9) { t16 = { "--label-r": t8, "--label-g": t9, "--label-b": t10, "--label-h": t11, "--label-s": t13, "--label-l": t15 }; $[40] = t10; $[41] = t11; $[42] = t13; $[43] = t15; $[44] = t8; $[45] = t9; $[46] = t16; } else { t16 = $[46]; } const customProperties = t16; let t17; if ($[47] !== id) { var _id; t17 = (_id = id) === null || _id === void 0 ? void 0 : _id.toString(); $[47] = id; $[48] = t17; } else { t17 = $[48]; } let t18; if ($[49] !== className) { t18 = clsx(classes.IssueLabel, className); $[49] = className; $[50] = t18; } else { t18 = $[50]; } const t19 = !hideRemoveButton && !!onRemove; let t20; if ($[51] !== hasMultipleActionTargets || $[52] !== interactiveTokenProps) { t20 = !hasMultipleActionTargets ? interactiveTokenProps : {}; $[51] = hasMultipleActionTargets; $[52] = interactiveTokenProps; $[53] = t20; } else { t20 = $[53]; } let t21; if ($[54] !== hasMultipleActionTargets || $[55] !== interactiveTokenProps) { t21 = hasMultipleActionTargets ? interactiveTokenProps : {}; $[54] = hasMultipleActionTargets; $[55] = interactiveTokenProps; $[56] = t21; } else { t21 = $[56]; } let t22; if ($[57] !== t21 || $[58] !== text) { t22 = /*#__PURE__*/jsx(TokenTextContainer, { ...t21, children: text }); $[57] = t21; $[58] = text; $[59] = t22; } else { t22 = $[59]; } let t23; if ($[60] !== hasMultipleActionTargets || $[61] !== hideRemoveButton || $[62] !== onRemove || $[63] !== onRemoveClick || $[64] !== props || $[65] !== size) { t23 = !hideRemoveButton && onRemove ? /*#__PURE__*/jsx(RemoveTokenButton, { borderOffset: 1, onClick: onRemoveClick, size: size, "aria-hidden": hasMultipleActionTargets ? "true" : "false", isParentInteractive: isTokenInteractive(props), "data-has-multiple-action-targets": hasMultipleActionTargets, className: classes.RemoveButton }) : null; $[60] = hasMultipleActionTargets; $[61] = hideRemoveButton; $[62] = onRemove; $[63] = onRemoveClick; $[64] = props; $[65] = size; $[66] = t23; } else { t23 = $[66]; } let t24; if ($[67] !== customProperties || $[68] !== forwardedRef || $[69] !== isSelected || $[70] !== onRemove || $[71] !== rest || $[72] !== size || $[73] !== t17 || $[74] !== t18 || $[75] !== t19 || $[76] !== t20 || $[77] !== t22 || $[78] !== t23 || $[79] !== text) { t24 = /*#__PURE__*/jsxs(TokenBase, { onRemove: onRemove, id: t17, isSelected: isSelected, className: t18, text: text, size: size, style: customProperties, "data-has-remove-button": t19, "data-selected": isSelected, ...t20, ...rest, ref: forwardedRef, children: [t22, t23] }); $[67] = customProperties; $[68] = forwardedRef; $[69] = isSelected; $[70] = onRemove; $[71] = rest; $[72] = size; $[73] = t17; $[74] = t18; $[75] = t19; $[76] = t20; $[77] = t22; $[78] = t23; $[79] = text; $[80] = t24; } else { t24 = $[80]; } return t24; }); IssueLabelToken.displayName = 'IssueLabelToken'; export { IssueLabelToken as default };