JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/ui-lightness/jquery-ui.css">
<textarea id='inputbox' style='width: 400px; height: 90px;'></textarea>

JavaScript

/********************************************************************************
/*
 * triggeredAutocomplete (jQuery UI autocomplete widget)
 * 2012 by Hawkee.com ([email protected])
 *
 * Version 1.4.5
 * 
 * Requires jQuery 1.7 and jQuery UI 1.8
 *
 * Dual licensed under MIT or GPLv2 licenses
 *   http://en.wikipedia.org/wiki/MIT_License
 *   http://en.wikipedia.org/wiki/GNU_General_Public_License
 *
*/

;(function ( $, window, document, undefined ) {
    $.widget("ui.triggeredAutocomplete", $.extend(true, {}, $.ui.autocomplete.prototype, {
        
        options: {
            trigger: "@",
            allowDuplicates: true
        },

        _create:function() {

            var self = this;
            this.id_map = new Object();
            this.stopIndex = -1;
            this.stopLength = -1;
            this.contents = '';
            this.cursorPos = 0;
            
            /** Fixes some events improperly handled by ui.autocomplete */
            this.element.bind('keydown.autocomplete.fix', function (e) {
                switch (e.keyCode) {
                    case $.ui.keyCode.ESCAPE:
                        self.close(e);
                        e.stopImmediatePropagation();
                        break;
                    case $.ui.keyCode.UP:
                    case $.ui.keyCode.DOWN:
                        if (!self.menu.element.is(":visible")) {
                            e.stopImmediatePropagation();
                        }
                }
            });

            // Check for the id_map as an attribute.  This is for editing.

            var id_map_string = this.element.attr('id_map');
            if(id_map_string) this.id_map = jQuery.parseJSON(id_map_string);

            this.ac = $.ui.autocomplete.prototype;
            this.ac._create.apply(this, arguments);

            this.updateHidden();

            // Select function defined via options.
            this.options.select = function(event, ui) {
                var...