<div
  class="form-group {{ $clasesContenedor ?? '' }}"
>

  <label
    class="{{ $clasesEtiqueta ?? '' }}"
    id="{{ $idEtiqueta ?? '' }}"
    for="{{ $id ?? '' }}"
    {{ $atributosEtiqueta ?? '' }}
  >
    {{ $textoEtiqueta ?? '' }}
  </label>

  @switch($tipo ?? 'input')

    @case('select')

      <select
        class="form-select{{ $clases ?? '' }}"
        id="{{ $id ?? '' }}"
        name="{{ $id ?? '' }}"
        {{ $atributos ?? '' }}
      >

        {{ $slot }}

      </select>

    @break

    @case('textarea')

      <textarea
        class="form-control {{ $clases ?? '' }}"
        id="{{ $id ?? '' }}"
        name="{{ $id ?? '' }}"
        {{ $atributos ?? '' }}
      >{{ $slot }}</textarea>

    @break

    @default

      <input
        type="{{ $tipo ?? 'text' }}"
        class="form-control {{ $clases ?? '' }}"
        id="{{ $id ?? '' }}"
        name="{{ $id ?? '' }}"
        value="{{ $valor ?? '' }}"
        {{ $atributos ?? '' }}
      >

  @endswitch

</div>