Aparentemente o problema está nessa variável 'modalOpen' que ficou obsoleta
this.removeMateria = function(){
let children = container.childElementCount;
let titulo = document.querySelectorAll(`#${tipo.containerId} .titulo-materia`);
let texto = document.querySelectorAll(`#${tipo.containerId} .texto-materia`);
if(children > tipo.maxChilds){
let isLastChildrenEmpty = (titulo[titulo.length -1].innerHTML == "" && texto[texto.length-1].children[0].innerHTML == '');
if(isLastChildrenEmpty || modalOpen){
container.lastChild.remove();
}else{
new ConfirmModal(tipo.msg, tipo.funcaoRemove);
}
}else{
console.log('não foi possível remover a matéria pois não há matéria a ser removida');
}
children = container.childElementCount;
(children > tipo.maxChilds) ? btnRemove.classList.remove('greyed') : btnRemove.classList.add('greyed');
};
Aparentemente o problema está nessa variável 'modalOpen' que ficou obsoleta