JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.3.1114/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.3.1114/styles/kendo.default.min.css">
<script src="http://cdn.kendostatic.com/2012.3.1114/js/kendo.web.min.js"></script>
<input id="testMultiSelect" style="width: 280px" />

CSS

.custom-multiselect-popup.k-popup .k-list .k-item {
    vertical-align: middle;
}
.custom-multiselect-popup.k-popup .k-list .k-item input,
.custom-multiselect-popup.k-popup .k-list .k-item span {
    margin: 0;
    padding: 0;
    vertical-align: middle;
}
.custom-multiselect-popup.k-popup .k-list .k-item input {
    margin: 3px;
    margin-left: 2px;
    margin-right: 6px;
}

.custom-multiselect-popup .k-state-selected,
.custom-multiselect-popup .k-list .k-state-selected {
    background: inherit;
    border-color: transparent;
    color: inherit;
}


.custom-multiselect-popup .k-list .k-state-hover,
.custom-multiselect-popup .k-list .k-state-active 
{
    color: #fff;
    background: #AFAFA7;
    background-color: #AFAFA7;
    background-image: none;
    -webkit-box-shadow: none;
    box-shadow: none;    
}


.custom-multiselect-summary-empty {
    /* font-style: italic; */
}

.custom-multiselect-selectAll-item.k-item,
.custom-multiselect-selectAll-item.k-item.k-state-hover,
.custom-multiselect-selectAll-item.k-item.k-state-selected {
    font-style: italic;
    /* font-weight: bold; */
    /* text-transform: uppercase; */
    border-bottom: #e0e0e0 solid 1px;
    padding-bottom: 1px; 
}

JavaScript

//MultiSelect - A user extension of KendoUI DropDownList widget.           
(function ($) {

    // shorten references to variables
    var kendo = window.kendo,
        ui = kendo.ui,
        DropDownList = ui.DropDownList,
        keys = kendo.keys,
        SELECT = "select",
        SELECTIONCHANGED = "selectionChanged",
        SELECTED = "k-state-selected",
        HIGHLIGHTED = "k-state-active",
        CHECKBOX = "custom-check-item",
        SELECTALLITEM = "custom-multiselect-selectAll-item",
        MULTISELECTPOPUP = "custom-multiselect-popup",
        EMPTYSELECTION = "custom-multiselect-summary-empty";


    var lineTemplate = '<input type="checkbox" name="#= {1} #" value="#= {0} #" class="' + CHECKBOX + '" />' +
                       '<span data-value="#= {0} #">#= {1} #</span>';



    var MultiSelectBox = DropDownList.extend({

        init: function (element, options) {

            options.template = kendo.template(kendo.format(lineTemplate, options.dataValueField, options.dataTextField));

            // base call to widget initialization
            DropDownList.fn.init.call(this, element, options);
        },

        options: {
            name: "MultiSelectBox",
            index: -1,
            showSelectAll: true,
            preSummaryCount: 1,  // number of items to show before summarising
            emptySelectionLabel: ''  // what to show when no items are selected
        },

        events: [
            SELECTIONCHANGED
        ],

        refresh: function () {

            // base call
            DropDownList.fn.refresh.call(this);

            this._updateSummary();

            $(this.popup.element).addClass(MULTISELECTPOPUP);
        },


        current: function (candidate) {
            return this._current;
        },


        open: function () {
            var that = this;

            this._removeSelectAllItem();

            this._addSelectAllItem();

            if (!that.ul[0].firstChild) {
               ...