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