Skip to content

Permite que o usuário redimensione apenas o input do tipo textarea#1094

Open
lucasn4s wants to merge 4 commits into
mainfrom
hotfix/input-types-resize
Open

Permite que o usuário redimensione apenas o input do tipo textarea#1094
lucasn4s wants to merge 4 commits into
mainfrom
hotfix/input-types-resize

Conversation

@lucasn4s
Copy link
Copy Markdown
Collaborator

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

  • Impede que inputs nativos HTML usados pelos componentes de input do Cuida sejam redimensionados pelo usuário para preservar bom funcionamento (com exceção dos componentes TextArea).

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

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

  • Acesse a documentação de produção do Cuida, vá até um dos componentes (o comportamento acontece apenas no Firefox) e verifique que qualquer componente de input que tenha como base o BaseInput (TextInput, NumberInput etc) exibe o indicativo de que é redimensionável pelo usuário;
  • Tente redimensionar o componente e veja que é possível fazê-lo;
  • Agora, através deste PR, faça o mesmo processo e verifique que só é possível redimensionar o componente TextArea;
  • Deixe seu like e se inscreva no canal

5 - Imagem ou exemplo de uso:

  • Exemplo do comportamento indesejado:
image

6 - Esse pull request adiciona breaking changes?

  • Sim
  • Não

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 26, 2026

Greptile Summary

Este PR limita o redimensionamento manual dos campos baseados em BaseInput. As principais mudanças são:

  • Adiciona um valor computado para escolher o tipo de resize pelo type do input.
  • Mantém resize: vertical para textarea.
  • Usa resize: none para os demais tipos no caminho padrão do BaseInput.
  • Atualiza a versão do pacote em package.json.

Confidence Score: 4/5

A mudança está próxima, mas este comportamento precisa ser corrigido antes do merge.

  • O caminho padrão do BaseInput passa a bloquear resize para inputs que não são textarea.

  • O caminho floatingLabel/mobile continua usando BaseMobileInput, que ainda permite resize em todos os tipos.

  • O comportamento corrigido fica inconsistente entre variantes públicas do mesmo componente.

  • src/components/BaseMobileInput.vue deve receber a mesma regra de resize condicional.

Important Files Changed

Filename Overview
src/components/BaseInput.vue Adiciona controle condicional de resize, mas não cobre o caminho delegado para o input mobile.
package.json Atualiza apenas a versão publicada do pacote.

Reviews (1): Last reviewed commit: "Atualiza versão do projeto" | Re-trigger Greptile

Comment on lines 672 to +675
text-align: start;
color: tokens.$n-600;
width: 100%;
resize: vertical;
resize: v-bind(resizeType);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Resize mobile incompleto O novo resizeType só é aplicado ao campo renderizado por BaseInput. Quando floatingLabel é true, este componente renderiza CdsBaseMobileInput, e esse caminho ainda mantém resize: vertical para todos os tipos de input. Assim, TextInput, NumberInput e outros componentes em modo floatingLabel/mobile continuam redimensionáveis no Firefox, mantendo o comportamento que este PR tenta remover.

Rule Used: What: Sempre responda em português (PT-BR) durante... (source)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants