Changelog

Notas de versão e mudanças do @convertcompany/ui.

v.1.7.1

19 de Maio de 2026

🔧 Correções

  • 🔧 fix : TagInput — dropdown migrado para Popover portalado (mesmo padrão de MultiSelect e AutoComplete). Antes era um <div> absolute, clipado por qualquer ancestral com overflow: hidden (Dialog, Card com overflow, etc.). Agora escapa via portal e nunca corta.

🪄 Melhorias

  • 🪄 improvement : Novo subpath @convertcompany/ui/locale — re-exporta todos os locales do date-fns via react-day-picker/locale. Você não precisa mais instalar react-day-picker como dep direta só pra usar ptBR no Calendar, DatePicker ou DateRangePicker. Custo de bundle ≈ 0 (re-export thin, ~50 bytes) — tree-shaking do consumer entrega só o locale importado.
  • 🪄 improvement : Novo export PopoverAnchor do componente Popover — permite ancorar um popover ao layout sem que o elemento âncora seja o trigger de clique (útil quando o trigger é focus-driven, como o input do TagInput).

v.1.7.0

19 de Maio de 2026

✨ Novos componentes

  • Alert Dialog : Diálogo modal de confirmação para ações destrutivas. Inclui o utilitário promise-based useConfirm para chamar await confirm({...}) em qualquer handler.
  • Calendar : Calendário standalone construído sobre react-day-picker v10. Suporta modo single, multiple e range. O dia de hoje agora é marcado com um dot discreto em vez de fundo sólido.
  • Date Picker : Seletor de data único com trigger estilo Select e calendário em popover. Intl.DateTimeFormat nativo + locales do react-day-picker/locale.
  • Date Range Picker : Seletor de intervalo com 2 meses lado a lado por default. Mesma API do DatePicker mais numberOfMonths.
  • Empty : Estado vazio composto (Empty, EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, EmptyContent) para listas, tabelas e buscas sem resultado.
  • JSON Editor : Editor inline de JSON com syntax highlight, indentação automática, validação contínua e virtualização (renderiza só linhas visíveis — funciona com 1k+ linhas sem travar). Tema custom por tipo de token, sem dependências pesadas tipo Monaco.
  • Pagination : Navegação numérica entre páginas com botões anterior/próximo e elipses.
  • Time Picker : Input segmentado HH:MM(:SS) com navegação por teclado (↑/↓ incrementa, ←/→ navega segmentos, auto-focus ao completar 2 dígitos).

🪄 Melhorias

  • 🪄 improvement : Componente Select ganhou prop loading — substitui o valor por um loader textual ("Carregando…") usando o TextDotsLoader da própria lib. Também aceita loadingText para customizar.
  • 🪄 improvement : Componente Tabs sem ring no TabsContent. Mantém tabIndex=0 para acessibilidade (screen reader continua conseguindo focar o painel) mas remove o anel azul visual ao tabular pra dentro.
  • 🪄 improvement : Novo hook useDebounce para debouncer valores.
  • 🪄 improvement : Provider-based ConfirmProvider aceita prop defaults com confirmLabel/cancelLabel/variant — facilita integração com i18n (passe t("confirm") lá uma vez e todas as chamadas herdam).
  • 🪄 improvement : AlertDialogAction e AlertDialogCancel agora aceitam prop variant (passada ao buttonVariants) — antes Cancel era hardcoded outline.

🔧 Correções

  • 🔧 fix : ConfirmProvider e AiProvider agora limpam resolvers pendentes no unmount — evitava leak de Promise (e tudo que ela capturava via await/.then) quando o provider desmontava com confirm aberto.

v.1.6.3

22 de Agosto de 2025

  • 🪄 improvement : Nova propriedade no componente AutoComplete para renderizar o valor customizado
  • 🪄 improvement : Componentes AutoComplete e MultiSelect agora aceitam o atributo filterBy como false para desabilitar o filtro

v.1.6.1 / v.1.6.2

29 de Julho de 2025

  • 🪄 improvement : Melhorias gerais de performance e estabilidade
  • 🔧 Fix : Correções menores de bugs e problemas de compatibilidade

v.1.6.0

28 de Julho de 2025

  • ✨ new : Nova seção AI com componentes especializados para interfaces de IA
  • ✨ new : Componente PromptCommand para comandos de IA
  • ✨ new : Componente PromptInput para entrada de prompts
  • ✨ new : Componente Provider para gerenciamento de contexto de IA
  • ✨ new : Componente Icons para ícones de IA
  • ✨ new : Classes CSS para utilitários de estilo
  • ✨ new : Funções para utilitários JavaScript
  • ✨ new : Componente AudioWavePlayer para reprodução de áudio
  • ✨ new : Componente Avatar para exibição de avatares
  • ✨ new : Componente LoadingIndicators para indicadores de carregamento
  • ✨ new : Componente Message para exibição de mensagens
  • ✨ new : Componente Markdown para renderização de markdown
  • ✨ new : Componente Stepper para fluxos de etapas

v.1.5.0

Data a ser definida

  • ✨ new : Componente Chat para interfaces de chat
  • ✨ new : Componente Message para mensagens de chat
  • ✨ new : Suporte para PhoneInput (em desenvolvimento)
  • 🪄 improvement : Melhorias na documentação e exemplos
  • 🪄 improvement : Otimizações de performance

v.1.4.2

05 de Junho de 2025

  • 🪄 improvement : Melhorias na borda e sombra de popovers, selects, dropdown
  • 🪄 improvement : Checkmark alinhado a direita para select e autocomplete
  • 🪄 improvement : Melhorias visuais em componentes
  • 🪄 improvement : Botão agora tem como default o type "button" para evitar comportamento inesperado em formulários

v.1.4.0

29 de Maio de 2025

  • ✨ new : Novos componentes Chip e ChipSelector
  • ✨ new : Novo token --color-primary-contrast para maior contraste quando utilizando cores de destaque do tema
  • 🪄 improvement : Melhorias na borda e sombra de popovers, selects, dropdown

v.1.3.7

23 de Maio de 2025

  • 🔧 Fix : Problemas na renderização do valor no Select
  • 🔧 Fix : Problemas de acessibilidade no Sheet