component

TuxInfoLabel

Form-field label with an (i) info button. Hover or click the button to reveal a UPopover with the extended explanation. Built for technical research forms where field meanings deserve context — ITAR rubrics, retention classes, classifier metric definitions, model-config knobs. Pair with form primitives via the standard for= attribute.

canonical

Required field with help

required adds a maroon * after the label. The #info slot is the popover body — any Vue content, including inline code, fits.

<tux-info-label for="cls-211-threshold" required>
  Classifier threshold
  <template #info>
    The cosine-similarity floor above which CLS-211 marks a document as
    ITAR-positive. Anything below this is sent to manual review.
  </template>
</tux-info-label>
<UInput id="cls-211-threshold" v-model="threshold" type="number" step="0.01" />

click trigger

Click instead of hover

Default trigger is hover (matches Fluent 2). Pass trigger="click" for keyboard-first or touch-heavy surfaces, or when the help text is long enough that "tooltip on hover" feels too transient.

<tux-info-label
  for="retention-class"
  trigger="click"
>
  Retention class
  <template #info>
    <p>Retention controls how long Landscape holds the artifact:</p>
    <p>
      <code>permanent</code> — keep until manual delete.<br>
      <code>30d</code> — auto-purge after 30 days.<br>
      <code>session</code> — discarded at session end.
    </p>
  </template>
</tux-info-label>