import * as React from 'react'; import { CSSProperties } from 'react'; export type BadgeLabelProps = { label: JSX.Element | string; badgeContent?: number | string; badgeStyleOverride?: CSSProperties; badgeClassName?: string; badgeFirst?: boolean; }; export const DEFAULT_BADGE_STYLE = { color: '#FFF', backgroundColor: '#000', borderStyle: 'solid', borderWidth: 'thin', }; export class BadgeLabel extends React.Component { public static defaultProps: Partial = { badgeClassName: 'badge', badgeFirst: false, }; protected get badge(): JSX.Element { return ( {this.props.badgeContent} ); } protected get badgeFirst(): JSX.Element { return ( {this.badge} {this.props.label} ); } protected get badgeLast(): JSX.Element { return ( {this.props.label} {this.badge} ); } public render(): JSX.Element { return this.props.badgeFirst ? this.badgeFirst : this.badgeLast; } } export default BadgeLabel;