Uttara

Catálogo · Histórico

Versões dos componentes

pacote v1.10.0

Cada componente é atrelado à versão do pacote em que entrou (since) e à última que o tocou (lastChange). Use este painel para rastrear o contexto durante análise de bugs. Release notes completos ficam em CHANGELOG.md.

Enriquecido

ComponenteStatusSinceLast changeNotas
FormInput
forms/FormInput.tsx
stable
v0.1.0v0.7.0Input com ícone por fieldType, obrigatório, erro padronizado e toggle de revelar senha embutido em type=password.
FormSelect
forms/FormSelect.tsx
stable
v0.1.0v0.1.0Select shadcn com label/erro/options padronizados.
FormTextarea
forms/FormTextarea.tsx
stable
v0.1.0v0.1.0Textarea com contador opcional e indicador de obrigatório.
PasswordStrength
forms/PasswordStrength.tsx
stable
v0.1.0v0.1.0Barra + checklist de critérios. 5 critérios padrão.
MaskedInput
forms/MaskedInput.tsx
stable
v0.1.0v0.1.0Display vs value: DOM mascarado, RHF recebe valor cru.
FormPhoneBR / FormCPF / FormCNPJ / FormCEP / FormSlug / FormIdentifier
forms/MaskedFields.tsx
stable
v0.1.0v0.1.0Variantes prontas de MaskedInput com placeholder/ícone/autocomplete.
FormRootError
forms/FormRootError.tsx
stable
v0.7.0v0.7.0Lê root.serverError do RHF (ou prop direta) e exibe no padrão dos erros de campo.
Form
forms/Form.tsx
stable
v0.6.0v0.7.0Wrapper sobre <form> com fieldset auto-disabled e context isPending. Layout-neutro: o espaçamento vertical entre campos é responsabilidade do FormFieldShell (mb-4 last:mb-0).
FormSubmitButton
forms/FormSubmitButton.tsx
stable
v0.6.0v0.6.0Botão de submit que consome o context do <Form>: auto-disable + spinner + pendingLabel.

Composto

ComponenteStatusSinceLast changeNotas
EmptyState
composite/EmptyState.tsx
stable
v0.1.0v0.1.0
PageHeader
composite/PageHeader.tsx
stable
v0.1.0v0.1.0
StatCard
composite/StatCard.tsx
stable
v0.1.0v0.1.0
ConfirmDialog / useConfirm
composite/ConfirmDialog.tsx
stable
v0.1.0v0.1.0API declarativa via Promise.
Spinner
composite/Spinner.tsx
stable
v0.1.0v0.1.0
CopyButton
composite/CopyButton.tsx
stable
v0.1.0v0.1.0
Skeletons (Table/Card/Form)
composite/Skeletons.tsx
stable
v0.1.0v0.1.0
Combobox
composite/Combobox.tsx
stable
v0.1.0v0.1.0Modos client + remoto (onSearch + loading).
TagInput
composite/TagInput.tsx
stable
v0.1.0v0.1.0Modo livre (Enter/colar) e modo remoto multiselect.
DataTable
composite/DataTable/index.tsx
beta
v0.1.0v0.1.0Server-side, syncToUrl, faceted filters, bulk actions, export.
ThemeToggle
composite/ThemeToggle.tsx
stable
v0.1.0v0.1.0
DatePicker
composite/DateField.tsx
stable
v0.2.0v0.2.0Single-date sobre calendar+popover, locale via i18n interno (pt-BR/en-US).
DateRangePicker
composite/DateField.tsx
stable
v0.2.0v0.2.0Range com presets traduzidos (Hoje, Últimos 7/30 dias, etc) e numberOfMonths.
CodeBlock
composite/CodeBlock.tsx
stable
v0.2.0v0.2.0Syntax highlight via Shiki (lazy). Tema light/dark sincronizado ao ThemeProvider.
TagMultiSelect
composite/TagMultiSelect.tsx
stable
v0.2.0v0.2.0Multi-seleção sobre lista fixa, com agrupamento, busca e modo creatable opcional.
FileUpload
composite/FileUpload.tsx
stable
v0.2.0v0.2.0Dropzone DnD nativo + lista de arquivos. Validação de tamanho/tipo/quantidade, i18n interno.
IconPicker
composite/IconPicker.tsx
stable
v0.2.0v0.2.0Picker sobre catálogo lucide com busca + curated populares. Devolve string (nome). Acompanha LucideIconByName / getLucideIcon.
BrandLogo
composite/BrandLogo.tsx
stable
v0.3.0v0.5.0Slot agnóstico (logo/favicon/cover/avatar) com variantes whenLight/whenDark, prop appearance e suffix opcional do tema. v0.5.0: BREAKING — assets renomeados (logoMark→favicon, logoWordmark→logo).
CommandPalette
commands/CommandPalette.tsx
stable
v1.2.0v1.2.0Botão de busca + dropdown (cmdk) para o header. Filtra por permissão via useAuth, agrupa por `group`, navega via @tanstack/react-router ou roda callback.
Tree
composite/Tree/Tree.tsx
stable
v1.3.0v1.3.0Árvore para estruturas hierárquicas (NestedSet, materialized path). Modo readOnly (indent + collapse + seleção) e edit (DnD reparent, rename inplace via F2, exclusão cascateável com Delete). Mutações otimistas + callbacks (onMove/onRename/onDelete). Adapters flatToTree/treeToFlat.
JsonViewer
composite/JsonViewer.tsx
stable
v1.4.0v1.4.0Visualizador interativo de JSON (somente-leitura). Árvore expansível com toolbar discreta: busca (filtra + destaca + auto-expande caminhos), expandir/colapsar tudo, copiar JSON, baixar como .json, e copiar caminho (JSONPath) por nó.
MultiProgress
composite/MultiProgress.tsx
stable
v1.5.0v1.5.0Barra de progresso multi-segmento (variantes semânticas: primary/success/warning/destructive/accent/muted). Caso de uso típico: processados com sucesso + processados com erro na mesma barra. NÃO substitui o Progress primitivo — assinatura distinta.
ArcProgress
composite/ArcProgress.tsx
stable
v1.5.0v1.5.0Progresso em arco de 180º com slot central (ícone, número, label). Aceita value único OU segments[] (mesma API do MultiProgress). Tamanhos sm/md/lg/xl + thickness override.
SortableList
dnd/SortableList.tsx
stable
v1.7.0v1.7.0Lista ordenável (vertical/horizontal) sobre @dnd-kit/sortable. Handle dedicado (default) ou linha inteira arrastável. Subpath opcional @uttara-dev/ui/dnd — @dnd-kit/* declarado como peer optional.
TransferList
dnd/TransferList.tsx
stable
v1.7.0v1.7.0Par de listas com transferência por seleção (botões) ou drag-and-drop. Filtro por painel, multi-seleção opcional, reorder dentro do mesmo painel. Subpath @uttara-dev/ui/dnd.
PdfViewer
pdf/PdfViewer.tsx
stable
v1.8.0v1.8.0Visualizador simples baseado em <iframe> nativo. Delega renderização e controles (download/print) ao navegador. Subpath @uttara-dev/ui/pdf.
SecurePdfViewer
pdf/SecurePdfViewer.tsx
stable
v1.8.0v1.8.0Visualizador restritivo: pdfjs-dist renderiza página em canvas com toolbar custom; download/print/copy/menu-de-contexto desabilitados por padrão (opt-in via props). pdfjs-dist é peer optional.
LineChart
charts/LineChart.tsx
stable
v1.9.0v1.9.0Gráfico de linhas tematizado (Recharts) com séries tipadas e tokens --chart-N. Subpath @uttara-dev/ui/charts.
AreaChart
charts/AreaChart.tsx
stable
v1.9.0v1.9.0Áreas preenchidas com suporte a empilhamento. Tokens --chart-N.
BarChart
charts/BarChart.tsx
stable
v1.9.0v1.9.0Barras verticais/horizontais com empilhamento opcional.
PieChart
charts/PieChart.tsx
stable
v1.9.0v1.9.0Pizza ou doughnut (donut) com centerSlot para KPI central.
GeoMap / WorldMap / BrazilMap
charts/GeoMap.tsx
stable
v1.9.0v1.9.0Mapas coropléticos com interpolação color-mix. react-simple-maps é peer optional — apps sem mapas não pagam o custo.
DashboardGrid / DashboardTile
charts/DashboardGrid.tsx
stable
v1.9.0v1.9.0Grid responsivo + tile (asCard) para compor dashboards.

Layout

ComponenteStatusSinceLast changeNotas
AppShell
layout/AppShell.tsx
stable
v0.1.0v0.1.0
AppHeader
layout/AppHeader.tsx
stable
v0.1.0v0.1.0
AppSidebar
layout/AppSidebar.tsx
stable
v0.1.0v0.1.0
AppLauncher
layout/AppLauncher.tsx
stable
v0.1.0v0.1.0
AppBreadcrumb
layout/AppBreadcrumb.tsx
stable
v0.1.0v0.1.0
UserMenu
layout/UserMenu.tsx
stable
v0.1.0v0.1.0
AppSidebar (subBrand)
layout/AppSidebar.tsx
stable
v0.1.0v0.10.0Novo slot `subBrand` (+ `collapsedSubBrand`) entre a divisória do header e o nav scrolável — fixo, não rola. Caso de uso: branding do módulo abaixo da marca do ecossistema. Propagado via AppShell.
TreePanelLayout
composite/Tree/TreePanelLayout.tsx
stable
v1.3.0v1.10.0Layout split horizontal (CSS grid de colunas fixas via prop `ratio`, default 30/70) para telas em que a Tree fica sempre à esquerda e o conteúdo reage à seleção à direita.

Provider

ComponenteStatusSinceLast changeNotas
ThemeProvider
providers/ThemeProvider.tsx
stable
v0.1.0v0.1.0
I18nProvider
i18n/I18nProvider.tsx
stable
v0.1.0v0.1.0
AuthProvider
auth/AuthProvider.tsx
stable
v0.1.0v0.1.0Agnóstico via AuthAdapter. Em dev/preview, use o Preview Mode do @uttara-dev/cas-client@1.1.0+ (o antigo MockAuthAdapter foi removido em 1.6.0).
CommandRegistryProvider
commands/CommandRegistry.tsx
stable
v1.2.0v1.2.0Registry central de ações da app. Hooks useRegisterCommand / useCommandPalette / useCommands / useCommandRegistry. Atalho global Cmd/Ctrl+K opcional.

Hook

ComponenteStatusSinceLast changeNotas
useEcosystemApps
layout/useEcosystemApps.ts
stable
v0.5.4v0.5.4
useFormSubmit
forms/useFormSubmit.ts
stable
v0.6.0v0.6.0Orquestra submit RHF: limpa root.serverError antes, mapeia erro lançado para serverError depois.

Utilitário

ComponenteStatusSinceLast changeNotas
EcosystemAdapter
layout/EcosystemAdapter.ts
stable
v0.5.4v0.6.0Protocolo de descoberta de apps irmãs. createCASEcosystemAdapter agora tem timeout (5s) e cache negativo (60s) para resiliência.
format/numbers
format/numbers.ts
stable
v0.7.0v0.7.0formatCurrency / formatNumber / formatPercent / formatCompact (Intl.NumberFormat). Default pt-BR + BRL.
format/dates
format/dates.ts
stable
v0.7.0v0.7.0formatDate / formatDateTime / formatTime / formatRelative (Intl). Aceita Date, ISO string ou number.
format/br
format/br.ts
stable
v0.7.0v0.7.0formatPhoneBR / formatCpfCnpj / formatCep para EXIBIÇÃO (tudo ou nada). Diferentes dos progressivos em forms/masks.ts.
format/text
format/text.ts
stable
v0.7.0v0.7.0truncate / pluralize / capitalize / initials.
applyTheme
tokens/apply-theme.ts
stable
v0.1.0v0.9.0Agora também injeta <style id='uttara-fonts'> com @font-face quando theme.fontFaces está presente. Idempotente; insere antes do <style id='uttara-theme'> para evitar FOUC.
uttaraFontFaces
tokens/fonts/index.ts
stable
v0.9.0v0.9.024 woff2 self-hosted: Lexend, Red Hat Text, JetBrains Mono × pesos 400/500/600/700 × subsets latin+latin-ext. Embutido no tarball; nada para a app importar.
createFaviconHandler
layout/favicon.ts
stable
v0.10.0v0.10.0Helper para a rota server `/favicon.ico` na app consumidora. Resolve o asset do BrandTheme.assets.favicon e devolve 302 para a URL bundleada. Acompanha resolveFaviconUrl().
hoguTheme
tokens/hogu.theme.ts
stable
v1.1.0v1.1.0Tema verde-oliva da plataforma Hogu (analytics e-commerce). Plus Jakarta Sans embutida via hoguFontFaces — paridade com Uttara (zero ação na app consumidora).
saldanhaTheme
tokens/saldanha.theme.ts
stable
v1.1.0v1.1.0Tema verde-floresta + verde-folha da Saldanha LTDA. Space Mono (display) + Ubuntu (sans) embutidas via saldanhaFontFaces.
hoguFontFaces / saldanhaFontFaces
tokens/fonts/index.ts
stable
v1.1.0v1.1.0Plus Jakarta Sans (Hogu) + Space Mono e Ubuntu (Saldanha) self-hosted, mesmo padrão de uttaraFontFaces (subsets latin/latin-ext, font-display swap).

Primitivo

ComponenteStatusSinceLast changeNotas
Button
primitives/ui/button.tsx
stable
v0.1.0v0.5.1v0.5.1: cursor-pointer no base; ghost ganha bg-accent/15 em repouso; outline = ghost + borda.
Input / Textarea / Select
primitives/ui/input.tsx
stable
v0.1.0v0.5.1v0.5.1: usam bg-field/text-field-foreground (novos tokens semânticos).
Toaster / toast
primitives/ui/sonner.tsx
stable
v0.1.0v0.8.0Defaults Uttara: closeButton sempre visível, richColors, duration 60s, toast.error sem auto-dismiss (Infinity), tema sincronizado ao useTheme. Importe de @uttara-dev/ui/primitives — não direto de sonner.