@praxisui/list 8.0.0-beta.19 → 8.0.0-beta.20

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.
@@ -0,0 +1,459 @@
1
+ ---
2
+ title: "praxis-list-skin-preview JSON API (Canonical)"
3
+ slug: "praxis-list-skin-preview-json-api"
4
+ doc_type: "api-reference"
5
+ component: "praxis-list-skin-preview"
6
+ document_kind: "json-api-canonical"
7
+ reference_mode: "canonical"
8
+ contract_format: "json"
9
+ contract_source: "runtime-and-code"
10
+ description: "Referencia canonica do contrato JSON do componente praxis-list-skin-preview."
11
+ category: "components"
12
+ sub_category: "list"
13
+ audience:
14
+ - "frontend"
15
+ - "architect"
16
+ - "platform-team"
17
+ level: "advanced"
18
+ status: "active"
19
+ owner: "praxis-ui"
20
+ source_of_truth:
21
+ - "projects/praxis-list/src/lib/components/list-skin-preview.component.ts"
22
+ - "projects/praxis-list/src/lib/components/list-skin-preview.component.html"
23
+ - "projects/praxis-list/src/lib/components/list-skin-preview.component.scss"
24
+ - "projects/praxis-list/src/lib/services/list-skin.service.ts"
25
+ - "projects/praxis-list/src/lib/utils/template-evaluator.ts"
26
+ - "projects/praxis-list/src/lib/models/list-config.model.ts"
27
+ source_of_truth_last_verified: "2026-03-05"
28
+ last_updated: "2026-03-05"
29
+ toc: true
30
+ sidebar: true
31
+ tags:
32
+ - "json-api"
33
+ - "canonical-contract"
34
+ - "praxis-list-skin-preview"
35
+ api_stability: "canonical"
36
+ schema_verified: true
37
+ runtime_verified: false
38
+ editor_coverage_verified: false
39
+ runtime_scope: "public"
40
+ legacy_paths_present: false
41
+ has_known_mismatches: true
42
+ related_components: []
43
+ ---
44
+
45
+ # praxis-list-skin-preview
46
+
47
+ Este documento e a referencia canonica da API JSON de praxis-list-skin-preview.
48
+
49
+ ## Summary
50
+
51
+ - Tipo documental: API reference canonica de contrato JSON.
52
+ - Source of truth: runtime e codigo declarados no frontmatter.
53
+ - Objetivo operacional: consulta rapida, auditavel e deterministica sob pressao.
54
+ - Resumo funcional herdado: Referencia canonica da JSON API do `praxis-list-skin-preview`.
55
+
56
+ ## Scope and positioning
57
+
58
+ - Escopo: contrato JSON publico e limites de comportamento observavel.
59
+ - Fora de escopo: tutorial de adocao e walkthrough operacional detalhado.
60
+ - Posicionamento: referencia canonicamente governada para consumidores, arquitetos e mantenedores.
61
+
62
+ ## Source of truth
63
+
64
+ | Source | Kind | Notes |
65
+ | --- | --- | --- |
66
+ | projects/praxis-list/src/lib/components/list-skin-preview.component.ts | runtime-code | Source de implementacao declarado no repositorio. |
67
+ | projects/praxis-list/src/lib/components/list-skin-preview.component.html | template-style | Source de implementacao declarado no repositorio. |
68
+ | projects/praxis-list/src/lib/components/list-skin-preview.component.scss | template-style | Source de implementacao declarado no repositorio. |
69
+ | projects/praxis-list/src/lib/services/list-skin.service.ts | runtime-code | Source de implementacao declarado no repositorio. |
70
+ | projects/praxis-list/src/lib/utils/template-evaluator.ts | runtime-code | Source de implementacao declarado no repositorio. |
71
+ | projects/praxis-list/src/lib/models/list-config.model.ts | runtime-code | Source de implementacao declarado no repositorio. |
72
+
73
+ ## Support legend
74
+
75
+ - Active: suportado e observado no runtime atual.
76
+ - Partial: suporte parcial, com restricoes conhecidas.
77
+ - Declared-only: declarado em tipos/schema sem ligacao runtime confirmada.
78
+ - Schema-only: presente em schema/modelo sem confirmacao de execucao.
79
+ - Deprecated: mantido por compatibilidade legada com migracao prevista.
80
+
81
+ ## Contract classification
82
+
83
+ ### Canonical paths (public contract)
84
+
85
+ | Path | Type | Required | Default | Status | Notes |
86
+ | --- | --- | --- | --- | --- | --- |
87
+ | `layout.variant` | not-specified | not-specified | n/a | Active | Define `list/cards/tiles`. |
88
+ | `layout.lines` | not-specified | not-specified | n/a | Active | Controla linhas secundarias. |
89
+ | `layout.density/model` | not-specified | not-specified | n/a | Active | Aplicados via classes de host resolvidas pelo `ListSkinService`. |
90
+ | `layout.dividers/groupBy/pageSize` | not-specified | not-specified | n/a | Declared-only | Sem efeito direto no preview atual. |
91
+ | `skin.type` | not-specified | not-specified | n/a | Active | Classe `skin-*`. |
92
+ | `skin.gradient/radius/shadow/border/backdropBlur/class/inlineStyle` | not-specified | not-specified | n/a | Active | Aplicados por `ListSkinService`. |
93
+ | `templating.leading/primary/secondary/meta/trailing` | not-specified | not-specified | n/a | Active | Slots principais renderizados. |
94
+ | `templating.sectionHeader/emptyState` | not-specified | not-specified | n/a | Declared-only | Nao renderizados no preview atual. |
95
+ | `templating.metaPrefixIcon` | not-specified | not-specified | n/a | Active | Prefixo em meta textual. |
96
+ | `templating.statusPosition` | not-specified | not-specified | n/a | Active | `top-right` para chip/icon em tiles. |
97
+ | `templating.chipColorMap/chipLabelMap/iconColorMap` | not-specified | not-specified | n/a | Active | Mapeamentos aplicados no render. |
98
+ | `templating.features/featuresVisible/featuresMode` | not-specified | not-specified | n/a | Active | Linha de features no preview. |
99
+ | `templating.skeleton` | not-specified | not-specified | n/a | Declared-only | Sem modo skeleton no preview. |
100
+ | `i18n.locale/currency` | not-specified | not-specified | n/a | Active | Base para formatacao `date/currency`. |
101
+
102
+ ### Supported legacy paths
103
+
104
+ Nenhum path legado suportado foi identificado nesta revisão baseada em evidência textual preservada.
105
+
106
+ ### Internal-only paths
107
+
108
+ | Path | Internal consumer | Runtime presence | Public support | Notes |
109
+ | --- | --- | --- | --- | --- |
110
+ | not-yet-mapped | not-yet-verified | not-yet-verified | No | Caminhos internos nao mapeados explicitamente nesta revisao automatizada. |
111
+
112
+ ### Experimental paths
113
+
114
+ | Path | Enablement (flag/guard) | Stability | Rollout notes | Notes |
115
+ | --- | --- | --- | --- | --- |
116
+ | not-yet-mapped | not-yet-verified | Experimental | not-yet-verified | Registrar somente quando houver evidencia em runtime/codigo. |
117
+
118
+ ## Overview
119
+
120
+ Este arquivo foi adaptado para o padrao canonico atual sem remover conteudo tecnico existente. O conteudo detalhado anterior foi preservado para manter rastreabilidade historica e reduzir perda de contexto.
121
+
122
+ ## Public contract surface
123
+
124
+ ### Top-level configuration blocks
125
+
126
+ | Block | Purpose | Required | Merge strategy | Notes |
127
+ | --- | --- | --- | --- | --- |
128
+ | layout | Configuração top-level identificada na referência preservada. | not-yet-verified | component-defined | 4 path(s) mapeado(s), status predominante Active. |
129
+ | skin | Configuração top-level identificada na referência preservada. | not-yet-verified | component-defined | 2 path(s) mapeado(s), status predominante Active. |
130
+ | templating | Configuração top-level identificada na referência preservada. | not-yet-verified | component-defined | 7 path(s) mapeado(s), status predominante Active. |
131
+ | i18n | Configuração top-level identificada na referência preservada. | not-yet-verified | component-defined | 1 path(s) mapeado(s), status predominante Active. |
132
+
133
+ ### Nested configuration blocks
134
+
135
+ | Path | Type | Required | Default | Constraints | Notes |
136
+ | --- | --- | --- | --- | --- | --- |
137
+ | `layout.variant` | not-specified | not-specified | n/a | component-defined | Define `list/cards/tiles`. |
138
+ | `layout.lines` | not-specified | not-specified | n/a | component-defined | Controla linhas secundarias. |
139
+ | `layout.density/model` | not-specified | not-specified | n/a | component-defined | Aplicados via classes de host resolvidas pelo `ListSkinService`. |
140
+ | `layout.dividers/groupBy/pageSize` | not-specified | not-specified | n/a | component-defined | Sem efeito direto no preview atual. |
141
+ | `skin.type` | not-specified | not-specified | n/a | component-defined | Classe `skin-*`. |
142
+ | `skin.gradient/radius/shadow/border/backdropBlur/class/inlineStyle` | not-specified | not-specified | n/a | component-defined | Aplicados por `ListSkinService`. |
143
+ | `templating.leading/primary/secondary/meta/trailing` | not-specified | not-specified | n/a | component-defined | Slots principais renderizados. |
144
+ | `templating.sectionHeader/emptyState` | not-specified | not-specified | n/a | component-defined | Nao renderizados no preview atual. |
145
+ | `templating.metaPrefixIcon` | not-specified | not-specified | n/a | component-defined | Prefixo em meta textual. |
146
+ | `templating.statusPosition` | not-specified | not-specified | n/a | component-defined | `top-right` para chip/icon em tiles. |
147
+
148
+ ### Input bindings
149
+
150
+ | Binding/Path | Type | Required | Source | Runtime normalization | Notes |
151
+ | --- | --- | --- | --- | --- | --- |
152
+ | `config` | `PraxisListConfig` | not-specified | component-input | not-yet-verified | Contrato visual usado para render do preview. |
153
+ | `items` | `any[]` | not-specified | component-input | not-yet-verified | Dataset de preview. |
154
+ | `theme` | `'light' \| 'dark' \| 'grid'` | not-specified | component-input | not-yet-verified | Classe de contexto visual (`preview-*`). |
155
+
156
+ ### Output events
157
+
158
+ | Event | Payload | Trigger | Stability | Notes |
159
+ | --- | --- | --- | --- | --- |
160
+ | component-outputs | see-detailed-api | runtime-event | Partial | Eventos preservados na referência detalhada. |
161
+
162
+ ### External side channels
163
+
164
+ | Channel | Direction | Contract | Failure mode | Notes |
165
+ | --- | --- | --- | --- | --- |
166
+ | host/services/storage | bidirectional | see-detailed-api | not-yet-verified | Side channels dependem do componente e do host consumidor. |
167
+
168
+ ### Host/runtime dependencies
169
+
170
+ | Dependency | Required | Environment | Purpose | Notes |
171
+ | --- | --- | --- | --- | --- |
172
+ | see-source-of-truth | true | browser/dev/prod/ssr | runtime linkage | Confirmar por componente quando necessario. |
173
+
174
+ ## Coverage matrix
175
+
176
+ | Surface | Verified | Coverage status | Evidence | Notes |
177
+ | --- | --- | --- | --- | --- |
178
+ | Runtime | false | Partial | source_of_truth + conteudo preservado | Revisao estrutural concluida; validacao comportamental fina pode exigir follow-up. |
179
+ | Schema/Types | true | Partial | interfaces/modelos citados | Mapeamento formal de todos os campos ainda pode requerer refinamento. |
180
+ | Editor/Tooling | false | Partial | secoes de editor quando presentes | Cobertura de editor/tooling nem sempre confirmada por evidencia direta. |
181
+
182
+ ## Runtime coverage boundaries
183
+
184
+ - Cobertura consolidada com base em documentacao existente e source of truth declarado.
185
+ - Comportamentos fora de evidencia direta foram marcados como not-yet-verified ou Partial.
186
+ - Compatibilidade legada, quando detectada, foi separada em classificacao explicita.
187
+
188
+ ## Resolution model
189
+
190
+ ### Merge order
191
+
192
+ 1. defaults do componente
193
+ 2. contrato JSON recebido
194
+ 3. overrides de host/runtime
195
+ 4. normalizacoes internas
196
+
197
+ ### Fallback order
198
+
199
+ contrato explicito -> aliases legados (quando suportados) -> defaults internos -> comportamento seguro
200
+
201
+ ### Override points
202
+
203
+ - inputs publicos do componente
204
+ - configuracao JSON de runtime
205
+ - integracoes de host (servicos/tokens/adapters)
206
+
207
+ ### Runtime normalization
208
+
209
+ Campos e aliases preservados do documento anterior devem convergir progressivamente para paths canonicos declarados.
210
+
211
+ ### Precedence rules
212
+
213
+ Quando houver conflito entre alias e path canonico, priorizar path canonico e manter alias apenas para backward compatibility.
214
+
215
+ ## Validation and error semantics
216
+
217
+ ### Validation model
218
+
219
+ | Path/Rule | Validation phase | Behavior on fail | Error code / warning | Notes |
220
+ | --- | --- | --- | --- | --- |
221
+ | see-detailed-api | runtime | warn-or-reject | not-yet-standardized | Semantica de validacao preservada do documento anterior. |
222
+
223
+ ### Error semantics
224
+
225
+ Erros devem ser classificados em warnings recuperaveis versus falhas bloqueantes. Quando a evidencia nao estiver explicita, tratar como not yet verified.
226
+
227
+ ### Fail-open / fail-closed behavior
228
+
229
+ | Condition | Mode | Runtime behavior | Consumer impact |
230
+ | --- | --- | --- | --- |
231
+ | invalid-or-unknown-field | component-defined | not-yet-verified | Variavel por componente; requer verificacao em runtime. |
232
+
233
+ ### Invalid or unknown field handling
234
+
235
+ - Campos desconhecidos: comportamento depende da estrategia do componente (ignore, warn ou reject).
236
+ - Campos invalidos: podem gerar fallback, warning ou falha conforme implementacao.
237
+ - Registrar divergencias observadas em Known limitations and mismatches.
238
+
239
+ ### Runtime warnings vs hard failures
240
+
241
+ | Condition | Severity | Observability | Consumer action |
242
+ | --- | --- | --- | --- |
243
+ | partial-or-declared-only-coverage | warning | logs/eventos do componente | confirmar ligacao runtime antes de uso critico |
244
+
245
+ ## Detailed API
246
+
247
+ ### Preserved technical reference (normalized from previous revision)
248
+
249
+ Referencia canonica da JSON API do `praxis-list-skin-preview`.
250
+
251
+ Foco:
252
+
253
+ - o que o preview realmente renderiza a partir de `PraxisListConfig`;
254
+ - diferencas entre preview visual e runtime completo do `praxis-list`;
255
+ - limites para uso corporativo no fluxo de configuracao.
256
+
257
+ Legenda de suporte:
258
+
259
+ - `Active`: consumido diretamente pelo preview.
260
+ - `Partial`: consumido com comportamento reduzido.
261
+ - `Declared-only`: ignorado no preview atual.
262
+
263
+ ### Overview
264
+
265
+ `praxis-list-skin-preview` e um renderer de preview usado no editor de configuracao da lista.
266
+
267
+ Fluxo:
268
+
269
+ 1. Recebe `config` + `items` + `theme`.
270
+ 2. Resolve classes e variaveis de skin via `ListSkinService`.
271
+ 3. Renderiza variant `list/cards/tiles` com slots de templating.
272
+ 4. Aplica mapas de cor/label para chip e icones.
273
+
274
+ Importante: e um preview estatico. Nao executa fluxo remoto, paginacao, selecao, acoes ou persistencia.
275
+
276
+ ### API
277
+
278
+ #### Component inputs
279
+
280
+ | Input | Tipo | Default | Status | Runtime notes |
281
+ | --- | --- | --- | --- | --- |
282
+ | `config` | `PraxisListConfig` | obrigatorio logico | Active | Contrato visual usado para render do preview. |
283
+ | `items` | `any[]` | `[]` | Active | Dataset de preview. |
284
+ | `theme` | `'light' \| 'dark' \| 'grid'` | `'light'` | Active | Classe de contexto visual (`preview-*`). |
285
+
286
+ #### Component outputs
287
+
288
+ Sem `@Output` publico.
289
+
290
+ ### Coverage Matrix (`PraxisListConfig` no preview)
291
+
292
+ | JSON path | Status | Preview notes |
293
+ | --- | --- | --- |
294
+ | `layout.variant` | Active | Define `list/cards/tiles`. |
295
+ | `layout.lines` | Active | Controla linhas secundarias. |
296
+ | `layout.density/model` | Active | Aplicados via classes de host resolvidas pelo `ListSkinService`. |
297
+ | `layout.dividers/groupBy/pageSize` | Declared-only | Sem efeito direto no preview atual. |
298
+ | `skin.type` | Active | Classe `skin-*`. |
299
+ | `skin.gradient/radius/shadow/border/backdropBlur/class/inlineStyle` | Active | Aplicados por `ListSkinService`. |
300
+ | `templating.leading/primary/secondary/meta/trailing` | Active | Slots principais renderizados. |
301
+ | `templating.sectionHeader/emptyState` | Declared-only | Nao renderizados no preview atual. |
302
+ | `templating.metaPrefixIcon` | Active | Prefixo em meta textual. |
303
+ | `templating.statusPosition` | Active | `top-right` para chip/icon em tiles. |
304
+ | `templating.chipColorMap/chipLabelMap/iconColorMap` | Active | Mapeamentos aplicados no render. |
305
+ | `templating.features/featuresVisible/featuresMode` | Active | Linha de features no preview. |
306
+ | `templating.skeleton` | Declared-only | Sem modo skeleton no preview. |
307
+ | `i18n.locale/currency` | Active | Base para formatacao `date/currency`. |
308
+ | `dataSource`, `selection`, `actions`, `ui`, `a11y`, `events` | Declared-only | Nao consumidos pelo preview atual. |
309
+
310
+ ### Slots e formatacao suportados
311
+
312
+ Tipos suportados nos slots principais:
313
+
314
+ - `text`, `icon`, `image`, `chip`, `rating`, `currency`, `date`, `html`.
315
+
316
+ Comportamentos relevantes:
317
+
318
+ 1. `currency`: usa `Intl.NumberFormat` com fallback para `i18n.currency` e `i18n.locale`.
319
+ 2. `date`: usa `Intl.DateTimeFormat` com estilo `short|medium|long|full`.
320
+ 3. `chip`: aplica `chipColorMap` e `chipLabelMap`.
321
+ 4. `icon`: aplica `iconColorMap` por `status` ou valor do icone.
322
+ 5. `rating`: respeita `props.rating.max/size/color`.
323
+
324
+ ### Diferencas para runtime principal (`praxis-list`)
325
+
326
+ 1. Nao existe pipeline remoto (`/filter`, fallback, `loading$`, `total$`, `page$`).
327
+ 2. Nao ha `selection` com `FormControl` nem emissao de eventos.
328
+ 3. Nao ha `actions` nem `GlobalActionService`.
329
+ 4. `featureLabel()` no preview usa substituicao simples de placeholders; pipes avancados nao sao processados nesse ponto.
330
+
331
+ ### Exemplos
332
+
333
+ #### 1) Preview basico em cards
334
+
335
+ ```html
336
+ <praxis-list-skin-preview
337
+ [config]="config"
338
+ [items]="previewItems"
339
+ theme="light">
340
+ </praxis-list-skin-preview>
341
+ ```
342
+
343
+ #### 2) Preview com status no canto (tiles)
344
+
345
+ ```json
346
+ {
347
+ "layout": { "variant": "tiles", "lines": 2 },
348
+ "templating": {
349
+ "leading": { "type": "image", "expr": "${item.imageUrl}" },
350
+ "primary": { "type": "text", "expr": "${item.name}" },
351
+ "trailing": { "type": "chip", "expr": "${item.status}" },
352
+ "statusPosition": "top-right",
353
+ "chipColorMap": {
354
+ "active": "primary",
355
+ "paused": "accent",
356
+ "failed": "warn"
357
+ }
358
+ }
359
+ }
360
+ ```
361
+
362
+ ### Known limitations and pending investigation
363
+
364
+ 1. Preview nao cobre `sectionHeader`, `emptyState` e `skeleton`.
365
+ 2. Nao simula pipeline comportamental (busca, sort, paginacao, selecao, acoes).
366
+ 3. Divergencias de avaliacao podem ocorrer em expressoes complexas de `features`.
367
+
368
+ ### Source references
369
+
370
+ - `projects/praxis-list/src/lib/components/list-skin-preview.component.ts`
371
+ - `projects/praxis-list/src/lib/components/list-skin-preview.component.html`
372
+ - `projects/praxis-list/src/lib/services/list-skin.service.ts`
373
+ - `projects/praxis-list/src/lib/utils/template-evaluator.ts`
374
+ - `projects/praxis-list/src/lib/models/list-config.model.ts`
375
+
376
+ ## JSON path index
377
+
378
+ | Path | Type | Required | Default | Status | Notes |
379
+ | --- | --- | --- | --- | --- | --- |
380
+ | `layout.variant` | not-specified | not-specified | n/a | Active | Define `list/cards/tiles`. |
381
+ | `layout.lines` | not-specified | not-specified | n/a | Active | Controla linhas secundarias. |
382
+ | `layout.density/model` | not-specified | not-specified | n/a | Active | Aplicados via classes de host resolvidas pelo `ListSkinService`. |
383
+ | `layout.dividers/groupBy/pageSize` | not-specified | not-specified | n/a | Declared-only | Sem efeito direto no preview atual. |
384
+ | `skin.type` | not-specified | not-specified | n/a | Active | Classe `skin-*`. |
385
+ | `skin.gradient/radius/shadow/border/backdropBlur/class/inlineStyle` | not-specified | not-specified | n/a | Active | Aplicados por `ListSkinService`. |
386
+ | `templating.leading/primary/secondary/meta/trailing` | not-specified | not-specified | n/a | Active | Slots principais renderizados. |
387
+ | `templating.sectionHeader/emptyState` | not-specified | not-specified | n/a | Declared-only | Nao renderizados no preview atual. |
388
+ | `templating.metaPrefixIcon` | not-specified | not-specified | n/a | Active | Prefixo em meta textual. |
389
+ | `templating.statusPosition` | not-specified | not-specified | n/a | Active | `top-right` para chip/icon em tiles. |
390
+ | `templating.chipColorMap/chipLabelMap/iconColorMap` | not-specified | not-specified | n/a | Active | Mapeamentos aplicados no render. |
391
+ | `templating.features/featuresVisible/featuresMode` | not-specified | not-specified | n/a | Active | Linha de features no preview. |
392
+ | `templating.skeleton` | not-specified | not-specified | n/a | Declared-only | Sem modo skeleton no preview. |
393
+ | `i18n.locale/currency` | not-specified | not-specified | n/a | Active | Base para formatacao `date/currency`. |
394
+
395
+ ## Events
396
+
397
+ | Event | Payload | Trigger | Stability | Notes |
398
+ | --- | --- | --- | --- | --- |
399
+ | component-outputs | see-detailed-api | runtime-event | Partial | Eventos preservados na referência detalhada. |
400
+
401
+ ## Styling API
402
+
403
+ | Token/Class | Scope | Purpose | Notes |
404
+ | --- | --- | --- | --- |
405
+ | see-detailed-api | component | styling/runtime | Consolidar naming canonico quando aplicavel. |
406
+
407
+ ## Editor and tooling notes
408
+
409
+ - Cobertura de editor/tooling foi separada da cobertura de runtime para evitar confusao de suporte.
410
+ - Quando nao houver evidencia direta no codigo, o status deve permanecer not yet verified.
411
+
412
+ ## Examples
413
+
414
+ ### Minimal valid
415
+
416
+ ```json
417
+ {}
418
+ ```
419
+
420
+ ### Typical/common
421
+
422
+ ```json
423
+ {}
424
+ ```
425
+
426
+ ### Advanced
427
+
428
+ ```json
429
+ {}
430
+ ```
431
+
432
+ ### Enterprise scenario
433
+
434
+ ```json
435
+ {}
436
+ ```
437
+
438
+ ## Known limitations and mismatches
439
+
440
+ | Path/Behavior | Observed behavior (runtime) | Desired behavior | Impact | Tracking issue | Target fix |
441
+ | --- | --- | --- | --- | --- | --- |
442
+ | coverage/mapping | Evidência textual preservada indica itens Partial/Declared-only. | Cobertura confirmada por evidência runtime + schema + editor. | Pode gerar uso de paths não totalmente ligados. | to-be-linked | next-doc-cycle |
443
+
444
+ ## Compatibility and migration notes
445
+
446
+ | Concern | Affected versions | Migration action | Deadline | Notes |
447
+ | --- | --- | --- | --- | --- |
448
+ | legacy aliases and mixed status vocabulary | pre-canonical docs | unificar para taxonomia canonica (Active/Partial/Declared-only/...) | next-doc-cycle | manter backward compatibility documentada |
449
+
450
+ ## Source references
451
+
452
+ | Source type | Path/URL | Why it is source of truth | Last verified (YYYY-MM-DD) | Notes |
453
+ | --- | --- | --- | --- | --- |
454
+ | local-file | projects/praxis-list/src/lib/components/list-skin-preview.component.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
455
+ | local-file | projects/praxis-list/src/lib/components/list-skin-preview.component.html | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
456
+ | local-file | projects/praxis-list/src/lib/components/list-skin-preview.component.scss | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
457
+ | local-file | projects/praxis-list/src/lib/services/list-skin.service.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
458
+ | local-file | projects/praxis-list/src/lib/utils/template-evaluator.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
459
+ | local-file | projects/praxis-list/src/lib/models/list-config.model.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |