Sha256: 40d586cec9728fcab2534183b02088d7e28e7e737494da2e949514cb63fa8676
Contents?: true
Size: 1.5 KB
Versions: 14
Compression:
Stored size: 1.5 KB
Contents
/* @flow */ import React from 'react' import classnames from 'classnames' import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props' import { Button, Icon } from '../' import type { Callback } from '../types' import { noop, } from '../utilities/props' import { spacing } from '../utilities/spacing.js' type CircleIconButtonProps = { aria?: object, className?: String, dark?: Boolean, data?: object, disabled?: Boolean, icon: String, id?: String, link?: String, onClick?: Callback, newWindow?: Boolean, type?: 'button' | 'submit' | 'reset', variant?: 'primary' | 'secondary' | 'link', } const CircleIconButton = (props: CircleIconButtonProps) => { const { aria = {}, className, dark, data = {}, disabled, icon, id, onClick = noop, type, link, newWindow, variant, } = props const ariaProps = buildAriaProps(aria) const dataProps = buildDataProps(data) const classes = classnames(buildCss('pb_circle_icon_button_kit'), className, spacing(props)) return ( <div {...ariaProps} {...dataProps} className={classes} id={id} > <Button dark={dark} disabled={disabled} link={link} newWindow={newWindow} onClick={onClick} text={null} type={type} variant={variant} > <Icon fixedWidth icon={icon} /> </Button> </div> ) } export default CircleIconButton
Version data entries
14 entries across 14 versions & 1 rubygems