UNPKG

curls

Version:

💪 Responsive, expressive UI primitives for React written with Style Hooks and Emotion

54 lines (50 loc) • 1.59 kB
function _extends() { _extends = Object.assign || function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target } return _extends.apply(this, arguments) } import {css} from '@emotion/core' import {useStyles} from '@style-hooks/core' import createComponent from '../createComponent' import {useBox} from '../Box' import {pushCss} from '../utils' import * as styles from './styles' const defaultStyles = { name: 'w1bpb5', styles: 'display:flex;align-items:center;justify-content:center;background:none;border:0;color:currentColor;cursor:pointer;overflow:visible;padding:0;margin:0;line-height:1;user-select:none;text-align:inherit;&::-moz-focus-inner{border:0;margin:0;padding:0;}', } export const useButton = props => useStyles( 'button', styles, pushCss( _extends( { __buttonStyles: true, role: 'button', }, props ), defaultStyles ) ), Button = createComponent('button', props => useBox(useButton(props))) if (process.env.NODE_ENV !== 'production') { const propTypes = require('./propTypes').default, boxPropTypes = require('../Box/propTypes').default, flexPropTypes = require('../Flex/propTypes').default Button.displayName = 'Button' Button.propTypes = _extends({}, propTypes, boxPropTypes, flexPropTypes) }