@navinc/base-react-components
Version:
Nav's Pattern Library
66 lines • 2.07 kB
JavaScript
import styled, { css } from 'styled-components';
import isRebrand from './is-rebrand';
const neutralStyles = css `
background: ${({ theme }) => theme.neutral200};
`;
const positiveStyles = css `
background: ${({ theme }) => theme.seaturtleGreen100};
`;
const informationStyles = css `
background: ${({ theme }) => theme.lightBlue200};
`;
const improvementStyles = css `
background: ${({ theme }) => theme.flounderYellow100};
`;
const negativeStyles = css `
background: ${({ theme }) => theme.sebastianRed100};
`;
const variantStylesMap = {
neutral: neutralStyles,
positive: positiveStyles,
information: informationStyles,
improvement: improvementStyles,
negative: negativeStyles,
};
const rebrandNeutralStyles = css `
background: ${({ theme }) => theme.navNeutral100};
`;
const rebrandPositiveStyles = css `
background: ${({ theme }) => theme.navStatusPositive200};
`;
const rebrandInformationStyles = css `
background: ${({ theme }) => theme.navStatusPositive200};
`;
const rebrandImprovementStyles = css `
background: ${({ theme }) => theme.navSecondary300};
`;
const rebrandNegativeStyles = css `
background: ${({ theme }) => theme.navStatusNegative200};
`;
const rebrandVariantStylesMap = {
neutral: rebrandNeutralStyles,
positive: rebrandPositiveStyles,
information: rebrandInformationStyles,
improvement: rebrandImprovementStyles,
negative: rebrandNegativeStyles,
};
// ensure consistent map typing
variantStylesMap;
rebrandVariantStylesMap;
const variantStyles = ({ variant, theme }) => {
if (!variant) {
return '';
}
return isRebrand(theme) ? rebrandVariantStylesMap[variant] : variantStylesMap[variant];
};
export const Pill = styled.span.withConfig({ displayName: "brc-sc-Pill", componentId: "brc-sc-1dmjic2" }) `
font-family: ${({ theme }) => theme.fontPrimary};
color: ${({ theme }) => theme.scuttleGray600};
font-size: 0.75em;
font-weight: bold;
padding: 0.7em 1em;
text-align: center;
border-radius: 50vh;
${variantStyles}
`;
//# sourceMappingURL=pill.js.map