Inputs

Campos de formulario con .cl-input. Acompañalos con una etiqueta .cl-label y, si hace falta, un texto de ayuda .cl-help. La misma clase funciona sobre <input>, <select> y <textarea>.

Campo de texto

Combinación básica: etiqueta, control y texto de ayuda.

Como aparece en el documento de identidad.
<div>
  <label class="cl-label">Nombre completo</label>
  <input class="cl-input" value="María José Rodríguez Vargas">
  <div class="cl-help">Como aparece en el documento de identidad.</div>
</div>

Campo requerido

Marcá la etiqueta con un asterisco y agregá el atributo required al control.

<div>
  <label class="cl-label">Correo electrónico <span aria-hidden="true">*</span></label>
  <input class="cl-input" type="email" placeholder="[email protected]" required>
</div>

Con ícono

Envolvé el control en .cl-input-wrap, poné el SVG de primero y agregá .cl-input--with-icon al input para reservar el espacio.

<div>
  <label class="cl-label">Código</label>
  <div class="cl-input-wrap">
    <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="3.4"/><path d="M5 19c1-3.5 4-5 7-5s6 1.5 7 5"/></svg>
    <input class="cl-input cl-input--with-icon" value="1-1789-0345">
  </div>
</div>

Búsqueda

El mismo patrón con ícono sirve para búsquedas; usá placeholder en lugar de valor.

<div class="cl-input-wrap">
  <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="6.5"/><path d="m20 20-3.5-3.5"/></svg>
  <input class="cl-input cl-input--with-icon" placeholder="Buscar por nombre, código o categoría...">
</div>

Select

Aplicá .cl-input directamente al <select>; el caret viene incluido en la clase.

<div>
  <label class="cl-label">Tipo</label>
  <select class="cl-input">
    <option>Mensual</option>
    <option>Quincenal</option>
    <option>Semanal</option>
  </select>
</div>

Textarea

Para textos largos usá <textarea> con .cl-input y definí la altura con rows.

<div>
  <label class="cl-label">Notas</label>
  <textarea class="cl-input" rows="4"></textarea>
</div>

Monto con prefijo

Prefijo de moneda posicionado sobre .cl-input-wrap. Montos siempre con números tabulares.

Colones, mensual.
<div>
  <label class="cl-label">Monto</label>
  <div class="cl-input-wrap">
    <input class="cl-input" value="850,000.00" style="padding-left: 28px; font-variant-numeric: tabular-nums">
    <span style="position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--fg-4); font-size: 12px">₡</span>
  </div>
  <div class="cl-help">Colones, mensual.</div>
</div>

Tamaño pequeño

--sm para toolbars densas y paginación.

<select class="cl-input cl-input--sm" style="width: 70px">
  <option>12</option>
  <option>25</option>
  <option>50</option>
</select>