UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

57 lines (52 loc) 2.43 kB
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 };