Sha256: 50e9d73701a632da7b3f83919e8629018e79b08cd35dca093f03564e5ac16c16
Contents?: true
Size: 1.62 KB
Versions: 27
Compression:
Stored size: 1.62 KB
Contents
/* @flow */ import React, { useState } from 'react' import classnames from 'classnames' import { globalProps } from '../utilities/globalProps' import Icon from '../pb_icon/_icon' import Title from '../pb_title/_title' const iconMap = { success: 'check', error: 'exclamation-triangle', neutral: 'info-circle', tip: 'info-circle', } type FixedConfirmationToastProps = { className?: string, closeable?: boolean, data?: string, id?: string, multiLine?: boolean, status?: 'success' | 'error' | 'neutral' | 'tip', text: string, } const FixedConfirmationToast = (props: FixedConfirmationToastProps) => { const [showToast, toggleToast] = useState(true) const { className, closeable = false, multiLine = false, status = 'neutral', text } = props const css = classnames( `pb_fixed_confirmation_toast_kit_${status}`, { '_multi_line': multiLine }, globalProps(props), className ) const icon = iconMap[status] const handleClick = () => { toggleToast(!closeable) } return ( <If condition={showToast}> <div className={css} onClick={handleClick} > <If condition={icon}> <Icon className="pb_icon" fixedWidth icon={icon} /> </If> <Title className="pb_fixed_confirmation_toast_text" size={4} text={text} /> <If condition={closeable}> <Icon className="pb_icon" fixedWidth={false} icon="times" /> </If> </div> </If> ) } export default FixedConfirmationToast
Version data entries
27 entries across 27 versions & 1 rubygems