WIPgit status <Compose> Refactor; <Composer> ed.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
// Package imports.
|
||||
import classNames from 'classnames';
|
||||
import PropTypes from 'prop-types';
|
||||
import React from 'react';
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
|
||||
// Components.
|
||||
import ComposerTextareaSuggestionsItem from './item';
|
||||
|
||||
// The component.
|
||||
export default function ComposerTextareaSuggestions ({
|
||||
hidden,
|
||||
onSuggestionClick,
|
||||
suggestions,
|
||||
value,
|
||||
}) {
|
||||
const computedClass = classNames('comoser--textarea--suggestions', { hidden: hidden || suggestions.isEmpty() });
|
||||
|
||||
return (
|
||||
<div className={computedClass}>
|
||||
{!hidden ? suggestions.map(
|
||||
(suggestion, index) => (
|
||||
<ComposerTextareaSuggestionsItem
|
||||
index={index}
|
||||
key={typeof suggestion === 'object' ? suggestion.id : suggestion}
|
||||
onClick={onSuggestionClick}
|
||||
selected={index === value}
|
||||
suggestion={suggestion}
|
||||
/>
|
||||
)
|
||||
) : null}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
ComposerTextareaSuggestions.propTypes = {
|
||||
hidden: PropTypes.bool,
|
||||
onSuggestionClick: PropTypes.func,
|
||||
suggestions: ImmutablePropTypes.list,
|
||||
value: PropTypes.string,
|
||||
};
|
Reference in New Issue
Block a user