@praxisui/dynamic-fields 9.0.0-beta.4 → 9.0.0-beta.5
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/fesm2022/praxisui-dynamic-fields.mjs +200 -67
- package/package.json +3 -3
- package/src/lib/components/inline-color-label/pdx-inline-color-label.json-api.md +1 -1
- package/src/lib/components/inline-currency-range/pdx-inline-currency-range.json-api.md +49 -17
- package/src/lib/components/inline-range-slider/pdx-inline-range-slider.json-api.md +52 -13
- package/src/lib/components/inline-relative-period/pdx-inline-relative-period.json-api.md +102 -102
- package/src/lib/components/inline-sentiment/pdx-inline-sentiment.json-api.md +84 -84
- package/types/praxisui-dynamic-fields.d.ts +61 -0
|
@@ -7,7 +7,7 @@ document_kind: "json-api-canonical"
|
|
|
7
7
|
reference_mode: "canonical"
|
|
8
8
|
contract_format: "json"
|
|
9
9
|
contract_source: "runtime-and-code"
|
|
10
|
-
description: "
|
|
10
|
+
description: "Referência canônica do contrato JSON do componente pdx-inline-sentiment."
|
|
11
11
|
category: "components"
|
|
12
12
|
sub_category: "dynamic-fields"
|
|
13
13
|
audience:
|
|
@@ -44,60 +44,60 @@ related_components:
|
|
|
44
44
|
|
|
45
45
|
# pdx-inline-sentiment
|
|
46
46
|
|
|
47
|
-
Este documento e a
|
|
47
|
+
Este documento e a referência canônica da API JSON de pdx-inline-sentiment.
|
|
48
48
|
|
|
49
49
|
## Summary
|
|
50
50
|
|
|
51
|
-
- Tipo documental: API reference
|
|
51
|
+
- Tipo documental: API reference canônica de contrato JSON.
|
|
52
52
|
- Source of truth: runtime e codigo declarados no frontmatter.
|
|
53
|
-
- Objetivo operacional: consulta
|
|
53
|
+
- Objetivo operacional: consulta rápida, auditável e determinística sob pressão.
|
|
54
54
|
- Resumo funcional: Contrato JSON metadata-driven com comportamento definido por runtime e schema associado.
|
|
55
55
|
|
|
56
56
|
## Purpose and scope
|
|
57
57
|
|
|
58
|
-
- O componente consome payload JSON metadata-driven e
|
|
59
|
-
- Esta
|
|
60
|
-
- Fora de escopo: quickstart, tutorial narrativo e notas arquiteturais que
|
|
58
|
+
- O componente consome payload JSON metadata-driven e expõe comportamento runtime configurável por contrato.
|
|
59
|
+
- Esta referência cobre contrato público, classificação de paths e semântica de cobertura (runtime/schema/editor).
|
|
60
|
+
- Fora de escopo: quickstart, tutorial narrativo e notas arquiteturais que não alteram contrato público.
|
|
61
61
|
|
|
62
|
-
## Consulta
|
|
62
|
+
## Consulta rápida (obrigatorio)
|
|
63
63
|
|
|
64
64
|
| Regra/tema | Observado | Canonico desejado | Status | Evidencia |
|
|
65
65
|
| --- | --- | --- | --- | --- |
|
|
66
|
-
| Component id | `pdx-inline-sentiment` | Manter ID
|
|
67
|
-
| Primary contract source | `runtime-and-code` | Runtime, schema e docs devem permanecer
|
|
68
|
-
| Runtime coverage | `true` | Comportamentos runtime
|
|
69
|
-
| Schema/type coverage | `true` | Tipos e schema devem refletir paths
|
|
70
|
-
| Editor/tooling coverage | `false` | Editor/tooling deve espelhar somente contrato
|
|
71
|
-
| Path hygiene | `false` | Manter
|
|
72
|
-
| Known mismatches | `false` | Registrar observed vs desired de forma
|
|
66
|
+
| Component id | `pdx-inline-sentiment` | Manter ID canônico estável e versionado por contrato | Active | frontmatter.component |
|
|
67
|
+
| Primary contract source | `runtime-and-code` | Runtime, schema e docs devem permanecer rastreáveis | Partial | frontmatter.contract_source + source_of_truth |
|
|
68
|
+
| Runtime coverage | `true` | Comportamentos runtime críticos devem ficar explicitamente verificados | Active | `projects/praxis-dynamic-fields/src/lib/components/inline-sentiment/inline-sentiment.component.ts`, `projects/praxis-dynamic-fields/src/lib/base/simple-base-select.component.ts` |
|
|
69
|
+
| Schema/type coverage | `true` | Tipos e schema devem refletir paths públicos do contrato | Active | source_of_truth + Detailed API reference |
|
|
70
|
+
| Editor/tooling coverage | `false` | Editor/tooling deve espelhar somente contrato público suportado | Partial | `projects/praxis-core/src/lib/utils/inline-filter-controls.util.ts`, `projects/praxis-dynamic-fields/src/lib/services/component-registry/component-registry.service.ts` |
|
|
71
|
+
| Path hygiene | `false` | Manter consistência entre contrato canônico e caminhos documentados | Active | frontmatter.legacy_paths_present |
|
|
72
|
+
| Known mismatches | `false` | Registrar observed vs desired de forma auditável | Active | frontmatter.has_known_mismatches |
|
|
73
73
|
|
|
74
74
|
## Source of truth
|
|
75
75
|
|
|
76
76
|
| Source | Kind | Notes |
|
|
77
77
|
| --- | --- | --- |
|
|
78
|
-
| projects/praxis-dynamic-fields/src/lib/components/inline-sentiment/inline-sentiment.component.ts | runtime-code | Arquivo presente no repositorio e usado como
|
|
79
|
-
| projects/praxis-dynamic-fields/src/lib/base/simple-base-select.component.ts | runtime-code | Arquivo presente no repositorio e usado como
|
|
80
|
-
| projects/praxis-core/src/lib/models/material-field-metadata.interface.ts | schema-types | Arquivo presente no repositorio e usado como
|
|
78
|
+
| projects/praxis-dynamic-fields/src/lib/components/inline-sentiment/inline-sentiment.component.ts | runtime-code | Arquivo presente no repositorio e usado como evidência de contrato. |
|
|
79
|
+
| projects/praxis-dynamic-fields/src/lib/base/simple-base-select.component.ts | runtime-code | Arquivo presente no repositorio e usado como evidência de contrato. |
|
|
80
|
+
| projects/praxis-core/src/lib/models/material-field-metadata.interface.ts | schema-types | Arquivo presente no repositorio e usado como evidência de contrato. |
|
|
81
81
|
|
|
82
82
|
## Support legend
|
|
83
83
|
|
|
84
84
|
- **Active**: suportado em runtime e liberado para uso externo.
|
|
85
|
-
- **Partial**: suporte parcial, com restricoes, lacunas ou
|
|
86
|
-
- **Declared-only**: declarado em tipos/schema sem
|
|
85
|
+
- **Partial**: suporte parcial, com restricoes, lacunas ou validação incompleta.
|
|
86
|
+
- **Declared-only**: declarado em tipos/schema sem evidência operacional completa.
|
|
87
87
|
- **Schema-only**: presente em schema/tipos sem cobertura runtime confirmada.
|
|
88
88
|
|
|
89
89
|
## Contract status snapshot
|
|
90
90
|
|
|
91
91
|
| Item | Value | Notes |
|
|
92
92
|
| --- | --- | --- |
|
|
93
|
-
| Reference mode | `canonical` | Deve permanecer
|
|
93
|
+
| Reference mode | `canonical` | Deve permanecer canônico |
|
|
94
94
|
| Contract format | `json` | Contrato metadata-driven |
|
|
95
95
|
| Contract source | `runtime-and-code` | Alinhar com source_of_truth |
|
|
96
96
|
| Runtime scope | `public` | Escopo publicado para consumidores |
|
|
97
|
-
| Runtime verified | `true` | Revisar sempre com
|
|
98
|
-
| Schema verified | `true` | Revisar sempre com
|
|
99
|
-
| Editor coverage verified | `false` | Revisar sempre com
|
|
100
|
-
| Current path hygiene | `false` | Segregar
|
|
97
|
+
| Runtime verified | `true` | Revisar sempre com evidência de runtime |
|
|
98
|
+
| Schema verified | `true` | Revisar sempre com evidência de tipos/schema |
|
|
99
|
+
| Editor coverage verified | `false` | Revisar sempre com evidência de editor/tooling |
|
|
100
|
+
| Current path hygiene | `false` | Segregar consistência do contrato canônico |
|
|
101
101
|
| Has known mismatches | `false` | Divergencias devem aparecer em secao dedicada |
|
|
102
102
|
|
|
103
103
|
## Contract classification (obrigatorio)
|
|
@@ -117,15 +117,15 @@ Este documento e a referencia canonica da API JSON de pdx-inline-sentiment.
|
|
|
117
117
|
|
|
118
118
|
### Path audit
|
|
119
119
|
|
|
120
|
-
Nenhum desvio de caminho foi identificado nesta
|
|
120
|
+
Nenhum desvio de caminho foi identificado nesta revisão.
|
|
121
121
|
|
|
122
122
|
### Internal-only paths
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
Não ha paths internal-only confirmados no contrato público desta revisão.
|
|
125
125
|
|
|
126
126
|
### Experimental paths
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
Não ha paths experimentais confirmados no contrato público desta revisão.
|
|
129
129
|
|
|
130
130
|
## Public contract surface (obrigatorio)
|
|
131
131
|
|
|
@@ -134,11 +134,11 @@ Nao ha paths experimentais confirmados no contrato publico desta revisao.
|
|
|
134
134
|
| Block | Purpose | Required | Merge strategy | Notes |
|
|
135
135
|
| --- | --- | --- | --- | --- |
|
|
136
136
|
| `metadata` | Payload declarativo principal do componente | true | deep-merge | runtime linkage verified for core flows (component specs, 2026-03-16). |
|
|
137
|
-
| `selectOptions` |
|
|
137
|
+
| `selectOptions` | Configuração especifica de runtime | false | override | runtime linkage verified for core flows (component specs, 2026-03-16). |
|
|
138
138
|
| `readonlyMode` | Override de readonly no host/runtime | false | override | runtime linkage verified for core flows (component specs, 2026-03-16). |
|
|
139
139
|
| `disabledMode` | Override de disabled no host/runtime | false | override | runtime linkage verified for core flows (component specs, 2026-03-16). |
|
|
140
140
|
| `visible` | Override de visibilidade no host/runtime | false | override | runtime linkage verified for core flows (component specs, 2026-03-16). |
|
|
141
|
-
| `presentationMode` |
|
|
141
|
+
| `presentationMode` | Renderização de apresentação sem interação | false | override | runtime linkage verified for core flows (component specs, 2026-03-16). |
|
|
142
142
|
|
|
143
143
|
### Nested configuration blocks
|
|
144
144
|
|
|
@@ -203,15 +203,15 @@ Nao ha paths experimentais confirmados no contrato publico desta revisao.
|
|
|
203
203
|
### Runtime coverage boundaries
|
|
204
204
|
|
|
205
205
|
- Ambientes suportados: browser/dev/prod; SSR/hydration appears to be component-dependent unless explicitly verified.
|
|
206
|
-
- Pre-condicoes: payload JSON
|
|
207
|
-
- Fora de cobertura confirmada: caminhos internos, experimentais ou aliases
|
|
206
|
+
- Pre-condicoes: payload JSON válido, bindings de host consistentes e dependencias descritas no source_of_truth.
|
|
207
|
+
- Fora de cobertura confirmada: caminhos internos, experimentais ou aliases não enumerados formalmente.
|
|
208
208
|
|
|
209
209
|
### Editor and tooling notes
|
|
210
210
|
|
|
211
211
|
- Evidencia de tooling: aliases `pdx-inline-*` resolvidos por `inline-filter-controls.util.ts` e consumidos no `ComponentRegistryService`; editor visual E2E permanece not-yet-verified.
|
|
212
|
-
- O que esta exposto no editor visual depende da cobertura real do workspace e
|
|
213
|
-
- Campos
|
|
214
|
-
- Quando houver divergencia entre editor e runtime, manter mismatch
|
|
212
|
+
- O que esta exposto no editor visual depende da cobertura real do workspace e não deve ser inferido como suporte runtime total.
|
|
213
|
+
- Campos disponíveis apenas via JSON/manual devem continuar no contrato, com rótulo explícito de cobertura parcial.
|
|
214
|
+
- Quando houver divergencia entre editor e runtime, manter mismatch rastreável em secao dedicada.
|
|
215
215
|
|
|
216
216
|
## Resolution and precedence model (obrigatorio)
|
|
217
217
|
|
|
@@ -224,21 +224,21 @@ Nao ha paths experimentais confirmados no contrato publico desta revisao.
|
|
|
224
224
|
|
|
225
225
|
### Fallback order
|
|
226
226
|
|
|
227
|
-
contrato explicito -> aliases
|
|
227
|
+
contrato explicito -> aliases históricos (quando suportados) -> defaults internos -> comportamento seguro
|
|
228
228
|
|
|
229
229
|
### Override points
|
|
230
230
|
|
|
231
231
|
- inputs publicos do componente
|
|
232
|
-
-
|
|
233
|
-
- integracoes de host (
|
|
232
|
+
- configuração JSON de runtime
|
|
233
|
+
- integracoes de host (serviços/tokens/adapters)
|
|
234
234
|
|
|
235
235
|
### Runtime normalization
|
|
236
236
|
|
|
237
|
-
Alias e defaults devem convergir para paths
|
|
237
|
+
Alias e defaults devem convergir para paths canônicos; onde não houver evidência, manter not-yet-verified de forma explícita.
|
|
238
238
|
|
|
239
239
|
### Precedence rules
|
|
240
240
|
|
|
241
|
-
Em conflito entre caminho
|
|
241
|
+
Em conflito entre caminho histórico e path canônico, priorizar path canônico e registrar janela de migração do histórico.
|
|
242
242
|
|
|
243
243
|
## Validation and error semantics (obrigatorio)
|
|
244
244
|
|
|
@@ -246,7 +246,7 @@ Em conflito entre caminho historico e path canonico, priorizar path canonico e r
|
|
|
246
246
|
|
|
247
247
|
| Path/Rule | Validation phase | Behavior on fail | Error code / warning | Notes |
|
|
248
248
|
| --- | --- | --- | --- | --- |
|
|
249
|
-
| canonical-paths | parse/runtime | component-defined (warn/reject/default) | not-yet-standardized | Semantica detalhada preservada na
|
|
249
|
+
| canonical-paths | parse/runtime | component-defined (warn/reject/default) | not-yet-standardized | Semantica detalhada preservada na referência técnica por componente. |
|
|
250
250
|
|
|
251
251
|
### Invalid and unknown field handling
|
|
252
252
|
|
|
@@ -264,66 +264,66 @@ Em conflito entre caminho historico e path canonico, priorizar path canonico e r
|
|
|
264
264
|
|
|
265
265
|
| Condition | Severity | Observability | Consumer action |
|
|
266
266
|
| --- | --- | --- | --- |
|
|
267
|
-
| partial-or-declared-only-coverage | warning | logs/eventos do componente | Confirmar
|
|
268
|
-
| mismatch-confirmed | error-or-warning | componente/host observability | Planejar
|
|
267
|
+
| partial-or-declared-only-coverage | warning | logs/eventos do componente | Confirmar ligação runtime antes de uso crítico. |
|
|
268
|
+
| mismatch-confirmed | error-or-warning | componente/host observability | Planejar migração e corrigir contrato/runtime. |
|
|
269
269
|
|
|
270
270
|
## Detailed API reference
|
|
271
271
|
### Preserved technical reference (normalized from previous revision)
|
|
272
272
|
|
|
273
|
-
### 1.
|
|
274
|
-
`pdx-inline-sentiment`
|
|
273
|
+
### 1. Visão Geral e Quando Usar
|
|
274
|
+
`pdx-inline-sentiment` é um filtro inline de sentimento com emojis, barra de gradiente e cards selecionáveis.
|
|
275
275
|
|
|
276
276
|
Use quando precisar:
|
|
277
277
|
- classificar feedback por polaridade (negativo/neutro/positivo);
|
|
278
|
-
- expor leitura visual
|
|
279
|
-
- permitir single ou
|
|
278
|
+
- expor leitura visual rápida via emoji + cor;
|
|
279
|
+
- permitir single ou múltipla seleção com pills de resumo.
|
|
280
280
|
|
|
281
281
|
### 2. API do Componente (Inputs/Outputs)
|
|
282
|
-
| Propriedade | Tipo |
|
|
282
|
+
| Propriedade | Tipo | Padrão | Obrigatório | Comportamento |
|
|
283
283
|
| --- | --- | --- | --- | --- |
|
|
284
284
|
| `metadata` | `MaterialSelectMetadata` | - | Sim | Contrato principal de sentimento inline. |
|
|
285
|
-
| `readonlyMode/disabledMode/visible/presentationMode` | `boolean` | `false/false/true/false` |
|
|
285
|
+
| `readonlyMode/disabledMode/visible/presentationMode` | `boolean` | `false/false/true/false` | Não | Estados de host do campo inline. |
|
|
286
286
|
| `selectionChange` | `T \| T[]` | - | Output herdado | Valor(es) de sentimento selecionado(s). |
|
|
287
|
-
| `optionSelected` | `SelectOption` | - | Output herdado |
|
|
287
|
+
| `optionSelected` | `SelectOption` | - | Output herdado | Opção escolhida no card de sentimento. |
|
|
288
288
|
|
|
289
289
|
### 3. Matriz de Cobertura JSON (Completa)
|
|
290
|
-
#### 3.1 Campos
|
|
290
|
+
#### 3.1 Campos específicos do componente
|
|
291
291
|
| Caminho JSON | Tipo | Status | Comportamento em runtime |
|
|
292
292
|
| --- | --- | --- | --- |
|
|
293
293
|
| `metadata.sentimentOptions` | `array \| string(JSON)` | Ativo | Fonte principal dos cards de sentimento. |
|
|
294
294
|
| `metadata.sentimentMultiple` / `multiple` | `boolean` | Ativo | Define single/multiple selection. |
|
|
295
295
|
| `metadata.sentimentShowBar` | `boolean` | Ativo | Exibe barra visual de sentimento. |
|
|
296
296
|
| `metadata.sentimentShowSelectionPills` | `boolean` | Ativo | Exibe pills dos itens selecionados. |
|
|
297
|
-
| `metadata.sentimentAnimatedEmoji` | `boolean` | Ativo | Ativa
|
|
298
|
-
| `metadata.sentimentCloseOnSelect` | `boolean` | Ativo | Fecha painel
|
|
299
|
-
| `metadata.sentimentEmojiKey/optionEmojiKey` | `string` | Ativo | Chave do emoji por
|
|
300
|
-
| `metadata.sentimentColorKey/optionColorKey` | `string` | Ativo | Chave da cor por
|
|
301
|
-
| `metadata.sentimentPalette/palette` | `array \| string` | Ativo | Paleta fallback para
|
|
302
|
-
| `metadata.sentimentGradientLowColor/midColor/highColor` | `string` | Ativo | Gradiente
|
|
303
|
-
| `metadata.sentimentTexts` / `inlineTexts` | `object \| string(JSON)` | Ativo | Textos de
|
|
304
|
-
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit"` | Ativo | Define se cards de sentimento comitam imediatamente ou ficam em rascunho
|
|
305
|
-
| `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Configura label, aria-label,
|
|
306
|
-
| `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Configura a
|
|
307
|
-
| `metadata.inlineOverlay.actions.clear` | `object` | Ativo | Configura a
|
|
308
|
-
| `metadata.sentimentIcon` / `prefixIcon` | `string` | Ativo |
|
|
297
|
+
| `metadata.sentimentAnimatedEmoji` | `boolean` | Ativo | Ativa animação de emoji em hover/select. |
|
|
298
|
+
| `metadata.sentimentCloseOnSelect` | `boolean` | Ativo | Fecha painel após seleção (single). |
|
|
299
|
+
| `metadata.sentimentEmojiKey/optionEmojiKey` | `string` | Ativo | Chave do emoji por opção. |
|
|
300
|
+
| `metadata.sentimentColorKey/optionColorKey` | `string` | Ativo | Chave da cor por opção. |
|
|
301
|
+
| `metadata.sentimentPalette/palette` | `array \| string` | Ativo | Paleta fallback para opções sem cor. |
|
|
302
|
+
| `metadata.sentimentGradientLowColor/midColor/highColor` | `string` | Ativo | Gradiente semântico fallback para barra e opções sem cor explícita. |
|
|
303
|
+
| `metadata.sentimentTexts` / `inlineTexts` | `object \| string(JSON)` | Ativo | Textos de subtítulo, aria, labels de grupo/pills e empty state; templates canônicos devem usar `{{label}}` e `{{value}}` quando houver interpolação. |
|
|
304
|
+
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit"` | Ativo | Define se cards de sentimento comitam imediatamente ou ficam em rascunho até `Aplicar`. |
|
|
305
|
+
| `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Configura label, aria-label, ícone, `appearance` e `colorRole` da ação de commit. |
|
|
306
|
+
| `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Configura a ação que descarta rascunho e fecha o painel. |
|
|
307
|
+
| `metadata.inlineOverlay.actions.clear` | `object` | Ativo | Configura a ação que remove a seleção aplicada/rascunho usando tokens do tema. |
|
|
308
|
+
| `metadata.sentimentIcon` / `prefixIcon` | `string` | Ativo | Ícone do trigger/painel. |
|
|
309
309
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Largura da pill e painel. |
|
|
310
310
|
|
|
311
311
|
#### 3.2 Campos herdados compartilhados (exaustivo)
|
|
312
312
|
- `projects/praxis-dynamic-fields/src/lib/components/material-select/pdx-material-select.json-api.md`
|
|
313
313
|
- `projects/praxis-dynamic-fields/src/lib/base/pdx-base-select-runtime-contract.json-api.md`
|
|
314
314
|
|
|
315
|
-
Resumo de
|
|
315
|
+
Resumo de composição deste componente:
|
|
316
316
|
- `Ativo`: cards de sentimento com emoji/cor, barra e pills de resumo.
|
|
317
|
-
- `
|
|
317
|
+
- `Extensão de runtime`: namespace `sentiment*` com fallback para chaves genéricas.
|
|
318
318
|
|
|
319
319
|
### 4. Mapeamento de Comportamento
|
|
320
|
-
-
|
|
320
|
+
- Opções podem ser carregadas de `sentimentOptions`, `selectOptions` ou `options`.
|
|
321
321
|
- Cor/emoji de cada item segue ordem de chaves custom -> payload -> paleta fallback.
|
|
322
|
-
- Em
|
|
322
|
+
- Em múltiplo, respeita `maxSelections` herdado.
|
|
323
323
|
- Aria labels, labels de grupo/pills e textos operacionais podem ser centralizados em `sentimentTexts`.
|
|
324
|
-
- Quando `inlineOverlay.applyMode` e `"explicit"`,
|
|
324
|
+
- Quando `inlineOverlay.applyMode` e `"explicit"`, seleções no painel alteram apenas o rascunho; `Aplicar` comita, `Cancelar`, `Esc` e clique externo descartam, e `Limpar` remove a seleção.
|
|
325
325
|
|
|
326
|
-
### 5. Exemplo
|
|
326
|
+
### 5. Exemplo Mínimo (JSON + Uso)
|
|
327
327
|
```json
|
|
328
328
|
{
|
|
329
329
|
"componentId": "pdx-inline-sentiment",
|
|
@@ -338,7 +338,7 @@ Resumo de composicao deste componente:
|
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
```
|
|
341
|
-
Uso:
|
|
341
|
+
Uso: classificação simples de sentimento.
|
|
342
342
|
|
|
343
343
|
### 6. Exemplo Corporativo (JSON + Uso)
|
|
344
344
|
```json
|
|
@@ -378,34 +378,34 @@ Uso: classificacao simples de sentimento.
|
|
|
378
378
|
}
|
|
379
379
|
}
|
|
380
380
|
```
|
|
381
|
-
Uso:
|
|
381
|
+
Uso: análise de CX com semântica visual direta e confirmação explícita antes de aplicar.
|
|
382
382
|
|
|
383
383
|
### 7. Troubleshooting e Armadilhas Comuns
|
|
384
|
-
1. Emoji
|
|
385
|
-
|
|
384
|
+
1. Emoji não renderiza.
|
|
385
|
+
Correção: ajustar `sentimentEmojiKey` ou o campo de payload.
|
|
386
386
|
|
|
387
387
|
2. Cores repetidas sem intencao.
|
|
388
|
-
|
|
388
|
+
Correção: revisar `sentimentColorKey` e `sentimentPalette`.
|
|
389
389
|
|
|
390
|
-
3. Painel
|
|
391
|
-
|
|
390
|
+
3. Painel não fecha no single.
|
|
391
|
+
Correção: habilitar `sentimentCloseOnSelect=true`.
|
|
392
392
|
|
|
393
|
-
4. Pills
|
|
394
|
-
|
|
393
|
+
4. Pills não aparecem no múltiplo.
|
|
394
|
+
Correção: verificar `sentimentShowSelectionPills`.
|
|
395
395
|
|
|
396
|
-
5.
|
|
397
|
-
|
|
396
|
+
5. Animação de emoji não ocorre.
|
|
397
|
+
Correção: validar `sentimentAnimatedEmoji`.
|
|
398
398
|
|
|
399
399
|
### 8. Cross-links
|
|
400
400
|
- `projects/praxis-dynamic-fields/src/lib/components/material-select/pdx-material-select.json-api.md`
|
|
401
401
|
- `projects/praxis-dynamic-fields/src/lib/base/pdx-base-select-runtime-contract.json-api.md`
|
|
402
402
|
|
|
403
|
-
### 9.
|
|
404
|
-
-
|
|
403
|
+
### 9. Relatório de Validação Estrutural
|
|
404
|
+
- Visão geral: PASS
|
|
405
405
|
- API (inputs/outputs): PASS
|
|
406
406
|
- Cobertura JSON completa (especifico + herdado): PASS
|
|
407
407
|
- Mapeamento de comportamento: PASS
|
|
408
|
-
- Exemplo
|
|
408
|
+
- Exemplo mínimo: PASS
|
|
409
409
|
- Exemplo corporativo: PASS
|
|
410
410
|
- Troubleshooting: PASS
|
|
411
411
|
|
|
@@ -668,7 +668,7 @@ Correcao: validar `sentimentAnimatedEmoji`.
|
|
|
668
668
|
|
|
669
669
|
| Path/Behavior | Observed behavior (runtime) | Desired behavior | Impact | Tracking issue | Target fix |
|
|
670
670
|
| --- | --- | --- | --- | --- | --- |
|
|
671
|
-
| Canonical contract parity | Runtime e exemplos desta
|
|
671
|
+
| Canonical contract parity | Runtime e exemplos desta referência foram atualizados em 2026-03-16 para refletir a migração do componente para o catálogo shared de i18n e o uso de templates `{{...}}` | Manter exemplos e host overrides no formato canônico `{{...}}` | Low | n/a | Monitor in periodic audit |
|
|
672
672
|
|
|
673
673
|
## Source references (obrigatorio)
|
|
674
674
|
|
|
@@ -281,6 +281,9 @@ interface PraxisDynamicFieldsI18nOverrides {
|
|
|
281
281
|
displayUpto?: PraxisDynamicFieldText;
|
|
282
282
|
presetFrom?: PraxisDynamicFieldText;
|
|
283
283
|
};
|
|
284
|
+
dateRange?: {
|
|
285
|
+
shortcutsAriaLabel?: PraxisDynamicFieldText;
|
|
286
|
+
};
|
|
284
287
|
inlineDateRange?: {
|
|
285
288
|
placeholder?: PraxisDynamicFieldText;
|
|
286
289
|
startPlaceholder?: PraxisDynamicFieldText;
|
|
@@ -326,6 +329,13 @@ interface PraxisDynamicFieldsI18nOverrides {
|
|
|
326
329
|
};
|
|
327
330
|
inlineRange?: {
|
|
328
331
|
placeholder?: PraxisDynamicFieldText;
|
|
332
|
+
minLabel?: PraxisDynamicFieldText;
|
|
333
|
+
maxLabel?: PraxisDynamicFieldText;
|
|
334
|
+
valueLabel?: PraxisDynamicFieldText;
|
|
335
|
+
quickPresetsLabel?: PraxisDynamicFieldText;
|
|
336
|
+
clearActionLabel?: PraxisDynamicFieldText;
|
|
337
|
+
applyActionLabel?: PraxisDynamicFieldText;
|
|
338
|
+
doneActionLabel?: PraxisDynamicFieldText;
|
|
329
339
|
cancelActionLabel?: PraxisDynamicFieldText;
|
|
330
340
|
};
|
|
331
341
|
inlineCurrencyRange?: {
|
|
@@ -341,6 +351,13 @@ interface PraxisDynamicFieldsI18nOverrides {
|
|
|
341
351
|
from?: PraxisDynamicFieldText;
|
|
342
352
|
upto?: PraxisDynamicFieldText;
|
|
343
353
|
};
|
|
354
|
+
validation?: {
|
|
355
|
+
required?: PraxisDynamicFieldText;
|
|
356
|
+
rangeOrder?: PraxisDynamicFieldText;
|
|
357
|
+
rangeMin?: PraxisDynamicFieldText;
|
|
358
|
+
rangeMax?: PraxisDynamicFieldText;
|
|
359
|
+
invalid?: PraxisDynamicFieldText;
|
|
360
|
+
};
|
|
344
361
|
};
|
|
345
362
|
inlineSelect?: {
|
|
346
363
|
placeholder?: PraxisDynamicFieldText;
|
|
@@ -359,6 +376,7 @@ interface PraxisDynamicFieldsI18nOverrides {
|
|
|
359
376
|
selectionTitle?: PraxisDynamicFieldText;
|
|
360
377
|
selectionBadgesAriaLabel?: PraxisDynamicFieldText;
|
|
361
378
|
removeSelectionAriaLabel?: PraxisDynamicFieldText;
|
|
379
|
+
fallbackOptionLabel?: PraxisDynamicFieldText;
|
|
362
380
|
emptyStateText?: PraxisDynamicFieldText;
|
|
363
381
|
overlayActionsAriaLabel?: PraxisDynamicFieldText;
|
|
364
382
|
clearActionLabel?: PraxisDynamicFieldText;
|
|
@@ -384,14 +402,43 @@ interface PraxisDynamicFieldsI18nOverrides {
|
|
|
384
402
|
inlineRelativePeriod?: {
|
|
385
403
|
placeholder?: PraxisDynamicFieldText;
|
|
386
404
|
panelSubtitle?: PraxisDynamicFieldText;
|
|
405
|
+
defaultOptions?: {
|
|
406
|
+
today?: PraxisDynamicFieldText;
|
|
407
|
+
yesterday?: PraxisDynamicFieldText;
|
|
408
|
+
last7?: PraxisDynamicFieldText;
|
|
409
|
+
last30?: PraxisDynamicFieldText;
|
|
410
|
+
thisMonth?: PraxisDynamicFieldText;
|
|
411
|
+
lastMonth?: PraxisDynamicFieldText;
|
|
412
|
+
thisQuarter?: PraxisDynamicFieldText;
|
|
413
|
+
thisYear?: PraxisDynamicFieldText;
|
|
414
|
+
};
|
|
387
415
|
progressEmptyLabel?: PraxisDynamicFieldText;
|
|
416
|
+
progressAriaLabel?: PraxisDynamicFieldText;
|
|
388
417
|
optionsGroupAriaLabel?: PraxisDynamicFieldText;
|
|
418
|
+
fallbackOptionLabel?: PraxisDynamicFieldText;
|
|
389
419
|
emptyStateText?: PraxisDynamicFieldText;
|
|
390
420
|
overlayActionsAriaLabel?: PraxisDynamicFieldText;
|
|
391
421
|
clearActionLabel?: PraxisDynamicFieldText;
|
|
392
422
|
cancelActionLabel?: PraxisDynamicFieldText;
|
|
393
423
|
applyActionLabel?: PraxisDynamicFieldText;
|
|
394
424
|
};
|
|
425
|
+
inlinePeriodRange?: {
|
|
426
|
+
minLabel?: PraxisDynamicFieldText;
|
|
427
|
+
maxLabel?: PraxisDynamicFieldText;
|
|
428
|
+
quickPresetsLabel?: PraxisDynamicFieldText;
|
|
429
|
+
};
|
|
430
|
+
inlineMonthRange?: {
|
|
431
|
+
quickPresetsLabel?: PraxisDynamicFieldText;
|
|
432
|
+
presetFull?: PraxisDynamicFieldText;
|
|
433
|
+
presetFirstHalf?: PraxisDynamicFieldText;
|
|
434
|
+
presetSecondHalf?: PraxisDynamicFieldText;
|
|
435
|
+
};
|
|
436
|
+
inlineYearRange?: {
|
|
437
|
+
minLabel?: PraxisDynamicFieldText;
|
|
438
|
+
maxLabel?: PraxisDynamicFieldText;
|
|
439
|
+
quickPresetsLabel?: PraxisDynamicFieldText;
|
|
440
|
+
presetFull?: PraxisDynamicFieldText;
|
|
441
|
+
};
|
|
395
442
|
inlineTime?: {
|
|
396
443
|
placeholder?: PraxisDynamicFieldText;
|
|
397
444
|
openPanelAriaLabel?: PraxisDynamicFieldText;
|
|
@@ -404,10 +451,18 @@ interface PraxisDynamicFieldsI18nOverrides {
|
|
|
404
451
|
inlineSentiment?: {
|
|
405
452
|
placeholder?: PraxisDynamicFieldText;
|
|
406
453
|
panelSubtitle?: PraxisDynamicFieldText;
|
|
454
|
+
defaultOptions?: {
|
|
455
|
+
terrible?: PraxisDynamicFieldText;
|
|
456
|
+
bad?: PraxisDynamicFieldText;
|
|
457
|
+
neutral?: PraxisDynamicFieldText;
|
|
458
|
+
good?: PraxisDynamicFieldText;
|
|
459
|
+
great?: PraxisDynamicFieldText;
|
|
460
|
+
};
|
|
407
461
|
barAriaEmpty?: PraxisDynamicFieldText;
|
|
408
462
|
barAriaSelected?: PraxisDynamicFieldText;
|
|
409
463
|
optionsGroupAriaLabel?: PraxisDynamicFieldText;
|
|
410
464
|
selectionPillsAriaLabel?: PraxisDynamicFieldText;
|
|
465
|
+
fallbackOptionLabel?: PraxisDynamicFieldText;
|
|
411
466
|
emptyStateText?: PraxisDynamicFieldText;
|
|
412
467
|
overlayActionsAriaLabel?: PraxisDynamicFieldText;
|
|
413
468
|
clearActionLabel?: PraxisDynamicFieldText;
|
|
@@ -1987,6 +2042,7 @@ declare class MaterialDateRangeComponent extends SimpleBaseInputComponent implem
|
|
|
1987
2042
|
picker: MatDateRangePicker<Date>;
|
|
1988
2043
|
private endDateInput?;
|
|
1989
2044
|
readonly shouldShowShortcuts: () => boolean;
|
|
2045
|
+
readonly shortcutOverlayAriaLabel: _angular_core.Signal<string>;
|
|
1990
2046
|
readonly overlayPositions: () => ConnectedPosition[];
|
|
1991
2047
|
private shortcutOverlayBelowPositions;
|
|
1992
2048
|
private shortcutOverlayLeftPositions;
|
|
@@ -5118,9 +5174,11 @@ declare class InlineRelativePeriodComponent extends SimpleBaseSelectComponent {
|
|
|
5118
5174
|
onPanelDone(event: MouseEvent): void;
|
|
5119
5175
|
isInteractionBlocked(): boolean;
|
|
5120
5176
|
private parseOptionsSource;
|
|
5177
|
+
private defaultRelativePeriodOptions;
|
|
5121
5178
|
private selectedOptions;
|
|
5122
5179
|
private toVisualOption;
|
|
5123
5180
|
private resolveOptionSubtitle;
|
|
5181
|
+
private fallbackOptionLabel;
|
|
5124
5182
|
private resolveOptionIcon;
|
|
5125
5183
|
private selectedValues;
|
|
5126
5184
|
private resolveCloseOnSelect;
|
|
@@ -5240,8 +5298,10 @@ declare class InlineSentimentComponent extends SimpleBaseSelectComponent {
|
|
|
5240
5298
|
onPanelDone(event: MouseEvent): void;
|
|
5241
5299
|
isInteractionBlocked(): boolean;
|
|
5242
5300
|
private parseOptionsSource;
|
|
5301
|
+
private defaultSentimentOptions;
|
|
5243
5302
|
private toVisualOption;
|
|
5244
5303
|
private resolveOptionEmoji;
|
|
5304
|
+
private fallbackOptionLabel;
|
|
5245
5305
|
private resolveOptionColor;
|
|
5246
5306
|
private sentimentGradientColorByIndex;
|
|
5247
5307
|
private sentimentGradientColorByRatio;
|
|
@@ -5374,6 +5434,7 @@ declare class InlineColorLabelComponent extends SimpleBaseSelectComponent<unknow
|
|
|
5374
5434
|
private parseOptionsSource;
|
|
5375
5435
|
private toVisualOption;
|
|
5376
5436
|
private resolveOptionColor;
|
|
5437
|
+
private fallbackOptionLabel;
|
|
5377
5438
|
private parseColorList;
|
|
5378
5439
|
private selectedValues;
|
|
5379
5440
|
private openPanel;
|