(cherry picked from commit 3eca63a67c898256b711d37607f07cbabb9ed323)pull/2252/head
parent
896e196767
commit
e8ebb87189
@ -1,48 +0,0 @@
|
|||||||
import classNames from 'classnames';
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
import React from 'react';
|
|
||||||
import { kinds, sizes } from 'Helpers/Props';
|
|
||||||
import styles from './Label.css';
|
|
||||||
|
|
||||||
function Label(props) {
|
|
||||||
const {
|
|
||||||
className,
|
|
||||||
kind,
|
|
||||||
size,
|
|
||||||
outline,
|
|
||||||
children,
|
|
||||||
...otherProps
|
|
||||||
} = props;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<span
|
|
||||||
className={classNames(
|
|
||||||
className,
|
|
||||||
styles[kind],
|
|
||||||
styles[size],
|
|
||||||
outline && styles.outline
|
|
||||||
)}
|
|
||||||
{...otherProps}
|
|
||||||
>
|
|
||||||
{children}
|
|
||||||
</span>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Label.propTypes = {
|
|
||||||
className: PropTypes.string.isRequired,
|
|
||||||
title: PropTypes.string,
|
|
||||||
kind: PropTypes.oneOf(kinds.all).isRequired,
|
|
||||||
size: PropTypes.oneOf(sizes.all).isRequired,
|
|
||||||
outline: PropTypes.bool.isRequired,
|
|
||||||
children: PropTypes.node.isRequired
|
|
||||||
};
|
|
||||||
|
|
||||||
Label.defaultProps = {
|
|
||||||
className: styles.label,
|
|
||||||
kind: kinds.DEFAULT,
|
|
||||||
size: sizes.SMALL,
|
|
||||||
outline: false
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Label;
|
|
@ -0,0 +1,33 @@
|
|||||||
|
import classNames from 'classnames';
|
||||||
|
import React, { ComponentProps, ReactNode } from 'react';
|
||||||
|
import { kinds, sizes } from 'Helpers/Props';
|
||||||
|
import { Kind } from 'Helpers/Props/kinds';
|
||||||
|
import { Size } from 'Helpers/Props/sizes';
|
||||||
|
import styles from './Label.css';
|
||||||
|
|
||||||
|
export interface LabelProps extends ComponentProps<'span'> {
|
||||||
|
kind?: Extract<Kind, keyof typeof styles>;
|
||||||
|
size?: Extract<Size, keyof typeof styles>;
|
||||||
|
outline?: boolean;
|
||||||
|
children: ReactNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function Label({
|
||||||
|
className = styles.label,
|
||||||
|
kind = kinds.DEFAULT,
|
||||||
|
size = sizes.SMALL,
|
||||||
|
outline = false,
|
||||||
|
...otherProps
|
||||||
|
}: LabelProps) {
|
||||||
|
return (
|
||||||
|
<span
|
||||||
|
className={classNames(
|
||||||
|
className,
|
||||||
|
styles[kind],
|
||||||
|
styles[size],
|
||||||
|
outline && styles.outline
|
||||||
|
)}
|
||||||
|
{...otherProps}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
Loading…
Reference in new issue