JSFiddle - React, Tailwind, and code Playground

by RobertSudwarts

HTML

<input id="location" size="30" type="text">

CSS

/*
Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012
*/
.select2-container {
    position: relative;
    display: inline-block;
    /* inline-block for ie7 */
    zoom: 1;
    *display: inline;
    vertical-align: top;
}

.select2-container,
.select2-drop,
.select2-search,
.select2-search input{
  /*
    Force border-box so that % widths fit the parent
    container without overlap because of margin/padding.

    More Info : http://www.quirksmode.org/css/box.html
  */
  -moz-box-sizing: border-box;    /* firefox */
  -ms-box-sizing: border-box;     /* ie */
  -webkit-box-sizing: border-box; /* webkit */
  -khtml-box-sizing: border-box;  /* konqueror */
  box-sizing: border-box;         /* css3 */
}

.select2-container .select2-choice {
    background-color: #fff;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white));
    background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%);
    background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%);
    background-image: -o-linear-gradient(bottom, #eeeeee 0%, #ffffff 50%);
    background-image: -ms-linear-gradient(top, #eeeeee 0%, #ffffff 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#ffffff', GradientType = 0);
    background-image: linear-gradient(top, #eeeeee 0%, #ffffff 50%);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #aaa;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    height: 26px;
    line-height: 26px;
    padding: 0 0 0 8px;
    color: #444;
    text-decoration: none;
}

.select2-container.select2-drop-above .select2-choice
{
    border-bottom-color: #aaa;
    -webkit-border-radius:0px 0px 4px 4px;
    -moz-border-radius:0px 0px 4px...

JavaScript

/*
Copyright 2012 Igor Vaynberg
 
Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in
compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
*/
(function (e) {
    "undefined" == typeof e.fn.each2 && e.fn.extend({
        each2: function (g) {
            for (var i = e([0]), m = -1, s = this.length; ++m < s && (i.context = i[0] = this[m]) && !1 !== g.call(i[0], m, i););
            return this
        }
    })
})(jQuery);
(function (e, g) {
    function i(a, b) {
        var c = 0,
            d = b.length,
            j;
        if ("undefined" === typeof a) return -1;
        if (a.constructor === String) for (; c < d; c += 1) {
            if (0 === a.localeCompare(b[c])) return c
        } else for (; c < d; c += 1) if (j = b[c], j.constructor === String) {
            if (0 === j.localeCompare(a)) return c
        } else if (j === a) return c;
        return -1
    }
    function m(a, b) {
        return a === b ? !0 : a === g || b === g || null === a || null === b ? !1 : a.constructor === String ? 0 === a.localeCompare(b) : b.constructor === String ? 0 === b.localeCompare(a) : !1
    }
    function s(a, b) {
        var c, d, j;
        if (null === a || 1 > a.length) return [];
        c = a.split(b);
        d = 0;
        for (j = c.length; d < j; d += 1) c[d] = e.trim(c[d]);
        return c
    }
    function A(a, b, c) {
        var c = c || g,
            d;
        return function () {
            var j = arguments;
            window.clearTimeout(d);
            d...