@primer/react
Version:
An implementation of GitHub's Primer Design System using React
57 lines (52 loc) • 2.43 kB
JavaScript
import React from 'react';
import { clsx } from 'clsx';
import styled from 'styled-components';
import { get } from '../constants.js';
import sx from '../sx.js';
import '../FeatureFlags/FeatureFlags.js';
import { useFeatureFlag } from '../FeatureFlags/useFeatureFlag.js';
import '../FeatureFlags/DefaultFeatureFlags.js';
import Box from '../Box/Box.js';
import classes from './BranchName.module.css.js';
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const StyledBranchName = styled.a.withConfig({
displayName: "BranchName__StyledBranchName",
componentId: "sc-sg8jsy-0"
})(["display:inline-block;padding:2px 6px;font-size:var(--text-body-size-small,", ");font-family:var(--fontStack-monospace,", ");color:var(--fgColor-link,", ");background-color:var(--bgColor-accent-muted,", ");border-radius:var(--borderRadius-medium,", ");text-decoration:none;&:is(:not(a)){color:var(--fgColor-muted);}", ";"], get('fontSizes.0'), get('fonts.mono'), get('colors.accent.fg'), get('colors.accent.subtle'), get('radii.2'), sx);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function BranchName(props, ref) {
const {
as: BaseComponent = 'a',
className,
children,
sx,
...rest
} = props;
const enabled = useFeatureFlag('primer_react_css_modules_ga');
if (enabled) {
if (sx) {
return /*#__PURE__*/React.createElement(Box, _extends({}, rest, {
ref: ref,
as: BaseComponent,
className: clsx(className, classes.BranchName),
sx: sx
}), children);
}
return /*#__PURE__*/React.createElement(BaseComponent, _extends({}, rest, {
ref: ref,
className: clsx(className, classes.BranchName)
}), children);
}
return /*#__PURE__*/React.createElement(StyledBranchName, _extends({}, rest, {
as: BaseComponent,
ref: ref,
className: className,
sx: sx
}), children);
}
BranchName.displayName = "BranchName"; // eslint-disable-next-line @typescript-eslint/ban-types
const fixedForwardRef = React.forwardRef;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
BranchName.displayName = 'BranchName';
var BranchName$1 = fixedForwardRef(BranchName);
export { BranchName$1 as default };