Changelog
O que mudou no Camaleo, do mais novo para o mais antigo. Nada foi publicado no npm ainda; tudo abaixo leva até a 1.0.
1.0 — Não lançada
A 1.0 vai ser a primeira versão no npm. Ela está sendo terminada agora: o site de documentação (este), uma última passada na biblioteca e a preparação da publicação. Até lá, os pacotes estão em 0.0.0 e as entradas abaixo são a história do repositório.
Acabamento dos estilos
30 out. 2026 · estilos
material: abas verticais ganham o indicador na lateral em vez do sublinhado embaixo.glass: as linhas entre etapas futuras de umSteppercontinuam visíveis no modo claro.neubrutalism: texto direto numAlertmantém 4,5:1.progressive: o item de perigo realçado de um menu escuro chega a 4,5:1 (era 4,43:1).- O × do
Drawerfica na linha do título em todos os estilos, também quando há descrição. - O preenchimento do
Sliderfica centrado na trilha (estava 1 px fora noeditorial,y2k,neumorphismeretro). retro: oAppShellganha bisel de janela.neumorphism: sombra clara mais suave.
Menus, steppers, tabelas e mais
30 out. 2026 · biblioteca
- Overlays. Itens de rádio e submenus no
Menue noContextMenu, itens de checkbox noContextMenu, e o Tab fecha o menu. OToggletipnão anuncia mais um diálogo. UmDrawerBodyque rola recebe foco. UmPopoveralto é limitado à tela. Os toasts mapeiam os tiposloadingeerrore respeitam olimit. O Ctrl+K não abre mais oCommandPalettea partir de outro campo de texto. - Exibição.
sentimentnoStatDelta, para métricas em que cair é bom.EmptyStateTitleaceitaas. OProgressCircleanuncia o texto do valor. NovosTableCaptioneTableFooter. Um card pode virar um link inteiro. OCodeBlockrola como região nomeada e realça comentários conforme a linguagem. OCarouselsegue o padrão de abas. - Navegação. O
StepperganhaactiveStep, status de erro e umStepSeparatorcom estilo. NovoToolbarInput, e Home/End nas barras de ferramentas. A lista de abas rola quando as abas não cabem. OAccordionTriggeraceita o nível do título. NovoBreadcrumbEllipsis. - Estrutura do app. Novo
AppShellBody,rendernoAppShellContente noSidebarItem, Enter recolhe um painel doSplitter, oScrollAreafunciona só commax-height, oVisuallyHiddenpode aparecer no foco. - Formulários. Valores de
RadioGroupeSlidertipados. OSliderpassa o texto do valor aos thumbs e tem layout vertical. ONativeSelectentra noField. ONumberFieldmostra teclado decimal para passos decimais. Os erros doOtpFieldchegam a todas as casas. OTagsInputnão descarta mais uma tag repetida sem avisar oonValueChange.CheckboxeRatingpõem oidno elemento focável.
Tokens que faltavam, slots estáveis e textos traduzidos
30 out. 2026 · biblioteca
- Quatro tokens que os componentes usavam sem ninguém definir agora estão no
tokens.css:--cml-border-subtle,--cml-item-hover,--cml-surface-subtlee--cml-motion-duration. - O
data-slotvem depois de{...props}em 183 lugares, entãorender={<Button />}mantém o slot e a aparência do botão. - Novos
MessagesProvider,useMessages,Messagee os pacoteseneptBR. Os textos embutidos de 23 componentes vêm dele; as props continuam vencendo. Veja Idiomas e RTL.
Uma página para cada componente
28–30 out. 2026 · docs
Cada componente ganhou a própria página, em inglês e português: playground, de 6 a 9 exemplos ao vivo, composições reais, pares de faz/não faz, props geradas dos tipos, styling hooks e notas de teclado. Foram feitas grupo a grupo, de ações e formulários até layout e estrutura do app.
Escrever as páginas achou e corrigiu bugs pelo caminho, entre eles: horários de 12 horas quebrando a hidratação, um Progress indeterminado que parecia concluído, painéis do NavigationMenu abrindo vazios, setas do CommandPalette seguindo a ordem errada, Stack dentro de Stack herdando o espaçamento do pai e o foco caindo no <body> na última página de uma Pagination.
O site de documentação
27–28 out. 2026 · docs
- Site bilíngue, com inglês na raiz e português em
/pt-br. - A barra "visualizar em": um estilo, um modo e uma marca para todos os previews, salvos entre visitas.
- Previews com aba de código que lê o próprio arquivo do exemplo, tabelas de props geradas dos tipos e um verificador de páginas que roda o axe em 4 estilos, nos dois modos, em três larguras e nos dois idiomas.
- O popup do
Drawerenvolvido na viewport, o que tirou um aviso do Base UI.
Formulários avançados, datas, dados e estrutura do app
27 out. 2026 · biblioteca
- Formulário avançado:
PasswordInput,SearchInput,InputGroup,OtpField,TagsInput,DropzonecomFileList,Rating,ChipeErrorSummary. - Datas, sobre React Aria:
Calendar,RangeCalendar,DatePicker,DateRangePicker,DateFieldeTimeField, ligados aoField. - Exibição de dados:
DataTable(TanStack Table),Stat,DataList,Timeline,EmptyState,ProgressCircle,Meter,Image,CodeBlock,TreeVieweCarousel. - Estrutura do app:
Sidebar,AppShell,NavigationMenu,Menubar,ContextMenu,Toolbar,Stepper,CommandPalette,HoverCard,ToggletipeSplitter.
Mais nove estilos
26–27 out. 2026 · estilos
neubrutalism,retroeglass; depoisswiss,progressiveeclay; depoismaterial,cupertinoey2k. Treze estilos no total, cada um em claro e escuro.- A matriz de contraste aprendeu a medir texto sobre gradiente e vidro em pixels reais. Na primeira execução, pegou a aba do glass escuro com 4,36:1 numa marca ciano.
Os primeiros 50 componentes
26 out. 2026 · biblioteca
Cerca de 50 componentes, em quatro grupos: ações e formulários, exibição e feedback (com os tons testados em 4,5:1), navegação e overlays, e as primitivas de layout (Box, Stack, Grid, Container, AspectRatio, ScrollArea, Portal, DirectionProvider). Cada um nos quatro primeiros estilos: minimal, neumorphism, retro-pixel e editorial.
O contrato de estilo
26 out. 2026 · biblioteca
A ideia em que a biblioteca inteira se apoia, provada com quatro estilos o mais distantes possível: DOM fixo com nomes em data-slot, tokens em camadas de cascata (cml.tokens, cml.components, cml.style, cml.preferences), StyleProvider com ilhas aninhadas, e Button, Dialog e Tabs como primeiros componentes.
Fundação
26 out. 2026 · ferramentas
O monorepo com pnpm e Turborepo: @camaleo/react, @camaleo/styles, Storybook, este app de docs e um app Next.js que confere a renderização no servidor.