KDS
Chatbot

InlineCitation

Citações inline no texto — número clicável que abre um HoverCard com a fonte.

Overview

InlineCitation é a versão inline do Sources — ao invés de listar fontes no fim, embute citations no texto: "tokens usam Tailwind v4 [1]". Hover/click no número abre um HoverCard com a fonte completa.

Combina muito bem com Streamdown: você pode renderizar citation refs no markdown e converter em InlineCitation via custom components.

Preview
Citation inline embutida em parágrafo.

O Kalvner Design System usa Tailwind v4 com tokens primitivos via @theme directivetailwindcss.com , o que permite que utilitários como bg-blue-600 sejam gerados automaticamente.

Anatomy

<InlineCitation>
  ├─ <InlineCitationText>texto destacado</InlineCitationText>
  └─ <InlineCitationCard>
       ├─ <InlineCitationCardTrigger sources={[urls]} />
       └─ <InlineCitationCardBody>
            <InlineCitationCarousel>
              <InlineCitationCarouselContent>
                <InlineCitationCarouselItem>
                  <InlineCitationCarouselHeader>...
                  <InlineCitationSource>...
                  <InlineCitationQuote>...
</InlineCitation>

Usage

<p>
  Tokens usam Tailwind v4{" "}
  <InlineCitation>
    <InlineCitationText>[1]</InlineCitationText>
    <InlineCitationCard>
      <InlineCitationCardTrigger sources={["https://tailwindcss.com/docs/theme"]} />
      <InlineCitationCardBody>
        <p>Tailwind docs sobre theme directive.</p>
      </InlineCitationCardBody>
    </InlineCitationCard>
  </InlineCitation>.
</p>

Props

InlineCitation (Root)

Aceita ComponentProps<"span">. Wrapper inline.

InlineCitationText

Aceita ComponentProps<"span">. Texto destacado (em geral o número da citation entre colchetes).

InlineCitationCard

Aceita ComponentProps<typeof HoverCard>. Wrapper do HoverCard trigger + content.

InlineCitationCardTrigger

PropTipoDefaultDescrição
sourcesstring[][]URLs das fontes — usa o domínio do primeiro como label do badge.

Herda de Badge.

InlineCitationCardBody

Aceita ComponentProps<"div">. Conteúdo do HoverCard — pode incluir o Carousel pra múltiplas fontes.

ComponenteFunção
InlineCitationCarouselWrapper do Carousel.
InlineCitationCarouselContentWrapper das slides.
InlineCitationCarouselItemSlide individual (1 fonte).
InlineCitationCarouselHeaderHeader da slide.
InlineCitationCarouselIndex"1 / 3".
InlineCitationCarouselPrev / NextNavegação.
InlineCitationSourceLink da fonte (<a>).
InlineCitationQuoteBloco de citação textual.

Subcomponents

  • InlineCitation — root inline (<span>).
  • InlineCitationText — destaque do texto da citation.
  • InlineCitationCard — HoverCard que abre on hover.
  • InlineCitationCardTrigger — Badge clicável com domain do primeiro source (útil pra preview compacto).
  • InlineCitationCardBody — conteúdo do HoverCard.
  • InlineCitationCarousel + filhos — quando há múltiplas fontes pra mesma citation, navegação por carrossel.
  • InlineCitationSource + InlineCitationQuote — link e trecho citado dentro do carousel item.

When to use

  • Respostas com RAG citando fontes específicas inline.
  • Markdown rendering com refs [1], [2] que viram citations.
  • Documentation generation onde claims precisam de evidência inline.

When not to use

  • Lista de fontes no fim — use Sources.
  • Tooltip de termo (definição) — use HoverCard diretamente sem o wrapper InlineCitation.

Best practices

  • Numeração consistente. [1], [2], [3] na ordem de aparição no texto.
  • Sources lista no fim. InlineCitation inline + Sources no fim é o padrão clássico de RAG.
  • Domain-only no trigger. O trigger compacto deve mostrar só o domain ("tailwindcss.com"), não a URL inteira.

Accessibility

ConcernComportamento
HoverCardAcessível via teclado (Tab + Enter).
Visible focusTrigger é Badge clicável; herda focus-visible.
External linksSource dentro do carousel deve ter target="_blank" + rel="noreferrer".

On this page