@praxisui/core 3.0.0-beta.6 → 3.0.0-beta.8

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
@@ -54,7 +54,6 @@ Exemplo completo (app de referência)
54
54
 
55
55
  - `@angular/core` `^20.0.0`
56
56
  - `@angular/common` `^20.0.0`
57
- - `angular-gridster2` `^20.2.2` (necessário apenas para widgets baseados em Gridster)
58
57
 
59
58
  ## ⚡ Quick Start
60
59
 
@@ -79,27 +78,25 @@ import { PraxisIconDirective } from '@praxisui/core';
79
78
  export class IconsDemoComponent {}
80
79
  ```
81
80
 
82
- ### 2) `DynamicGridPageComponent`
81
+ ### 2) `DynamicWidgetPageComponent`
83
82
 
84
83
  ```ts
85
84
  import { Component } from '@angular/core';
86
- import { DynamicGridPageComponent, GridPageDefinition } from '@praxisui/core';
85
+ import { DynamicWidgetPageComponent, WidgetPageDefinition } from '@praxisui/core';
87
86
 
88
87
  @Component({
89
88
  selector: 'app-grid-demo',
90
89
  standalone: true,
91
- imports: [DynamicGridPageComponent],
90
+ imports: [DynamicWidgetPageComponent],
92
91
  template: `
93
- <praxis-dynamic-grid-page [page]="page"></praxis-dynamic-grid-page>
92
+ <praxis-dynamic-page [page]="page"></praxis-dynamic-page>
94
93
  `,
95
94
  })
96
95
  export class GridDemoComponent {
97
- page: GridPageDefinition = {
98
- options: { cols: 12, rowHeight: 80, gap: 12 },
96
+ page: WidgetPageDefinition = {
99
97
  widgets: [
100
98
  {
101
99
  key: 'w1',
102
- layout: { col: 1, colSpan: 6, row: 1, rowSpan: 2 },
103
100
  definition: {
104
101
  // Substitua pelo ID de um componente registrado no ComponentMetadataRegistry
105
102
  id: 'your-registered-widget-id',
@@ -123,7 +120,6 @@ Observação: os IDs de widgets usados na página devem estar registrados via `C
123
120
  ## 📄 Documentacao Tecnica da Lib
124
121
 
125
122
  - `projects/praxis-core/docs/connection-editor.md`
126
- - `projects/praxis-core/docs/dynamic-gridster-page.md`
127
123
  - `projects/praxis-core/docs/schema-flow.md`
128
124
 
129
125
  ## ⚙️ Global Config (bootstrap)
@@ -974,3 +970,21 @@ Apache-2.0 – veja o `LICENSE` empacotado com esta biblioteca ou o arquivo `LIC
974
970
  **Biblioteca Central do Praxis UI Workspace**
975
971
  **Versão**: 2.0.0 (Unified Architecture)
976
972
  **Compatibilidade**: Angular 20.x | TypeScript 5.8+
973
+ ## Value Presentation
974
+
975
+ `valuePresentation` e o contrato canônico horizontal de apresentação, consumido diretamente por runtimes metadata-driven e indiretamente por superfícies como `table` e `list`.
976
+
977
+ Regras de uso:
978
+ - use `valuePresentation.type` para declarar a natureza do valor exibido (`currency`, `date`, `datetime`, `time`, `number`, `percentage`, `boolean`)
979
+ - deixe `format` como override explicito quando quiser sair do default derivado de `type + localization`
980
+ - use `localization` da superficie como base cultural; nao repita locale/moeda por coluna ou campo sem necessidade real
981
+
982
+ Precedencia:
983
+ 1. override explicito do valor/campo
984
+ 2. `valuePresentation`
985
+ 3. configuracao da superficie
986
+ 4. `LOCALE_ID`
987
+
988
+ Observacoes:
989
+ - `valuePresentation` deve representar valor escalar de display/read-only; nao use para ranges, selections ou IDs semanticos
990
+ - contratos legados como `format`, `numericFormat`, `currency` e `numberFormat` continuam aceitos como bridge de compatibilidade interna, mas novos metadados devem preferir `valuePresentation`