JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdn.ckeditor.com/4.6.1/standard/ckeditor.js"></script>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!-- Textarea -->
<div class="form-group">
    <label class="col-md-2 control-label" for="editor1">HTML </label>
    <div class="col-md-10">
        <textarea class="form-control" id="editor1" name="editor1"><p>text example with ahöäåra</p></textarea>
    </div>
</div>
<!-- KW density result -->
<div class="form-group">
    <label class="col-md-2 control-label" for="editor1">Words Repeat</label>
    <div class="col-md-10">
        <div id="KWdensity"></div>
    </div>
</div>

JavaScript

$(document).ready(function() {
    //----------------------------------------------------------------------
    // Editor init
    //----------------------------------------------------------------------
    CKEDITOR.replace('editor1');

    //----------------------------------------------------------------------
    // KW init
    //----------------------------------------------------------------------
    $(initKW);

    //----------------------------------------------------------------------
    // Editor key intercept
    //----------------------------------------------------------------------
    CKEDITOR.instances.editor1.on('contentDom', function() {
        CKEDITOR.instances.editor1.document.on('keyup', function(event) {
            $(initKW);
        });
    });

    /*function removeDiacritics(str) {

        var defaultDiacriticsRemovalMap = [{
            'base': 'A',
            'letters': '\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F'
        }];
        var diacriticsMap = {};
        for (var i = 0; i < defaultDiacriticsRemovalMap.length; i++) {
            var letters = defaultDiacriticsRemovalMap[i].letters;
            for (var j = 0; j < letters.length; j++) {
                diacriticsMap[letters[j]] = defaultDiacriticsRemovalMap[i].base;
            }
        }
        return str.replace(/[^\u0000-\u007E]/g, function(a) {
            return diacriticsMap[a] || a;
        });
    }*/

    function KeyDensityShow(srctext, MaxKeyOut, keylenMin) {
        var Output;
        // Split text on non word characters
        var words = srctext.toLowerCase().split(/[^\p{L}\p{M}\p{N}]+/u)
        var positions = new Array()
        var word_counts = new Array()
        try {
            for (var i = 0; i < words.length; i++) {
                var word = words[i]
                if (!word ||...