@praxisui/table 3.0.0-beta.8 → 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 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`)
@@ -15,4 +15,3 @@ const FILTER_DRAWER_ADAPTER = getFilterDrawerAdapterToken();
15
15
  */
16
16
 
17
17
  export { FILTER_DRAWER_ADAPTER };
18
- //# sourceMappingURL=praxisui-table-filter-drawer-adapter.mjs.map
@@ -163,4 +163,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
163
163
  }] }, { type: i1.MatDialogRef }] });
164
164
 
165
165
  export { FilterFormDialogHostComponent };
166
- //# sourceMappingURL=praxisui-table-filter-form-dialog-host.component-EHoM1uuJ.mjs.map
@@ -819,4 +819,3 @@ Columns Analysis:
819
819
  }
820
820
 
821
821
  export { TableAiAdapter };
822
- //# sourceMappingURL=praxisui-table-table-ai.adapter-C5rjLb8E.mjs.map