UNPKG

@navinc/base-react-components

Version:
55 lines (51 loc) 1.57 kB
import { styled, css } from 'styled-components'; const neutralStyles = css ` background: ${({ theme }) => theme.navNeutral100}; `; const positiveStyles = css ` background: ${({ theme }) => theme.navStatusPositive200}; `; const informationStyles = css ` background: ${({ theme }) => theme.navStatusPositive200}; `; const improvementStyles = css ` background: ${({ theme }) => theme.navSecondary300}; `; const negativeStyles = css ` background: ${({ theme }) => theme.navStatusNegative200}; `; const variantStylesMap = { neutral: neutralStyles, positive: positiveStyles, information: informationStyles, improvement: improvementStyles, negative: negativeStyles, }; // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- ensure consistent map typing variantStylesMap; const variantStyles = ({ variant }) => { if (!variant) { return ''; } return variantStylesMap[variant]; }; /** The `<Pill />` can be used to display information or status. #### Usage: ``` <Pill variant='positive'>Active</Pill> ``` #### Props: `variant` is a required props. All html native attributes and event handlers are optional, such as `id`, `onClick`, etc. */ export const Pill = styled.span.withConfig({ displayName: "brc-sc-Pill", componentId: "brc-sc-1vfaqnm" }) ` 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