@praxisui/dynamic-fields 9.0.0-beta.20 → 9.0.0-beta.22

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.
@@ -179,7 +179,7 @@ Use `stateInitialValues` apenas quando o valor do preset precisa continuar coere
179
179
 
180
180
  | Field | controlType | Quando usar | Quando evitar | Valor esperado | Snippet | Detail doc |
181
181
  | ------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------ | ----------------------------- | ------------------------------------------------------------------------------- | ----------------------------------------- |
182
- | Checkbox | <span id="checkbox"></span>`checkbox` | booleano simples com `selectionMode: 'boolean'` ou multiplas escolhas com `selectionMode: 'multiple'` | contrato novo sem `selectionMode`; escolha unica | `boolean \| unknown[]` | `{ name: 'privacyConsent', controlType: 'checkbox', selectionMode: 'boolean' }` | `pdx-material-checkbox-group.json-api.md` |
182
+ | Checkbox | <span id="checkbox"></span>`checkbox` | booleano simples com `selectionMode: 'boolean'` ou múltiplas escolhas com `selectionMode: 'multiple'`; em migrações, flags `S`/`N` e `1`/`0` são normalizadas no modo booleano | contrato novo sem `selectionMode`; escolha única | `boolean \| unknown[]` | `{ name: 'privacyConsent', controlType: 'checkbox', selectionMode: 'boolean' }` | `pdx-material-checkbox-group.json-api.md` |
183
183
  | Radio group | <span id="radio"></span>`radio` | escolha unica explicita com `selectionMode: 'single'` | muitas opcoes/espaco restrito | `string \| number \| boolean` | `{ name: 'priority', controlType: 'radio', selectionMode: 'single' }` | `pdx-material-radio-group.json-api.md` |
184
184
  | Toggle | <span id="toggle"></span>`toggle` | booleano binario | multiplos estados | `boolean` | `{ name: 'active', controlType: 'toggle' }` | `pdx-material-slide-toggle.json-api.md` |
185
185
  | Button toggle | <span id="buttontoggle"></span>`buttonToggle` | escolha segmentada curta | listas longas | `string \| number` | `{ name: 'mode', controlType: 'buttonToggle' }` | `pdx-material-button-toggle.json-api.md` |
@@ -37,7 +37,7 @@ keywords:
37
37
  - "select vs autocomplete"
38
38
  - "custom host field"
39
39
  - "inline filter"
40
- last_updated: "2026-06-01"
40
+ last_updated: "2026-06-25"
41
41
  ---
42
42
 
43
43
  # Dynamic Fields Field Selection Guide
@@ -187,7 +187,29 @@ Se o caso e filtro corporativo compacto, consulte:
187
187
  - [Dynamic Fields Inline Filter Catalog](./dynamic-fields-inline-filter-catalog.md)
188
188
  - [Dynamic Fields Inline Components Guide](./dynamic-fields-inline-components-guide.md)
189
189
 
190
- ## 6. Decision table
190
+ ## 6. Presentation mode vs chart widget
191
+
192
+ `presentation.presenter = 'microVisualization'` nao e um `controlType`. Use esse presenter quando o campo ja tem valor no `FormControl`, mas a surface readonly precisa mostrar um indicador compacto e escaneavel.
193
+
194
+ Use `microVisualization` quando:
195
+
196
+ - a surface e `form-presentation`, `table-cell`, `list-item`, `object-header` ou `card-summary`;
197
+ - a leitura precisa caber em celula, linha, drawer ou detalhe compacto;
198
+ - o indicador e pequeno, como `comparison`, `stackedBar`, `bullet` ou `delta`;
199
+ - a mesma semantica deve ser dirigida por `presentationRules` e Json Logic sem mutar o valor do campo.
200
+
201
+ Use `@praxisui/charts` quando:
202
+
203
+ - o usuario precisa interagir com grafico, legenda, tooltip analitico ou drilldown;
204
+ - o grafico ocupa card, dashboard, cockpit ou modal dedicado;
205
+ - a visualizacao depende de series maiores, eixos, zoom ou agregacoes vindas de endpoint analitico.
206
+
207
+ Use `rich-content` quando:
208
+
209
+ - o bloco mistura timeline, record summary, property sheet, progresso, badges e textos;
210
+ - a surface de detalhe precisa composicao editorial, nao apenas um valor de campo.
211
+
212
+ ## 7. Decision table
191
213
 
192
214
  | Question | Prefer |
193
215
  | --- | --- |
@@ -211,12 +233,14 @@ Se o caso e filtro corporativo compacto, consulte:
211
233
  | ha uma colecao repetivel de objetos? | `array` |
212
234
  | ha anexos? | `upload` |
213
235
  | o controle e acao, nao dado? | `button` |
236
+ | o valor readonly precisa de indicador compacto em celula/lista/formulario? | `presentation.presenter = "microVisualization"` |
214
237
  | nada do catalogo resolve sem gambiarra? | field custom do host |
215
238
 
216
- ## 7. Enterprise recommendations
239
+ ## 8. Enterprise recommendations
217
240
 
218
241
  - prefira nomes canonicos de `controlType`; deixe aliases apenas para compatibilidade;
219
242
  - nao use inline filter controls em formularios normais para “economizar espaco”;
243
+ - nao crie `controlType` local para indicadores readonly; use `presentation.presenter` e `presentation.visualization` quando a semantica for de apresentacao;
220
244
  - para campos remotos, explicite origem de dados e comportamento de busca;
221
245
  - para entidades de negocio, use `entityLookup` com `optionSource.type = RESOURCE_ENTITY`, `byIds`, `dependsOn`, `dependencyFilterMap` e `selectionPolicy` quando a selecao depender de status, permissao ou contexto;
222
246
  - para colecoes repetiveis, use `array` com `array.itemSchema.fields` em vez de criar campos numerados como `item1`, `item2`, `item3`;