                         rows: 1
                         value: @state.unknown
                         onChange: onChange
-                        placeholder: @props.placeholder
+                        placeholder: placeholder
                         'autoComplete': 'off'
                         'spellCheck': 'off'
 

    # because we store other things into the state
    componentDidMount: ->
        ContactStore.on 'change', @_setStateFromStores
        @fixHeight()

    componentWillUnmount: ->
        ContactStore.removeListener 'change', @_setStateFromStores

    _setStateFromStores: -> @setState @getStateFromStores()

    componentDidUpdate: ->
        @fixHeight()

    shouldComponentUpdate: (nextProps, nextState) ->
        return not(_.isEqual(nextState, @state)) or

            else
                event.dataTransfer.dropEffect = 'none'

        # don't display placeholder if there are dests
        if knownContacts.length > 0
            placeholder = ''
        else
            placeholder = @props.placeholder

        div
            className: className,
            onClick: onClick
            onDrop: @onDrop,
            onDragEnter: cancelDragEvent,
            onDragLeave: cancelDragEvent,
