JSFiddle - React, Tailwind, and code Playground

HTML

<div class="cardGramatica">  
        <h4>Gramatica</h4>   

        <div class="Header" id="hd03">
            <form id="gramar">
                     Id
                    <input id="inputvar" maxlength="1"  style="width:5%" type="text" name="fname"><i class="fas fa-long-arrow-alt-right" style="font-size:15px; padding-left:5px"></i>
                    String
                    <input id="inputter" style="width:40%" type="text" name="fname">
                    <button type="button" style="width:100%" value="Adicionar"  id="adicionar">Adicionar No</button>
            <br>
    </form>
        </div>
    </div>

JavaScript

var ListaNo = new function () {
    this.Nos;

    function CriaNo(idNo){
        var NovoNo = new No(idNo);
        this.Nos.push(NovoNo);
        return NovoNo;
    }

    function AdicionaLigacao(idNo, termo)
    {
    alert(123);
        var aux = buscaNo(idNo);
        if (aux == null) aux = CriaNo(idNo);
        aux.AdcionaNo(termo);
    }  


    function verificaGr(chave, nAtual, i){
        if(i<chave.length)
        {       
            var cAtual = chave[i];
            nAtual.terminal.foreach(element, index =>{
                if(element == cAtual)
                {
                    var NovNo = buscaNo(nAtual.variavel[index])
                    var aux;
                    if (NovNo != null)  aux = verificaGr(chave, NovNo, i+1);
                    else if (NovNo == null && i == chave.length-1)
                    {
                        if(nAtual.variavel[index] == 'λ') return true;
                    }
                    if (aux == true) return true;
                }
                else if (element == 'λ')
                {
                    var NovNo = buscaNo(nAtual.variavel[index])
                    var aux;
                    if (NovNo != null)  aux = verificaGr(chave, NovNo, i);
                    if (aux == true) return true;
                }
                return false;   
            }); 
        }
        else if(i == chave.length)
        {
            nAtual.terminal.foreach(element, index =>{
                if (element == 'λ' && nAtual.variavel[index] == 'λ') return true;
            });
        }
        else return false;
    }

    function buscaNo(idNo)
    {
        if(idNo == 'λ') return null;
        this.Nos.foreach(element, index =>{
        if(element.id == idNo)
        {
            return Nos[index];
        }   
    });
    return null;    
    }

    function LimpaNos()
{
    this.Nos = [];
}

    return{
        ListaNo, LimpaNos, buscaNo, verificaGr,...