Skip to content

feat: adiciona possibilidade de click no ícone do chip e corrige apli…#1072

Open
jvictordev1 wants to merge 3 commits intomainfrom
feature/chip-icon-click-action
Open

feat: adiciona possibilidade de click no ícone do chip e corrige apli…#1072
jvictordev1 wants to merge 3 commits intomainfrom
feature/chip-icon-click-action

Conversation

@jvictordev1
Copy link
Contributor

Por favor, verifique se o seu pull request está de acordo com o checklist abaixo:

  • A implementação feita possui testes (Caso haja um motivo para não haver testes/haver apenas testes de snapshot, descrever abaixo)
  • A documentação no mdx foi feita ou atualizada, caso necessário
  • O eslint passou localmente

1 - Resumo

Adiciona possibilidade de click no ícone da chip, emitindo o mesmo evento de click da ação de clickar em qualquer região da chip. Também corrige o funcionamento da mudança da variante na documentação (não estava sendo alterada).

2 - Tipo de pull request

  • 🧱 Novo componente
  • ✨ Nova feature ou melhoria
  • 🐛 Fix
  • 👨‍💻 Refatoração
  • 📝 Documentação
  • 🎨 Estilo
  • 🤖 Build ou CI/CD

3 - Esse PR fecha alguma issue? Favor referenciá-la

Não.

4 - Quais são os passos para avaliar o pull request?

  • Ative as props PersistantActionIcon e TriggerClickOnIcon e verifique que o evento de click só é emitido quando clicar no ícone
  • Desative a prop TriggerClickOnIcon e verifique que o evento é emitido ao clicar em qualquer região da chip
  • Verifique que, ao trocar de variante, o componente re-renderiza com as cores corretas

5 - Imagem ou exemplo de uso:

image

6 - Esse pull request adiciona breaking changes?

  • Sim
  • Não

@github-actions github-actions bot added the 🐛 Bug Algo não está funcionando label Mar 16, 2026
@greptile-apps
Copy link

greptile-apps bot commented Mar 16, 2026

Greptile Summary

Este PR adiciona a possibilidade de restringir o evento de clique ao ícone do CdsChip (via nova prop triggerClickOnIcon), refatora o sistema de classes CSS de strings mutáveis para computed, e corrige a atualização da variante na documentação.

  • Bug de lógica: Existe uma inconsistência entre chipClasses (que usa !props.triggerClickOnIcon) e handleContainerClick/cursor (que usam shouldApplyTriggerClickOnIconProp = triggerClickOnIcon && persistantActionIcon). Quando triggerClickOnIcon=true mas persistantActionIcon=false, os estilos de hover desaparecem mas o clique no container ainda funciona.
  • Variantes removidas: Os blocos CSS explícitos de amber e dark foram removidos. O variantResolver ainda gera estilos para essas variantes, mas com cores significativamente diferentes (especialmente dark, que terá texto escuro em fundo escuro).
  • Documentação incompleta: A nova prop triggerClickOnIcon não foi adicionada ao preview interativo da documentação, e o JSDoc do emit diz @event icon-click em vez de @event click.
  • Testes: Não foram adicionados testes para a nova funcionalidade de triggerClickOnIcon.

Confidence Score: 2/5

  • Este PR contém um bug de lógica que causa comportamento inconsistente e mudanças visuais nas variantes amber/dark que precisam de atenção.
  • Score 2 devido à inconsistência lógica entre chipClasses e shouldApplyTriggerClickOnIconProp que causa um bug real quando triggerClickOnIcon=true sem persistantActionIcon, à remoção das variantes amber/dark com resultados visuais potencialmente quebrados, e à ausência de testes para a nova funcionalidade.
  • src/components/Chip.vue requer atenção especial — contém o bug de lógica na condição de chipClasses e a remoção dos estilos das variantes amber e dark.

Important Files Changed

Filename Overview
src/components/Chip.vue Adiciona lógica de clique no ícone e refatora classes CSS para computed. Contém inconsistência lógica entre chipClasses e shouldApplyTriggerClickOnIconProp, documentação de evento incorreta, e remoção das variantes amber/dark com estilos diferentes dos gerados pelo resolver.
docs/components/display/chip.md Atualiza valor padrão de iconLeft, mas não inclui a nova prop triggerClickOnIcon nos args do preview.
package.json Bump de versão de 3.154.12 para 3.155.0 (minor), adequado para nova feature com breaking changes.
src/tests/snapshots/Chip.spec.js.snap Snapshot atualizado refletindo as novas classes computadas e estilo inline de cursor.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Usuário clica no Chip] --> B{shouldApplyTriggerClickOnIconProp?}
    B -->|true| C{Clicou no ícone?}
    B -->|false| D[handleContainerClick]
    C -->|Sim| E[handleIconClick]
    C -->|Não| F[Nada acontece]
    E --> G[event.stopPropagation]
    G --> H["emits('click', true)"]
    D --> I[handleClick: toggle internalValue]
    I --> J["emits('click', true)"]

    style B fill:#ffcc00,stroke:#333
    style C fill:#ffcc00,stroke:#333
Loading

Comments Outside Diff (1)

  1. src/components/Chip.vue, line 295-320 (link)

    Variantes amber e dark removidas causam quebra visual

    Os blocos CSS explícitos para &--amber e &--dark foram removidos. Embora o variantResolver gere estilos para essas variantes automaticamente (pois existem em $shades400), os estilos gerados são significativamente diferentes dos originais:

    • dark: O bloco original usava color: $n-10 (texto claro) com background-color: $n-700 (fundo escuro). O resolver vai gerar color: color.adjust($n-700, ...) (texto escuro) com background-color: $n-500 (fundo meio-escuro), resultando em texto praticamente ilegível.
    • amber: O bloco original usava color: $al-700 sem outline. O resolver vai gerar uma cor diferente (color.adjust($al-500, ...)) e adicionar um outline que antes não existia.

    Como isso é marcado como breaking change no PR, considere documentar especificamente quais variantes foram afetadas para que consumidores do componente possam se preparar.

Last reviewed commit: 1d6a41c

jvictordev1 and others added 2 commits March 16, 2026 16:16
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 Bug Algo não está funcionando

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant