@praxisui/table 3.0.0-beta.9 → 4.0.0-beta.0
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.
- package/README.md +49 -0
- package/fesm2022/praxisui-table.mjs +3056 -1022
- package/index.d.ts +197 -9
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -62,6 +62,37 @@ last_updated: "2026-03-07"
|
|
|
62
62
|
- Governar configuracao de colunas, toolbar e comportamento em runtime
|
|
63
63
|
- Integrar tabelas a fluxos CRUD, IA e editores visuais do ecossistema Praxis UI
|
|
64
64
|
|
|
65
|
+
## `x-ui.analytics` como fallback tabular canônico
|
|
66
|
+
|
|
67
|
+
O `@praxisui/table` materializa a familia `analytic-table` quando o `@praxisui/core`
|
|
68
|
+
resolve que uma projection de `x-ui.analytics` continua valida, mas nao e um chart
|
|
69
|
+
inequivoco.
|
|
70
|
+
|
|
71
|
+
Regras:
|
|
72
|
+
|
|
73
|
+
- a decisao da familia continua no `@praxisui/core`
|
|
74
|
+
- o `@praxisui/table` nao decide `chart` vs `analytic-table`
|
|
75
|
+
- a tabela apenas materializa a decision/projection recebida
|
|
76
|
+
- a materializacao preserva `dimension`, `metrics`, `sort`, `limit` e agregacao sem
|
|
77
|
+
inventar defaults semanticos no host
|
|
78
|
+
- `primaryMetrics` e `secondaryMetrics` entram na mesma trilha canonica de execucao
|
|
79
|
+
- projections `timeseries` preservam o valor temporal bruto para manter ordenacao
|
|
80
|
+
cronologica consistente no fallback tabular
|
|
81
|
+
|
|
82
|
+
Superficies publicas:
|
|
83
|
+
|
|
84
|
+
- `AnalyticsTableConfigAdapterService`: converte projection em `TableConfig` local
|
|
85
|
+
- `AnalyticsTableStatsApiService`: executa `praxis.stats` e devolve linhas tabulares
|
|
86
|
+
- `AnalyticsTableContractService`: fachada publica para hosts que querem resolver
|
|
87
|
+
contrato + dados de tabela analitica sem reimplementar leitura de `x-ui.analytics`
|
|
88
|
+
|
|
89
|
+
Filtro runtime:
|
|
90
|
+
|
|
91
|
+
- a projection continua sendo a fonte canonica da semantica analitica
|
|
92
|
+
- o host pode passar `queryContext.filters` em `loadTableViews(..., { queryContexts })`
|
|
93
|
+
- somente `filters` entram no request remoto nesta fase
|
|
94
|
+
- `sort`, `limit` e agregacao continuam vindo da projection publicada
|
|
95
|
+
|
|
65
96
|
> Componente de tabela empresarial avançado com arquitetura unificada
|
|
66
97
|
|
|
67
98
|
## Customization Mode Contract
|
|
@@ -115,6 +146,24 @@ Nota: a classe de tema é decisão do host (`.dark-theme` ou `.theme-dark`/`.the
|
|
|
115
146
|
- **Acessibilidade**: WCAG 2.1 AA compliant
|
|
116
147
|
- **Verificação de Schema**: ETag/If-None-Match com notificações (somente em customização)
|
|
117
148
|
|
|
149
|
+
## Expansion Hypermedia
|
|
150
|
+
|
|
151
|
+
O primeiro corte de `behavior.expansion.detail.source.mode = "hypermedia"` é
|
|
152
|
+
`capabilities-first`:
|
|
153
|
+
|
|
154
|
+
- a row expandida começa em `_links.capabilities`
|
|
155
|
+
- `surfaces`, `actions` e operações canônicas vêm do snapshot agregado retornado
|
|
156
|
+
pelo backend
|
|
157
|
+
- o detail renderiza um resumo contextual somente leitura, com foco em UX de
|
|
158
|
+
negócio e affordances disponíveis naquele registro
|
|
159
|
+
- este corte não executa `surface.open` inline nem dispara workflow inline
|
|
160
|
+
- quando o item não expõe `rel="capabilities"`, o runtime aplica fail-closed
|
|
161
|
+
|
|
162
|
+
Observação de escala:
|
|
163
|
+
- o prefetch por linha continua ativo quando `actions.row.enabled=true`
|
|
164
|
+
- quando apenas o expansion `hypermedia` está ligado, o discovery contextual é
|
|
165
|
+
resolvido sob demanda ao expandir a linha
|
|
166
|
+
|
|
118
167
|
### 📄 Contrato Inline do Filtro
|
|
119
168
|
|
|
120
169
|
- Referencia canonica: `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-components-guide.md` (slug publicado: `dynamic-fields-inline-components-guide`)
|