JSFiddle - React, Tailwind, and code Playground

HTML

<li class="main_menu_01"> 1.0 Main Menu </li>
  <ul class="panel">
								
    <li class="sub_menu_01"> 1.1 Sub Menu </li>
					
    <li class="main_menu_02"> 1.2 Sub Menu </li>
      <ul class="panel">
		
      <li class="sub_menu_02"> <a> 1.2.1 Sub Menu </a> </li>
      <li class="sub_menu_02"> <a> 1.2.2 Sub Menu </a> </li>	

      </ul>	
			
  </ul>

CSS

.panel{ 
 width: 100%;
 padding-left: 0%;
 font-weight: bold;
 overflow: hidden;
 display:none;
}

.main_menu_01 {
 padding-left: 1%;
 background: blue;
}

.main_menu_02 {
 padding-left: 5%;
 background: lime;
}

.sub_menu_01{
 padding-left: 1%;
 background: lime;
}

.sub_menu_02{
 padding-left: 10%;
 background: lime;
}





.main_menu_01:before, .main_menu_02:before {
 content:'+';
 width:20px;
 display:inline-block;
}

.main_menu_01.active:before, .main_menu_02.active:before {
 content:'-';
}

JavaScript

$(document).ready(function () {
    $(".main_menu_01, .main_menu_02").on('click', function () {
    
    var $panel = $(this).next('.panel');
    if ($panel.is(':visible')) {
      $panel.add($panel.find('.panel')).slideUp(500).removeClass('active');
    } else {
      $panel.slideDown(500).addClass('active');
    }
    
    });
});