@php

  if (empty($tipo))
    $tipo = 'text'
  ;

  if (empty($contenedor)) {

    $contenedor = (object) ['clases' => in_array($tipo, ['radio', 'checkbox'])
      ? 'form-check'
      : 'form-group'
    ];

    $contenedor->atributos = ["class=$contenedor->clases"];

    unset($contenedor->clases);

  } else
    $contenedor = (object) ['atributos' => [$utilidades->limpiar($contenedor['atributos'])]]
  ;

  if (empty($etiqueta))
    $etiqueta = (object) ['atributos' => empty($id) ? [] : ["for=$id"]];
  else
    $etiqueta = (object) ['atributos' => [$utilidades->limpiar($etiqueta['atributos'])]]
  ;

  $contenedor->atributos = implode(' ', $contenedor->atributos);
  $etiqueta->atributos = implode(' ', $etiqueta->atributos);

@endphp

<div {!! $contenedor->atributos !!}>

  @if (!empty($titulo))
    <label {!! $etiqueta->atributos !!}>{{ $titulo }}</label>
  @endif

  @include('aplicacion.elementos.campo')

</div>