Componentes/News Card

News Card

Card de notícia financeira — exibe título, fonte, tempo e indicador de sentimento (alta/baixa/neutro). Usado em feeds de notícias dentro do contexto de trading.

Trading
Figma: 66:2373

Preview

Alta (dot verde)

Bitcoin ETF sees record inflows as institutional interest grows

AltaCoinDesk2h ago
Baixa (dot vermelho)

Petrobras shares fall on dividend cut concerns after Q3 earnings

BaixaValor Econômico45m ago
Neutro (dot cinza)

Banco Central mantém Selic em 10,5% ao ano em decisão unânime

NeutroFolha de S.Paulo1h ago
Lista de notícias

Bitcoin ETF sees record inflows

AltaCoinDesk2h ago

Petrobras shares fall on dividend cut

BaixaValor Econômico45m ago

Banco Central mantém Selic em 10,5%

NeutroFolha1h ago

Código

Copie e cole no Claude Code para implementar este componente em pixel-perfect usando os tokens TRDR.

<!-- News Card — Design System TRDR (Figma: 66:2373) -->
<!-- sentiment: adicionar .trdr-news-card-dot-up | -down | -neutral -->
<div class="trdr-news-card">
  <div class="trdr-news-card-inner">
    <div class="trdr-news-card-dot trdr-news-card-dot-up"></div>
    <div class="trdr-news-card-content">
      <p class="trdr-news-card-title">Bitcoin ETF sees record inflows as institutional interest grows</p>
      <div class="trdr-news-card-meta">
        <span class="trdr-news-card-source">CoinDesk</span>
        <span class="trdr-news-card-sep">•</span>
        <span class="trdr-news-card-time">2h ago</span>
      </div>
    </div>
    <button class="trdr-news-card-action" aria-label="Abrir notícia">
      <span class="material-symbols-outlined" style="font-size:12px;line-height:12px">open_in_new</span>
    </button>
  </div>
</div>

Dimensões

VarianteLarguraAltura
Default100%74px
Dot indicador4px4px
Botão de ação20px20px

Props / Variantes

PropTipoValores
sentimentenum
updownneutral
titlestring
sourcestring
timestring
hrefstring

Tokens Utilizados

PropriedadeTokenValor
Border bottomborder.subtle
#222222
Dot — altacontext.trading.up
#4FE290
Dot — baixacontext.trading.down
#F34F45
Dot — neutrocontent.tertiary
#A4A4A4
Títulocontent.primary
#FFFFFF
Fonte / Tempocontent.tertiary
#A4A4A4
Separador •content.disabled
#4A4A4A
Hover BGsurface.secondary
#222222
Paddingspacing.sm + spacing.lg
8px 16px
Gap innerspacing.sm
8px
Radius botãoradius.sm
4px

Anatomia

Container (border-bottom subtle, padding 8px 16px):
  [Dot 4×4px] [Content flex-1 gap-8px] [Action 20×20px]
  Content:
    [Title — Inter 14/400/1.2 content-primary]
    [Meta row gap-8px h-16px]
      [Source 14/400] [• 12px disabled] [Time 14/400]

Notas

O dot indicador sobe (up) ou desce (down) conforme sentimento da notícia. Hover aplica surface.secondary. Quando href é passado, o container se torna um <a> com target _blank.