fix: use span for non-clickable emojis

nolan/issue-325
Etienne Lemay 2019-03-28 08:30:18 -04:00
parent abc2cdaf02
commit 4fda4dcc01
2 changed files with 17 additions and 7 deletions

View File

@ -177,23 +177,36 @@ const NimbleEmoji = (props) => {
}
}
var Tag = {
name: 'span',
props: {},
}
if (props.onClick) {
Tag.name = 'button'
Tag.props = {
type: 'button'
}
}
if (props.html) {
style = _convertStyleToCSS(style)
return `<button style='${style}' aria-label='${label}' ${
return `<${Tag.name} style='${style}' aria-label='${label}' ${
title ? `title='${title}'` : ''
} class='${className}'>${children || ''}</button>`
} class='${className}'>${children || ''}</${Tag.name}>`
} else {
return (
<button
<Tag.name
onClick={(e) => _handleClick(e, props)}
onMouseEnter={(e) => _handleOver(e, props)}
onMouseLeave={(e) => _handleLeave(e, props)}
aria-label={label}
title={title}
className={className}
{...Tag.props}
>
<span style={style}>{children}</span>
</button>
</Tag.name>
)
}
}

View File

@ -9,9 +9,6 @@ const EmojiDefaultProps = {
tooltip: false,
backgroundImageFn: (set, sheetSize) =>
`https://unpkg.com/emoji-datasource-${set}@${EMOJI_DATASOURCE_VERSION}/img/${set}/sheets-256/${sheetSize}.png`,
onOver: () => {},
onLeave: () => {},
onClick: () => {},
}
const PickerDefaultProps = {