JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div ng-app="icmssProdutos" ng-controller="IcmssProdutosController">
  <div ng-repeat="icms in ICMSs">
    <div class="jumbotron">
      <button style="float:right " type="button" class="btn btn-danger" ng-click="removerIcms(icms)">x</button>
      <label for="ex2">Regime</label>
      <select class="form-control" ng-model="icms.regime" ng-options="r.regime for r in data">
        <option value="">Selecione o Regime</option>
      </select>
      <label for="ex2" ng-show="icms.regime">Situação Tributária
        <select class="form-control" ng-show="icms.regime" ng-model="icms.situacao" ng-options="s.situacao for s in icms.regime.SituacaoTributaria">
          <option value="">Selecione a Situação Tributária</option>
        </select>
      </label>
      <label for="ex2" ng-show="icms.regime">Origem
        <select class="form-control" ng-model="icms.Origem" ng-options="o.Origem for o in icms.regime.Origens">
          <option value="">Selecione a Origem do Produto</option>
        </select>
      </label>

      <div class="col-md-12" ng-if="icms.situacao">
        <div class="col-md-6">
          <h2>ICMS</h2>
          <label for="ex2" ng-if="icms.situacao">Modalid. de Determ. da BC ICMS
            <select class="form-control" ng-model="icms.ModaliBcICMS" ng-options="m.Modali for m in icms.regime.ModaliBcICMS track by m.id">
              <option value="">Selecione Modalidade de determinação da BC do ICMS</option>
            </select>
          </label>
          <label for="ex2" ng-if="icms.situacao">% Redução da da BC ICMS
            <input type="number" class="form-control"></input>
          </label>
          <label for="ex2" ng-if="icms.situacao">Alíquota do ICMS
            <input type="number" class="form-control"></input>
          </label>
          <label...

JavaScript

var CadastroICMSProduto = angular.module('icmssProdutos', []);

CadastroICMSProduto.controller('IcmssProdutosController', ['$scope', '$location', function($scope, $location) {

  $scope.ICMSs = [];

  $scope.IncluirICMS = function() {
    $scope.ICMSs.push({});
  }

  $scope.removerIcms = function(icms) {
    var index = $scope.ICMSs.indexOf(icms);
    $scope.ICMSs.splice(index, 1);
  }

  $scope.data = [{
    "id": "0",
    "regime": "Tributação Normal",
    "SituacaoTributaria": [{
      "value": 00,
      "situacao": "00 - Tributada Integralmente"

    }, {
      "value": 10,
      "situacao": "10 - Tributada com Cobrança de ICMS por ST"

    }, {
      "value": 20,
      "situacao": "20 - Com redução de base de cálculo "

    }],
    "Origens": [{
      "value": 0,
      "Origem": "0 - Nacional - Exceto as indicadas nos códigos 3,4,5 e 8"
    }, {
      "value": 1,
      "Origem": "1 - Estrangeira - Importação Direta"
    }, {
      "value": 2,
      "Origem": "2 - Estrangeira - Adq. no mercado interno"
    }],
    "ModaliBcICMS": [{
			"id": 0,
			"Modali": "0 - Margem Valor Agregado (%)"	  
		}, {
			"id": 1,
			"Modali": "1 - Pauta (Valor)"	  
		}, {
			"id": 2,
			"Modali": "2 - Preço Tabelado Máx. (valor)"	  
		}, {
			"id": 3,
			"Modali": "3 - Valor da operação"	  
		}],
	"ModaliBcICMSst": [{
			"id": 0,
			"ModaliST": "0 – Preço tabelado ou máximo sugerido"	  
		}, {
			"id": 1,
			"ModaliST": "1 - Lista Negativa (valor)"	  
		}, {
			"id": 2,
			"ModaliST": "2 - Lista Positiva (valor)"	  
		}, {
			"id": 3,
			"ModaliST": "3 - Lista Neutra (valor)"	  
		}, {
			"id": 4,
			"ModaliST": "4 - Margem Valor Agregado (%)"	  
		}, {
			"id": 5,
			"ModaliST": "5 - Pauta (valor)"	  
		}]   	
  }, {
    "id": "1",
    "regime": "Simples Nacional",
    "SituacaoTributaria": [{
      "situacao": "Building #4"
    }, {
      "situacao": "Building #5"
    }, {
      "situacao": "Building #6"
    }],
    "Origens": [{
      "Origem": "0 - Nacional - Exceto as...