@praxisui/table 9.0.3 → 9.0.4-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,80 @@
1
+ ---
2
+ title: "ADR - Governança de células ricas em tabelas"
3
+ slug: "adr-table-rich-cells-governance-2026-07"
4
+ description: "Decisão de governança para microvisualizações em células compactas, com evidência executável de legibilidade, acessibilidade e escala virtualizada."
5
+ doc_type: "adr"
6
+ document_kind: "adr-record"
7
+ category: "architecture"
8
+ level: "advanced"
9
+ audience:
10
+ - "frontend"
11
+ - "architect"
12
+ - "platform-team"
13
+ status: "implemented"
14
+ owner: "praxis-ui"
15
+ tags:
16
+ - "table"
17
+ - "rich-cells"
18
+ - "micro-visualization"
19
+ - "accessibility"
20
+ - "virtualization"
21
+ toc: true
22
+ sidebar: true
23
+ last_updated: "2026-07-30"
24
+ ---
25
+
26
+ # ADR: Governança de células ricas em tabelas
27
+
28
+ ## Status
29
+
30
+ `implemented`
31
+
32
+ ## Context
33
+
34
+ A PraxisTable suporta células compostas, indicadores, avaliação, toggle e dez tipos de microvisualização. A adoção corporativa exige distinguir suporte de runtime de adequação para uma célula compacta.
35
+
36
+ O laboratório executável comprova paridade normal/virtualizada, nomes acessíveis, presença geométrica dos elementos compactos nas larguras de 120 px, 180 px e 260 px, e reciclagem de DOM para 1.000 linhas. A aprovação visual continua uma revisão humana: a evidência anexa capturada pela E2E não é um baseline de pixels dependente de plataforma.
37
+
38
+ ## Decision
39
+
40
+ Todos os tipos table-safe continuam suportados. `delta`, `bullet`, `radial`, `harveyBall` e `stackedBar` são recomendados. `line`, `area` e `column` exigem espaço horizontal; `comparison` aumenta a altura da linha; `processFlow` exige etapas reconhecíveis.
41
+
42
+ Essas condições são diagnóstico de authoring e grounding de IA, não bloqueio de runtime. Não será introduzido limite numérico rígido sem evidência de produto recorrente.
43
+
44
+ Itens `compose` do tipo `value` expressam a hierarquia de leitura por `emphasis: 'strong' | 'subtle'`. O runtime materializa essa decisão por tokens do tema; CSS arbitrário por item não integra o contrato público de documentos governados.
45
+
46
+ Uma regra `conditionalRenderers[]` pode materializar a mesma microvisualização quando sua condição Json Logic vencer. A regra usa `surface: 'table-cell'`, mantém o fallback acessível e respeita a precedência de primeira regra aplicável; ela não introduz uma segunda regra de negócio na tabela.
47
+
48
+ ## Corporate Review Protocol
49
+
50
+ Antes de aprovar um tipo condicional em uma tabela corporativa, a revisão deve registrar evidência do laboratório nas larguras de 120 px, 180 px e 260 px e responder:
51
+
52
+ - o visual acelera uma decisão que a coluna precisa suportar, em vez de apenas decorar a linha;
53
+ - `line`, `area` e `column` permanecem interpretáveis na largura reservada; caso contrário, a informação deve migrar para detalhe expandido ou outra superfície;
54
+ - `comparison` justifica a altura adicional da linha; `processFlow` mantém a sequência compreensível mesmo quando os rótulos visíveis são reduzidos;
55
+ - nome acessível, fallback de dados ausentes e contraste preservam o mesmo significado da representação visual;
56
+ - na tabela virtualizada, a rolagem mantém a célula materializada sem crescimento proporcional do DOM.
57
+
58
+ O resultado deve ser **aprovar**, **redesenhar a célula** ou **mover o detalhe para outra superfície**. O protocolo governa a decisão de UX e não persiste regras de negócio na `TableConfig`.
59
+
60
+ ## Consequences
61
+
62
+ - documentos existentes continuam carregáveis; valores legados de `compose.items[].style` são descartados no próximo salvamento pelo editor e não recebem CSS no runtime;
63
+ - editor e IA explicam o trade-off de cada tipo;
64
+ - o laboratório fornece evidência reproduzível antes de aprovar uma tabela corporativa;
65
+ - uma futura regra mandatória exigirá evidência de recorrência e revisão de produto.
66
+
67
+ ## Acceptance Criteria
68
+
69
+ - E2E prova todos os tipos, fallback para dados ausentes, acessibilidade e geometria da largura condicional;
70
+ - E2E prova microvisualizações após rolagem em 1.000 linhas virtualizadas;
71
+ - documentação pública aponta para a evidência e os trade-offs;
72
+ - compose usa hierarquia semântica materializada por tokens, sem CSS arbitrário por item;
73
+ - nenhuma regra de negócio é persistida na configuração da tabela.
74
+
75
+ ## Source References
76
+
77
+ - `projects/praxis-core/src/lib/models/presentation-visualization.model.ts`
78
+ - `projects/praxis-table/src/lib/columns-config-editor/columns-config-editor.component.ts`
79
+ - `src/app/features/table-enterprise-rich-cells-lab/`
80
+ - `projects/praxis-table/test-dev/e2e/table-enterprise-rich-cells-lab.playwright.spec.ts`