You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							73 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							73 lines
						
					
					
						
							2.1 KiB
						
					
					
				"use strict";
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
exports.Badge = void 0;
 | 
						|
const styled_components_1 = __importDefault(require("styled-components"));
 | 
						|
const styled_system_1 = require("styled-system");
 | 
						|
const css_class_1 = require("../../utils/css-class");
 | 
						|
const variantStyle = (variantColor, props) => ({
 | 
						|
    bg: variantColor,
 | 
						|
    borderColor: variantColor,
 | 
						|
    color: props.outline ? variantColor : 'white',
 | 
						|
});
 | 
						|
const colorVariant = (props) => styled_system_1.variant({
 | 
						|
    variants: {
 | 
						|
        primary: variantStyle('primary100', props),
 | 
						|
        danger: variantStyle('error', props),
 | 
						|
        success: variantStyle('success', props),
 | 
						|
        info: variantStyle('info', props),
 | 
						|
        secondary: variantStyle('accent', props),
 | 
						|
        light: variantStyle('light', props),
 | 
						|
        default: {},
 | 
						|
    },
 | 
						|
});
 | 
						|
const sizeVariants = styled_system_1.variant({
 | 
						|
    prop: 'size',
 | 
						|
    variants: {
 | 
						|
        sm: {
 | 
						|
            py: 'xs',
 | 
						|
        },
 | 
						|
        lg: {
 | 
						|
            py: '11px',
 | 
						|
            px: '14px',
 | 
						|
        },
 | 
						|
        default: {},
 | 
						|
    },
 | 
						|
});
 | 
						|
/**
 | 
						|
 * @load ./badge.doc.md
 | 
						|
 * @see BadgeProps
 | 
						|
 * @see {@link https://storybook.adminjs.co/?path=/story/designsystem-atoms-badge--default StoryBook}
 | 
						|
 * @component
 | 
						|
 * @hideconstructor
 | 
						|
 * @section design-system
 | 
						|
 * @subcategory Atoms
 | 
						|
 */
 | 
						|
const Badge = styled_components_1.default.span `
 | 
						|
  border-radius: 20px;
 | 
						|
  border: 1px solid ${({ theme }) => theme.colors.grey40};
 | 
						|
  color: ${({ outline, theme }) => (outline ? theme.colors.grey60 : theme.colors.white)};
 | 
						|
  vertical-align: middle;
 | 
						|
  font-family: ${({ theme }) => theme.font};
 | 
						|
  display: inline;
 | 
						|
  white-space: nowrap;
 | 
						|
 | 
						|
  ${styled_system_1.space};
 | 
						|
  ${styled_system_1.color};
 | 
						|
  ${styled_system_1.typography};
 | 
						|
  ${(props) => colorVariant(props)};
 | 
						|
  ${sizeVariants};
 | 
						|
  ${({ outline }) => (outline ? 'background: transparent;' : '')}
 | 
						|
`;
 | 
						|
exports.Badge = Badge;
 | 
						|
Badge.defaultProps = {
 | 
						|
    px: 'default',
 | 
						|
    py: 'sm',
 | 
						|
    fontSize: 'sm',
 | 
						|
    bg: 'grey40',
 | 
						|
    className: css_class_1.cssClass('Badge'),
 | 
						|
};
 | 
						|
exports.default = Badge;
 |