UNPKG

@jaak/primitives

Version:
65 lines (59 loc) 1.09 kB
import styled from 'styled-components' import { backgroundTypes, borderTypes, boxModelTypes, cssTypes, displayTypes, linkTypes, textTypes, } from '../types' import { background, border, boxModel, css, display, link, text } from '../util' /** * @namespace Button * @desc Primitive styled-component 💅 * @return {Function} React component */ const Button = styled.button.attrs({ type: 'button', })` ${background}; ${border}; ${boxModel}; ${css}; ${display}; ${link}; ${text}; ` /** * @name defaultProps * @memberof Button * @desc Primitive's default properties */ Button.defaultProps = { borderWidth: [0], cursor: 'pointer', display: 'block', fontFamily: 'inherit', fontSize: 'baseFontSize', margin: [0], outline: 'none', padding: [0], size: ['auto'], } /** * @name propTypes * @memberof Button * @desc Primitive's prop type definitions */ Button.propTypes = { ...backgroundTypes, ...borderTypes, ...boxModelTypes, ...cssTypes, ...displayTypes, ...linkTypes, ...textTypes, } /** @component */ export default Button